Google Play badge

ساختارهای کنترلی


ساختارهای کنترلی

خوش آمدید، دانش آموزان جوان! امروز قصد داریم با ساختارهای کنترلی در برنامه نویسی کامپیوتر آشنا شویم. ساختارهای کنترلی مانند علائم جاده ای برای یک برنامه کامپیوتری هستند. آنها به آن می گویند که از کدام راه برود و بعد چه کاری انجام دهد. درست مانند قوانینی که در خانه یا مدرسه رعایت می کنید، یک کامپیوتر نیز هنگام اجرای برنامه از ساختارهای کنترلی پیروی می کند.

ساختارهای کنترلی چیست؟

یک ساختار کنترلی مجموعه ای از دستورالعمل ها است که به رایانه می گوید چگونه هنگام اجرای یک برنامه، بین مراحل مختلف یکی را انتخاب کند. این تصمیم می گیرد که آیا کامپیوتر باید به همان ترتیب به کار خود ادامه دهد یا تصمیمی برای انجام کاری متفاوت بگیرد.

تصور کنید که یک دستور غذا را دنبال می کنید. دستور پخت هر مرحله را به شما می گوید: ابتدا آرد و آب را مخلوط کنید. سپس، یک تخم مرغ اضافه کنید؛ بعد، هم بزنید؛ و در آخر مخلوط را بپزید. در یک کامپیوتر، ساختارهای کنترلی به روشی مشابه کار می کنند. آنها به رایانه کمک می کنند تا بداند کدام دستورالعمل بعدی می آید و در صورت وجود انتخاب چه تصمیمی باید بگیرد.

انواع سازه های کنترلی

سه نوع اصلی از ساختارهای کنترل وجود دارد که امروز با آنها آشنا خواهید شد. آنها عبارتند از:

ساختارهای کنترل متوالی

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

به عنوان مثال، به برنامه روزانه صبحگاهی خود فکر کنید:

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

اگر به یک شبه برنامه ساده برای تهیه ساندویچ فکر کنیم، ممکن است به شکل زیر باشد:

مرحله 1: دو تکه نان بردارید.

مرحله 2: روی یک برش کره بمالید.

مرحله 3: پنیر را روی کره قرار دهید.

مرحله 4: دو برش را کنار هم قرار دهید. از ساندویچ خود لذت ببرید

درست مانند ساندویچی که درست می کنید، کامپیوتر دستورات را یکی یکی انجام می دهد.

ساختارهای کنترل انتخاب

ساختارهای کنترل انتخاب به رایانه امکان انتخاب می دهد. آنها مانند یک دوشاخه در جاده یا کتاب «ماجراجویی خودت را انتخاب کن» کار می کنند. کامپیوتر به یک شرط یا یک قانون نگاه می کند و سپس تصمیم می گیرد که کدام مسیر را دنبال کند.

مثلاً به انتخاب لباسی که در صبح بپوشید فکر کنید. ممکن است تصمیم بگیرید: "اگر باران می بارد، من یک کت بارانی می پوشم، اگر هوا آفتابی است، یک تی شرت می پوشم." این تصمیمی است که به شما کمک می کند تا برای آب و هوا آماده باشید. در برنامه نویسی، کامپیوتر از if ، else if و else برای تصمیم گیری استفاده می کند.

یک مثال ساده کد مانند در زبان ساده به این صورت است:

اگر باران می بارد، «چتر بگیر» را چاپ کنید .
در غیر این صورت ، "بدون نیاز به چتر" را چاپ کنید.

یعنی: اگر شرط (باران) درست است، عمل را انجام دهید (چتر بگیرید). در غیر این صورت اقدام دیگر را انجام دهید.

بیایید از مثال دیگری استفاده کنیم. تصور کنید در حال انجام یک بازی هستید و یک قانون وجود دارد که می گوید: "اگر 10 امتیاز کسب کنید، برنده می شوید!" این قانون مانند یک ساختار کنترل انتخاب است. بازی بررسی می کند که آیا امتیاز شما برابر با 10 است یا خیر. اگر بله، شما را برنده اعلام می کند. اگر نه، به بازی ادامه می دهد.

