التعليم السعودي
العوامل في الخوارزميات – التمرين السادس
جدول المحتويات
العوامل في الخوارزميات – التمرين السادس
العوامل في الخوارزميات – التمرين السادس
العوامل في الخوارزميات – التمرين السادس
العوامل في الخوارزميات – التمرين السادس
العوامل في الخوارزميات – التمرين السادس
العوامل في الخوارزميات – التمرين السادس
المطلوب
أكتب برنامج لحساب قيمة المتغير S
النهائية.
طريقة التحليل
- الرقم الموجود في الأعلى هو دائماً الرقم 1.
- الرقم الموجود في الأسفل يبدأ من 1 وصولاً إلى 100 و هو عبارة عن قيمة العداد المستخدم في الحلقة في كل دورة.
كود الجافا
- package sum_odd_and_even_numbers;
- public class Sum_Odd_And_Even_Numbers {
- public static void main (String[] args) {
- double S=0;
- for (int i=1; i<=100; i++)
- {
- if ( i%2 == 1)
- {
- S = S + (1/i);
- }
- else if ( i%2 == 0)
- {
- S = S – (1/i);
- }
- }
- System.out.print(“S= “ +S+ “\n”);
- }
- }
شرح الكود
-
- هنا قمنا بتعريف المتغير
S
لتخزين المجموع لذلك أعطيناه القيمة 0 كقيمة أولية.
- هنا قمنا بتعريف المتغير
- double S=0;
-
- قمنا بإنشاء حلقة من 1 إلى 100 و في كل دورة تزيد قيمة العداد 1.
- في كل دورة يقوم البرنامج بفحص قيمة الـ
i
يسأل نفسه: هل هي عدد مفرد ؟
إذا لم تكن عدد مفرد ينتقل إلى الشرط الثاني, فيسأل نفسه: هل هي عدد مزدوج؟
– إذا كانت قيمة العدادi
مفردة سيقوم بزيادة 1 مقسوم على قيمة الـi
على قيمة الـS
– إذا كانت قيمة العدادi
مزدوجة سيقوم بإنقاص 1 مقسوم على قيمة الـi
من قيمة الـS
- for (int i=1; i<=100; i++)
- {
- if ( i%2 == 1)
- {
- S = S + (1/i);
- }
- else if ( i%2 == 0)
- {
- S = S – (1/i);
- }
- }
-
- ملاحظة: أيضاً في المنطق إذا لم يكن الرقم مفرد فإنه حتماً مزدوج.
إذاً كان بإمكاننا وضع جملةelse
بدل جملةelse if
في الواقع هنا يفضّل وضعelse
لكي لا تجعل الكمبيوتر يقوم بتحليل قيمة العداد ليعرف إذا كانت مزدوجة أم لا.
لأنها حتماً ستكون مزدوجة إذا قام بفحصها أولاً و لم يجدها مفردة.
- ملاحظة: أيضاً في المنطق إذا لم يكن الرقم مفرد فإنه حتماً مزدوج.
-
- إذا أردت أن يكون الكود ممتازاً فعليك كتابة البرنامج بهذه الطريقة:
- package sum_odd_and_even_numbers;
- public class Sum_Odd_And_Even_Numbers {
- public static void main (String[] args) {
- double S=0;
- for (int i=1; i<=100; i++)
- {
- if ( i%2 == 1)
- {
- S = S + (1/i);
- }
- else
- {
- S = S – (1/i);
- }
- }
- System.out.print(“S= “ +S+ “\n”);
- }
- }
المصدر: العوامل في الخوارزميات – التمرين السادس – المناهج السعودية