مدرسة جواكاديمي

هنا يمكنك تصفح مدرسة جو اكاديمي، المنهاج، اسئلة، شروحات، والكثير أيضاً

الصيغة العامة لجملة التكرار for statement

الحاسوب - الصف المواد المشتركة أول ثانوي

الصيغة العامة لجملة التكرار for statement

اكتب برنامج بلغة ++c  لطباعة اسم بلدك خمس مرات 

طباعة خمس مرات

تخيل لو طلب منك طباعة الأعداد من 1 إلى 5000 كيف ستفعل ذلك إنّ جملة التكرار for statement هي واحدة من أشهر جمل التكرار، وتستخدم لتكرار تنفيذ جمل لغة C++ عدد محدداً من المرات.

أولاً:  الصيغة العامة لجملة التكرار for statement.

for (Variable_name= initial_value ; condition; step)

{

Statement 1;

Statement n;

}

حيث إن:

for تعلن عن بدء جملة التكرار.  C++ كلمة محجوزة من كلمات لغة
Variable_name هو اسم متغير، يجب الالتزام بشروط اختيار اسم المتغير.
initial_value

القيمة الابتدائية للعداد، قد تكون قيمة عددية أو متغيراً عددياً أو تعبيراً حسابياً. ويمكن تعريف المتغير في هذه الخطوة مثلاً:

  int counter=1.

condition شرط (تعبير علائقي أو منطقي) الدخول إلى جمل التكرار.
step الزيادة الدورية لقيمة العداد(الإجراء الذي يحدث بعد تنفيذ الجمل المراد تكرار تنفيذها) ، وقد تكون موجبة أو سالبة، عدداً صحيحا أو عدداً عشرياً، تعبيراً حسابياً أو متغيراً عددياً. وعادة يستخدم معامل الزيادة (++)أو معامل النقصان(--).
{ رمز بداية جملة التكرار، وتستخدم في حال وجود أكثر من جملة مراد تكرار تنفيذها.
statement 1; … statement n الجمل التي نرغب بتكرار تنفيذها++C.
} رمز نهاية جملة التكرار.

  

 

 

 

 

 

 

 

 

 

 

 

لاحظ في الصيغة العامة وضع الأقواس للاحتفاظ بقيمة العداد والشرط ومقدار الزيادة أو النقصان في العداد مع وجود فواصل منقوطة بينها. 

عند تنفيذ جملة التكرار for يأخذ العداد القيمة الابتدائية، ثم يتحقق من الشرط (condition) فإذا كانت قيمة الشرط صائبة يتم تنفيذ الجمل المراد تكرار تنفيذها، ثم تعدل قيمة العداد حسب قيمة الزيادة أو النقصان المحددة, ويتحقق من قيمة الشرط(condition) فإذا كانت قيمته صائبة ينفذ الجمل المراد تكرار تنفيذها ويعدل قيمة العداد بمقدار قيمة الزيادة أو النقصان المحددة ثم يتحقق من الشرط  وهكذا... إلى أن تصبح قيمة الشرط خاطئة عندها يخرج من جملة التكرار وينفذ الجمل التي تليها.  والشكل الآتي يوضح مخطط سير العمليات لجملة التكرار for.

مخطط سير العمليات الخاص بجملة for

البرنامج الآتي يطبع "Hello world" باستخدام جملة التكرار for خمس مرات.

Hello world program

في هذا البرنامج لاحظ أنه في جملة for تم إنشاء متغير اسمه i  واستعماله كعداد وإسناد قيمة أولية له مقدارها 1 وشرط التنفيذ أنه قيمة العداد i  لا تتجاوز الخمسة، وفي كل مرة يزداد العداد بمقدار 1 من خلال معامل الزيادة.  وتم الفصل بينها باستخدام فواصل منقوطة. 

كيف يعمل هذا البرنامج: 