ساختارهای انتخاب به رایانه ها کمک می کند تا تصمیماتی را که تنها چند پاسخ ممکن دارند، انجام دهند. آنها به رایانه می گویند: "اگر درست است این کار را انجام دهید و اگر اینطور نیست، کار دیگری انجام دهید."

ساختارهای کنترل تکرار

ساختارهای کنترل تکرار به رایانه می گویند که کاری را بارها و بارها انجام دهد. این به عنوان حلقه یا تکرار اقدامات شناخته می شود. هنگامی که نیاز دارید یک کار را بارها تکرار کنید، از تکرار استفاده می شود.

زمانی که تعداد سیب های یک سبد را می شمارید فکر کنید. شما ممکن است بشمارید: 1، 2، 3، 4، 5 و غیره. شما از یک عدد شروع می کنید و به شمارش ادامه می دهید تا به پایان برسید. این شبیه به نحوه استفاده کامپیوتر از حلقه ها است.

دو نوع حلقه رایج در برنامه نویسی وجود دارد:

حلقه for زمانی استفاده می شود که می دانید چند بار می خواهید چیزی را تکرار کنید. به عنوان مثال، اگر می خواهید همان خط یک آهنگ را 5 بار بخوانید، می توانید از حلقه for استفاده کنید:

برای (از 1 تا 5 بشمارید) این خط را بخوانید: "تولدت مبارک!"

کامپیوتر "تولدت مبارک!" پنج بار چون مرحله را 5 بار تکرار می کند.

حلقه while زمانی استفاده می‌شود که کامپیوتر باید چیزی را تا زمانی که شرط درست باشد تکرار کند. به عنوان مثال، اگر در حال منفجر کردن یک بالون هستید، ممکن است به دمیدن ادامه دهید تا بالون به اندازه کافی بزرگ شود. قانون ممکن است این باشد: "در حالی که بالون بزرگ نیست، به دمیدن هوا در آن ادامه دهید."

این شبیه به این است که بگوییم: در حالی که (بالون کوچک است)، به دمیدن ادامه دهید. وقتی بادکنک به اندازه کافی بزرگ شد، حلقه را متوقف کنید.

در اینجا یک مثال ساده دیگر با استفاده از ایده حلقه آورده شده است: تصور کنید که عاشق کف زدن هستید. شما تصمیم می گیرید تا زمانی که 10 بار کف زده اید دست خود را بزنید. می توانید بگویید: 10 بار "کف زدن" را تکرار کنید . در یک برنامه، کامپیوتر هر کف زدن را می شمارد و وقتی به 10 کف زد متوقف می شود.

چرا ساختارهای کنترلی مهم هستند؟

ساختارهای کنترلی در برنامه نویسی بسیار مهم هستند. آنها به سازماندهی وظایف در یک برنامه کمک می کنند تا به درستی کار کند. بدون آنها، یک کامپیوتر نمی داند چگونه تصمیم بگیرد یا اقدامات را تکرار کند.

در اینجا دلایلی وجود دارد که چرا ساختارهای کنترل کلیدی هستند:

نمونه های روزمره از ساختارهای کنترل

اجازه دهید به چند نمونه از زندگی روزمره نگاه کنیم که ساختارهای کنترل آینه در برنامه نویسی را منعکس می کنند.

مثال کنترل ترتیبی:

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

مثال کنترل انتخاب:

تصمیمی را که در انتخاب لباس خود می گیرید در نظر بگیرید. اگر هوا سرد است، یک ژاکت گرم بپوشید. اگر هوا گرم است، تی شرت بپوشید. این فرآیند تصمیم گیری شبیه نحوه استفاده کامپیوتر از عبارت "if" است. کامپیوتر آب و هوا (شرایط) را بررسی می کند و سپس گزینه مناسب لباس (عمل) را انتخاب می کند.

مثال کنترل تکرار:

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

ساختارهای کنترل تودرتو

گاهی اوقات، ساختارهای کنترلی را می توان در داخل یکدیگر قرار داد. این ساختار کنترل تودرتو نامیده می شود. زمانی اتفاق می افتد که یک تصمیم یا حلقه درون دیگری باشد. یک بازی را تصور کنید که در آن در چندین مرحله انتخاب می کنید. برای مثال، ممکن است ابتدا تصمیم بگیرید که به چپ یا راست بروید. اگر سمت چپ را انتخاب کنید، ممکن است با انتخاب دیگری روبرو شوید: "آیا از تپه بالا می روید یا در اطراف آن قدم می زنید؟" هر انتخاب یک تصمیم کوچک است و آنها یکی پس از دیگری تو در تو قرار می گیرند.

