درس ۱۴ روبی: حلقهی بزرگ و قدرت repeat
اولین درس ردهی ۳ روبی، حلقهی تکرار را از یک ترفند کوچک به ابزاری جدی تبدیل میکند. ربات روبی باید مسیرهای بلند را طی کند و کودک یاد میگیرد بهجای دهها بلوک، یک حلقه بسازد.
هدف درس حلقهی بزرگ
در ردهی ۲ کودک با تکرار ساده آشنا شد؛ مثلاً بهجای پنج بار «جلو»، یک بار «تکرار ۵». در درس ۱۴ روبی مسیرها آنقدر طولانی میشوند که بدون حلقه، برنامه پر از بلوکهای یکسان و خستهکننده میشود. هدف این است که کودک خودش ببیند حلقه برنامه را کوتاه، خوانا و کمخطا میکند.
در پایان این درس، دانشآموز میتواند تعداد خانههای یک مسیر را بشمارد، عدد درست را در بلوک تکرار بگذارد و چند حلقه را پشت سر هم برای مسیرهای چندتکه به کار ببرد.
مفهوم برنامهنویسی: حلقهی شمارشی چیست؟
حلقهی شمارشی یعنی «این کار را دقیقاً n بار انجام بده». در زبانهای واقعی برنامهنویسی این ساختار همهجا هست؛ از نمایش فهرست پیامها تا پردازش تصویر. در روبی این ساختار به شکل بلوک «⟳ تکرار» و در حالت کد به شکل repeat(n): نوشته میشود.
نکتهی مهم برای والدین این است که حلقه فقط برای کوتاهنویسی نیست. وقتی کودک بهجای شمردن تکتک بلوکها به «الگوی تکرارشونده» فکر میکند، در واقع دارد تجرید و تعمیم را تمرین میکند؛ یعنی دیدن قانون کلی پشت جزئیات.
فعالیت قدمبهقدم با ربات روبی
در یکی از ماموریتهای این درس، ربات روبی باید هشت خانه جلو برود، به راست بچرخد و شش خانهی دیگر برود تا به هدف برسد. بهجای چهارده بلوک «جلو»، برنامه اینطور نوشته میشود: repeat(8): forward، سپس turnRight و بعد repeat(6): forward.
در حالت بلوکی، کودک یک بلوک «⟳ تکرار» میکشد، عدد ۸ را در آن مینویسد و بلوک «⬆️ جلو» را داخلش میگذارد. بعد بلوک «↻ راست» را بیرون حلقه و پس از آن یک حلقهی دیگر با عدد ۶ قرار میدهد.
- ✅ مرحلهی ۱: خانههای هر تکهی مسیر را روی صفحه بشمار
- ✅ مرحلهی ۲: برای هر تکه یک حلقه با عدد درست بساز
- ✅ مرحلهی ۳: چرخشها را بین حلقهها بگذار، نه داخل آنها
- ✅ مرحلهی ۴: برنامه را اجرا کن و حرکت روبی را دنبال کن
اشتباههای رایج و راه رفعشان
رایجترین خطا، اشتباه یکواحدی در شمارش است؛ کودک خانهای را که روبی رویش ایستاده هم میشمارد و ربات یک قدم بیشتر میرود یا به دیوار میخورد. راه رفع: بپرسید «روبی الان کجاست و چند قدم تا هدف فاصله دارد؟».
خطای دیگر گذاشتن چرخش داخل حلقه است؛ در این حالت روبی بعد از هر قدم میچرخد و دور خودش میگردد. به کودک نشان دهید هر چیزی داخل حلقه است n بار اجرا میشود و هر چیزی بیرون آن فقط یک بار.
فعالیت بدون کامپیوتر: حلقهی قدمها
در حیاط یا کلاس یک مسیر با گچ یا نوار بکشید. یک کودک نقش ربات روبی را بازی میکند و دیگری فقط با جملههایی مثل «تکرار ۶: یک قدم جلو» به او دستور میدهد. بعد جایشان را عوض کنید و ببینید چه کسی مسیر را با کمترین دستور کامل میکند.
برای سختتر کردن بازی، مسیر را چندتکه کنید تا کودک مجبور شود چند حلقه را پشت سر هم بگوید و چرخشها را بین آنها جا بدهد. بعد از بازی، از بچهها بخواهید همان دستورها را روی کاغذ بنویسند و با برنامهای که در ربات روبی ساختند مقایسه کنند. این مقایسه نشان میدهد زبان دستورها در دنیای واقعی و در اپ یکی است.
نکته برای معلم و والدین
معیار طلایی ارزیابی در آکادمی روبی این است: راهحل کوتاهتر و عمومیتر، امتیاز بیشتر. پس وقتی کودک مسئله را با بلوکهای تکی حل کرد، تشویقش کنید و بعد بپرسید «میتوانی همین را با حلقه کوتاهتر کنی؟».
از این درس به بعد، کمکم حالت کد را هم کنار بلوکها نشان دهید تا کودک ببیند repeat(8): forward همان بلوک تکراری است که خودش ساخته.
یک پیشنهاد ساده برای جلسه: پنج دقیقه با یک مثال واقعی مثل «هر روز صبح: بیدار شو، صبحانه بخور، برو مدرسه» شروع کنید، بعد یک ماموریت را گروهی حل کنید و بقیهی وقت را به کار فردی بدهید. در پایان بپرسید امروز چه یاد گرفتیم و حلقه کجای زندگی روزمره دیده میشود.
سوالهای پرتکرار
فرق این درس با درس تکرار در ردهی ۲ چیست؟
در ردهی ۲ تکرار فقط معرفی میشود. در درس ۱۴ روبی مسیرها بلند و چندتکهاند و کودک باید چند حلقه را پشت سر هم و با شمارش دقیق به کار ببرد.
آیا کودک باید کد repeat را تایپ کند؟
لازم نیست. میتواند با بلوک «⟳ تکرار» کار کند، اما در ردهی ۳ تشویق میشود معادل کدی آن را هم ببیند و امتحان کند.
اگر کودک مدام یک قدم کم یا زیاد بشمارد چه کنیم؟
از او بخواهید با انگشت روی صفحه از خانهی بعد از روبی شروع به شمردن کند و بعد برنامه را قدمبهقدم اجرا کند تا خطا را خودش ببیند.