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

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

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

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

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

المطلوب

أكتب برنامج لحساب قيمة المتغير S النهائية.

 

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

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

  • الرقم الموجود في الأعلى هو دائماً الرقم 1.
  • الرقم الموجود في الأسفل يبدأ من 1 وصولاً إلى 100 و هو عبارة عن قيمة العداد المستخدم في الحلقة في كل دورة.

الخوارزمية

كود الجافا

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

شرح الكود

    • هنا قمنا بتعريف المتغير S لتخزين المجموع لذلك أعطيناه القيمة 0 كقيمة أولية.
  1.         double S=0;
    • قمنا بإنشاء حلقة من 1 إلى 100 و في كل دورة تزيد قيمة العداد 1.
    • في كل دورة يقوم البرنامج بفحص قيمة الـ i
      يسأل نفسه: هل هي عدد مفرد ؟
      إذا لم تكن عدد مفرد ينتقل إلى الشرط الثاني, فيسأل نفسه: هل هي عدد مزدوج؟
      – إذا كانت قيمة العداد i مفردة سيقوم بزيادة 1 مقسوم على قيمة الـ i على قيمة الـ S
      – إذا كانت قيمة العداد i مزدوجة سيقوم بإنقاص 1 مقسوم على قيمة الـ i من قيمة الـ S
  1.         for (int i=1; i<=100; i++)
  2.         {
  3.             if ( i%2 == 1)
  4.             {
  5.                 S = S + (1/i);
  6.             }
  7.             else if ( i%2 == 0)
  8.             {
  9.                 S = S – (1/i);
  10.             }
  11.         }
    • ملاحظة: أيضاً في المنطق إذا لم يكن الرقم مفرد فإنه حتماً مزدوج.
      إذاً كان بإمكاننا وضع جملة 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.         double S=0;
  5.         for (int i=1; i<=100; i++)
  6.         {
  7.             if ( i%2 == 1)
  8.             {
  9.                 S = S + (1/i);
  10.             }
  11.             else
  12.             {
  13.                 S = S – (1/i);
  14.             }
  15.         }
  16.         System.out.print(“S= “ +S+ “\n”);
  17.     }
  18. }

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

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

اترك تعليقاً

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

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