در این ویدئو می آموزید : حلقه ها در ام کیو ال 4
زمان ویدئو : دقیقهassignment_turned_in موضوع : حلقه ها در ام کیو ال 4
face مدرس : آقای احمدی
mode_comment توضیحات : در این ویدیو قصد داریم در مورد حلقه ها توضیح بدهیم. حلقه ها جزئی از ساختار کنترلی هستند مانند شرط ها که در ویدیو قبلی به آن پرداخته ایم. شرطها جزئی از ساختار تصمیم گیری بودند اما حلقه ها جزئی از ساختار تکرار می باشد. ماهیت بسیاری از کارهای ما در برنامه نویسی تکرار هست یعنی قصد داریم چیزی را بخوانیم یا کاری رو انجام بدهیم و اگر حلقه ها رو یاد نداشته باشیم بعضی از کارها رو نمی توانیم انجام بدهیم.
حلقه ها در ام کیو ال 4
حلقه ها جزئی از ساختار کنترلی هستند که ماهیت تکرار دارند که باعت می شود کد کمتری تولید می شود در حلقه کنترلی for تعداد تکرار کد مشخص است و با چک کردن عبارت منتطقی در شرط حلقه تکرار می شود
for(گام حلقه ; شرط حلقه ; شمارنده حلقه)
{
دستورات حلقه
}
مثالی ساده از حلقه ها در MQL4 :
اسکریپتی بنویسید که اعداد 1 تا 10 را بترتیب چاپ کند
//+------------------------------------------------------------------+
//| test.mq4 |
//| Copyright 2023, MetaQuotes Ltd. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2023, MetaQuotes Ltd."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
for(int i=1;i<11;i++)
{
printf((string)i);
}
}
//+------------------------------------------------------------------+
تمرین : برنامه بنویسید که یک عدد از کاربر گرفته و فاکتوریل آنرا چاپ کند
به عنوان مثال فاکتوریل عدد 5 به این صورت محاسبه می شود
5!=5*4*3*2*1=120
//+------------------------------------------------------------------+
//| test.mq4 |
//| Copyright 2023, MetaQuotes Ltd. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2023, MetaQuotes Ltd."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
extern int x;
int fact=1;
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
for(int i=1;i<=x;i++)
{
fact*=i;
}
Comment("foctorial",fact);
}
//+------------------------------------------------------------------+
حلقه while در MQL4 :
حلقه while معمولا وقتی استفاده میشود که تعداد تکرار حلقه در آن مشخص نیست وبه این صورت هست اگر شرط درست بود دستورات داخل حلقه تکرار میشود تا زمانی که شرط نقض گردد ساختار حلقه while درMQL4 به این صورت هست
while(شرط حلقه)
{
دستورات حلقه
}
تست :
برنامه ای بنویسید که اعداد 1 تا 10 را با کمک حلقه whileدر خروجی چاپ کند
//+------------------------------------------------------------------+
//| test.mq4 |
//| Copyright 2023, MetaQuotes Ltd. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2023, MetaQuotes Ltd."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
int i=1;
while(i<=10)
{
Print(i);
i++;
}
}
//+------------------------------------------------------------------+
حلقه do-while :
این نوع از حلقه ابتدا دستورات داخل بدنه را اجرا می کند برای بار اول سپس شرط را چک می کند اگر درست بود این پروسه تکرار می شود تا زمانی که شرط نقض گردد ساختار این حلقه بدین صورت هست
do
{
دستورات بدنه
}
while(شرط حلقه);
سوال :
برنامه ای بنویسید که یک مقدار از کاربر گرفته آنرا 5 واحد اضافه کرده درصورتی که حاصل آن از 25 کمتر باشد عملیات تکرار شود تا حدداقل مقدار آن 25 شود
//+------------------------------------------------------------------+
//| test.mq4 |
//| Copyright 2023, MetaQuotes Ltd. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2023, MetaQuotes Ltd."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
extern int x;
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
do
{
x=x+5;
}
while(x<25);
Comment(x);
}
//+------------------------------------------------------------------+
سایر جلسات دوره
ویدئو : متغیر ها در اکسپرت
مدرس: آقای احمدی
ویدئو : معرفی دوره اکسپرت نویسی
مدرس: آقای احمدی
ویدئو : عملگرها در متاتریدر
مدرس: آقای احمدی
ویدئو : دستورات شرطی در MQL4
مدرس: آقای احمدی
ویدئو : سوییچ و آرایه ها در MQL4
مدرس: آقای احمدی
ویدئو : توابع در اکسپرت نویسی
مدرس: آقای احمدی
این مقاله مفید بود ؟ |
---|
|