ساختارهای تصمیم در برنامه نویسی ++ C

در برنامه هرگاه بخواهیم در شرایط ویژه ای برخی از دستورات اجرا شوند و برخی دیگر اجرا نشوند از ساختارهای تصمیم استفاده می کنیم.

  • ساختار if :

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

توجه کنید که فقط و فقط یا دستورات if اجرا می شود و یا دستورات else و هرگز این دو با هم اجرا نمی شوند.

در ادامه به بررسی حالات مختلفی در بکارگیری دستور if در C++ می پردازیم :

در کد برنامه نویسی بالا می بینیم که num برابر ۵ است، بنابراین شرط if نادرست است و دستور مربوط به آن چاپ نمی شود.

در کد برنامه نویسی بالا چون num برابر با ۱۰ نیست پس دستورات درون else اجرا می شود .

مطالب قبلی دربرگیرنده ۲ حالت از بررسی شرط if بودند، اما گاهی اوقات لازم است که ما حالات بیشتری را بررسی نماییم که در اینصورت از else if بهره می گیریم .

در کد برنامه نویسی بالا چون num برابر با ۱۰ نیست پس دستورات درون else اجرا می شود .

مطالب قبلی دربرگیرنده ۲ حالت از بررسی شرط if بودند، اما گاهی اوقات لازم است که ما حالات بیشتری را بررسی نماییم که در اینصورت از else if بهره می گیریم .

  • ساختار switch :

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

به بررسی مثالی در C++ می پردازیم :

در کد برنامه نویسی بالا متغیر x از نوع عدد صحیح تعریف شده است و مقدار اولیه ۲ گرفته است. می خواهیم اگر ۱ یا ۲ باشد مقدار حروفی عدد را در خروجی نمایش دهیم و در غیر اینصورت خروجی نشان دهد که x نه ۱ است نه ۲ .

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

عبارت default مواردی که خارج از موارد مورد انتظار ماست را در بر می گیرد و همان کار else در if را انجام خواهد داد .

کد برنامه نویسی بالا معدل دانش آموزی را گرفته و با توجه به معدل به او رتبه می دهد. توجه کنید که بعضی از case های موجود خالی از دستورند و علت آن اینست که دستورات برای تمامی آنها مشترک است، مثلا اگر معدل ۲۰ یا ۱۹ باشد رتبه دانش آموزش A خواهد بود و به همین ترتیب تا آخر .

با توجه به اینکه معدل دانش آموز در این مثال ۱۵ است پس به او رتبه C نسبت داده شده و در خروجی چاپ می شود .

  • عملگر ؟

در برنامه نویسی C++ ساختار تصمیم دیگری وجود دارد که به صورت زیر نوشته می شود :

منظور از دستور بالا اینست که اگر X کوچکتر از ۹ است Y را برابر با ۱۰۰ بگیر، در غیر اینصورت آنرا برابر ۲۰۰ قرار بده. در واقع ساختار تصمیم عملگر ؟ برابر با ساختار تصمیم if else است .

پس اگر عبارت قبل از ؟ درست باشد، دستور بعد از آن فقط اجرا شده و اگر شرط نادرست باشد عبارت بعد از : اجرا می شود .



اشتراك گذاری نوشته

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *