سلسلة دروس تعليم لغة كوتلن لتعليم الأندرويد – الدرس الحادي عشر
محتويات الدرس :-
- الحلقة التكرارية For
- الحلقة التكرارية المتداخلة For
- الحلقة التكرارية While Loop
- الحلقة التكرارية Do While
- التحكم في الحلقات التكرارية Loops Control

الحلقة التكرارية For
تستخدم التكرارية للتعامل مع الكود أكثر من مرة مثل طباعة رسالة اكثر من مرة .
مثال الاول
في هذا المثال قمنا بعمل حلقة تكرار تقوم طباعة رسالة 5 مرات تبدء من ال1 وتنتهي حتى ال5 , وللتنبيه ان i هو متغير التكرار والذي ياخذ قيمة عداد التكرار :


مثال ثاني طباعة قيمة متغير التعداد في حلقة التكرار


مثال ثالث فصل وعرض حروف كلمة


مثال رابع طباعة عناصر المصفوفة

مثال خامس
في هذا المثال سنستخدم downTo مع حلقة التكرار والتي تعمل على جعل حلقة التكرار تقوم بالتكرار العكسي او التعداد النازل

الحلقة التكرارية المتداخلة For
في كل حلقة تكرار واحدة يتم تنفيذ حلقة تكرارية متكاملة داخل هذه الحلقة الرئيسية .
مثال الاول في هذا المثال حلقة متداخلة اي حلقة تكرارية داخلة حلقة اخرى
تنبيه عند عمل حلقات تكرارية متداخلة يجب ان تختلف متغيرات التكرار , وكما في المثال التالي استخدمنا المتغيرين i و j


مثال ثاني مثال لعملية الضرب


مثال ثالث توضيح اكثر بساطة للتمييز بين عمل التكرار المتداخل


الحلقة التكرارية While Loop
شبيه بالحلقة التكرارية الfor لكن يعتمد مبدء عملها واستمرار دورانها على الشرط داخل القوس مهما كان متنفذ الشرط فهي تستمر بالتكرار .
Syntax

في هذا المثال
نلاحظ ان شرط الاستمرار هو i أكبر من الصفر اي مهما كان i اكبر من الصفر نفذ ما هو داخل القوس التكراري .
i=i-1
لابد ان نجعل للحلقة التكرارية حد عن الاستمرار بالتكرار لذلك قمنا في كل تكرار بطرح واحد من الi حتى ينزل الi تدريجياً من ال10 الى الصفر وبما ان ال i هنا اصبحت قيمتها صفر فهنا الشرط لا يتحقق وبالتالي لا يتم تنفيذ ماهو داخل القوس


تنبيه
, ويمكن استخدام بدل i=i-1 ان نستخدم –i او i-=1 فجميعها تؤدي الى عمل واحد وهو طرح بمقدار واحد وتسمى decrement

وعكس الdecrement هو الincrement ويعني الزيادة بمقدار واحد

مثال ثاني في هذا المثال قمنا بالزيادة حتى وصولا الى ال10 .
++i
وتسمى increment وتعني زيادة العدد قيمة واحدة ويمكن استخدام بدلها i=i+1 او استخدام i+=1 فكلها نفس العمل .

الحلقة التكرارية Do While
مبدء استخدامها عكس الWhile حيث في البداية تقوم بتنفيذ ما داخل القوس ومن ثم تتحقق من الشرط لتتأكد هل الشرط يتحقق لتستمر في التكرار .
توضيح المثال نلاحظ في المثال دخل على القوس ونفذ ما موجود داخله وطبع قيمة ال i والتي تساوي 10 ومن ثم طرح من قيمة الi لتصبح قيمتها 9 وبعدها تحقق من الشرط فوجد ان i التي اصبحت قيمتها 9 هي ليست اكبر من ال5 كما في المثال وبالتالي لا يتحقق الشرط فخرج من عملية التكرار

مثال ثاني

التحكم في الحلقات التكرارية Loops Control
break
وتستخدم لتوقف الحلقة التكرارية عند حد ما وذلك بوضع شرط فاذا تحقق الشرط ينهي الحلقة التكرارية عن الاستمرار .

continue
وتستخدم لتخطي تنفيذ التكرار عند تحقق شرط ما فمثلا في هذا المثال شرطنا اذا الi اصبحت تساوي قيمتها 5 هنا تخطي هذه المرحلة من التكرار واستمر بباقي عمليات التكرار .

لو افترضنا استخدمنا الحلقات التكرارية المتداخلة اي اصبح لدينا اكثر من حلقة تكرار فعندما نستخدم عمليات التحكم ال break و continue لابد ان نشير بالتحكم الى اي حلقة مطلوبة لذلك في هذا المثال سنوضح كيفية القيام بذلك
stop@ يمكن تسميتها باي اسم لكن يشترط ان تتبع بعلامة @
مثال عن ال break
في هذا المثال شرط التوقف ضمن الحلقة التكرارية المتداخلة j لكن في نفس الوقت ربطنا التوقف مع الحلقة التكرارية الرئيسية i عن طريق stop@ .

مثال عن continue

