آشنایی با برنامه کومیر تسلط بر مبانی برنامه نویسی.

در آن، دانش آموزان می توانند مهارت های عملی در ایجاد و اشکال زدایی یک الگوریتم، کار با مجریانی مانند Robot، Draftsman، Aquarius، Grasshopper، Turtle کسب کنند.

هنگام مطالعه یکی از سخت ترین بخش های علوم کامپیوتر "الگوریتم سازی و برنامه نویسی".

هدف توسعه :

دانلود:


پیش نمایش:

توسعه روشی در انفورماتیک.

موضوع: "اجرای ربات در برنامه KuMir در درس انفورماتیک"

مدرس فناوری "انفورماتیک و فناوری اطلاعات و ارتباطات"

یادداشت توضیحی

هدف توسعه: برای مطالعه امکانات برنامه نویسی به عنوان مثال یک ربات مجری خاص با استفاده از محیط KUMIR. مهارت های عملی را برای کار با مجری ارائه دهید.

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

دانش آموزان باید بدانند:

  • مجری چیست؛ ربات اسکی، ربات اجرا کننده چهارشنبه;
  • الگوریتم چیست؛ویژگی های اصلی الگوریتم چیست.
  • روش های نوشتن الگوریتم ها: فلوچارت ها، زبان الگوریتمی آموزشی.ساختارهای الگوریتمی پایه: دنبال کردن، انشعاب، حلقه. سازه های
  • الگوریتم ها؛ ⇒ تخصیص الگوریتم های کمکی؛ فن آوری برای ساخت الگوریتم های پیچیده:

دانش آموزان باید بتوانند:

  • درک توضیحات الگوریتم ها در برنامه درسی زبان الگوریتمی;
  • انجام یک ردیابی الگوریتم برای یک مجری شناخته شده؛
  • ایجاد الگوریتم های کنترل خطی، انشعاب و چرخه ای برای اجرای Robot. تخصیص وظایف فرعی؛ تعریف و استفاده از الگوریتم های کمکی

جلسه 1 (2 ساعت) درس 1.

ربات مجری.سیستم فرماندهی مجری.

طرح درس.

  1. شرح UCS مجری، محیط مجری.

2. تجزیه و تحلیل الگوریتم های معمولی ربات.

در طول کلاس ها.

توضیحات مجری را در نظر بگیرید.

محیط مجری: مجری ربات قادر به حرکت در لابیرنت است که روی صفحه ای که به سلول ها تقسیم شده است کشیده شده است.

ربات اسکی : دستورات ساده: بالا، پایین، چپ، راست، پر کنید.

دستورات منطقی: (بررسی شرایط)

بالا آزاد پایین رایگان

چپ آزاد راست آزاد.

اتصالات منطقی: AND، NOT، OR:

مثال: (نه آزاد چپ) یا (نه راست آزاد)

فرمان شعبه: فرمان چرخه:

اگر شرط سپس حالت nts while

سری دستورات سری دستورات

همه kts

(در KIMs 2009 دستورات رباتمتفاوت از آشنای کودکان، که منجر بهگیجی :)

فرمان شعبه: فرمان چرخه:

اگر شرط سپس nts در حالی که شرط do

سری دستورات سری دستورات

پایان پایان

نمای کلی پنجره برنامه کومیر. محیط گرافیکی ربات:

در کیم ها نسخه آزمایشیفرمت فرمان 2010 تغییر کردمعمولی

ترتیب ایجاد الگوریتم:

1. تیم ها ابزارها -ویرایش محیط شروعدیوارها را در قسمت Robot بکشید و ربات را در موقعیت اولیه خود قرار دهید.

2. دستورات Robot - تغییر محیط شروعمحیط جدید را نجات دهید

3. دستورات چسباندن - از ربات استفاده کنیدهنرمند را مشخص کنید

4. در پنجره سند، الگوریتم را با استفاده از منو بنویسیددرج کنید.

5. اجرای دستورات - اجرای مداوم (یا گام به گام) الگوریتم را اجرا کنید.

6. نتیجه اجرای الگوریتم را در نظر بگیرید و در صورت لزوم آن را اشکال زدایی کنید.

درس 1 (2 ساعت) درس 2.

کار عملی "تدوین الگوریتم های خطی

