درس ۱۵ روبی: مربع کامل با یک حلقه
مربع، سادهترین شکلی است که نشان میدهد حلقه میتواند چند دستور را با هم تکرار کند. در این درس ربات روبی با یک حلقهی کوتاه دور یک مربع کامل میگردد.
هدف درس مربع کامل
در درس ۱۴ روبی داخل حلقه فقط یک دستور بود. حالا کودک یاد میگیرد که بدنهی حلقه میتواند چند دستور داشته باشد و همهی آنها با هم تکرار شوند. هدف این است که دانشآموز در یک مسیر مربعی، «واحد تکرارشونده» را پیدا کند: یک ضلع و یک چرخش.
در پایان، کودک میتواند مربعهایی با ضلعهای مختلف بسازد و توضیح دهد چرا عدد ۴ در حلقهی بیرونی تغییر نمیکند اما طول ضلع تغییر میکند.
مفهوم برنامهنویسی: الگو و بدنهی حلقه
هر حلقه یک «بدنه» دارد؛ یعنی دستورهایی که داخل آن قرار گرفتهاند. در برنامهنویسی واقعی، پیدا کردن بدنهی درست مهمتر از نوشتن خود حلقه است. مربع مثال عالی است: چهار ضلع یکسان و چهار گوشهی یکسان.
این درس پلی میان ریاضی و برنامهنویسی است. کودک میفهمد چهار چرخش ۹۰ درجه با هم یک دور کامل میشوند و ربات روبی دوباره به همان جهت اول برمیگردد. همین نگاه بعدها در کشیدن شکلهای هندسی و حلقههای تو در تو به کار میآید.
فعالیت قدمبهقدم با ربات روبی
سادهترین مربع با ضلع یک خانه اینطور نوشته میشود: repeat(4): forward, turnLeft. ربات روبی یک خانه جلو میرود، به چپ میچرخد و این کار را چهار بار انجام میدهد تا به نقطهی شروع برگردد.
در حالت بلوکی، یک بلوک «⟳ تکرار» با عدد ۴ میگذاریم و داخل آن به ترتیب «⬆️ جلو» و «↺ چپ» را قرار میدهیم. برای مربع بزرگتر، داخل همین حلقه چند «جلو» پشت سر هم میگذاریم. اگر ماموریت رنگ هم داشته باشد، میتوان قبل از هر قدم paint("blue") را اضافه کرد تا دور مربع رنگی شود.
- ✅ ضلع یک خانه: repeat(4): forward, turnLeft
- ✅ ضلع دو خانه: repeat(4): forward, forward, turnLeft
- ✅ مربع در جهت مخالف: turnLeft را با turnRight عوض کن
اشتباههای رایج و راه رفعشان
بعضی بچهها عدد حلقه را ۳ میگذارند چون فکر میکنند ضلع آخر لازم نیست؛ روبی آنوقت به خانهی شروع برنمیگردد. بعضی دیگر ترتیب را برعکس میکنند و اول میچرخند؛ در این حالت شکل جابهجا میشود و ممکن است به دیوار بخورد.
راه رفع ساده است: از کودک بخواهید فقط یک بار بدنهی حلقه را در ذهن اجرا کند و بگوید روبی بعد از آن کجا و رو به کدام سمت است. اگر یک ضلع و یک گوشه درست بود، کل مربع هم درست است.
گاهی هم کودک برای مربع بزرگتر، عدد حلقه را بزرگ میکند بهجای اینکه تعداد «جلو» داخل بدنه را بیشتر کند. در این حالت روبی چند بار دور همان مربع کوچک میگردد. پرسیدن «کدام عدد طول ضلع را تعیین میکند؟» این سوءتفاهم را برطرف میکند.
فعالیت بدون کامپیوتر: مربع با بدن
کودک روی زمین میایستد و با دستور «تکرار ۴: دو قدم جلو، ربع دور به چپ» یک مربع راه میرود. بعد روی کاغذ شطرنجی همین مسیر را با مداد بکشد و کنارش برنامه را بنویسد. مقایسهی مسیر روی کاغذ با کد، الگو را محکم در ذهن مینشاند.
در قدم بعد، از کودک بخواهید شکلهای دیگری را روی کاغذ امتحان کند: مثلاً خطی که دو بار جلو میرود و یک بار میچرخد. او کشف میکند که هر شکل منظم یک واحد تکرارشونده دارد و پیدا کردن همین واحد، کلید نوشتن یک حلقهی درست در ربات روبی است. این تمرین بدون هیچ دستگاهی هم شدنی است.
نکته برای معلم و والدین
بعد از مربع، چالش بدهید: «با همین حلقه، مستطیل بساز» و بگذارید کودک کشف کند که مستطیل با یک حلقهی ۴تایی ساده ساخته نمیشود اما با حلقهی ۲تایی و دو ضلع متفاوت میشود. این همان تفکر الگوریتمی است که در ردهی ۳ آکادمی روبی دنبالش هستیم.
معیار طلایی روبی را هم یادآوری کنید: راهحل کوتاهتر و عمومیتر امتیاز بیشتری دارد. اگر کودک مربع را با شانزده بلوک ساخت، او را تحسین کنید و بعد بپرسید چند بلوک را میشود حذف کرد. این پرسش ساده، عادت بازنگری و بهتر کردن کد را از همین سن در او میسازد و کودک یاد میگیرد اولین راهحل همیشه بهترین نیست.
سوالهای پرتکرار
چرا در درس مربع از turnLeft استفاده میشود؟
فرقی نمیکند؛ با turnRight هم مربع ساخته میشود، فقط جهت گردش عوض میشود. مهم این است که در هر چهار گوشه یک نوع چرخش تکرار شود.
این درس به ریاضی مدرسه کمک میکند؟
بله، کودک ضلع، زاویهی ۹۰ درجه و دور کامل را در عمل و با ربات روبی تجربه میکند که فهم مفاهیم هندسه را ملموستر میکند.
اگر کودک مربع را بدون حلقه ساخت درست است؟
درست است، اما کامل نیست. در روبی راهحل کوتاهتر امتیاز بیشتری دارد؛ پس او را تشویق کنید همان برنامه را با یک حلقه بازنویسی کند.