إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    الخوارزميات التعامل مع الباراميترات - التمرين الثالث

    المطلوب

    أكتب دالة إسمها Average, يعطيها المستخدم علاماته المدرسية, فتحسب له معدله, ثم تطبع له نتيجته كالتالي:
    - إذا كان معدله بين 10 و 20 ستطبع أنه ناجح.
    - إذا كان معدله بين 0 و 9 ستطبع أنه راسب.
    - إذا لم يكن معدله بين 0 و 20 ستطبع أن هناك خطأ في العلامات المدخلة.

    في البرنامج, قم بتخزين أسماء المواد في مصفوفة إسمها Methods.
    ثم أطلب من المستخدم إدخال علامة بين 0 و 20 لكل مادة و خزّن العلامات التي سيدخلها المستخدم في مصفوفة إسمها Notes.
    في الأخير قم باستدعاء الدالة Average() لطباعة معدل و نتيجة المستخدم.


    إرشادات

    لنفترض أن المستخدم عنده 5 مواد (Algorithm, Java, Android, Linux, Networks) و سيدخل علامة لكل مادة منهم كالتالي.

    تذكر: أسماء المواد يجب أن يتم وضعها في المصفوفة Methods و علامة كل مادة يجب أن يتم تخزينها في المصفوفة Notes.


    النتيجة المطلوبة

    لنفترض أن المستخدم أدخل نفس القيم الموضوعة في الصورة السابقة.

    الخوارزمية

    كود الجافا

    import java.util.Scanner;
     
    public class Parameters {
     
    /* ------------------------------- هنا قمنا بتعريف الدالة ------------------------------ */
     
        public static void Average (double[] a)
        {
            double S = 0;
     
            for(int i=0; i<a.length; i++)
            {
                S = S + a[i];
            }
     
            S = S/a.length;
     
            System.out.print("Your average is: " +S+ "\n");
     
            if( S >= 10 && S <= 20 )
            {
                System.out.print("Congratulations you have succeeded \n");
            }
            else if( S >= 0 && S < 10 )
            {
                System.out.print("Sorry you failed");
            }
            else
            {
                System.out.print("Impossible result! Please enter notes between 0 and 20 \n");
            }
        }
     
    /* --------------------------- من هنا يبدأ البرنامج بالتنفيذ --------------------------- */
     
        public static void main(String[] args)
        {
            Scanner input = new Scanner(System.in);
     
            double[] Notes = new double[5];
            String[] Methods = {"Algorithm", "Java", "Android", "Linux", "Networks"};
     
            for( int i=0; i<Notes.length; i++ )
            {
                do
                {
                    System.out.print(Methods[i] + ": ");
                    Notes[i] = input.nextDouble();
                }
                while( Notes[i] < 0 || Notes[i] > 20 );
            }
     
            System.out.print("------------------------- \n");
            Average(Notes);
        }
     
    }
    		

    شرح الكود


    	public static void Average (double[] a)
    	{
    		double S = 0;
    	
    		for(int i=0; i<a.length; i++)
    		{
    			S = S + a[i];
    		}
    	
    		S = S/a.length;
    	
    		System.out.print("Your average is: " +S+ "\n");
    	
    		if( S >= 10 && S  <= 20 )
    		{
    			System.out.print("Congratulations you have succeeded \n");
    		}
    		else if( S >= 0 && S < 10 )
    		{
    			System.out.print("Sorry you failed");
    		}
    		else
    		{
    			System.out.print("Impossible result! Please enter notes between 0 and 20 \n");
    		}
    	}
    			
    • هنا أنشأنا الدالة Average() و حددنا أن نوعها void لأننا لا نريدها أن ترجع قيمة, و وضعنا لها باراميتر عبارة عن مصفوفة نوعها double.
    • إذاً, عند إستدعاء هذه الدالة يجب أن نمرر لها مصفوفة ذات بعد واحد نوعها double.
    • في السطر 10 قمنا بتجهيز المتغير S و أعطينها القيمة 0 لأننا سنستخدمه لتخزين المعدل النهائي لقيم المصفوفة a.
    • من السطر 12 إلى السطر 15 أنشأنا الحلقة for للوصول إلى جميع قيم عناصر المصفوفة a.
      في كل دورة من دورات هذه الحلقة سيتم إضافة قيمة عنصر من عناصر المصفوفة a على قيمة المتغير S.
    • في السطر 17 قسمنا قيمة المتغير S على عدد عناصر المصفوفة a. إذاً, هنا أصبحت قيمة المتغير S تمثل معدل القيم الموجودة في المصفوفة a.
    • في السطر 19 سيتم عرض المعدل المخزن في المتغير S.
    • من السطر 21 إلى السطر 32 سيتم فحص المعدل المخزن في المتغير S كالتالي:
      • إذا كان المعدل بين 10 و 20 ( مثل 13.5) سيتم طباعة الجملة congartulation you did it !!!
      • إذا كان المعدل أكبر من 0 و أصغر من 10 (أي حتى و لو كان 9.9) سيتم طباعة الجملة sorry you failed
      • إذا كان المعدل ليس بين 0 و 20 ( =مثل 5- أو 38) سيتم طباعة الجملة you didn't enter your note correctly, please try again
        لأنه من المستحيل أن يكون معدله عبارة عن عدد سلبي أو أكبر من أعلى معدل ممكن (أي أكبر من 20).
        ملاحظة: في المنطق هذا الخطأ لا يمكن أن يحدث في جميع الأحوال عند إستدعاء هذه الدالة من الدالة main() لأننا في الدالة main() تأكدنا من كل علامة قام بإدخالها المستخدم قبل إستدعاء هذه الدالة.


    	public static void main(String[] args)
    	{
    		Scanner input = new Scanner(System.in);
    	
    		double[] Notes = new double[5];
    		String[] Methods = {"Algorithm", "Java", "Android", "Linux", "Networks"};
    	
    		for( int i=0; i<Notes.length; i++ )
    		{
    			do
    			{
    				System.out.print(Methods[i] + ": ");
    				Notes[i] = input.nextDouble();
    			}
    			while( Notes[i] < 0 || Notes[i] > 20 );
    		}
    	
    		System.out.print("------------------------- \n");
    		Average(Notes);
    	}
    			
    • في السطر 43 قمنا بتجهيز المصفوفة Notes لتخزين العلامات التي سيدخلها المستخدم و حددنا أنها تتألف من 5 عناصر لأننا سندخل فيها فقط 5 قيم, و حددنا أن نوعها double لأننا نريد الأخذ بعين الإعتبار الأرقام الموجود بعد الفاصلة.
    • في السطر 44 قمنا بتجهيز المصفوفة Methods لتخزين أسماء المواد التي سيطلب من المستخدم إدخال علامتها.
    • من السطر 46 إلى السطر 54 قمنا بإنشاء حلقتين متداخلتين يعملان كالتالي:
      • بما أن أسماء المواد موجودة في المصفوفة Methods و المصفوفة Notes مجهزة لتخزين علامات المستخدم, أنشأنا الحلقة i للمرور على قيم المصفوفتين بشكل متوازي, بحيث في كل دورة سيطلب من المستخدم إدخال علامة لمادة موجودة في عنصر من عناصر المصفوفة Methods و القيمة التي يدخلها المستخدم ستخزن في نفس index العنصر الموجود في المصفوفة Methods.
      • إذاً بواسطة الحلقة for سيتم المرور على عناصر المصفوفتين Methods و Notes بشكل متوازي.
      • و بواسطة الحلقة do while سيستمر الكمبيوتر في الطلب من المستخدم بإدخال علامة مادة معينة من المواد طالما أن العلامة التي يدخلها ليست بين 0 و 20.
    • في السطر 57 قمنا باستدعاء الدالة Average() و مررنا لها المصفوفة التي تحتوي على العلامات التي أدخلها المستخدم و التي تم تخزينها في المصفوفة Notes حتى يتم طباعة معدل المستخدم.
    إعلان

    Eqla3Tech.com

    شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

    لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات الأمن السيبراني

    الدورات

    أدوات مساعدة

    الأقسام

    دورات
    مقالات أسئلة مشاريع كتب