للحصول على أفضل توصيات الفوركس عبر التلغرام

انضم معنا

الدرس الثالث

أهلا وسهلا بكم أيها الاخوة الاكارم مع الحلقة الثالثة
من سلسلة تعلم البرمجة باسهل طريقة

في الحلقة الأولى أصبح برنامجنا بهذا الشكل:

تعلم البرمجة باسهل طريقة......الحلقة الثالثة 13926_1413916428.png

وكانت نتيجة تنفيذه بهذا الشكل:

تعلم البرمجة باسهل طريقة......الحلقة الثالثة 13926_1413916463.png

كانت المعضلة التي يقوم برنامجنا بحلها هي كتابة جملة:
Hellow World
عشرين مرة

ولكن ماذا لو اردنا من برنامجنا ان يقوم بكتابة هذه الجملة 1000 مرة
طبعا باستعمال طريقتنا السابقة سيصبح الأمر مجهد جدا وشبه مستحيل ان يتم التنفيذ بدقة فربما نزيد او ننقص بعض الجمل هنا او هناك

إذا ما هو الحل؟؟؟؟

لو كان لدينا عصا سحرية تقوم بتدوير هذا الأمر 1000 مرة وبالتالي يتم تجميع (تكديس) هذه الجملة 1000 مرة ثم نستطيع كتابتهم

لحسن الحظ هذه العصا السحرية موجودة واسمها الحلقة او بالإنكليزية (Loop)
(طبعا تسمية حلقة لاتنطبق فعليا هنا لإن الحلقة بدايتها تساوي نهايتها ولكن حاليا دعونا نقبل هذه التسمية)

بالعودة الى حلقتنا يجب ان يكون لها بداية ويجب ان يكون لها نهاية
دعونا نأخذ مثال من الواقع:
الساعة الرقمية لو نظرت الى عداد الثواني مثلا ستلاحظ دائما انه يبدء من 00 وينتهي عند 59 وهذا المثال ينطبق تماما على موضوع الحلقة ولكن هناك شيء إضافي فانت تلاحظ دائما ان عملية الزيادة في الثواني ثانية كل مرة تتم اضافتها لما سبق (ايضا يتم تكديسها في الواقع) فلاتتم الزيادة مرة ثانية ونصف ومرة أخرى ثانيبتين بل ان معدل الزيادة هو دائما ثابت (ثانية واحدة)
الآن دعونا نجمع ماتوصلنا له من خصائص للحلقة:
1 – لها بداية
2 – لها نهاية
3 – لها معدل زيادة ثابت

طيب كيف سنقوم ببناء هذه الحلقة

الأمر ابسط مما تتصور فقط بكتابة كلمة
for
هل هذا معقول!!!!

نعم هذا معقول ولكن يجب عليك أن تحدد ايضا خصائص هذه الحلقة حسب ما اسلفنا سابقا

وبالتالي سيكون الشكل البرمجي لها هكذا:

تعلم البرمجة باسهل طريقة......الحلقة الثالثة 13926_1413922529.png

وهذا الكود معناه بلغة البشر:
قم بإنشاء حلقة بدايتها 1 واستمر بهذه الحلقة طالما ان العداد (وهو المتغير i) أصغر من 1000 او حتى يصبح مساويا للرقم 1000 فتوقف فورا ومعدل هذه الزيادة واحد كل مرة
طبعا نسيت ان اذكر ان كل خاصية من خصائص الحلقة نفصلها عن الأخرى بفاصلة منقوطة كما يتضح ذلك من الشكل السابق
كما انك قد تلاحظ اننا لم نضع فاصلة منقوطة في نهاية سطر الحلقة
وذلك لانها عبار عن جسم برمجي او (كتلة برمجية) يتم الإعلان عن بدايتها ونهايتها باقواس كبيرة وستلاحظ ذلك ايضا عندما نبدء ببناء (الإجراءات) أو
Functions
(إن شاء الله)

الآن نرجع لمثالنا الذي نحتاج ان نكتب من خلاله 1000 مرة جملة:
Hellow World

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

تعلم البرمجة باسهل طريقة......الحلقة الثالثة 13926_1413924178.png

والآن بعد عملية التصريف هذه هي النتيجة على الشارت:

تعلم البرمجة باسهل طريقة......الحلقة الثالثة 13926_1413924715.png

والآن ماذا لو اردنا اللعب قليلا وقمنا بتعديل البرنامج ليصبح بهذا الشكل:

تعلم البرمجة باسهل طريقة......الحلقة الثالثة 13926_1413925071.png

فقط قمت بكتابة اربع جمل إضافية وفي النهاية وضعت الرمز الخاص
\n
للإنتقال لسطر جديد في كل مرة تقوم الحلقة بدورة كاملة ولنرى ماهي النتيجة:

تعلم البرمجة باسهل طريقة......الحلقة الثالثة 13926_1413925412.png

لنتابع اللعب قليلا
ماذا لو اردنا ان نظهر رقم العداد بجانب كل سطر اي بمعنى آخر اننا نريد ان نكتب رقم كل دورة
بسيطة نقوم بإضافة المتغير i الى نهاية الجملة مع الملاحظة اننا سنضيفه خارج علامتي التنصيص ليصبح شكل البرنامج:

تعلم البرمجة باسهل طريقة......الحلقة الثالثة 13926_1413973452.png

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

تعلم البرمجة باسهل طريقة......الحلقة الثالثة 13926_1413973613.png

وهذا التحذير يقول:
implicit conversion from ‘number’ to ‘string’
وهذا يعني ان هناك عدم تطابق في عملية التحويل من رقم الى نص انظر الى الشكل:
تعلم البرمجة باسهل طريقة......الحلقة الثالثة 13926_1413974163.png

طبعا هذا الأمر طبيعي جدا لاننا قمنا بإضافة متغير عددي وهو المتغير i الى متغير (المكدس) وهو نصي في الاساس (يمكنك مراجعة تعريف المتغيرات في الاسطر السابقة)
في الواقع يمكننا تجاهل هذا التحذير وسوف يتم التنفيذ ولكن في حالات معينة لاينصح ابدا في ذلك لان ذلك سؤثر على القيم التي يتم إخراجها وبالتالي إحتمال نشوء أخطاء من الصعب جدا ملاحقتها
لذلك سنقوم باضافة أمر يقوم بتحويل العدد الصحيح الى نص
ويصبح شكل البرنامج:

تعلم البرمجة باسهل طريقة......الحلقة الثالثة 13926_1413974665.png

وشكل التنفيذ على الشارت:

تعلم البرمجة باسهل طريقة......الحلقة الثالثة 13926_1413974963.png

وبعد التعديل يصبح بهذا الشكل
تعلم البرمجة باسهل طريقة......الحلقة الثالثة 13926_1413975221.png