برنامه نویسی برای کودکان – همه چیز تحت کنترل

9 آوریل 2019

خب بعد از یاد گرفتن الزامات و مفاهیم اولیه برنامه نویسی سی پلاس پلاس (C++)، یک قدم فراتر میریم و با مهم ترین دستورات کنترلی که تقریبا در هر زبان برنامه نویسی وجود دارن آشنا میشیم. همینطور که قبلا هم گفتم، در آموزش برنامه نویسی به کودکان یک چیزی رو همیشه باید در نظر بگیریم. اینکه اصلا لازم نیست وارد جزئیات بعضا گیج کننده ی برنامه نویسی بشیم.
به عنوان مثال خاطرم هست در دوران دانشجویی سر کلاس استادی حاضر شدم که حدودا دو یا سه جلسه صرف آموزش اولویت عملگر ها (Operator Precedence) کرد! چیزی که به جرات میگم من که قریب به ده سال برنامه نویسی می کنم به ندرت بهش بر خوردم. چیزی که خیلی ساده و با یاد دادن استفاده از پرانتز میشه پوشش داد. هیچ نیازی نیست که ذهن دانش آموز رو درگیر چنین مفهوم دور افتاده ای بکنیم. به عنوان یک اصل نباید دانش آموز درگیر جزئیات گنگ یک زبان بشه. در عوض به بهترین نحو ممکن باید مفاهیم اساسی رو درک کنه و به عنوان ابزار به کار ببنده.

بلوک کد یعنی چی؟!

قبل از این که بریم سراغ دستور شرطی if و حلقه ی for باید در مورد مفهومی به عنوان بلوک کد بدونیم. بلوک کد به طور ساده و مختصر یعنی مجموعه ای از دستورات که داخل آکولاد {} قرار می گیرن. در واقع دستوراتی هستن که بین دو آکولاد محصور شدن. به کمک بلوک کد می تونیم مشخص کنیم که کدام دستورات در صورتی برقراری شرط اجرا بشن. یا اینکه کدام دستورات داخل حلقه ی تکرار اجرا بشن.
برای آموزش بلوک کد می تونیم از Scratch استفاده کنیم. خیلی ساده و زیبا هر دستور شرط یا حلقه تکرار، دستورات دیگر رو می تونه ببلعه و توی دل خودش جا بده!

با مقایسه دستور شرط if در C++ و Scratch به راحتی می تونیم مفهوم بلوک کد رو به بچه ها انتقال بدیم. نکته مهم اینه که به هیچ عنوان لزومی نداره بچه ها در مورد if تک دستوری بدونن! این قانون رو براشون بزارین که برای هر دستور if باید یک آکولاد باز و بسته بشه. این نه تنها باعث سهولت یادگیری میشه بلکه یک تمرین خوب برای برنامه نویسی خوانا و استاندارد هست.
نکته ی مهم دیگه اینه که باید سعی بشه مفهوم ترتیبی (Sequential) بودن دستورات رو به خوبی درک بکنن. شاید بد نباشه گاهی تکه کدی بنویسیم و اون رو خط به خط به همراه هم Trace کنیم. یه برنامه نویس خوب یه کامپایلر خفن و یه دیباگر مجهز توی ذهنش داره!

دستور if و if/else

دستور if برای بررسی درستی و یا نادرستی یک عبارت به کار میاد. عبارتی که قراره اعتبار سنجی بشه باید بین دو پرانتز قرار بگیره. برای اعتبار سنجی عبارت معمولا از عملگر های مقایسه ای استفاده می کنیم. نتیجه عملگر های مقایسه ای به صورت درست (True) و یا غلط (False) هست. لازمه که این عملگر ها به همراه چند مثال ساده بررسی بشن.
حالا اگر نتیجه عبارت مورد نظر درست باشه دستورات داخل بلوک if اجرا میشن. در غیر این صورت اگر بلوک کدی برای else وجود داشته باشه دستورات اون بلوک کد اجرا میشن.

دستور if و else
دستور if و else

تا وقتی که در عمل وارد کد نویسی نشدیم همه چیز هایی که بررسی کردیم حرف هستش! بهتره بریم و چند سوال رو که ابولفضل حل کرده باهم بررسی می کنیم.

سوال۱: برنامه بنویس که دو عدد را از ورودی دریافت و اگر حاصل آنها برابر با ۲۰ بود پیغام تبریک را چاپ کند.
سوال۲: برنامه بنویس که دو عدد را از ورودی دریافت و اگر حاصل آنها برابر با ۲۰ بود پیغام تبریک را چاپ کند. در غیر این صورت پیغام تلاش بیشتر را چاپ کند.

پاسخ دهید