قيمة i الأولية هي 1، يتحقق البرنامج من أن جواب شرط التنفيذ هو صائب وبما أنه صائب يقوم بتنفيذ جملة الطباعة وهي طباعة عبارة Hello world وبعدها يقوم بإضافة 1 للعداد فتصبح قيمة العداد 2 فيعود البرنامج للتأكد من تحقق الشرط أي هل 5 => 2  وبما أنّ جواب الشرط True  فسيتم تنفيذ الجملة وسيتم طباعة Hello world وبعدها تزداد قيمة العداد بمقدار 1 فتصبح قيمة العداد 3 . يعود البرنامج للتحقق من صواب الشرط أي هل 3 أصغر أو تساوي 5 - الإجابة نعم - فسيتم تنفيذ جملة الطباعة مرة ثالثة ويزداد العداد بمقدار واحد ليصبح 4 ثم يتم التحقق من الشرط هل 4 أقل أو تساوي 5 الإجابة نعم. إذًا سيتم طباعة العبارة Hello world ويزداد العداد بمقدار واحد ليصبح 5 . ثم يتحقق البرنامج من الشرط هل 5 أقل أو تساوي 5 الإجابة نعم - بالتالي سيتم طباعة العبارة Hello world مرة خامسة ويزداد العداد بمقدار واحد ليصبح 6. يقوم البرنامج بالتحقق هل 6 أقل أو تساوي 5 الإجابة False  سيتوقف الدوران وينتقل البرنامج لتنفيذ أول جملة بعد جمل الدوران وفي هذا السؤال لا يوجد جمل لتنفيذها فسينتهي البرنامج. 

ناتج تنفيذ البرنامج :

Hello world output

مثال 1: اكتب برنامجًا بلغة ++c لطباعة الأعداد من 0  إلى 8 باستخدام جملة التكرار for.

في هذا السؤال قيمة المتغير هي نفسها قيمة العداد وبالتالي يجب طباعة قيم العداد نفسها. 

print counters from 1 - 8

ناتج البرنامج هو: 

counter output

لاحظ أنه عندما تكون قيمة العداد j أقل أو تساوي 8 يطبع قيمته، ويتوقف التكرار عندما تصبح قيمة العداد 9. إذا قيمة العداد j عند توقف التكرار هي 9.

نشاط (2-24): طباعة الأعداد من 1 إلى 10

بالتعاون مع أفراد مجموعتك نفذ الآتي:

  • اكتب برنامجاً لطباعة الأعداد من 1 إلى  10 باستخدام جملة التكرار for.

2-24-1

  • قم ببناء البرنامج ونفذه، ماذا تلاحظ؟

2-24 -1 output

طُبعت الأعداد تصاعديًا.

  • عدل البرنامج ليطبع الأعداد من -7 إلى 9، ثم قم ببناء البرنامج ونفذه، ماذا تلاحظ؟

2-24 -2

program 2 output

طُبعت الأعداد تصاعديًا.

  • عدل البرنامج السابق لطباعة الأعداد من 15 إلى 1، قم ببناء البرنامج ونفذه، ماذا تلاحظ؟

​​​​​​​2-24-3

ناتج تنفيذه

2-24-3 output

طُبعت الأعداد تنازليًا.

احفظ البرنامج  في ملف المجموعة.

 

مثال 2: اكتب برنامجًا لطباعة الأعداد الزوجية من 2 إلى 16، باستخدام جملة التكرار for.

رقم 2 هو القيمة الابتدائية للعداد.

العدد 16 هو القيمة النهائية للعداد.

ولكن البرنامج يحتاج إلى طباعة الأعداد الزوجية فقط. البرامج السابقة جميعها كان العداد يزداد بمقدار واحد في هذا السؤال يجب أن يزداد العداد بمقدار 2 ليطبع الأعداد الزوجية فقط. 

even numbers program

وناتج تنفيذ البرنامج هو: 

even numbers output

لاحظ أنه تم طباعة قيمة العداد النهائية بعد توقف جملة التكرار وهي 18.                                    

نشاط (2-25): طباعة متسلسلة

