kotlin

كوتلين – الأساسيات : التحكم بالتدفق Control Flow

[mhc_section admin_label=”section”][mhc_row admin_label=”row”][mhc_column type=”1_4″][mhc_image admin_label=”صورة” shared_module=”8811″ src=”http://hendiware.16mb.com/wp-content/uploads/2016/10/kotrs.jpg” show_in_lightbox=”off” url_new_window=”off” animation=”off” hoverfx=”none” sticky=”off” image_mask=”off” border_radius=”0″ align=”right” force_center_on_mobile=”on” saved_tabs=”all”] [/mhc_image][mhc_text admin_label=”نص” shared_module=”8810″ saved_tabs=”all” background_layout=”light” text_orientation=”right”]

مقدمة

الثوابت والمتغيرات   

الدوال


اذا واجهتك أى مشكلة

قم بطرحها فى جروب

Hendiware Developers

[/mhc_text][/mhc_column][mhc_column type=”3_4″][mhc_post_header admin_label=”عنوان المقالة” title=”on” meta=”off” avatar=”on” author=”on” date=”on” categories=”on” comments=”off” views=”off” text_orientation=”right” text_color=”dark” featured_image=”on” featured_placement=”above” parallax=”on” parallax_method=”off” animation=”off” custom_paddings=”40″ size=”30px” title_bold=”on” text_shadow=”off” text_background=”off” text_bg_color=”#ffffff” overlay=”on”] [/mhc_post_header][mhc_text admin_label=”نص” background_layout=”light” text_orientation=”right”]

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

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

وتوفر كوتلين العديد من الاوامر والجمل التى يمكن بها التحكم فى تدفق الكود وسنتطرق اليها الان .

 

 

الحالة الشرطية (if)

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

فى كوتلين يتم تنفيذ الحالة الشرطية باستخدام if كما فى لغات البرمجة الاخرى

وفى هذا المثال يقوم الكود بتنفيذ الامر واذا كان x = 9 فإنه يقوم بطباعة جملة x is nine واستخدمنا هنا المعامل == للمقارنة وليس = واحده لان = الواحده تعنى الاسناد اى اجعل ال x=9 واذا تم جعلها = 9 فعل كذا وهذا خاطىء نحن فقط نريد ان نقارن قيمتها لذلك == ،

فى حالة اذا الرقم لا يساوى 9 فانه لن يقوم بطباعة شىء ولن يتم تنفيذ الكود ، وفى بعض الحالات لا نكتفى فقط بتنفيذ كود معين فى حالة معينة بل نريد تنفيذ كود معين عند تحقق الحالة واذا لم تتحقق اى لم يحدث الشرط يتم تنفيذ كود اخر نريده اى نجعل هناك مسارين للكود اما هذا او هذا ولذلك لدينا كلمة else التى يمكننا كتابة كود بداخلها يتم تنفيذه فى حالة عدم تحقق الشرط كالتالى

 

يمكن استخدام if لاسناد قيمة للمتغير بشرط كما فى المثال التالى

اى انه لدينا متغير اسمه max لكن قيمته معتمدة على اى الرقمين اكبر اذا كان x اكبر من y فان الـ max يساوى x اما غير ذلك فان ال max يساوى y

 

الحالة when 

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

اى فى حالة كانت الرامات 2 اطبع too low فى حال كانت 8 اطبع good وهكذا وستلاحظ فى النهاية اننا استخدمنا else وهنا لا يوجد if لكن نقصد بها اى انه اذا لم تتحقق اى حالة من الامور السابقة فاطبع عباره ” هل انت تعبث معى ؟ ” فبالتأكيد سيكون لديه احد الرامات السابقة .

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

ببساطه نخبر ال when انه لو كان المجموع يقع ضمن نطاق 0 الى 30 اطبع very weak you faild اما اذا كان  يقطع ضمن نطاق 90 الى 100 فقم بطباعة Excellent give him a car .

 

يمكن استخدام when لاسناد قيمة لمتغير ايضا كما فى if كالتالى

 

 

الدوران Loop 

أحيانا نريد تنفيذ نفس الكود عدة مرات لغرض معين وتوفر لنا لغات البرمجة المختلفة طرق مختلفة لتنفيذ ذلك مثل for و while كذك كوتلين توفر لنا ايضا وسائل لعمل دوران على كود معين .

 

For

توفر لنا كوتلين for in للدوران بكود معين سنقوم الان بإنشاء مجموعة  من الـ Strings عباره عن اسماء بعض الاطعمة ويمكن انشاء مصفوفة بسيطة باستخدام الميثود arrayOf ثم نطبع عناصر هذه المصفوفة باستخدام for in كالتالى

وربما يذكرك الشكل السابق بما يعرف ب for each فى بعض اللغات وتتسائل عن ال for العادية احيانا تريد ان تعرف اى لفة هذه وما قيمة ال i حاليا لتقوم باخذ قرارات داخل الـ loop يمكنك ببساطه استخدام ال i ايضا لكن بطريقة مختلفة قليلا كالتالى

 

حيث نقوم باللف استنادا الى ال i او رقم اللفة فى فهرس المصفوفة ويمكنك طباعة ال i فى كل مرة وهى تمثل رقم اللفة .

while/do.. while

ايضا يمكننا استخدام while لجعل استمرار الدوران غير مرهون بعدد معين كما فى For بل فى حالة استمرار شرط معين يستمر الدوران يمكن استخدامwhile كما فى المثال التالى

اشترطنا ان يتم الدوران باستمرار طالما أن قيمة x اكبر من الصفر وانقاص العدد عدد واحد حتى يصل الى ان تصبح ال x تساوى صفر وبالتالى لا يتحقق الشرط فيتوقف التكرار .

 

والفرق بين while ، do while ان فى الـ while لا يبدأ الدوران ابدا الا لو تحقق الشرط أما do while تقوم بتنفيذ كود الدوران مرة واحده فقط ثم التحقق من الشرط ان كان مستمرا تستمر بالدوران .

مثال على do while

فعند تشغيل التطبيق رغم ان الشرط لم يتحقق والـ x ليست اكبر من 100 الا ان الكود الموجود بداخل do تم تنفيذه مرة واحده .

 

 

الدرس السابق 

الدرس التالى

[/mhc_text][/mhc_column][/mhc_row][mhc_row admin_label=”صف”][mhc_column type=”4_4″][mhc_comments admin_label=”تعليقات” show_comments=”on”] [/mhc_comments][/mhc_column][/mhc_row][/mhc_section]
السابق
كوتلين – الأساسيات : الدوال Functions
التالي
كوتلين – الأساسيات : الكلاسات والكائنات Classes and Objects

اترك تعليقاً

This site uses Akismet to reduce spam. Learn how your comment data is processed.