بلاککد: دستورهایی که با هم تورفتگی دارند
بلاککد به گروهی از دستورها گفته میشود که با تورفتگی یکسان در کنار هم قرار میگیرند و به یک ساختار برنامه تعلق دارند. در این مقاله با سه مفهوم کلیدی تورفتگی، گروهبندی دستورها و ساختار شرطی و حلقهای آشنا میشوید. همچنین یاد میگیرید که چگونه بلاککدها به خوانایی و درستی برنامه کمک میکنند.
بلاککد چیست و چگونه تشکیل میشود؟
در برنامهنویسی، دستورها به تنهایی کارهای کوچکی انجام میدهند، اما وقتی میخواهیم یک کار بزرگتر را انجام دهیم، باید چند دستور را کنار هم قرار دهیم. به این گروه از دستورها که با هم یک کار مشخص را انجام میدهند، بلاککد میگوییم. نشانهی اصلی یک بلاککد، تورفتگی است؛ یعنی همهی دستورهای عضو یک بلاک، از سمت راست به یک اندازه فاصله دارند. این فاصله به ما میگوید که این دستورها به هم مربوط هستند و زیرمجموعهی یک ساختار بزرگتر مانند یک شرط یا یک حلقه قرار میگیرند.
برای نمونه، فرض کنید میخواهید برنامهای بنویسید که اگر نمرهی دانشآموزی از ۱۲ بالاتر بود، پیام «قبول» را نشان دهد و سپس نمره را در کارنامه ثبت کند. هر دو دستور «نمایش پیام» و «ثبت نمره» باید با تورفتگی یکسان زیر دستور شرط نوشته شوند تا مشخص شود که هر دو فقط در صورتی اجرا میشوند که شرط برقرار باشد. اگر یکی از این دستورها تورفتگی کمتری داشته باشد، از بلاک خارج میشود و همیشه اجرا میگردد که این باعث اشتباه در برنامه میشود.
بلاککد در زندگی روزمرهی دانشآموزی
شاید فکر کنید بلاککد فقط در برنامهنویسی کاربرد دارد، اما در زندگی روزمره هم نمونههای زیادی از آن میبینید. مثلاً وقتی صبح از خواب بیدار میشوید، اگر روز تعطیل باشد، برنامهی شما این است که دیرتر از رختخواب بیرون بیایید، صبحانهی مفصل بخورید و سپس تلویزیون تماشا کنید. این سه کار، یک بلاککد را تشکیل میدهند که فقط در شرایط «تعطیل بودن روز» اجرا میشود. اگر روز تعطیل نباشد، این بلاک اجرا نمیشود و به جای آن، بلاک دیگری شامل کارهای مربوط به مدرسه اجرا میگردد.
مثال دیگر، برنامهی یک بازی رایانهای است که در آن اگر کاراکتر اصلی به سکهای برخورد کند، امتیاز بازیکن افزایش مییابد، صدای برخورد پخش میشود و سکه ناپدید میگردد. این سه دستور، یک بلاککد هستند که با تورفتگی یکسان زیر دستور شرط «برخورد با سکه» نوشته میشوند. اگر یکی از این دستورها تورفتگی متفاوتی داشته باشد، یا همیشه اجرا میشود یا هرگز اجرا نمیگردد و بازی به درستی کار نمیکند.
| نوع بلاک | نمونهٔ کد | نتیجه |
|---|---|---|
| درست | اگر نمره بزرگتر از ۱۲ بود: نمایش «قبول» ثبت نمره |
هر دو دستور فقط در صورت قبولی اجرا میشوند. |
| نادرست | اگر نمره بزرگتر از ۱۲ بود: نمایش «قبول» ثبت نمره |
دستور «ثبت نمره» همیشه اجرا میشود، حتی اگر نمره قبولی نباشد. |
پرسشهای چالشی دربارهی بلاککد
پرسش ۱: اگر تورفتگی دستورها را اشتباه بنویسیم، چه اتفاقی میافتد؟
در زبانهایی مانند پایتون، برنامه با خطا مواجه میشود و اجرا نمیگردد. در زبانهایی که تورفتگی اجباری نیست، برنامه اجرا میشود ولی ممکن است رفتار اشتباهی داشته باشد؛ زیرا دستورها به گروه درست خود تعلق نمیگیرند و ترتیب اجرای آنها تغییر میکند.
پرسش ۲: آیا همهی دستورهای داخل یک بلاککد حتماً باید یک نوع باشند؟
خیر، یک بلاککد میتواند شامل انواع مختلف دستورها مانند محاسبه، شرط، حلقه و نمایش باشد. مهم این است که همهی این دستورها با تورفتگی یکسان نوشته شوند تا نشان دهند که همگی زیرمجموعهی یک ساختار هستند و به یک شرط یا حلقه وابستهاند.
پرسش ۳: آیا میتوان داخل یک بلاککد، بلاک دیگری قرار داد؟
بله، به این حالت بلاکهای تو در تو میگوییم. برای نمونه، داخل یک شرط میتوان یک حلقه قرار داد و داخل آن حلقه، یک شرط دیگر. در این حالت، هر بلاک تورفتگی بیشتری نسبت به بلاک بیرونی خود دارد. این کار به برنامهنویس اجازه میدهد تا ساختارهای پیچیدهتری بسازد.
آنچه خواندید: بلاککد گروهی از دستورها با تورفتگی یکسان است که به یک ساختار برنامه تعلق دارند. تورفتگی درست، خوانایی کد را افزایش میدهد و از بروز خطاهای منطقی جلوگیری میکند. با تشخیص بلاککدها در برنامهنویسی و حتی در کارهای روزمره، میتوانید ساختار کارهای خود را بهتر سازماندهی کنید. به یاد داشته باشید که هر بلاککد یک کار مشخص را انجام میدهد و دستورهای آن فقط در شرایط مربوط به آن بلاک اجرا میشوند.