التعليم السعودي

العوامل في الخوارزميات – التمرين الخامس 

العوامل في الخوارزميات – التمرين الخامس
العوامل في الخوارزميات – التمرين الخامس
العوامل في الخوارزميات – التمرين الخامس
العوامل في الخوارزميات – التمرين الخامس
العوامل في الخوارزميات – التمرين الخامس

المناهج السعودية

العوامل في الخوارزميات – التمرين الخامس

المطلوب

أكتب برنامج لحساب قيمة المتغير S النهائية.
إجعل البرنامج يظهر لك قيمة العداد و قيمة المتغير S في كل دورة.

 

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

طريقة التحليل

الخوارزمية

كود الجافا

  1. package sum_odd_and_even_numbers;
  2. public class Sum_Odd_And_Even_Numbers {
  3.     public static void main (String[] args) {
  4.         int S=0;
  5.         for (int i=1; i<=10; i++)
  6.         {
  7.             if ( i%2 == 1)
  8.             {
  9.                 System.out.print(“S = “ +S+ ” + “ +i+ ” = “+(S+i)+“\n”);
  10.                 S = S + i;
  11.             }
  12.             else if ( i%2 == 0)
  13.             {
  14.                 System.out.print(“S = “ +S+ ” – “ +i+ ” = “+(S-i)+“\n”);
  15.                 S = S – i;
  16.             }
  17.         }
  18.         System.out.print(“\n”);
  19.     }
  20. }

شرح الكود

    • هنا قمنا بتعريف المتغير S لتخزين المجموع لذلك أعطيناه القيمة 0 كقيمة أولية.
  1.         int S=0;
    • قمنا بإنشاء حلقة من 1 إلى 10 و في كل دورة تزيد قيمة العداد 1.
    • في كل دورة يقوم البرنامج بفحص قيمة الـ i
      يسأل نفسه: هل هي عدد مفرد ؟
      إذا لم تكن عدد مفرد ينتقل إلى الشرط الثاني, فيسأل نفسه: هل هي عدد مزدوج؟
      – إذا كانت قيمة العداد i مفردة سيقوم بزيادتها على قيمة الـ S
      – إذا كانت قيمة العداد i مزدوجة سيقوم بإنقاصها من قيمة الـ S
  1.         for (int i=1; i<=10; i++)
  2.         {
  3.             if ( i%2 == 1)
  4.             {
  5.                 System.out.print(“S = “ +S+ ” + “ +i+ ” = “+(S+i)+“\n”);
  6.                 S = S + i;
  7.             }
  8.             else if ( i%2 == 0)
  9.             {
  10.                 System.out.print(“S = “ +S+ ” – “ +i+ ” = “+(S-i)+“\n”);
  11.                 S = S – i;
  12.             }
  13.         }
    • ملاحظة: في المنطق إذا لم يكن الرقم مفرد فإنه حتماً مزدوج.
      إذاً كان بإمكاننا وضع جملة else بدل جملة الـ else if
      في الواقع هنا يفضل وضع else لكي لا تجعل الكمبيوتر يقوم بتحليل قيمة العداد ليعرف إذا كانت مزدوجة أم لا.
      لأنها حتماً ستكون مزدوجة إذا قام بفحصها أولاً و لم يجدها مفردة.
    • إذا أردت أن يكون الكود ممتازاً فعليك كتابة البرنامج بهذه الطريقة:
  1. package sum_odd_and_even_numbers;
  2. public class Sum_Odd_And_Even_Numbers {
  3.     public static void main (String[] args) {
  4.         int S=0;
  5.         for (int i=1; i<=10; i++)
  6.         {
  7.             if ( i%2 == 1)
  8.             {
  9.                 System.out.print(“S = “ +S+ ” + “ +i+ ” = “+(S+i)+“\n”);
  10.                 S = S + i;
  11.             }
  12.             else
  13.             {
  14.                 System.out.print(“S = “ +S+ ” – “ +i+ ” = “+(S-i)+“\n”);
  15.                 S = S – i;
  16.             }
  17.         }
  18.         System.out.print(“\n”);
  19.     }
  20. }

 

المصدر: العوامل في الخوارزميات – التمرين الخامس – المناهج السعودية

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى