برنامه ای بنویسید که تعداد اضلاع چندضلعی را از کاربر گرفته و آن را رسم کند.
راهنمایی: برای آنکه کاربر در هر بار اجرا بتواند چندضلعی دلخواه را رسم کند، باید از کد(بپرس تعداد اضلاع و منتظر بمان) در گروه دستورات تشخیص، استفاده کنید. پاسخ کاربر در خانه ای از حافظه با نام پاسخ ذخیره می شود و در محل تعداد تکرار، کد(پاسخ) قرار دهید
منطق برنامه (الگوریتم)
ما دو چالش داریم:
1 تعداد تکرار را نمیدانیم (باید از کاربر بپرسیم).
2 زاویه چرخش را نمیدانیم (باید محاسبه کنیم).
طبق فرمول ریاضی کتاب: زاویه چرخش = ۳۶۰ تقسیم بر تعداد اضلاع.
چینش بلوکها (گامبهگام)
برای نوشتن این برنامه، بلوکها را به ترتیب زیر به هم وصل کن:
1 شروع و آمادهسازی:
رویداد - زرد: وقتی 🚩 کلیک شد
قلم - سبز تیره: (پاک کن همه) تا (نقاشیهای قبلی پاک شود)
قلم - سبز تیره: (قلم پایین بیاید)
حرکت – آبی: (برو به x:0 و y:0) (اختیاری: برای اینکه از وسط شروع کند)
2 پرسش از کاربر:
تشخیص - آبی روشن: (بلوک بپرس [تعداد اضلاع چند تا باشد؟] و منتظر بمان را اضافه کن.
نکته: این بلوک باعث میشود یک کادر سوال روی صفحه ظاهر شود و هر عددی که تایپ کنی، داخل بلوک بیضیشکل به نام «پاسخ» ذخیره میشود.
3 حلقه هوشمند (بخش اصلی):
کنترل – نارنجی: یک حلقه (تکرار کن ۱۰ بیاور)، اما عدد ۱۰ را پاک کن.
تشخیص - آبی روشن: بلوک بیضیشکل (پاسخ) را بردار و دقیقاً داخل دایره سفیدِ حلقه تکرار بینداز.
حالا کد میگوید: تکرار کن به اندازه «پاسخ کاربر».
4 حرکت و محاسبه زاویه: داخل دهانهی حلقه تکرار، این دو بلوک را بگذار:
حرکت - آبی): حرکت کن ۵۰ گام) یا (هر عددی که خواستی).
حرکت – آبی: (بلوک بچرخ ↻ ۱۵ درجه) را بیاور، اما عدد ۱۵ را نیاز نداریم.
حالا باید فرمول ریاضی بسازیم: به گروه (عملگرها - سبز روشن) رو.
بلوک تقسیم ( O / O ) را بردار.
در خانه اول عدد ۳۶۰ را بنویس.
در خانه دوم بلوک (پاسخ) (از گروه تشخیص) را قرار بده.
کل این بلوک سبز را بردار و جایگزین عدد ۱۵ در بلوک چرخش کن.