أريد مثال عملي عن الحلقات التكرارية

تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] أريد مثال عملي عن الحلقات التكرارية
#1
السلام عليكم أريد مثال عملي عن الحلقات التكرارية
الرد
تم الشكر بواسطة:
#2
اليك هذا المثال المنقول
أتمنى التوفيق لصاحبه و الخير و البركة
السلام عليكم ورحمة الله تعالي وبركاته

هدا شرح رائع للحلقات في لغة فيجوال بيسك سأضمن لك إن شاء الله أنك عندما تقرئه ستفهم الحلقات فهما كاملا ولن تحتاج إلي أي مرجع ليشرحها لك إن شاء الله ،دون إطالة هدا هو الشرح

1)التكرار باستخدام (Do While)
--------------------------------------------------------

لنفترض أننا نريد أن ننفذ مجموع من الأوامر في حلقة تكرارية و لكن بشرط معين فطالما أن هذا الشرط متحقق و هو ما يطلق عليه في البرمجة (True) تستمر الحلقة التكرارية و يستمر تكرار تنفيذ الأوامر أما اذا حدث أن هذا الشرط لم يعد متحقق ينتهي التكرار و تتوقف الحلقة التكرارية عن تنفيذ الأوامر.
- ستقول لا أفهم وضح أكثر
- حسنا انظر معي لهذا التركيب
While (تحقق شرط معين) Do A
حيث A عملية ما أو مجموعة أوامر
وتعني--------- بينما الشرط متحقق نفذ A
فمثلا لو أن عندك 1000 طالب (1، 2، 3، ...... ، 1000 ) و تريد أن تضع تقديراتهم في مادة الرياضيات علي حسب الدرجات، تعالي بنا لنري كيف من الممكن أن يكتب هذا الكود بإستخدام Do While ؟
سنفعل ذلك كالاتي:
___________



CODE

• طالما أن عدد الطلاب أقل من أو يساوي ألف نفذ
• لو درجة الطالب أقل من 10 يكون التقدير ضعيف
• لو درجة الطالب 10- 13 يكون التقدير مقبول
• لو درجة الطالب 13 – 16 يكون التقدير جيد
• لو درجة الطالب 16- 18 يكون التقدير جيد جدا
• لو درجة الطالب 18 – 20 يكون التقدير امتياز
ارجع لبداية التكرار مرة أخرة


أو كالاتي


CODE

DO While S <= 1000
الاوامر
Loop


حيث S هو العداد الذي يستخدمه التكرار لمعرفة موقعه الان، أي هل هو الان ينفذ الأوامر الخاصة بالطالب الثالث أم الرابع ... حتي تتساوي ال S مع الشرط و هو ال 1000 فينتهي التكرار و ينتهي عمل الحلقة التكرارية

و يمكن تمثيل ذلك بهدا الرسم التوضيحي البسيط
user posted image


2) التكرار باستخدام (Do Until)
------------------------------------------------

و هو عكس النوع السابق، حيث أن التكرار يظل يعمل طالما أن الشرط غير متحقق، حتي until اذا تحقق الشرط ينتهي التكرار

مثال
----
طالما ان تانك السيارة غير مملوء while ------
املاْه بالبنزين، حتي until اذا امتليء، توقف عن تموين العربية و ... و روح حاسب علي البنزين حالا teeth_smile.gif

و تركيبها يكون كالاتي:


CODE

Do (A) Until
(تحقق الشرط)



لو أننا في المثال السابق أردنا التطبيق علي درجات الالف طالب و حساب تقديرات كل منهم كيف نفعل ذلك باستخدام Do Until ؟

سنفعل ذلك كالاتي:
___________



CODE

• نفذ حتي يصبح عدد الطلاب 1000
• لو درجة الطالب أقل من 10 يكون التقدير ضعيف
• لو درجة الطالب 10- 13 يكون التقدير مقبول
• لو درجة الطالب 13 – 16 يكون التقدير جيد
• لو درجة الطالب 16- 18 يكون التقدير جيد جدا
• لو درجة الطالب 18 – 20 يكون التقدير امتياز
ارجع لبداية التكرار مرة أخرة


أو كالاتي



CODE

DO Until S <=1000
الأوامر
Loop




حيث S هو العداد الذي يستخدمه التكرار لمعرفة موقعه الان، أي هل هو الان ينفذ الأوامر الخاصة بالطالب الثالث أم الرابع ... حتي تتساوي ال S مع الشرط و هو ال 1000 فينتهي التكرار و ينتهي عمل الحلقة التكرارية

و يمكن تمثيل هذا الشكل من خرائط التدفق كالاتي:


user posted image


التكرار باستخدام (For … Next)
----------------------------------------------------------------



و هو أسهل و أبسط من المنطقين السابقين، حيث أنك و بكل بساطة الشخص الوحيد المسموح له بتحديد التكرار أي بمعني أصح أنت الذي سوف يحدد كم مرة من المفروض فيها أن يتم تكرار أمر ما أو عدة أوامر.
و تركيبها كالاتي:


CODE

For I = Y to Z
أوامر
Next I



و لا تخف من تركيبها الذي قد تظن أنه صعب و سوف أشرحه لك بالتفصيل ان شاء الله
أولا FOR I تعني أن I هي العداد الذي سوف يعد مرات التكرار لمعرف موقع الحلقة التكرارية من التكرار، أي هل البرنامج الان ينفذ التكرار الأول أم الثاني أم الثالث أم ماذا.
Y هي نقطة البداية للتكرار قد تكون صفر أو واحد أو 100 حتي حسب المبرمج و حس البرنامج
Z هي نقطة نهاية التكرار و هي النقطة التي يتوقف عندها البرنامج عن تنفيذ التكرار
Next I جزء من التركيب و هي تستدعي التكرار مرة أخري طالما لم نصل الي نقطة النهاية.
فمثلا لو قلنا



CODE

For I = 1 To 10
Print "ahmed"
Next I



فهذا معناه أننا نريد من البرنامج أن يبدأ من النقطة 1 ويظل يطبع أحمد حتي يصل الي النقطة 10 ، أي أنه سوف يفعل ذلك 10 مرات.

مثال
----
بفرض أنك تريد طباعة 10 ورقات عليها اسمك ماذا سوف تفعل؟
سوف نقول للبرنامج



CODE

• كرر الاتي 10 مرات فقط
• اطبع ورقة عليها اسمي
• ارجع لبداية التكرار مرة أخري




و في كل مرة عند بداية البرنامج يرجع مرة أخري للعداد I و يسأله هل قيمتك أصبحت مساوية لقيمة Z أي 10؟
فاذا كانت مساوية للعشرة يوقف التكرار ، و الا يعيد التكرار مرة أخري.
                                             
                                                        
                   
                                             صبرا جميل و الله المستعان عما يصفون  
الرد
تم الشكر بواسطة:


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم