الحلقات التكرارية iterations & looping

بسم الله الرحمن الرحيم
 
درس اليوم بعنوان

الحلقات التكرارية iterations & looping

يعني ايه iterations & looping  ويعني ايه حلقات تكرارية من الاصل
الحلقات التكرارية في الاصل هي تكرار امر معين عدد من المرات كثيرا ما نحتاج في برامجنا تكرار بعض الاوامر عدد من المرات المحددة او الغير محددة
يعني مثلا اقول لحبيبي ابو البراء قول     ارنبنا فى منور انور وأرنب أنور فى منورنا  عشر مرات مثلا
كدا انا حددت عدد التكرار هنا عشر مرات دا ان عرف يعني يقولهم او حتى اخي احمد الفلاحجي :wink2:
هنا بقي نقول ان دي جمله تكرارية محددة او معروفة وتندرج تحت الاسم  iterations

طيب لو قلت لابو البراء قول بسيطه وماتستبسطهاش وصعبه وماتصتصعبهاش لحد ما يبان لك صاحب ههههههه
كدا اول واحد هيظهر ويتعاطف مع الموقف حبيبي ابو يوسف ويقولي حرام عليك واخي الغالي عبد العزيز هيقول اشيل عنه شوية والفلاحجي هيستخبى :wavetowel:
طيب من المثال اللي فات فهمنا ايه انه لازم يفضل يعيد الجملة لحد ما يبان له صاحب
يعني هنا حطينا شرط لايقاف الحلقة
يبقي كدا اسمها جملة تكرارية شرطية  وتندرج تحت الاسم  looping

ومن الامثلة السابقة نقدر نقسم الحلقات التكرارية المحددة والشرطية كما بالاسفل

iterations
For.........Next
For.........Each
looping
Do.........Loop
Do...........While
Do...........Until
While
ناخد مثال على الجز الاول وهو   iterations
For.........Next
وتكتب هكذا
      
        For i = 1 To 10

            MsgBox(i)

        Next
نوضح الجمله اولا بدأنا الجملة بكلمة محجوزة For وبعدها حرف i وهو هنا يسمي بالمتغير وبالاصح العداد المتغير
وبعدها = تساوي ايه بقي تساوي القيمة الابتدائية للمتغير  to  القيمة النهائية للمتغير والتي اذا وصل لها توقف عن العمل ونختتم الكود ب Next  للتكرار حتى نهاية القيمة
يبقي المثال اللي فات ايه اللي هيحصل فيه لما نشغله
هيظهر لينا رسائل متتاليه من 1 الى 10 وبعدها تتوقف لانتهاء عمل الكود
طيب لو احنا محتاجين زيادة بمقدار مختلف يعني مثلا يزيد كل مره رقمين مش واحد زي ما موجود
يعني بدل ما يبقي 1 2 3 4 5 6 7 8 9 10
يبقي كدا مثلا 1 3 5 7 9  وطبعا مش هيجيب ال10 لان مسافتها من بعد ال9 رقم واحد يبقي هيتوقف عند ال9 فقط
ازاي نعمل الكود دا نشوف
 For i = 1 To 10 Step 2

            MsgBox(i)

        Next
زودنا هنا كلمة step 2  وهنا يعني مقدار الخطوة 2 للمتغير
طيب ينفع بدل ما ازود انقص مثلا اه تمام ينفع نعكس العمليه
        For i = 10 To 1 Step -1

            MsgBox(i)

        Next
يعني ايه الكود السابق يعني المتغير يفضل يقل من 10 لحد 1 بمقدار -1
طيب احنا هنقضيها مقدار ارقام لا ممكن  نعلن عن متغيرات تحمل الارقام دي ازاي بقي
        Dim x As Byte = 1
        Dim y As Byte = 10

        For i = x To y

            MsgBox(i)

        Next
اظن كدا واضحة لينا احنا اعلنا عن متغيرين من نوع بايت واحد قيمته1 والتاني 10
ونستطيع ان نربط المتغير بتكست بوكس مثلا اذا كانت القيمة هنحددها من على الفورم واحنا شغالين


ندخل بعد كدا على الFor Each
بنستخدم امتى الفور ايتش دي
بنستخدمها مع الكولكشن زي المصفوفات كدا مثلا
هناخد المصفوفات دي بس بعدين المهم هنعرف ازاي نعلن عنها ونعرفها في الجملة فور ايتش في المثال التالي
        Dim myarr() As String = {"الفلاحجي", "ابو البراء", "ابو يوسف", "البسكري", "ياسر العربي"}


        For Each i In myarr

            MsgBox(i)

        Next
هنا اعلنا عن مصفوفه من نوع استرنج نصي يعني وعرفناها  بما هو مكتوب بين الاقواس
وبعدها جينا لجملة التكرار For Each
ووضعنا متغير i  بيساوي المصفوفة myarr
الكود السابق عند تطبيقه سيعرض لنا الاسماء  الموجودة بالمصفوفة على التوالي داخل رسالة وعند الانتهاء من كل محتويات المصفوفة يتوقف عمل الكود
زي ما بنعملها في الاكسيل كدا مثلا
Dim rng As Range
For Each rng In Sheet1.Range("a1:a100")
rng = "الله اكبر"
Next rng
هنا بنعلن عن متغير rng وحددنا له مساحة يشتغل داخلها من الخلية a1 :a100  ونقدر نطبق على هذا النطاق ما نريده
مثلا نحدد المتغير ونقول انه  المتغير هيكون قيمته
الله اكبر
ونطاق الحلقة التكرارية هو 100 خليه  يبقي كلهم هيتكتب فيهم
الله اكبر
 
ولحد هنا نتوقف ونكمل باذن الله باقي الدرس قريبا

تقبلو تحياتي
ياسر العربي
يتبع
:fff::fff::fff::fff:


الإبتساماتإخفاء