ساختار شرطی تودرتو و متوالی (مبانی برنامه نویسی)
سلام خدمت همه ی دوستان و علاقمندان zero to hero
تو این مقاله سعی داریم دو مفهوم ساختار شرطی متوالی و تودرتو رو براتون بیان کنیم و از هر کدوم مثال هایی رو با هم حل خواهیم کرد.اگر با ساختار شرطی آشنا نیستید می تونید به این مقاله سر بزنید یا برای شروع سری مبانی می تونید از این جا شروع کنید. برای شروع، طبق معمول میریم سراغ مثال میز چوبی و نجارمون: فرض کنید می خواید یه میز چوبی به یه نجار سفارش بدید و برای اون میز ۳ طرح(شکل ظاهری) متفاوت در نظر دارید، که اگر جنس چوب نراد بود طرح ۱، اگر بلوط بود طرح ۲ و اگر هیچ کدوم از این دو جنس نبود از طرح ۳ استفاده بشه، خب واضحه که خیلی ساده می تونید از این جملات استفاده کنید:
اگر جنس چوب نراد بود آنگاه از طرح ۱ استفاده کن،
وگرنه اگر جنس چوب بلوط بود آنگاه از طرح ۲ استفاده کن،
وگرنه آنگاه از طرح ۳ استفاده کن.
حالا با هم یه مثال از این مبحث حل میکنیم تا ساختار شرطی متوالی رو به سادگی درک کنین. مساله اینه: برنامه ای بنویسید که یک عدد از کاربر دریافت کرده و مشخص کند که این عدد “منفی”، “مثبت” یا “صفر” است. برای حل این مساله می تونیم از کد زیر استفاده کنیم:
#include <iostream> using namespace std; int main(){ int x; cin >> x; if(x < 0) cout << "manfi" << endl; else if(x > 0) cout << "mosbat" << endl; else cout << "sefr" << endl; return 0; }
که این برنامه ابتدا چک می کنه که اگر عدد منفی بود اون رو چاپ می کنه، در غیر این صورت اگر عدد مثبت بود اون رو چاپ می کنه، و در غیر این صورت که قطعا عدد صفر خواهد بود صفر رو چاپ می کنه. اینم خروجی برنامه به ازای ۳ ورودی متفاوت:
مورد دوم مفهوم ساختار شرطی تودرتو هست که با یه مساله ی دیگه اون رو بیان می کنیم. مساله: “برنامه ای بنویسید که طول دو ضلع مجاور و زاویه بین دو ضلع یک متوازی الاضلاع را دریافت کرده و مشخص کند که این چهار ضلعی مربع، مستطیل، لوزی یا متوازی الاضلاع است”. برای حل این مساله اول باید چک کنیم که طول دو ضلع با هم برابر هستن یا نه، اگر برابر بودن قطعا چهار ضلعی مربع یا لوزیه، و باید زاویه رو چک کنیم که اگر ۹۰ بود چهار ضلعی مربعه و اگر نبود لوزیه، اگر طول دو ضلع برابر نبودن قطعا چهار ضلعی مستطیله یا متوازی الاضلاع، اگر زاویه ۹۰ بود مستطیله و اگر نبود متوازی الاضلاع. به همین قسمت اگر دقت کنید متوجه میشید که برای حل این مساله لازم داریم که داخل یک ساختار شرطی از یک ساختار شرطی دیگه استفاده کنیم. بنابراین کد مساله رو به این صورت می تونیم بنویسیم:
#include <iostream> using namespace std; int main(){ int x; // zel int y; // zel int z; // zavie cin >> x; cin >> y; cin >> z; if(x == y){ if(z == 90) cout << "morabba" << endl; else cout << "lozi" << endl; } else{ if(z == 90) cout << "mostatil" << endl; else cout << "motevaziolazla" << endl; } return 0; }
که به ازای ورودی های مختلف این خروجی ها رو داره:
منتظر مقاله های بعدی مبانی برنامه نویسی و الگوریتم ها باشید.
قهرمان دنیای خودت باش!
لینک پست بعدی مبانی برنامه نویسی