وظایف: 1. روبات در یک نقطه دلخواه در زمینه. سلول بالا، پایین و سمت راست موقعیت شروع را رنگ کنید.

  1. ربات در یک نقطه دلخواه در میدان. فضاهای Robot 4 را به سمت راست حرکت دهید و روی آنها نقاشی کنید.
  2. با رسم مربع 4 سلولی روی تخته یک محیط شروع جدید ایجاد کنید. برای شروع محیط زیست را حفظ کنید.
  3. با ترسیم یک راهرو با معابر در دیوارهای زمین، یک محیط شروع جدید ایجاد کنید. محیط را به عنوان obst2.fil ذخیره کنید. محیط شروع را به محیط تازه ایجاد شده تغییر دهید.

جلسه 2 (2 ساعت) درس 1.

موضوع : انشعاب و اصلاح متوالی الگوریتم.

تجزیه و تحلیل وظایف CIM با استفاده از اجرای Robot.

استفاده از ربات

alg kim 2009

زود

اگر پایین شل نیست

سپس به سمت راست

همه

اگر پایین شل نیست

سپس به سمت راست

همه

اگر پایین شل نیست

سپس به سمت راست

همه

باهم

استفاده از ربات

alg kim 2010

زود

اگر پایین شل نیست

سپس به سمت راست

همه

اگر پایین شل نیست

سپس به سمت راست

همه

اگر پایین شل نیست

سپس به سمت راست

همه

باهم

و غیره. برده شماره 14. کامپایل و رفع اشکال الگوریتم های انشعاب

وظایف به پیوست مراجعه کنید.

درس 3. الگوریتم های چرخه ای. درس 1-2

هدف: ماهیت مفهوم چرخه را در الگوریتم ها نشان می دهد، اشکال چرخه های نوشتن را در الگوریتم ها نشان می دهد، مهارت هایی در ایجاد و نوشتن الگوریتم های چرخه ای می دهد.

و غیره. برده شماره 15. کامپایل و رفع اشکال الگوریتم های چرخه ای

1. الگوریتمی بسازید که تمام سلول های داخلی مجاور دیوار را رنگ آمیزی کند.

استفاده از ربات

alg

زود

nc در حالی که حق رایگان است

رنگ کردن درست

kts

nc در حالی که پایین آزاد است

رنگ کردن راه پایین

kts

nc تا زمانی که قسمت پایین شل شود

رنگ کردن به سمت چپ

kts

باهم

2. الگوریتمی ایجاد کنید که تمام سلول های بین ربات و دیوار را پر کند. فاصله تا دیوار مشخص نیست.

استفاده از ربات

alg

زود

nc در حالی که حق رایگان است

درست؛ رنگ کردن

kts

باهم

3. الگوریتمی ایجاد کنید که تمام سلول های بین دو دیوار را نقاشی کند.

استفاده از ربات

alg uch3

زود

nc هنوز (نه از بالا شل) یا (نه شل از پایین)

درست

اگر (نه رایگان بالا) و (نه رایگان پایین)

سپس

رنگ کردن

همه

kts

باهم

4. الگوریتمی ایجاد کنید که تمام سلول های اطراف یک دیوار مستطیلی را پر کند.

alg uch4

زود

رنگ کردن؛ بالا

nc تا درست شل

رنگ کردن؛ بالا

kts

رنگ؛ درست

nc تا زمانی که قسمت پایین شل شود

رنگ؛ راست

kts

رنگ کردن

nc تا زمانی که شل بماند

رنگ کردن;پایین

kts

رنگ؛ چپ

nc تا بالا شل

رنگ کردن ترک کرد؛

kts

باهم

استفاده از ربات

alg uch5

زود

درست

nc تا زمانی که قسمت پایین شل شود

رنگ کردن درست

kts

رنگ کردن راه پایین

nc در حالی که آزاد مانده است

رنگ کردن به سمت چپ

kts

nc تا زمانی که شل بماند

رنگ کردن راه پایین

kts

رنگ;چپ;رنگ; بالا

nc در حالی که بالا رایگان

رنگ کردن بالا

kts

nc تا بالا شل

رنگ کردن به سمت چپ

kts

باهم

فعالیت 4 درس 1

الگوریتم های کمکی.

هدف: معرفی مفهوم اصلی و الگوریتم کمکی; قوانین استفاده از الگوریتم کمکی را توضیح دهید. نمونه هایی از الگوریتم ها را با استفاده از یک ابزار کمکی تجزیه کنید.

طرح درس

1. معرفی اصطلاحات جدید (الگوریتم اصلی و کمکی، فراخوانی) و توضیح مفاهیم جدید.

2. تجزیه و تحلیل نمونه هایی از حل مسائل با استفاده از یک الگوریتم کمکی.