در کدنویسی، تودرتو به رایانه اجازه می دهد تا وظایف پیچیده تری را انجام دهد. حتی یک بازی یا برنامه ساده ممکن است چندین لایه تصمیم گیری و حلقه داشته باشد. وقتی این لایه ها با هم کار می کنند، برنامه می تواند تصمیمات هوشمندانه تری بگیرد و کارهای هیجان انگیزتری انجام دهد.

به عنوان مثال، برنامه ای را تصور کنید که به شما در برنامه ریزی یک پیک نیک کمک می کند. ممکن است ابتدا بپرسد: "آیا هوا خوب است؟" اگر پاسخ مثبت است، برنامه می پرسد: "آیا غذای کافی دارید؟" اگر دوباره پاسخ مثبت بدهید، می گوید: "عالیه! وقت رفتن به پیک نیک!" اگر پاسخ منفی باشد، طرح دیگری را پیشنهاد می کند. این تصمیم گیری تودرتو به رایانه کمک می کند تا انتخاب های شما را بهتر درک کند.

نحوه عملکرد ساختارهای کنترل در یک برنامه

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

مرحله 1: برنامه را شروع کنید.
مرحله 2: زمان روز را بررسی کنید.
مرحله 3: اگر ساعت صبح است، "صبح بخیر!"
مرحله 4: اگر زمان بعد از ظهر است، "بعد از ظهر بخیر!"
مرحله 5: اگر زمان عصر است، "عصر بخیر!"
مرحله 6: پایان برنامه.

در این برنامه یک توالی مشخص وجود دارد. همچنین تصمیمی در مورد اینکه چه چیزی روی صفحه نمایش داده شود وجود دارد. کامپیوتر از یک ساختار کنترل انتخاب (عبارات if-else ) برای تصمیم گیری استفاده می کند.

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

کاربردهای واقعی ساختارهای کنترلی

ساختارهای کنترلی فقط در تمرینات مدرسه یا برنامه های کوچک مورد استفاده قرار نمی گیرند. آنها در بسیاری از برنامه های دنیای واقعی که ما هر روز می بینیم استفاده می شوند. در اینجا چند نمونه جالب آورده شده است:

این مثال ها نشان می دهد که ساختارهای کنترلی همه جا هستند! آن‌ها به دستگاه‌ها و برنامه‌های مدرن کمک می‌کنند که تا حد امکان روان کار کنند و زندگی ما را آسان‌تر و سرگرم‌کننده‌تر کنند.

مثال شبه کد ساده

بیایید یک مثال شبه کد ساده بنویسیم. شبه کد راهی برای برنامه ریزی برنامه ها با استفاده از کلمات ساده شبیه به کد است.

مثال: یک تصمیم گیرنده ساده برای میان وعده ها

تصور کنید می خواهید تصمیم بگیرید که یک سیب یا موز را به عنوان میان وعده میل کنید. می توانید قوانین را به این صورت بنویسید:

اگر گرسنه هستید و چیزی شیرین می خواهید، سیب را انتخاب کنید.
در غیر این صورت اگر گرسنه هستید و چیزی نرم می خواهید، موز را انتخاب کنید.
در غیر این صورت ، بنشین و به آنچه می خواهی فکر کن.

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

تجسم ساختارهای کنترلی

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

به طور مشابه، یک کامپیوتر از مراحل متوالی برای دنبال کردن نقشه، انتخاب برای انتخاب مسیر درست در فورک ها، و تکرار برای تکرار وظایف تا رسیدن به هدف استفاده می کند. با استفاده از ساختارهای کنترلی، می‌توانیم به کامپیوتر دقیقاً بگوییم که چگونه به "گنج" خود - نتیجه صحیح - برسد.

بررسی مفاهیم کلیدی

بیایید ایده های مهمی را که امروز یاد گرفتیم مرور کنیم:

Download Primer to continue