البرمجة بلغة السى – الجزء الثانى -2- حلقة for
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: الفئة الأولى :: منتدى البرمجة بلغة السى C Programming
صفحة 1 من اصل 1
البرمجة بلغة السى – الجزء الثانى -2- حلقة for
البرمجة بلغة السى – الجزء الثانى -2- حلقة for
الحلقات تتسبب فى تنفيذ البرنامج لكتلة معينة من الكود تكرار ومرارا حتى يتم تحقق شروط ما ، أى أن الحلقات تستخدم فى البرمجة لتنفيذ العمل المتكرر .
نفترض أنك تريد تنفيذ كود ما 100 مرة . يمكنك تنفيذ ذلك بكتابة الكود مرة واحدة فقط وتكرار التنفيذ 100 مرة باستخدام حلقة .
يوجد 3 أنواع من الحلقات عند البرمجة بلغة السى :
1- حلقة for .
2- حلقة while .
3- حلقة do…while .
حلقة for :
صيغة حلقة for :
كيف تعمل حلقة for عند البرمجة بلغة السى ؟
يتم تهيئة "التعبير الابتدائى" initial expression مرة واحدة فقط عند بداية حلقة for . بعد ذلك ، يتم اختبار"تعبير الاختبار" test expression بواسطة البرنامج . إذا كان تعبير الاختبار خطأ false يتم إنهاء حلقة for . لكن ، إذا كان تعبير الاختبار صواب true ، عندئذ يتم تنفيذ الكود code ويتم تحدبث "تعبير التحديث" update expression . ثم يتم مرة أخرى إعادة اختبار تعبير الاختبار . إذا كان خطأ ، يتم إنهاء الحلقة وإذا كان صواب يتم تكرار نفس العملية حتى يكون تعبير الاختبار خطأ .
مثال على حلقة for :
كتابة برنامج لإيجاد مجموع أول n عدد طبيعى حيث n يتم إدخالها بواسطة المستخدم .
ملحوظة :
الأرقام 1,2,3,…. تسمى الأعداد الطبيعية .
الخرج :
فى هذا البرنامج ، يتم سؤال المستخدم لإدخال قيمة عدد الأرقام الطبيعية n . افترض أنك أدخلت 19 ، بعد ذلك يتم تهيئة المتغير count بقيمة واحد (1) فى البداية . فيصبح تعبير الاختبار لحلقة for أى (count<=n) صواب . لذلك ، يتم تنفيذ كود جسم حلقة for والذى يجعل قيمة sum بواحد (sum = sum + count = 0 + 1=1) . بعد ذلك يتم تنفيذ التعبير (++count) ومرة أخرى يتم إعادة تعبير الاختبار ، والذى يصبح صواب . مرة أخرى ، يتم تنغيذ جسم حلقة for والذى يجعل sum بالقيمة (sum = 1 + 2 = 3) وتستمر هذه العملية . عندما يكون المتغير count بالقيمة (20) ، يصبح تعبير الاختبار خطأ ويتم إنهاء حلقة for .
الحلقات تتسبب فى تنفيذ البرنامج لكتلة معينة من الكود تكرار ومرارا حتى يتم تحقق شروط ما ، أى أن الحلقات تستخدم فى البرمجة لتنفيذ العمل المتكرر .
نفترض أنك تريد تنفيذ كود ما 100 مرة . يمكنك تنفيذ ذلك بكتابة الكود مرة واحدة فقط وتكرار التنفيذ 100 مرة باستخدام حلقة .
يوجد 3 أنواع من الحلقات عند البرمجة بلغة السى :
1- حلقة for .
2- حلقة while .
3- حلقة do…while .
حلقة for :
صيغة حلقة for :
- الكود:
for(initial expression; test expression; update expression)
{
code/s to be executed;
}
كيف تعمل حلقة for عند البرمجة بلغة السى ؟
يتم تهيئة "التعبير الابتدائى" initial expression مرة واحدة فقط عند بداية حلقة for . بعد ذلك ، يتم اختبار"تعبير الاختبار" test expression بواسطة البرنامج . إذا كان تعبير الاختبار خطأ false يتم إنهاء حلقة for . لكن ، إذا كان تعبير الاختبار صواب true ، عندئذ يتم تنفيذ الكود code ويتم تحدبث "تعبير التحديث" update expression . ثم يتم مرة أخرى إعادة اختبار تعبير الاختبار . إذا كان خطأ ، يتم إنهاء الحلقة وإذا كان صواب يتم تكرار نفس العملية حتى يكون تعبير الاختبار خطأ .
مثال على حلقة for :
كتابة برنامج لإيجاد مجموع أول n عدد طبيعى حيث n يتم إدخالها بواسطة المستخدم .
ملحوظة :
الأرقام 1,2,3,…. تسمى الأعداد الطبيعية .
- الكود:
#include <stdio.h>
int main(){
int n, count, sum=0;
printf("Enter the value of n.\n");
scanf("%d",&n);
for(count=1;count<=n;++count) //for loop terminates if count>n
{
sum+=count; /* this statement is equivalent to sum=sum+count */
}
printf("Sum=%d",sum);
return 0;
}
الخرج :
- الكود:
Enter the value of n.
19
Sum=190
فى هذا البرنامج ، يتم سؤال المستخدم لإدخال قيمة عدد الأرقام الطبيعية n . افترض أنك أدخلت 19 ، بعد ذلك يتم تهيئة المتغير count بقيمة واحد (1) فى البداية . فيصبح تعبير الاختبار لحلقة for أى (count<=n) صواب . لذلك ، يتم تنفيذ كود جسم حلقة for والذى يجعل قيمة sum بواحد (sum = sum + count = 0 + 1=1) . بعد ذلك يتم تنفيذ التعبير (++count) ومرة أخرى يتم إعادة تعبير الاختبار ، والذى يصبح صواب . مرة أخرى ، يتم تنغيذ جسم حلقة for والذى يجعل sum بالقيمة (sum = 1 + 2 = 3) وتستمر هذه العملية . عندما يكون المتغير count بالقيمة (20) ، يصبح تعبير الاختبار خطأ ويتم إنهاء حلقة for .
مواضيع مماثلة
» البرمجة بلغة السى – الجزء الثانى -3- حلقة while وحلقة do…while
» البرمجة بلغة السى – الجزء الثانى -1- عبارة if , if..else , Nested if..else :
» البرمجة بلغة السى – الجزء الثانى -6- عبارة goto :
» البرمجة بلغة السى – الجزء الثانى -5- عبارة switch….case :
» البرمجة بلغة السى – الجزء الثانى -4- عبارة break وعبارة continue
» البرمجة بلغة السى – الجزء الثانى -1- عبارة if , if..else , Nested if..else :
» البرمجة بلغة السى – الجزء الثانى -6- عبارة goto :
» البرمجة بلغة السى – الجزء الثانى -5- عبارة switch….case :
» البرمجة بلغة السى – الجزء الثانى -4- عبارة break وعبارة continue
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: الفئة الأولى :: منتدى البرمجة بلغة السى C Programming
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى