فلاترلند | مرکز آموزش رایگان فلاتر

آموزش برنامه نویسی موبایل و ساخت اپلیکیشن با فریمورک فلاتر

فلاترلند | مرکز آموزش رایگان فلاتر

آموزش برنامه نویسی موبایل و ساخت اپلیکیشن با فریمورک فلاتر

عملگر های مقایسه و شرط ها

شنبه, ۲۵ آذر ۱۴۰۲، ۰۹:۵۰ ب.ظ

در این مطلب به یکی از پرکاربردترین مباحث برنامه نویسی یعنی مقایسه و شرط گذاری خواهیم پرداخت. قطعا شرط گذاشتن برای هر چیز در برنامه نویسی دادن حکم تصمیم گیری به کامپیوتر است.

در این مطلب به درستی یا نادرستی هر شرط و نحوه تعریف و مقایسه آنها خواهم پرداخت.

در ادامه با فلاترلند همراه باشید.

فرض کنید می خواهیم برنامه ای بنویسیم تا معدل یک فرد را محاسبه کنیم. (( سعی کنید این برنامه را با جمع کردن نمرات در یک متغیر و انجام محاسبات بنویسید. ))


ابتدا باید تمام نمرات فرد را جمع کنیم و در یک متغیر قرار بدهیم.

از آن جایی که امکان دارد جمع نمرات فرد اعشاری شود از نوع داده double استفاده می کنیم.

double studentScores = 12 + 16.5 + 18 + 19.25 + 19.75;

برای به دست آوردن میانگین باید جمع را تقسیم بر تعداد کنیم. از انجا که می دانیم خروجی تقسیم اعشار است پس از double برای نوع داده استفاده می کنیم.

double studentGrade = studentScores / 5;

در نهایت معدل را نمایش می دهیم. به این صورت:

print("Your Grade is -> ${studentScores}");

شکل نهایی برنامه به این صورت است:

void main(List<String> args) {
  double studentScores = 12 + 16.5 + 18 + 19.25 + 19.75;
  double studentGrade = studentScores / 5;
  print("Your Grade is -> ${studentGrade}");
}
این یک برنامه بسیار ساده است! ما نمی خواهیم ساده باشیم و ساده بمانیم، فرض کنید کارفرما از شما خواسته تا فقط اگر معدل بالای 10 بود قبول شود.
همانطور که طبق الگو بالا می بینیم، عبارت ما از سه قسمت تشکیل شده، بخش اول که ثابت است و همیشه اگر می آوریم، بخش دوم شرط ما است و بخش سوم امری است که در صورت برقراری شرط باید رعایت شود.
مروری بر عبارات شرطی را داشته باشیم.

عملگر های مقایسه ای:

  • عملگر " < " آیا مقدار سمت راست از مقدار سمت چپ بزرگتر است؟
  • عملگر " > " آیا مقدار سمت راست از مقدار سمت چپ کوچکتر است؟
  • عملگر " => " آیا مقدار سمت راست از مقدار سمت چپ بزرگتر یا مساوی است؟
  • عملگر " =< " یا مقدار سمت راست از مقدار سمت چپ کوچکتر یا مساوی است؟

همین الگو را در برنامه نویسی داریم:
if ( Condition ) {
Do this
}
در این اینجا Condition به معنی شرط و if به معنای اگر است. در میان فضا باز شده Do this به معنای کاری که می خواهیم انجام شود است.
بیایید این الگو را عملی ببینیم:
if (studentGrade>=10) {
    print("OK");
}
در اینجا ما بررسی کردیم که آیا معدل دانش آموز بالا یا برابر 10 است یا خیر؟ اگر بله بود به او پیام OK نمایش داده شود؛ اما اگر نبود چی؟ در اینجا برنامه بدون دادن پیامی به کاربر خارج می شود که این جالب نیست، پس اگر بخواهیم تصمیمی برای برقرار نبودن شرط هم بگیریم باید از کلمه ای به نام else استفاده کنیم.
if ( studentGrade >= 10 ) {
    print("OK");
} else {
    print("Fail");
}
همانطور که می بینید در جلوی فضای قبلی کلمه ای به نام else آورده ایم و برای برقرار نبودن شرط تصمیم گرفته ایم؛ یعنی اگر فرد معدلی کمتر از 10 داشت با پیام Fail برخورد خواهد کرد.
در نتیجه برنامه ما به این صورت خواهد بود:
void main(List<String> args) {
  double studentScores = 12 + 16.5 + 18 + 19.25 + 19.75;
  double studentGrade = studentScores / 5;

  print("Your Grade is -> ${studentGrade}");

  if (studentGrade >= 10) {
    print("OK");
  } else {
    print("Fail");
  }
}
این ها شرط ها بودند. اما سوالی که پیش می آید این است که کامپیوتر چگونه درستی و نادرستی را مشخص می کند؟ ایا این شرط درست است یا خیر؟
اکنون با نوع داده جدیدی به نام boolean ( بولین ) مواجه می شویم. این نوع داده یا مقداری برابر درست دارد یا مقداری برابر نادرست! در انگلیسی می گوییم درست یعنی True و غلط یعنی False در برنامه نویسی هم این موارد با همین نام ها وجود دارند. مثلا می خواهیم بگوییم آیا فرد تک ماده دارد یا خیر؟ آیا فرد مشغول به تحصیل است یا خیر؟ برای این نوع از داده ها از متغیر هایی با نام بولین استفاده می کنیم.
آن ها به این شکل ساخته می شوند:
bool (vName) = (value);

تنها فرق انها با سایر متغیر ها اسم اول آنها است.

بیایید برنامه رو توسعه دهیم، می خواهیم بگوییم اگر فرد تک ماده داشت و قبول نشده بود آن را قبول کن، برای این کار ابتدا وضعیت تک ماده را مشخص می کنیم:

bool singleArticle = true;

در اینجا ما مشخص کردیم که فرد دارای تک ماده است و مقدار آن را برابر true یا درست قرار دادیم؛ اکنون وقت آن است تا بگوییم اگر قبول نشده و اگر تک ماده داشت آن را قبول کن:

if (studentGrade >= 10) {
    print("OK");
  } else if (singleArticle) {
    print("OK");
  } else {
    print("Fail");
  }
در اینجا جلوی کلمه else دوباره شرطی را اضافه کردیم که به معنای در غیر این صورت اگر می تواند خوانده شود. در واقع ما گفتم اگر معدل بالای ده نداشت و اگر تک ماده داشت قبول شود ولی در غیر این صورت اگر هیچ کدام برقرار نبود مردود شود.
نمای کلی برنامه ما به این صورت خواهد بود:
void main(List<String> args) {
  double studentScores = 10 + 16.5 + 2 + 9.25 + 9;
  double studentGrade = studentScores / 5;
  bool singleArticle = false;

  print("Your Grade is -> ${studentGrade}");

  if (studentGrade >= 10) {
    print("OK");
  } else if (singleArticle) {
    print("OK");
  } else {
    print("Fail");
  }
}
سعی کنید این برنامه را خودتان از اول بنویسید و برای حالت های مختلف تست کنید.
  • ۰۲/۰۹/۲۵
  • علیرضا حسن زاده

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
تجدید کد امنیتی
فلاترلند | مرکز آموزش رایگان فلاتر

فلاترلند، یک وبلاگ آموزشی است که به شما کمک می‌کند تا با استفاده از آخرین فناوری‌ها و روش‌های روز دنیا، برنامه‌های موبایل برای پلتفرم‌های مختلف مانند اندروید، iOS و حتی دسکتاپ را تنها با یک بار کد زدن بسازید !. در این وبلاگ، از صفر تا صد برنامه نویسی موبایل با فریمورک فلاتر را به شما آموزش می‌دهیم.
در صورتی که در مطالب وبلاگ ایراد / ابهام و... وجود داشت میتوانید از قسمت ارتباط با ما راه های ارتباطی را بررسی و مشکل خود را بیان کنید.