هنگام حل برخی از مسائل، راحت است که آنها را به وظایف فرعی کوچکتر تقسیم کنید، که هر کدام می توانند به عنوان یک الگوریتم مستقل طراحی شوند. در این حالت ابتدا به اصطلاح الگوریتم اصلی کامپایل می شود که در آن از فراخوانی به الگوریتم های کمکی برای حل وظایف فرعی استفاده می شود که بعداً اضافه می شوند. این نوع راه حل نامیده می شودروش پالایش متوالیاین به گروهی از برنامه نویسان اجازه می دهد تا روی یک پروژه کار کنند، در حالی که هر کدام زیرکار خود را حل می کند.

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

دستور اجرای الگوریتم کمکی فراخوانی می شودچالش و در بدنه الگوریتم اصلی نوشته شده است.

یک الگوریتم مشابه را می توان به عنوان اصلی و کمکی در رابطه با سایر الگوریتم ها در نظر گرفت. در یک زبان الگوریتمی ابتدا الگوریتم اصلی و در زیر الگوریتم های کمکی در یک ردیف نوشته می شود.

وظیفه 1:

ربات در گوشه سمت چپ بالای زمین قرار دارد. هیچ دیوار یا سلول سایه دار وجود ندارد. با استفاده از یک الگوریتم کمکی، الگوریتمی بنویسید که چهار ضربدر روی یک خط افقی رسم کند. موقعیت نهایی ربات می تواند دلخواه باشد.

راه حل

تحلیل روی تابلو:

وظیفه 2. ربات در گوشه سمت چپ بالای زمین قرار دارد. هیچ دیوار یا سلول سایه دار وجود ندارد. الگوریتمی بنویسید که یک مربع 8*8 را به صورت شطرنجی ترسیم کند موقعیت نهایی ربات می تواند دلخواه باشد.

فعالیت 4 درس 2

کار عملی روی رایانه شخصی "حل مشکل با استفاده از الگوریتم های کمکی".

هدف : القای مهارت های عملی در ساخت الگوریتم ها با روش پالایش متوالی.

طرح درس

1. کار به طور کامل توسط کامپیوتر تکمیل شده است. دانش آموزان وظایفی را دریافت کرده و در محیط نرم افزار Kumir تکمیل می کنند. نتایج کار به عنوان فایل برای تأیید بعدی ذخیره می شود.

وظیفه 1 . ربات در گوشه سمت چپ پایین میدان قرار دارد. هیچ دیوار یا سلول سایه دار وجود ندارد. الگوریتمی بنویسید که 6 نوار عمودی با طول یکسان را در 6 خانه ترسیم کند. موقعیت نهایی ربات می تواند دلخواه باشد.

وظیفه 2 با استفاده از کمکی، الگوریتمی برای نقاشی روی سلول هایی که عدد 1212 را تشکیل می دهند، بسازید.

مشق شب: الگوریتمی بسازید که تصویر زیر را ترسیم کند: برای حل مسئله از دو الگوریتم کمکی استفاده کنید.

فعالیت 5 درس 1-2

تست

"تدوین الگوریتم در محیط ربات مجری".

هدف: برای آزمایش دانش کسب شده در مورد ایجاد و توانایی تجزیه و تحلیل الگوریتم ها در محیط نرم افزار Kumir.

وظایف برای کنترل کاربر اساس سطوح دشواری تقسیم می شوند و شامل 3 کار با ربات مجری است (وظایف 1 و 2 - برای شاخه و حلقه ها، وظیفه 3 - برای استفاده از یک الگوریتم کمکی.) متون وظایف در ضمیمه آورده شده است.

شرایط اولیه و نهایی و الگوریتم های ایجاد شده به صورت فایل ثبت می شود.

درجه با توجه به سطح دشواری کار تعیین می شود. دانشجو حق انتخاب نوع تکلیف را دارد.




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




ویرایش مستقیم محیط Performer Robot تمام دستورات ویرایش محیط با استفاده از ماوس انجام می شود: قرار دادن/حذف دیوار - کلیک بر روی مرز بین سلول ها، رنگ کردن/پاک کردن سلول - کلیک بر روی سلول، حرکت ربات - کشیدن ماوس به سلول مورد نظر .


دستورات منوی Robot Executor Robot نمایش فیلد Robot پنجره مانیتورینگ Robot را قابل مشاهده می کند. محیط چاپ فایلی را در آن ایجاد می کند فرمت PDF، وضعیت فعلی را به صورت رنگی یا سیاه و سفید نشان می دهد. ذخیره محیط برای ایجاد فایل فایل متنیبا تشریح وضعیت در قالب *.fil داخلی. این فایل می تواند بعداً به عنوان یک محیط شروع (فرمان تغییر محیط شروع) یا هنگام ویرایش محیط شروع (فرمان ویرایش محیط شروع باز کردن ویندوز) بارگذاری شود. تغییر به عنوان محیط شروع یک نام فایل محیط شروع جدید را تنظیم می کند (با استفاده از گفتگوی استاندارد) و یک محیط شروع جدید را بارگیری می کند. بازگشت به محیط شروع، محیط شروع را جاری می کند.


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


