منتدى بلدية مناعة
مرحبا بك عزيزي الزائر. المرجوا منك أن تعرّف بنفسك و تدخل المنتدى معنا. إن لم يكن لديك حساب بعد, نتشرف بدعوتك لإنشائه


منتدى بلدية مناعة
مرحبا بك عزيزي الزائر. المرجوا منك أن تعرّف بنفسك و تدخل المنتدى معنا. إن لم يكن لديك حساب بعد, نتشرف بدعوتك لإنشائه

منتدى بلدية مناعة
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

منتدى بلدية مناعةدخول

منتدى شامل

مرحبــــا بكم في منتـــــــدى الاتحاد الوطني للشبيبة الجزائرية مكتب مناعة**يســـر فريق منتدى الاتحاد الوطني للشبيبة الجزائرية مكتب مناعة دعوتكم الى التسجيل في المنتدى والمساهمــــة فيه بإعتباره منكم واليكم**طريقة التسجيل سهلة وواضحة ..اضغط على ايقونة التسجيل واملئ الإستمارة مع التأكد من صحة البريد الإلكتروني ..بعدها تأتيك رسالة في بريدك تشتمل على رابط لتفعيل الإشتراك ومن ثمّ يمكنك الدخول والمشاركة**سيتدعم المنتدى قريبا بجملة هامة من البرامج والمواضيع الحصرية والمميزة وهي حاليا قيد الإعداد والتنقيح من طرف فريق منتدى الاتحاد الوطني للشبيبة الجزائرية مكتب مناعة
تم اضافة مواضيع شعر لمعظم الشعراء العالميين والعرب وهي موسوعة شاملة من انتاج منتدى الاتحاد الوطني للشبيبة الجزائرية مكتب مناعة .. تجدونها في القسم الادبي وسيتم اضافة القصائد تباعا من طرف فريق منتدى الاتحاد الوطني للشبيبة الجزائرية مكتب مناعة

descriptionحلقات التكرار While - For - Repeat Emptyحلقات التكرار While - For - Repeat

more_horiz

حلقات التكرار While - For - Repeat


حلقات التكرار
تستخدم الحلقات لأداء عمل معين بشكل متكرر حتى يتحقق شرط معين.
ويتم إستخدامها في البرامج بشكل واسع
الحلقة التكرارية 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 لتوقف عمل الحلقة مباشرة ولاتستحدم خارج الحلقات.

descriptionحلقات التكرار While - For - Repeat Emptyرد: حلقات التكرار While - For - Repeat

more_horiz
حلقات التكرار While - For - Repeat 48c8769a9d
privacy_tip صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
power_settings_newقم بتسجيل الدخول للرد