طراحی زبان های برنامه سازی
درس متنی
جلسه پنجم
کنترل جریان — شرطیها، حلقهها و بلوکها
زمان مطالعه
20 دقیقه
مقدمه
کنترل جریان یکی از مهمترین بخشهای هر زبان برنامهنویسی است. این بخش تعیین میکند که برنامه در چه ترتیبی اجرا شود، چه زمانی تصمیم بگیرد، چه زمانی تکرار کند و چگونه بخشهای مختلف را سازماندهی کند.
۱) شرطیها (Decision Making)
تعریف
ساختارهای شرطی امکان میدهند برنامه بر اساس یک وضعیت یا عبارت منطقی، بین چند مسیر مختلف یکی را انتخاب و اجرا کند.
انواع ساختارهای شرطی
- شرطهای ساده برای انتخاب یک مسیر در صورت درست بودن یک وضعیت
- شرطهای دوحالته برای انتخاب بین دو مسیر جایگزین
- شرطهای چندحالته برای انتخاب بین چند گزینه مختلف
- شرطهای تو در تو که در آنها چند ساختار شرطی داخل هم قرار میگیرند
نکات مهم
- عبارت شرطی باید به مقدار منطقی منجر شود.
- ترتیب بررسی شرایط میتواند بر نتیجه تأثیر بگذارد.
- خوانایی شرطها عامل مهمی در نگهداری برنامه است.
۲) حلقهها (Loops)
تعریف
حلقهها برای تکرار اجرای یک بخش از برنامه تا زمانی که شرط تعیینشده برقرار باشد یا تعداد مشخصی تکرار انجام شود، استفاده میشوند.
انواع حلقهها
- حلقههایی که تا زمانی که یک شرط برقرار است تکرار میشوند
- حلقههایی که تعداد تکرار مشخص دارند
- حلقههایی که شرط در انتهای آنها بررسی میشود
- حلقههای بینهایت که عمداً یا به اشتباه ممکن است متوقف نشوند
- حلقههای تو در تو برای کار با ساختارهای دادهٔ چندبعدی یا عملیات تکراری پیچیده
نکات مهم
- باید مراقب شرط خاتمه بود تا حلقه بیپایان نشود.
- مقداردهی اولیه و تغییر مقدار متغیرهای حلقه بسیار مهم است.
- کارایی حلقهها نقش زیادی در سرعت اجرای برنامه دارد.
۳) بلوکها (Blocks)
تعریف
بلوک مجموعهای از دستورات است که بهعنوان یک بخش واحد در نظر گرفته میشود. معمولاً با علامتها یا ساختارهای مشخصی گروهبندی میشوند.
نقش بلوکها
- تعیین محدودهٔ متغیرها و کنترل حوزهٔ اثرگذاری
- دستهبندی منطقی دستورات برای خوانایی بهتر
- استفاده در ساختارهای شرطی، حلقهها و تعاریف تابعها
- جلوگیری از تداخل بین بخشهای مختلف برنامه
نکات مهم
- داخل یک بلوک میتوان متغیرهای محلی تعریف کرد که فقط در همان بلوک قابلدسترسیاند.
- بلوکها ساختار سلسلهمراتبی برنامه را ایجاد میکنند.
- استفاده درست از بلوکها برای جلوگیری از پیچیدگی کد ضروری است.
۴) جمعبندی
- شرطیها امکان میدهند مسیر اجرای برنامه بر اساس وضعیت تغییر کند.
- حلقهها اجرای تکراری را تا زمان لازم ممکن میکنند.
- بلوکها ساختاردهی و سازماندهی کد را فراهم میکنند.
- این مفاهیم پایهٔ کنترل اجرا در تمامی زبانهای برنامهنویسی هستند و کارایی، خوانایی و رفتار برنامه تا حد زیادی به آنها وابسته است.