ربات اجراکننده مثال 1. بیایید الگوریتمی به نام "حرکت شوالیه" ایجاد کنیم تا ربات را از نقطه A به نقطه B برسانیم (شکل 3). الگوریتم شکل (شکل 4.) دارد. پس از اجرای آن، ربات به نقطه مورد نظر حرکت می کند (شکل 5). الگوریتمی که به زبان اجراکننده نوشته می شود برنامه نامیده می شود. Fig.3Fig.4 Fig.5











Robot performer یک سیستم فرمان دارد. در نظر گرفتن دستورات ساده ربات. در کل 5 عدد وجود دارد:

    بالا- ربات را یک سلول به بالا ببرید

    راه پایین- ربات را یک سلول به پایین ببرید

    به سمت چپ- ربات یک سلول را به سمت چپ حرکت دهید

    درست- ربات یک سلول را به سمت راست حرکت دهید

    رنگ کردن

تمرین 1.مربعی با ضلع 3 خانه رسم کنید.

راه اندازی Kumir

حذف نماد "|" و الگوریتم خود را "Square" (در کنار کلمه رسمی algنوشتن مربع)

رنگ کردن

رنگ کردن

رنگ کردن

برنامه رو اجرا کن ببین چی میشه برای راه اندازی فشار دهید F9یا دکمه روی نوار ابزار اجرای برنامه

اگر چنین پنجره رباتی ندارید، روی نوار ابزار کلیک کنید " نمایش پنجره رباتیا در منوی Robot مورد را انتخاب کنید نمایش پنجره ربات". ادامه می دهیم:

راه پایین

رنگ کردن

راه پایین

رنگ کردن

سپس به سمت چپ برویم و حاشیه پایین مربع را رنگ کنیم

به سمت چپ

رنگ کردن

به سمت چپ

رنگ کردن

یک سلول رنگ نشده باقی مانده است. بیایید روی آن نقاشی کنیم

بالا

رنگ کردن

همه چیز آماده است! در نتیجه، برنامه ما به شکل زیر است:

از ربات استفاده کنید

میدان alg

رنگ کردن

رنگ کردن

رنگ کردن

رنگ کردن

رنگ کردن

رنگ کردن

رنگ کردن

رنگ کردن

وظیفه 2.استفاده كردن دستورات ساده ربات،برنامه ای بنویسید که یک حرف بکشد P، R، W، W، T، N.

حلقه مشروط

اجراکننده ربات چند شرط دارد: بالا رایگان پایین رایگان چپ رایگان راست رایگان دیوار بالا دیوار پایین

دیوار چپ دیوار راست

وظیفه 3.

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

منبعبرنامه Robot ما چیزی شبیه به این خواهد بود:

استفاده از ربات

alg

زود

رنگ کردن

nc در حالی که حق رایگان است

درست

رنگ کردن

kts

باهم

در نتیجه اجرای این برنامه تصویر زیر را مشاهده خواهیم کرد:

وظیفه 4برنامه ای بنویسید که بدون توجه به اندازه ربات، یک فریم در اطراف میدان کاری ربات ایجاد کند. البته با استفاده از حلقه های شرطی. در نتیجه، باید اینگونه باشد:


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

مواد را از کجا تهیه کنیم؟

ابتدا باید تصمیم بگیرید که چگونه می خواهید ربات را مونتاژ کنید: از کیت های آماده یا خودتان مواد را انتخاب کنید. مزیت کیت این است که نیازی نیست به دنبال قطعات جداگانه بگردید. اغلب، چندین دستگاه را می توان از یک مجموعه مونتاژ کرد.

سازه ای که از یک مجموعه آماده مونتاژ نشده باشد نامیده می شود سیستم باز. این همچنین مزایای خود را دارد: ربات شما یک فرد خواهد بود و شما خودتان می توانید طراحی را بهبود بخشید. اما قطعا زمان و تلاش بیشتری را صرف خواهید کرد.

ربات از چه ساخته شده است؟

