در هر مساله ای حداقل با يك عبارت كنترلي روبرو مي شويد پس تسلط در
اين قسمت بسیار اهمیت دارد.
1.عبارات
شرطي
حالت اول شرط
شما در مسأله به مرحله اي مي رسيد كه بايد از راه مستقيمتان منحرف
شويد و اين انحراف با شرطي معلوم مي شود كه: به
كدام جهت منحرف شويد ؟
پس
:
فلوچارت شرط مي شود :

و كد آن در زبان QBASIC مي شود :
Then شرط If
كارهايي كه در صورت درست بودن شرط ، بايد انجام شود .
End if .
براي شرط ها در هر زبان برنامه نویسی مي گوييم :
اگر شرط درست بود پس : اين سري كارها
انجام شوند و تمام .
نکته 1 : در هر زباني يادتان باشد If با تمام متعلقاتش جدا شود و بعد از تمام شدن حتماً پايان زده شود.
نکته 2 : هميشه در قسمت عبارات كنترلي سعي كنيد بعد از كد دستور ، عمليات را
با يك
Tab زدن شروع كنيد تا حالت تورفتگي
ايجاد شود برای اینکه خوانايي برنامه
بيشتر شود.
حالت دوم شرط
اماهميشه شرط ما درست نيست پس نياز داريم شرطمون
اجزاي ديگه اي هم داشته باشد جزء Else
اين جزء به معني : در غير اينصورت است .
يعني اگر شرط درسته عمليات 1 رو انجام بده و
اگر درست نبود عمليات 2 .
فلوچارت
آن مي شود
:

و كد آن مي شود :
Then شرط If
كارهايي كه در صورت درست بودن شرط ، بايد انجام شود
Else
كارهايي كه در صورت نادرست بودن شرط ، بايد انجام شود
End if .
حالت سوم شرط
ممكنه شرط اينطور باشه :
اگر شرط درسته عمليات 1 انجام شود درغير
اينصورت اگر شرط 2 درسته عمليات 2 و الي آخر تا برسيم به درست نبودن تمام قسمتها.
كه
فلوچارت آن مي شود:

و كد برنامه آن مي شود :
Then شرط1 If
كارهايي كه در صورت درست بودن شرط 1 ، بايد صورت بگيرند .
Then شرط 2 Else if
كارهايي كه در صورت درست بودن شرط 2 ، بايد صورت بگيرند .
.
.
Then شرط n
Else if
كارهايي كه در صورت درست بودن شرط n ، بايد صورت بگيرند .
Else
كارهايي كه در صورت نادرست بودن تمام شرط هاي
بالا بايد صورت بگيرند .
End if .
نكته ی خیلی مهم :
يه نكته رو بگم كه در عبارات شرطي If ، هميشه روال اجرا به اين نحو است كه :
قسمت اول كامل خوانده ميشود اگر درست بود انجام مي شود و به End
if پرش مي كند و تمام ميشود يعني :
شرط هاي بعد ديده نمي شود .
ولي اگر قسمت اول درست نبود به خط بعد ، به خط بعدتر و ... مي رود تا
به شرط صحيح برسد و همگي به
End if مي پرند . به همین دلیل است که
گفته میشود IF
و متعلقاتش را حتما ببندیم.
پس نتيجه اينكه : IF در واقع تلاش و گذر براي رسيدن به حالت درست است .
توجه داشته باشيد كه براي قسمت Else نياز به شرط نمي باشد و در صورتي كه شروط قبل نادرست باشند اين قسمت اجرا مي شود.
2.تکرار یا حلقه
حلقه ها براي تكرار يك يا چند عبارت به كار مي روند.
حلقه ها به طور كلي 2 نوعند :
1/for … next
در اين عبارت براي شمارش ، يك شمارنده يا كانتر counter وجود دارد كه با رسيدن به انتهاي حلقه به وسيله next
به يك نسبت ثابت تغيير مي كند .
شكل كد آن :
مقدار تغيير شمارنده step مقدار نهايي to مقدار اوليه = متغير شمارنده for
عباراتي كه بايد تكرار شوند
متغير شمارنده next
شكل فلوچارت آن :

این کد و الگوریتم منظورشان این است که : آنقدر
شرط تکرار شود که شمارنده به حد نهایی خود برسد.
2/Do… Loop
در
این عبارت برای شمارش ، شرطی در ابتدا یا انتها وجود دارد که تمامی عملیات مساله
به آن شرط بستگی دارد . بسته به مساله با درست بودن یا درست نبودن شرط یک سری
عملیات انجام میشود. این حلقه 4 نوع دارد. یکی از روشها را در زیر نمایش میدهیم.
شکل
کد آن :
شرط DO WHILE
عباراتی که باید تکرار شود
LOOP
شکل
فلوچارت آن :

این کدها و الگوریتم منظورشان این است که :
تا وقتی که شرط درست است تکرار شو.
کاملا
واضح است که این دو نوع حلقه تفاوتشان در بررسی شرط است. وقتی در الگوریتم بررسی
شرط اهمیت داشت از نوع 2 حلقه استفاده می کنیم و اگر در الگوریتم بررسی شرط مطرح
نبود از نوع 1 حلقه استفاده می کنیم.
این
موضوعات را در حل مساله بهتر می فهمید. درک عمیق این مطالب بماند برای جلسات حل
مساله.
<جلسه قبل ــ جلسه بعد>