x32x01
  • بواسطة x32x01 ||
موضوعنا اليوم عن الحلقات التكرارية :

الحلقات Loops :
مفهوم الحلقات موجود في جميع لغات البرمجة دون استثناء .
والحلقات هي باختصار تنفيذ مجموعة أوامر برمجية عدد محدد من المرات .
مثلا لو أردنا طباعة الأرقام من 1 إلى 100 فليس من المعقول كتابة 100 سطر لأمر الطباعة .
بل نقوم بعمل حلقة بسيطة لتنفيذ الطباعة لأي مجال من الأرقام .

التركيبة الأساسية للحلقات في لغة MQL5 :
لدينا فعليا تركيبتين مختلفتين للحلقات الأشهر بينهما هي حلقة for تأتي بعدها حلقة while .

نبدأ بحلقة for ولها التركيب التالي :
Code:
for(int i=0;i<=100;++i)
{
  // ما تريد عمله
}
الحلقة السابقة وهي حلقة for التي تتميز بوجود عداد هو المتحول i .
تم تعريف المتحول i داخل الحلقة نفسها على أنه متحول رقمي صحيح .
أيضا تم وضع شرط استمرار الحلقة وهو أن تكون قيمة المتحول i أقل أو تساوي 100 .
أخيرا تم وضع قيمة التزايد في العداد i مع كل تنفيذ وهنا نحن نزيد العداد واحد كل مرة .
هذه الثلاثة أمور يتم وضعها داخل أقواس الحلقة for مفصولة بفاصلة منقوطة .
بعد كتابة سطر الحلقة for يتم فتح قوسين معقوفين { } وفيهما نضع الأوامر البرمجية التي نريد .

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

النوع الثاني من الحلقات هي حلقة while وهي تحتوي فقط شرط تكرار الحلقة ولا تحتوي على عداد مثل حلقة for .

تركيب الحلقة while هو كالتالى :
Code:
while(k<n)
  {
   y=y*x;
   k++;
  }
قبل أن يتم تنفيذ ما بداخل الحلقة يتم فحص شرط الحلقة أولا .
في حال تحقق الشرط يتم تنفيذ ما بداخل الحلقة .
في حال لم يتحقق الشرط لا يتم تنفيذ ما بداخل الحلقة بل ينتقل التنفيذ إلى ما بعد الحلقة مباشرة .
في حال تحقق الشرط مرة أخرى يتم تنفيذ أوامر الحلقة مرة أخرى .
ويجب الانتباه إلى أن شرط الحلقة لا بد أن يتغير في لحظة ما داخل الحلقة نفسها .
وإلا لن يستطيع البرنامج الخروج من هذه الحلقة أبدا .
هناك طريقة أخرى لكتابة هذه الحلقة بالشكل التالي :
Code:
do
{
i++; // without this operator an infinite loop will appear!
}
while(i<10);

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

المشاركات المتشابهة

x32x01
الردود
0
المشاهدات
7
x32x01
x32x01
x32x01
الردود
0
المشاهدات
7
x32x01
x32x01
x32x01
  • x32x01
الردود
0
المشاهدات
4
x32x01
x32x01
x32x01
الردود
0
المشاهدات
13
x32x01
x32x01
x32x01
الردود
0
المشاهدات
8
x32x01
x32x01
الوسوم : الوسوم
برمجة الفوركس تعلم mql5 تعلم برمجة الفوركس

الدخول أو التسجيل السريع

نسيت كلمة مرورك؟

آخر المشاركات

أحدث المنتجات

إحصائيات المنتدى

المواضيع
1,530
المشاركات
1,716
أعضاء أكتب كود
191
أخر عضو
Ahmed123132
عودة
أعلى