تقييم الموضوع :
  • 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؟
فاذا كانت مساوية للعشرة يوقف التكرار ، و الا يعيد التكرار مرة أخري.
هَٰٓؤُلَآءِ قَوْمُنَا ٱتَّخَذُوا۟ مِن دُونِهِۦٓ ءَالِهَةً لَّوْلَا يَأْتُونَ عَلَيْهِم بِسُلْطَٰنٍۭ بَيِّنٍ فَمَنْ أَظْلَمُ مِمَّنِ ٱفْتَرَىٰ عَلَى ٱللَّهِ كَذِبًا
الرد
تم الشكر بواسطة: abdouu
#3
ممكن مساعده
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  أريد كود البحث بال combobox Hazem Kamel 3 238 13-10-20, 01:17 AM
آخر رد: Hazem Kamel
  ممكن المساعدة فى برنامج البصمة مرفق مثال new_programer 3 237 12-10-20, 12:53 AM
آخر رد: new_programer
  التعامل مع التواريخ | مثال للتعديل khaled Mohammed 1 103 29-09-20, 03:26 PM
آخر رد: ابو محمد محمد محمد
  [VB.NET] أرجو مساعدة ..... أريد أرسال رسالة بريد إلكترونى من البرنامج بواسطة الفيجول بيسك رامى محمد 2 246 16-09-20, 03:57 PM
آخر رد: رامى محمد
  [Acces2007] اريد تقسيم بيانات عمود الى عدة اعمدة ويوجد مثال مصور sasay202 2 247 01-09-20, 10:22 PM
آخر رد: ابراهيم ايبو
  [سؤال] شرح الحلقات التكراريه منه 3 189 26-08-20, 10:47 AM
آخر رد: Anas Mahmoud
  أفضل مثال في عمل النسخة الاحتياطية باقي له خطوة بس ويكتمل المهنا 13 1,019 01-08-20, 12:27 AM
آخر رد: atefkhalf2004
  [VB.NET] أريد طريقة البحث بين تاريخيين sql server / vb.net 20410 RADOS 4 415 25-07-20, 04:06 AM
آخر رد: RADOS
  أبحث عن مثال كامل للطباعةReport Viewer المهنا 2 376 17-07-20, 03:12 AM
آخر رد: المهنا
  [مثال] مثال و سؤال مهم: معرفة أيام الغياب بعد تسجيل أيام الحضور ؟ DR.YASER 1 296 05-07-20, 04:55 PM
آخر رد: DR.YASER

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


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