در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش برنامه نویسی به زبان ساده قسمت 11 : دستورات کنترلی و شرط

یکی از قابلیت های بسیار مهم در زبان های برنامه نویسی، افزودن قابلیت تصمیم گیری به برنامه هاست، اینکه برنامه بتواند در شرایط تصمیم گیری کند و روند اجرا را تغییر دهد. البته برنامه های ساده کامپیوتری آنقدر هوشمند نیستند که خود بتوانند تصمیم گیری کنند و این تصمیم گیری از قبل می بایست توسط برنامه نویس در برنامه گنجانده شود. برای مثال، فرض کنید که می خواهیم به دنشجویان بر اساس نمره درسی یک عنوان بدهیم، مانند دانشجوی ممتاز، دانشجوی معمولی و دانشجوی ضعیف. برای اینکار ابتدا الگوریتم زیر را تعریف می کنیم:

  1. متغیر x را تعریف کن و نمره دانشجو را در آن قرار بده
  2. اگر مقدار x بیشتر از 18 بود عنوان ممتاز چاپ کن
  3. اگر مقدار x بین 10 تا 18 بود عنوان معمولی را چاپ کن
  4. اگر مقدار x کوچکتر از 10 بود عنوان ضعیف را چاپ کن

اما سوال اصلی اینجاست که چگونه می توان کدی نوشت که روند اجرای برنامه بر اساس مقادیر و ورودی های کاربر تغییر کند. تقریباً تمام زبان های برنامه نویسی از دستورات شرطی برای اینکار استفاده می کنند که این دستورات مبتنی بر دیاگرام زیر کار می کنند:

img1

به عنوان مثال، الگوریتمی که بالا در مورد آن صحبت کردیم را به صورت زیر می توان در زبان سی نوشت:

#include <stdio.h>

main()
{
    int mark = 17;
    if(mark > = 18)
    {
        printf("Great");
    }
    if(mark >= 10 && mark <= 17)
    {
        printf("Average");
    }    
    if(mark  < 10)
    {
        printf("Poor");
    }
}

با اجرای کد بالا، عبارت Average در خروجی چاپ خواهد شد.همانطور که مشاهده می کنید، در کد بالا از کلمه کلیدی if که یکی از دستورات شرطی در زبان سی است استفاده شده. به عبارت های مقابل دستور if که داخل پرانتز نوشته شده اند دقت کنید. ما قبلاً با این عبارات آشنا شدیم، عملگرهای رابطه ای که امکان مقایسه بین دو مقدار را به ما می داند. دستورات شرطی بر اساس نتیجه عبارت داخل پرانتز روند اجرای برنامه را تغییر می دهند، یعنی اگر نتیجه عبارت true باشد، شرط برقرار بوده و کد مربوطه اجرا می شود، در غیر اینصورت خیر. در ادامه مطلب به بررسی معروف ترین دستورات شرطی می پردازیم.

دستور if..else

در بالا مثال ساده ای از دستور if را بررسی کردیم. دستور if بر اساس شرطی که برایش مشخص می شود تصمیم میگیرد که کدی اجرا شود یا خیر. ساختار دستور if در زبان های سی، جاوا و سی شارپ یکسان است:

if(شرط)
{
    // دستوراتی که در صورت صحیح بودن شرط اجرا خواهند شد
}
else
{
    // دستوراتی که در صورت برقرار نبودن هیچ از شرط ها اجرا خواهند شد
}

دیاگرام کلی دستور if را می توانید در تصویر زیر مشاهده کنید:

img2

در ساختار if..else، در صورت برقرار بودن شرط کد بدنه if و در غیر اینصورت کدی که برای قسمت else نوشته شده اجرا خواهد شد. مثال زیر ساختار دستور if..else را در سی شارپ نشان می دهد:

int number = 12;
if(number  > 15)
{
    Console.WriteLine("Number is greather than 15.");
}
else
{
    Console.WriteLine("Number is lower than 15.");
}

در کد بالا، در صورتی که مقدار number بیشتر از 15 باشد کد بدنه if و در غیر اینصورت کد بدنه else اجرا خواهد شد. در زبان های سی، جاوا و سی شارپ نکات زیر را زمان کار با دستور if در نظر بگیرید:

  1. بدنه کد if بین دو علامت {} قرار میگیرد.
  2. در صورتی که تعداد دستورات بدنه if تنها یک دستور باشد، نیازی به نوشتن {} نیست.
  3. به بدنه دستور if یا دستورات بین {}، اصطلاحاً scope می گویند.

ساختار دستور if..else if..else

علاوه بر دستور else در ساختار if، می توان از دستور else if نیز استفاده کرد. else if در حقیقت برای قسمت else یک شرط مجدد تعیین می کند که اگر قسمت شرط if صحیح نبود، در غیر اینصورت اگر شرط جدید برقرار بود کاری را انجام بده:

if(شرط)
{
    // دستوراتی که در صورت صحیح بودن شرط اجرا خواهند شد
}
else if (شرط)
{
    // دستوراتی که در صورت صحیح بودن شرط اجرا خواهند شد
}
else if (شرط)
{
    // دستوراتی که در صورت صحیح بودن شرط اجرا خواهند شد
}
else
{
    // دستوراتی که در صورت صحیح بودن شرط اجرا خواهند شد
}

یک ساختار if می تواند n قسمت else if داشته باشد، اما تنها یک قسمت else می توان برای دستور if نوشت. مثالی از ساختار if..else if..else در زبان سی:

#include <stdio.h>

main() {
   int x = 19;
   
   if( x > 17) {
      printf( "Great");
   }else if( x < 10) {
      printf( "Poor");
   }else if( x <= 17 && x >= 10 ) {
      printf( "Average");
   }
}

ساختار switch

یکی دیگر از ساختار های موجود در زبان های برنامه نویسی برای ایجاد شرط، استفاده از ساختار switch می باشد. بر خلاف دستور if که بوسیله یک شرط می توان روند اجرای کد را مدیریت کرد، در ساختار switch، با مشخص کردن یک متغیر و مقادیر مختلف می توان روند اجرای کد را تغییر را داد. در زیر ساختار کلی این دستور را مشاهده می کنید:

switch(عبارت){
   case [مقدار]:
      // کدها
      break;
   case [مقدار]:
      // کدها
      break;
   .
   .
   .
   .
   default :
      // کدها
}

عبارت که در داخل پرانتز و در مقابل دستور switch نوشته شده است، باید نام متغیری نوشته شود که مقدار آن، با مقدار نوشته شده در مقابل دستورات case مقایسه می شود و در صورت یکسان بودن مقدار، کدهای مربوط به case مربوطه اجرا خواهد شد. همانطور که مشاهده می کنید، در ساختار بالا تمامی قسمت های مربوط به case، با کلمه کلیدی break به پایان رسیده اند، نوشتن break برای case ها در ساختار switch الزامی است تا بوسیله آن انتهای هر case مشخص شود. همچنین قسمتی داریم با نام default، این قسمت در صورتی اجرا می شود که هیچ یک از case ها اجرا نشوند، یعنی شرط هیچ یک از case ها برقرار نشود. دیاگرام دستور switch به صورت زیر است:

img3

در کد زیر، ساختار switch در کد سی مشاهده می کنید:

#include <stdio.h>

main() {

   int x = 2;
   switch( x ){
      case 1 :
         printf( "One\n");
         break;
      case 2 :
         printf( "Two\n");
         break;
      case 3 :
         printf( "Three\n");
         break;
      case 4 :
         printf( "Four\n");
         break;
      default :
         printf( "None of the above...\n");
   }
}

در کد بالا، عبارت Two در خروجی چاپ می شود، زیر مقدار x برابر 2 است و case مربوط به مقدار 2 اجرا خواهد شد.

شرط ها در زبان Python

همانطور که در بالا اشاره کردیم، ساختار های if و switch در زبان های سی، جاوا و سی شارپ یکسان هستند، اما زبان هایی نیز هستند که ساختار تعریف شده خودشان را دارند، مانند زبان python. در زبان python دستور if به صورت زیر نوشته می شود:

x = 45

if x > 17:
   print "Great!"
elif x < 10:
   print "Poor"
elif x <= 17 and x >= 10:
   print "Average"

در کد بالا، برای دستور if پرانتزی نوشته می شود، همچنین علامت های {} وجود ندارند و به جای دستور else if، از دستور elif استفاده می شود. زبان های دیگری نیز مانند Visual Basic هستند که ساختار تعریف شده خود را برای شرط ها دارند. در قسمت بعدی این سری آموزشی، با بحث تکرار و حلقه ها در زبان های برنامه نویسی صحبت خواهیم کرد. ITPRO باشید

نویسنده: حسین احمدی

منبع : جزیره برنامه نویسی و توسعه نرم افزار وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است

#شرط_ها_در_برنامه_نویسی #دستور_switch #برنامه_نویسی_رو_از_کجا_شروع_کنم #مقدمات_برنامه_نویسی #آموزش_برنامه_نویسی #دستورات_کنترلی_در_برنامه_نویسی #آشنایی_با_دستور_if #ساختار_else_if
عنوان
1 آموزش برنامه نویسی به زبان ساده قسمت 1 : مفاهیم اولیه رایگان
2 آموزش برنامه نویسی به زبان ساده قسمت 2 : انواع زبان برنامه نویسی رایگان
3 آموزش برنامه نویسی به زبان ساده قسمت 3 : روش های اجرای کد رایگان
4 آموزش برنامه نویسی به زبان ساده قسمت 4 : مبنا های عددی رایگان
5 آموزش برنامه نویسی به زبان ساده قسمت 5 : عملگر های بیتی رایگان
6 آموزش برنامه نویسی به زبان ساده قسمت 6 : محیط های یکپارچه توسعه رایگان
7 آموزش برنامه نویسی به زبان ساده قسمت 7 : شروع به کار رایگان
8 آموزش برنامه نویسی به زبان ساده قسمت 8 : نوع های داده و متغیرها رایگان
9 آموزش برنامه نویسی به زبان ساده قسمت 9 : کلمات کلیدی و الگوریتم رایگان
10 آموزش برنامه نویسی به زبان ساده قسمت 10 : عملگرها و عملوندها رایگان
11 آموزش برنامه نویسی به زبان ساده قسمت 11 : دستورات کنترلی و شرط رایگان
12 آموزش برنامه نویسی به زبان ساده قسمت 12 : دستورات تکرار و حلقه رایگان
13 آموزش برنامه نویسی به زبان ساده قسمت 13 : آرایه ها و کاراکترها رایگان
14 آموزش برنامه نویسی به زبان ساده قسمت 14 : توابع رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....