بالتعاون مع أفراد مجموعتك نفذ الآتي:

  • أكتب برنامجاً يقوم بطباعة المتتالية الآتية:

5 , 10 , 15 , 20 ,…, 100

2 - 25 program

  • قم ببناء البرنامج ونفذه، ماذا تلاحظ؟

​​​​​​​2-25 output1

الأعداد تُطبع بفارق 5 بين كل عدد والآخر.

  • عدل البرنامج السابق ليقوم بطباعة المتتالية الآتية:

3.25 , 3.50 , 3.75 , 4 , …. ,10

2-25-2

  • قم ببناء البرنامج ونفذه، ماذا تلاحظ؟

​​​​​​​2-25 output2

الأعداد تُطبع بفارق 0.25 بين كل عدد والآخر ولاحظ أنها وضعت في المكان الذي كُتِب في step  في الصيغة العامة 

احفظ البرنامج  في ملف المجموعة.

 

نشاط (2 -26): ناتج تنفيذ

بالتعاون مع أفراد مجموعتك نفذ البرنامج الآتي:

2-26 program

  • ما ناتج تنفيذ البرنامج السابق؟

​​​​​​​2-26 output

  • عدل البرنامج السابق بحيث يطبع الأحرف كبيرة (Capital Letters) من A إلى Z.

​​​​​​​2-26 PROGRAM

احفظ البرنامج  في ملف المجموعة.

مثال 3: اكتب برنامجًا يقوم بإدخال 5 أعداد وطباعة العدد الأصغر باستخدام جملة التكرار for.

نفترض المتغيرات الآتية:

العدد المدخل Num

العداد  counter

أصغر عدد Min

نقوم أولًا بإدخال عدد من بين الخمسة أعداد ونفترض بأنه هو أصغر عدد  

ثم نكتب جملة التكرار وندخل في كل مرة عدد ونقارنه فإذا كانت قيمة العدد المدخل أقل من العدد المخزن في المتغير Min نجعل Min = Num  لتصبح القيمة الصغرى مخزنة في المتغير Min.

 

smallest number

لاحظ أننا وضعنا إشارة أصغر فقط عند الشرط وذلك لأننا أدخلنا عددًا قبل جملة الدوران. 

ناتج البرنامج هو: 

smallest number output

نشاط (2-27)طباعة العدد الأكبر

بالتعاون مع أفراد مجموعتك نفذ الآتي:

  • اكتب برنامجاً لإدخال عشرة أعداد ثم طباعة العدد الأكبر من بينها.

​​​​​​​2-27 -1

  • قم ببناء البرنامج ونفذه.
  • أدخل عشرة أعداد، ماذا تلاحظ؟

largest number​​​​​​​

قام البرنامج بطباعة أكبر عدد من بين الأعداد المدخلة.

احفظ البرنامج  في ملف المجموعة.

مثال 4: أكتب برنامجًا بلغة ++c  لطباعة الشكل الآتي باستخدام جملة التكرار for.

**********

**********

**********

**********

عدد الأسطر هو 4 وبالتالي فإن البرنامج يجب أن يُنفذ أربع مرات فإذا بدأنا من العدد 1 يجب أن يكون الشرط أن العداد أقل أو يساوي 4 

وإذا بدأنا من العدد 0 يجب أن يكون أقل من 4 وهكذا

stars

وناتج التنفيذ هو: 

stars output

نشاط (2-28): ناتج تنفيذ

بالتعاون مع أفراد مجموعتك نفذ البرنامج الآتي:

program

  • ما ناتج تنفيذ البرنامج السابق.

​​​​​​​output

  • عدل البرنامج السابق بإضافة الجملة cout<<m;  بعد جملة التكرار. ماذا تلاحظ؟

​​​​​​​أعطى المترجم رسالة خطأ؛ لأن المتغير (m) غير معروف لديه؛ إذ كان تعريفه داخل جملة التكرار.

احفظ البرنامج  في ملف المجموعة.