تقييم الموضوع :
  • 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
ممكن مساعده
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] يوجد مثال|كيف نعيد صياغة نص ليكون تاريخ مقبول justforit 7 306 01-11-25, 10:54 PM
آخر رد: justforit
  [VB.NET] مثال و مشكلة (تشفير نص) mmaalmesry 5 902 09-05-25, 08:05 AM
آخر رد: mmaalmesry
  ارجو تعديل الكود جلب البيانات عن طريق اجراء مخزن - مرفق مثال new_programer 0 624 05-02-25, 01:51 AM
آخر رد: new_programer
  اريد جلب عدد محدد من السجلات من قاعدة بيانات اكسس الى الداتا قراد فيو يوجد مثال khalidalwdi 2 669 12-11-24, 12:19 PM
آخر رد: khalidalwdi
  لدي كود للإضافة أريد كود للتعديل وكود للحذف F.H.M 4 357 09-11-24, 09:50 AM
آخر رد: F.H.M
  أريد كود عند الضغط على الصورة في PictureBox تفتح في برنامج الصور في الويندوز F.H.M 6 636 25-10-24, 01:57 PM
آخر رد: F.H.M
  أريد تحديد صلاحيات المستخدمين عن طريق حقل في جدول قاعدة البيانات F.H.M 0 329 12-09-24, 06:29 PM
آخر رد: F.H.M
  [VB.NET] أريد جعل التاريخ بالمنتصف في DateTimePicker F.H.M 2 433 29-08-24, 06:27 PM
آخر رد: F.H.M
  أريد معرفة الطريقة ؟! saud1004 2 362 26-07-24, 12:15 PM
آخر رد: saud1004
  [سؤال] أريد الرجوع الى (آخر نسخة من فيجوال بيسك دوت نت قبل التوقف عن تحديثها) justforit 3 453 01-06-24, 04:22 AM
آخر رد: Taha Okla

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


يقوم بقرائة الموضوع: