فتحات العرب

AD (728x60)

Slider

بلوجر

منوعات

بالصوت وصورة

تكنلوجيا

أقسام المدونة

حصريات

الاخبار

أعلان

Blogroll 2

أعلان

أعلان

صور فلكر

Link List

تابعونا على

Video

تقارير

منوعات

السبت، 5 يوليو 2014

الدرس الثالث : الجمل التكرارية .

مشاركة و تعليق كدعم كبي لنا أحبائي الكريم
السلام عليكم و رحمة الله وبركاته ،
الدرس الثالث : الجمل التكرارية .
أحيناً نريد تنفيذ الأمر أكثر من مرة في نفس الوقت , كتعبئة عناصر مربع قائمة بالأرقام من 1 إلى 1000 , فأنت لست مضطرا إلى إضافة الألف رقم بنفسك , وإنما يمكنك استعمال الجمل التكرارية لتنفيذ الأمر بسرعة فائقة .
هنا عدة أنواع من الجمل التكرارية , أهمها :

تركيب For…To…Next : ويستخدم لتكرار أمر ما أكثر من مرة , بتعيين قيمة البداية والنهاية (ومقدار العد إن أردت) , ويكون بالشكل التالي :

For X = start To end [Step num]
Command…

Next X


نشرح التركيب السابق :
For , To , Next : كلمات محجوزة , الأولى لبدء التركيب والثانية لربط قيمة البداية بقيمة النهاية والأخيرة لإنهاء التركيب.

X : متغير توضع فيه قيمة الدوارة , أي أنه إن كانت الدوارة في الدورة 5 , ستكون قيمة X = 5
Start : قيمة البداية.

End : قيمة النهاية.

Step num : هذا الجزء يحدد مقدار العد حيث step كلمة محجوزة و num هو مقدار العد, أي هل يزيد قيمة X في كل مرة بمقدار واحد , اثنين , ثلاثة , عشرة ... إلخ , وقد وضعتهما بين [] لأنهما غير ضروريان ويتم تعيينهما افتراضياً على 1 .

مثلاً :

For X = 1 To 10
Msgbox X

Next X


هذا الأمر سيعرض 10 رسائل تحتوي على قيمة x.

ملحوظة : هناك جملة تستخدم للخروج من دوارة (أو تركيب) For , وهي Exit For ,, الفائدة منها هي عدم الحصول على دوارات غير منتهية مما يؤدي إلى الخروج عن مسار البرنامج.
مثلاً :

For x = 1 To Val(text1.text)
Msgbox x

Next x


هذا الكود يقوم بعرض رسالة فيها قيمة x بدءاً من 1 إلى القيمة الرقمية (Val) في مربع النص , حيث Val هي دالة تحول النص إلى رقم , فمثلاً "1234" نوعها نصي , تحول إلى 1234 (سأشرحه بالتفصيل إن شاء الله تعالى في الدرس القادم).

حسناً , ماذا لو أن المستخدم كتب 1000000000 في مربع النص ؟!
سيعرض البرنامج 1000000000 رسالة مما يؤدي إلى تعطيل المستخدم.

في هذه الحالة يمكن وضع جملة للتحقق من القيمة والخروج إن كانت كبيرة :

For x = 1 To Val(text1.text)
If x > 100 Then
Exit For
End If

Next x


أيضاً يمكنك تقييد الدوارة بشكل آخر , مثلاً :

For x = 1 To Val(text1.text)
If x < 100 Then goto 7
Msgbox x


7 Next x


سيعرض البرنامج رسالة فيها رقم 100 مباشرة , وهذا لأننا شرطنا أنه يجب أن يكون x أصغر من 100 حتى ننتقل إلى ننتقل إلى الدورة التالية , وبالتالي فإن البرنامج أكيد سينتقل إلى الدورة التالية مباشرة ويزيد قيمة x , إلى أن يكون X = 100 , أي أننا في الدورة 100 وعندها سيعرض الرسالة.
والأمر GoTo هنا يقوم باستدعاء جزء رقم 7 , والذي يحتوي على أمر الإنتقال إلى الدورة التالية.

تركيب Do While … Loop : ويستخدم لتنفيذ أمر طالما تحقق شرط ما.

Do While Condition
  Command…

  Loop


مثلاً :

Do While x > 10
X = x + 1
Msgbox x

Loop


لاحظ أنه لن يعرض أية رسالة في التركيب السابق , لا مشكلة في هذا الآن.
وهناك صيغة أخرى لهذا التركيب هي :

Do
Commands...

Loop While Condition


وهنا سيتحقق من الشرط بعد تنفيذ الأوامر , وليس قبلها كما في الصيغة السابقة.

تركيب Do Until … Loop : ويستخدم لتنفيذ أمر ما بشكل متكرر طالما أن الشرط غير متحقق.

Do Until Condition
  Command…

  Loop


فمثلاً (لاحظ أننا غيرنا مكان الشرط في المثال السابق) :

Do
X = x + 1
Msgbox x

Loop Until X > 10


لاحظ أنه في هذا الأمر , سيعرض رسائل إلى أن تصل قيمة X إلى 11 , أي عندما يكون أكبر من 10 , بينما في الكود السابق لن يعرض أية رسالة لأن X أصلاً = صفر , أي أنه ليس أكبر من 10 وبالتالي لن يكمل التركيب الحلقة.

لاحظ , تركيب While سيتابع الدوران طالما تحقق الشرط , بينما تركيب Until سيوقف الدوران إن تحقق الشرط .
يمكنك تذكر هذه الملحوظة من خلال معنى الكلمتين :
While : تعني ----> طالما الشرط صحيح , ننفذ الكود
.
Until : تعني ----> ننفذ الكود حتى يصبح الشرط صحيح
.

أرجو أن يكون الدرس مفيدا , وأن ينال إعجابكم.
والسلام عليكم و رحمة الله و بركاته.
القسم:

صممت بواسطة :

مدونتنآ تسعى إلى تحقيق آلدعم للمبرمجين العرب لتشجيعهم وتوصيل اعمالهم للعالم .

0 التعليقات:

إرسال تعليق

Find Us On Facebook

تابعنا على فيس بوك
اضغط على اعجبني - like ليصلك كل ما هو جديد

 
كل الحقوق محفوظة © محترفين البرمجة

تعريب وتطوير S i R - D o O o M