مسکن - فلز یا پلاستیک "بدن"، که بقیه قطعات به آن وصل شده است. هر ربات دارای یک منبع انرژی است - باتری یا یک باتری. بسته به اینکه ربات چه وظیفه ای را انجام می دهد، حسگرها انتخاب می شوند: آنها می توانند رنگ و نور را تشخیص دهند و به لمس پاسخ دهند.

برای حرکت دادن ربات به موتور نیاز دارید. "سر"از کل مکانیسم - مادربرد یا بلوک برنامه. با کمک آنها، ربات به کامپیوتر متصل می شود و مجموعه ای از وظایف را دریافت می کند.

چگونه او را وادار به انجام کاری کنیم؟

برای اینکه ربات عملی را انجام دهد، باید ایجاد کنید برنامه کامپیوتری. پیچیدگی این مرحله به مونتاژ بستگی دارد. اگر ربات از یک مجموعه مونتاژ شود لگو Mindstormsیا mBot، حتی کودکان نیز می توانند نرم افزار خود را مدیریت کنند.

اگر خودتان در حال ساخت ربات هستید، باید اصول برنامه نویسی و زبانی که قرار است برنامه را با آن بنویسید، مانند C ++ را یاد بگیرید.

چرا ربات نمی تواند برنامه را اجرا کند؟

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

آیا می توانم نحوه اسمبل کردن و برنامه نویسی را در مدرسه یاد بگیرم؟

علیرغم این واقعیت که رباتیک در برنامه درسی مدرسه گنجانده نشده است، معلمان فیزیک و علوم کامپیوتر می توانند به کودک مونتاژ و برنامه ریزی را آموزش دهند. در بلگورود، برخی از مدارس دایره هایی دارند که در آن ربات می سازند.

«بعد از درس هایی که با معلمان فیزیک و علوم کامپیوتر داشتیم، برنامه نویسی را یاد می گیریم. ما قبلاً می دانیم که چگونه در LegoMindstorms و Robolab کار کنیم ( نرم افزاربرای روبات ها - تقریبا ویرایش). دانش‌آموزان مدرسه شبانه روزی جوانان مهندسی بلگورود و شرکت‌کنندگان RoboFest-2018 می‌گویند که ما گاهی اوقات یاد می‌گیریم که چگونه از قطعات نقاشی‌های سه بعدی بسازیم. آنتون پرشینو دیمیتری چرنوف.

به جز مدرسه، کجا می توان رباتیک شد؟

دانشکده مهندسی BelSU کلاسی دارد که در آن نحوه مونتاژ و برنامه ریزی روبات ها را آموزش می دهند. در سال 2017، Quantorium در بلگورود افتتاح شد، جایی که دانش آموزان مدرسه از سن 9 سالگی رباتیک آموزش می بینند.

برای تبدیل شدن به یک روباتیک واقعی، می توانید وارد دانشکده رباتیک شوید. هنوز چنین افرادی در بلگورود وجود ندارند، اما در BSTU im. شوخوف دارای بخش سایبرنتیک فنی است. شاگردان او در مسابقات روسی در رشته رباتیک جوایزی کسب می کنند.

آیا می توانید خودتان یاد بگیرید؟

آره. منابع زیادی در اینترنت وجود دارد که می توانید یاد بگیرید که چه چیزی بسازید و چگونه یک ربات را برنامه ریزی کنید.

آیا ربات مفید خواهد بود؟

می توان آن را برای کارهای روزمره تطبیق داد و در خانه دستیار ساخت. نمونه های زیادی در اینترنت وجود دارد که نشان می دهد مخترعان خانگی چگونه ربات هایی را برای پختن پنکیک یا نظافت یک آپارتمان می سازند.

چگونه موفقیت خود را در ایجاد ربات تایید کنیم؟

در مسابقاتی مانند RoboFest شرکت کنید. بسته به سن و کارگردانی نامزدهای مختلفی وجود دارد. اساساً، هر نوع ربات دارای مسیری است که بر روی آن وظایفی را انجام می دهد: گرفتن یک مکعب یا کشیدن یک خط. همچنین سیستم های ثابتی وجود دارد که در آن داوران ارائه پروژه و عملکرد مکانیسم ها را ارزیابی می کنند.

به عنوان یک قاعده، شرکت کنندگان به مسابقات می آیند با مونتاژ شده توسط روبات هاو در آماده سازی فقط برای کالیبراسیون سنسورها و تنظیم برنامه وقت می گذارند.

ویراستاران از کمک در ایجاد مطالب شرکت کنندگان RoboFest-2018 سپاسگزار هستند. دیمیتری آگافونوف, دیمیتری چرنوف, آنتون پرشینو دانیلا میگرینا.

ناتالیا مالیهینا