عرض مشاركة واحدة
  #70 (permalink)  
قديم 23-11-2008, 12:25 PM
الصورة الرمزية طهر الأرض
طهر الأرض طهر الأرض غير متصل
عضو مميز
 
تاريخ التسجيل: May 2008
المشاركات: 835
معدل تقييم المستوى: 35
طهر الأرض يستحق التميز

حلقات التكرار في لغة باسكال


قد يتطلب الأمر في بعض البرامج أن نكرر تنفيذ مجموعة من الأوامر لعدد من المرات، أو إلى إن يصبح تعبير ما صحيح (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.

مع تحياتي