ahmed47
64652 عدد المساهمات : 73 تاريخ التسجيل : 27/01/2013
| موضوع: الدرس الثانى عشر: حلقات التكرار في لغة باسكال الثلاثاء مارس 19, 2013 5:39 am | |
| الدرس الثانى عشر: حلقات التكرار في لغة باسكال قد يتطلب الأمر في بعض البرامج أن نكرر تنفيذ مجموعة من الأوامر لعدد من المرات، أو إلى إن يصبح تعبير ما صحيح (true) أو خطأ (false).
كأن نرغب في أن يطلب برنامجنا إدخال10 أعداد من المستخدم، أو نطلب منه إدخال القدر الذي يريده من الأعداد على أن يكون العدد الأخير يساوي 0 مثلا. هنا نحن بحاجة إلى استعمال الحلقات في برنامجنا.
يوجد في لغة باسكال 3 تراكيب لعمل حلقات التكرار، وسوف نبدأ في هذا الدرس بتعلم أولى هذه الحلقات وهي حلقة FOR.
حلقة التكرار FOR:
إذا أردنا تنفيذ مجموعة من الأوامر لعدد محدد من المرات، لنقل 6 مرات.
فأمامنا خياران، الأول أن نعيد كتابة هذه الأوامر 6 مرات في البرنامج وهو أمر مزعج خاصة إذا كان المطلوب أن نعيد التنفيذ لعدد أكبر من المرات، 600 مثلا
أما الخيار الثاني (وهو الأفضل) أن نستخدم حلقة التكرار FOR في البرنامج. وبهذا فإننا تكتب الأوامر التي ترغب في تكرارها 6 مرات داخل حلقة For مرة واحدة فقط
كيف؟
كهذا :
FOR i:=1 TO 6 DO write('@');
هنا استعملنا حلقة FOR لتكرار أمر الطباعة write ('@') لستة مرات
هذا البرنامج سوف يطبع الأعداد من 1 إلى 20
PROGRAM example1 (input,output); VAR i: integer; BEGIN FOR i:=1 TO 20 DO Writeln ( i); END.
والآن لاحظ هذا البرنامج الذي يطبع نفس الأعداد ولكن بالعكس من 20 إلى 1
PROGRAM example1 (input, output); VAR i: integer; BEGIN FOR i:=20 DOWNTO 1 DO Writeln ( i); END.
هل لاحظت الفرق بين استخدام TO و DOWNTO داخل حلقة FOR؟
في الأمثلة السابقة كانت هناك عبارة واحدة نرغب في تكراره، أي أن جسم الحلقة مكون من عبارة واحدة فقط، ولكن يمكن لجسم الحلقة أن يتكون من عدة عبارات، وفي هذه الحالة يجب أن تحدد بداية ونهاية جسم الحلقة بـ BEGIN و END. تعلم لغة البسكال منتدى عالم كول | |
|