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

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

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

 

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

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

برنامه‌نویس‌های کامپیوتر به خطاها و اشکالاتی که در برنامه‌نویسی رخ می‌دهد «باگ» (Bug) می‌گویند و فرآیند یافتن خطا و اشکال‌زدایی را اصطلاحاً «دیباگینگ» (Debuging) می‌نامند. شما در این پروژه مجموعه‌ای از دستورالعل‌ها را برای یک داوطلب می‌نویسید تا راه خود را از درون یک ماز پیدا کند. عبارات دستوهای شما چیزی شبیه «برو به راست»، «مستقیم» و «برو به چپ» هستند. اگر دستورات اشتباه بدهید، داوطلب مسیر را غلط طی می‌کند و به بن بست می‌رسد. در این صورت شما باید دستورالعمل‌عای خود را دیباگ کنید و دوباره سعی کنید او را از ماز خارج نمایید!

مواد و وسایل لازم:
کاغذ شطرنجی
خط‌کش
مداد
داوطلب

 

آماده‌سازی:

یک برگ کاغذ شطرنجی بردارید و یک ماز را طراحی کنید. خطوطی که می‌کشید باید عمودی یا افقی باشند. از خطوط مورب و یا خمیده استفاده نکنید.

مازی ساده را طراحی کنید. در مراحل بعدی می‌توانید مازهای پیچیده‌تری بکشید ولی در ابتدا با یک ماز آسان کارتان را شروع کنید.

از وجود واژه‌های شروع و پایان در ابتدا و انتهای ماز خود مطمئن شوید.

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

اختیاری: اگر مایل هستید، می‌توانید به جای نوشتن دستورالعمل‌ها از کشیدن فلش (بردار) برای ارائه‌ی دستورات خود استفاده کنید. این دستورالعمل‌ها برای رسیدن به انتهای ماز مناسب هستند یا نه؟

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

با دقت مشاهده کنید که آیا فرد داوطلب به انتهای ماز می‌رسد یا نه. دستوراتی که به او دادید، عبور موفقیت آمیزی برایش داشتند یا خیر.

اگر داوطلب به پایان ماز رسید، به شما تبریک می‌گوییم! برنامه‌نویسی شما بدون باگ بود و نیازی به خطایابی ندارد.

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

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

دوباره از داوطلب بخواهید که ماز را طی کند. آیا این بار نیز به مشکل برخورد؟ و یا با موفقیت به نقطه‌ی پایان رسید؟ اگر نرسیده است، مجدداً باید برنامه را دیباگ کنید. روند یافتن باگ و برطرف کردن آن برایتان سخت است یا ساده به نظر می‌رسد؟

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

این پروژه را با مازهای پیچیده‌تری ادامه دهید. مازهایی که خطوط مورب و منحنی هم داشته باشند. در این شرایط باید دستورهای جدیدی بنویسید. با چه زبان‌هایی می‌توانید دستوراتتان را بنویسید؟ از آدرس‌دهی‌های تازه استفاده کنید. مانند «تا زمانی که به دیوار برسی به سمت جلو حرکت کن».

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

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


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


Maryam Doroodian

منبع:

Scientific American

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

پاسخی بگذارید

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