شـبـكــة عـمّـــار
إخبارية - ترفيهية
- تعليمية



جديد الصور
جديد الأخبار
جديد المقالات


جديد الصور

جديد البطاقات

جديد الصوتيات

المتواجدون الآن


تغذيات RSS

2012-08-15 06:48

حلقات التكرار

تستخدم الحلقات لأداء عمل معين بشكل متكرر حتى يتحقق شرط معين.

ويتم إستخدامها في البرامج بشكل واسع

الحلقة التكرارية For

وهي تعد أكثر أنواع الحلقات التكرارية شيوعا

تتطلب هذه الحلقة محددتين القيمةالبدائية والقيمة النهائية إذا كانت الحلقة تصاعدية تستخدم To وإذا كانت تنازلية نستخدم كلمة DownTo .

الصيغة العامة لجملة for التصاعدية هي

for var := initial_value to end_value do

begin

statment;

end;

في المثال السابق حلقة تكرر الشيفرة الممثلة بعبارة statement حتى تصل إلى القيمة النهائية end_value . لا داعي لاستخدام begin , end إذا كان جسم التكرار يتكون من عبارة واحدة. ولكن عندما نريد إضافة العديد من السطور فنحتاج لإستخدام Begin – End

الصيغة العامة لجملة for التنازلية:

for var := initial_value DownTo end_value do

begin

statment;

end;

في المثال السابق كتلة الشيفرة يجب أن تكون initial_value أكبر من end_value وتتناقص قيمة العداد المتغير var واحداً في كل تكرار للحلقة

مثال عملي :

أنشئ مشروعاً جديداً

وأضف له زراً Button1 ومكون المفكرة Memo1 غير الخاصة Caption للزر واجعله " ابدأ " أنشئ الحدث OnClick له ، واكتب معالج الحدث كالتالي

var

I:Integer;

begin

Memo1.Clear;

for I := 0 to 9 do

Memo1.Lines.Add('هذا السطر رقم '+IntToStr(I));

end;

الآن يمكنك تشغيل البرنامج ، إضغط الزر ابدأ وشاهد عمل الحلقة …

الحلقتين التكراريتين While - Repeat

والآن بعد أن رأيت كيف تعمل حلقة for لن يكون صعباً جداً عليك أن تطبق ذات المعنى على حلقتي while , repeat

لنلقي الآن نظرة عليهما الآن.

حلقة while

تختلف حلقة while عن الحلقة For في كونها تحتوي على شرط يفحص عند بداية كل تكرار للحلقة . طالما أن الشرط محقق تستمر الحلقة في التنفيذ ويتوقف التنفيذ للحلقة عندما يكون الشرط غير محقق .

إليك الشكل العام للحلقة while

While cond_expr do

Begin

Statements;

End;

حيث يفحص البرنامج الشرط cond_expr وعند تحقق الشرط فإن البرنامج ينفذ الأوامر بين الأمرين End – Begin ويعود لقراءة الشرط مرة أخرى وهكذا يستمر في تنفيذ التكرار إلى أن يصبح الشرط غير متحقق فيخرج من التكرار

وإذا كان جسم الحلقة مؤلف من عبارة واحدة فليس هناك داعي لإستخدام Begin – End

حلقة Repeat

مثل حلقة while ولكن الحلقة While تقوم بفحص الشرط في بداية الحلقة ولكن في حالة الحلقة Repeat فإن الشرط يفحص في نهاية الحلقة

إليك هذا البرنامج الذي يبين عمل الحلقة Repeat وهو نفس مثال البرنامج للحلقة For مع تعديل سطور البرنامج

ويمكن ملاحضة ان الحلقة repeat تتنفذ على الأقل مرة واحدة ولكن الحلقة While يمكن أن لا تنفذ ولا مرة

Var

I:Integer;

begin

I:=5;

Memo1.Clear;

Repeat

Memo1.Lines.Add('هذا السطر رقم '+IntToStr(I));

Dec(I);

Until I=-1;

end;

الإجرائين Break , Continue

قبل أن ننهي الحديث عن الحلقات يجب أن نتعرف على إجرائين يساعدان على التحكم بتنفيذ البرنامج ضمن الحلقة .

- استخدم الأمر Continue لتجبر البرنامج على الانتقال إلى نهاية الحلقة متجاوزاً كل العبارات التي تليه .

- استخدم الأمر Break لتوقف عمل الحلقة مباشرة ولاتستحدم خارج الحلقات.


تعليقات 0 | إهداء 0 | زيارات 641


خدمات المحتوى
  • مواقع النشر :
  • أضف محتوى في Digg
  • أضف محتوى في del.icio.us
  • أضف محتوى في StumbleUpon
  • أضف محتوى في Google


تقييم
3.25/10 (9 صوت)


Powered by Dimofinf cms Version 3.0.0
Copyright© Dimensions Of Information Inc.