الاثنين، 8 سبتمبر 2014

تعلم AS3 -جزء1- الدرس 4 [الحلقات التكرارية]

السلام عليكم و رحمة الله و بركاته
مرحبا بكم في هذا الدرس الجديد من سلسلة دروس تعلم الاكشن سكربت 3 و سنتحدث في هذا الدرس عن الحلقات التكرارية (Loops statement)  بالفرنسية Les boucles
 الدروس السابقة :







________________________________________________




في الدرس السابق تكلمنا عن الدوال الشرطية التي مكننا من تنفيذ اختيارات حسب الشروط
انها خطوة كبيرة في عالم البرمجة !
فهمها مهم جدا لأنها جد ضرورية و سنحتاجها في أي وقت
الا أن هذا ليس كل شئ فهناك أشياء أخرى يجب تعلمها, و سنتكلم عن الحلقات التكرارية

من اسمها نفهم أننا نتكلم عن شئ (أو كودات) تنفذ بصفة مكررة و هذا يعني اننا  نقوم بتنفيذ سلسلة من الاكواد عدة مرات.
في الاكشن سكربت 3 هناك ثلاث أنواع من الحلقات التكرارية سنشرحها في هذا الدرس مع أمثلة طبعا. 


_______________________________________________________________ 


 I.الحلقة التكرارية WHILE: (ما دام)

كما سبق و ذكرنا فالحلقات التكرارية تمكننا من تكرار الاكواد عدد مراة
قد يكون العدد منتهي (محدود , مثلا نكررها 5 مرات  . 6مرات .. 100 مرة)
و قد يكون غير محدود -الى مالا نهاية- 

كيف نقوم بتحديد العدد الذي نريده ؟

 للقيام بهذا تحتاج الحلقة التكرارية الى شرط يجعلها تواصل او تتوقف عن التنفيذ و بدون اطالة سنتطرق الى طريقة كتابتها:

مادام (شرطي صحيح) اذن نفذ هذه الاكواد
  
كما ترون ف while تشبه تمام الدوال الشرطية(if ..esle) إلا ان الفرق هو ان الاكواد تنفذ بشكل متكرر الا غاية عدم تحقق الشرط الازم
الدالة while تقوم بتجربة الشرط اذا كان محققا أم لا قبل تنفيذه 

كيف نكتبها في الأكشن سكربت 3؟ syntax:

while(Condition)
 }
 اكواد تنفذ اذا كان الشرط محقق// 
{

مثلما رأينا فيif ..else  فاذا لم نضع الاوسمة سيتم تنفيذ السطر الاول فقط بعد الشرط
_______________________

كيف تعمل الحلقة while ؟

 تعني مادام الشرط محقق: while(condition)
}: بداية الحلقة التكرارية و من هنا سيتم تنفيذ الاكواد
الاكواد:و هي الاكواد التي تنفذ سطرا بسطر
{  : نهاية الحلقة التكرارية و هنا نعود الى الشرط و نرى ان كان صحيحا ام لا
اذا كان صحيح نعيد تنفيذ الاكواد  مجددا 
و اذا كان خاطئا نكمل تنفيذ الاكواد التي تأتي خارج الحلقة يعني بعد وسام النهاية

_______

مثال:

var i: int = 0;
while(i<3)
{
        trace("i = "+i);  
        i = i+1;
}


اذا قمنا بتجربة الكود فسيظهر لنا 
i = 0
i = 1
i = 2

لم يظهر 3 لأن لما كان i يساوي 3 الشرط لم يتحقق لأن 3 ليس أصغر من 3 :)

Syntax : 

بامكاننا كتابة الكود الاتي
;i = i+1
كالاتي
i++;

_________________________________________________________________



II. الحلقة التكرارية Do .. While: 

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

مثال

var nb:int = 2;
do
{
     trace(nb);
     nb++;
}while(nb == 0)

بالرغم من ان الشرط غير محقق من البداية الا انه سيكتب لنا 2



___________________________________________________________

III.الحلقة التكرارية FOR

تستعمل عموما لما نكون نعلم عدد التكرارات التي نحتاجها لتنفيذ كود معين

و تكتب على هذا الشكل

for(INIT,CONDITION,ACTION)
{
 //instructions..
}

INIT: هنا يتم وضع المتغيرات و قيمتهم الابتدائية و بامكاننا انشاء متغيرات هنا 
CONDITION: مثلما كنا نرى في الاعلى أي نضع الشرط
 ACTION:  بامكاننا وضع الكثير من الأشياء هنا لكن عموما تستعمل لزيادة  او انقاص قيمة المتغير الذي نقارن به عدد مرات تنفيذ الاكواد

مثال:

for(var i :int= 0;  i< 3; i++)
{
     trace("i  = "+i);
}

سيظهر لنا 
i = 0
i = 1
i = 2
____________

ماذا يحدث بالضبط؟
خطوة بخطوة :
1. 
var  i :int= 0
هذا أول كود ينفذ و لمرة واحدة فقط حيث تم انشاء متغير قيمته 0

2.
ثاني شئ نتأكد من صحة الشرط أي i<3
اذا كان صحيحا يتم تنفيذ الاكواد  و الا نخرج 

3.
بعد الوصول الى وسام نهاية الحلقة {
نصعد الى action و نضيف قيمة 1 الى i

4.
نعود مجددا الى الشرط اذا كان صحيحا ننفذ الكود و الا نخرج
 و هكذا.... الى غاية عدم تحقق الشرط

___________________________________________________________


أي سؤال أنا يطرح سأحاول الاجابة عنه بطريقة مفهومة 
شكرا

هناك تعليق واحد:


جميع الحقوق محفوظة لمدونة 2014-2015 as3arabic |