Запознаване с програмата Kumir овладяване на основите на програмирането.

В него учениците могат да придобият практически умения за създаване и отстраняване на грешки в алгоритъм, работейки с изпълнители като Robot, Draftsman, Aquarius, Grasshopper, Turtle.

Когато изучавате един от най-трудните раздели на компютърните науки "алгоритмизация и програмиране".

Цел на разработката :

Изтегли:


Преглед:

Методическа разработка по информатика.

Тема: "Робот изпълнител в програмата КуМир в часовете по информатика"

учител по технологии "Информатика и ИКТ"

Обяснителна бележка

Цел за развитие: да проучи възможностите за програмиране на примера на конкретен изпълнителен робот, използвайки средата KUMIR; дават практически умения за работа с изпълнителя.

Методическа разработкасъставен за уроци по информатикаУпражнявайте се на компютъра: работа с учебния изпълнител на алгоритми; съставяне на линейни, разклонени и циклични алгоритми за управление на изпълнител; съставяне на алгоритми със сложна структура; използване на спомагателни алгоритми (процедури, подпрограми).

Студентите трябва да знаят:

  • какво е изпълнител; СКИ робот, сряда изпълнител робот;
  • какво е алгоритъм;кои са основните свойства на алгоритъма;
  • начини за писане на алгоритми: блок-схеми, образователен алгоритмичен език;основни алгоритмични конструкции: следване, разклоняване, цикъл; структури
  • алгоритми; ⇒ задаване на спомагателни алгоритми; технологии за изграждане на сложни алгоритми:

Студентите трябва да могат да:

  • разбират описанията на алгоритмите в учебната програма алгоритмичен език;
  • извършване на проследяване на алгоритъм за известен изпълнител;
  • композира линейни, разклонени и циклични алгоритми за управление на робота-изпълнител; разпределяне на подзадачи; дефинирайте и използвайте спомагателни алгоритми.

Сесия 1 (2 часа) Урок 1.

Робот изпълнител.Командна система на изпълнителя.

План на урока.

  1. Описание на UCS на изпълнителя, средата на изпълнителя.

2. Анализ на типични алгоритми на роботи.

По време на часовете.

Помислете за описанието на изпълнителя.

Среда на изпълнителя: Изпълнител Роботът може да се движи през лабиринта, начертан върху равнина, разделена на клетки.

СКИ робот : прости команди: нагоре, надолу, наляво, надясно, запълване.

Логически команди: (проверки на условия)

отгоре безплатно отдолу безплатно

ляво свободно дясно свободно.

Логически връзки: И, НЕ, ИЛИ:

Пример: (Не е оставено свободно) или (Не е свободно вдясно)

Разклонителна команда: команда за цикъл:

Ако условие тогава nts докато условие

серия от команди серия от команди

всички kts

(В KIMs 2009 г Робот командиразлични от познатите на децата, което доведе дообъркване :)

Разклонителна команда: команда за цикъл:

Ако условие тогава nts докато условие правят

серия от команди серия от команди

край край

Общ изглед на прозореца на програмата Kumir. Графична среда на робота:

в КИМ демо версия 2010 команден формат е променен наобичаен

Редът за създаване на алгоритъма:

1.Екипи Инструменти - Редактиране на начална среданачертайте стени върху полето на робота и поставете робота в първоначалната му позиция.

2.Команди Робот - Промяна на началната средаспаси новата среда.

3.Команди Поставяне - Използвайте роботпосочете художника.

4. В прозореца на документа напишете алгоритъма с помощта на менютоПоставете.

5. Изпълнение на команди - изпълнете непрекъснато (или стъпка по стъпка) изпълнете алгоритъма.

6. Обмислете резултата от изпълнението на алгоритъма и, ако е необходимо, го отстранете.

Урок 1 (2 часа) Урок 2.

Практическа работа "Компилация на линейни алгоритми.

Задачи: 1. Робот в произволна точка от полето. Оцветете клетката над, под и вдясно от началната позиция.

  1. Робот в произволна точка на полето. Преместете робота 4 полета надясно, рисувайки върху тях.
  2. Създайте нова начална среда, като начертаете квадрат с 4 клетки на дъската. Запазете околната среда като начало.
  3. Създайте нова начална среда, като начертаете коридор с проходи в стените на полето. Запазете средата като obst2.fil. Променете началната среда на новосъздадената.

Сесия 2 (2 часа) Урок 1.

Тема : Разклоняване и последователно усъвършенстване на алгоритъма.

Анализ на CIM задачи с помощта на Robot executor.

използвайте робот

alg kim 2009

рано

ако не отдолу хлабав

след това надясно

всичко

ако не отдолу хлабав

след това надясно

всичко

ако не отдолу хлабав

след това надясно

всичко

кон

използвайте робот

alg kim 2010

рано

ако не отдолу хлабав

след това надясно

всичко

ако не отдолу хлабав

след това надясно

всичко

ако не отдолу хлабав

след това надясно

всичко

кон

и т.н. роб. номер 14. Компилиране и отстраняване на грешки на разклонени алгоритми

Задачи. Вижте прикачения файл.

Урок 3. Циклични алгоритми. Урок 1-2

Цел: разкрива същността на концепцията за цикъл в алгоритмите, показва формите на писане на цикли в алгоритми, дава умения за създаване и писане на циклични алгоритми.

и т.н. роб. номер 15. Компилация и отстраняване на грешки на циклични алгоритми

1. Направете алгоритъм, който боядисва всички вътрешни клетки, съседни на стената.

използвайте робот

алг

рано

nc докато е свободен

боядисвам; точно

kts

nc, докато дъното е свободно

боядисвам; път надолу

kts

nc докато дъното се разхлаби

боядисвам; наляво

kts

кон

2. Създайте алгоритъм, който запълва всички клетки между робота и стената. Разстоянието до стената е неизвестно.

използвайте робот

алг

рано

nc докато е свободен

дясно; боядисайте

kts

кон

3. Създайте алгоритъм, който боядисва всички клетки между две стени.

използвайте робот

алг уч3

рано

nc все още (не е отгоре свободно) или (не е отдолу)

точно

ако (не е свободно отгоре) и (не е свободно отдолу)

тогава

боядисайте

всичко

kts

кон

4. Създайте алгоритъм, който запълва всички клетки около правоъгълна стена.

alg uch4

рано

боя;нагоре

nc докато се разхлаби надясно

боя;нагоре;

kts

боя; прав

nc докато дъното се разхлаби

боя;дясно;

kts

боя над;надолу

nc, докато остане свободно

боя;надолу;

kts

боя; вляво

nc докато горната част се разхлаби

боядисвам; наляво;

kts

кон

използвайте робот

алг уч5

рано

точно

nc докато дъното се разхлаби

боядисвам; точно

kts

боядисвам; път надолу

nc, докато остават свободни

боядисвам; наляво

kts

nc, докато остане свободно

боядисвам; път надолу

kts

боя;ляво;боя; нагоре;

nc, докато топ безплатно

боядисвам; нагоре

kts

nc докато горната част се разхлаби

боядисвам; наляво

kts

кон

Дейност 4 Урок 1

Помощни алгоритми.

Цел: въведе концепцията за основните и спомагателен алгоритъм; обясняват правилата за използване на спомагателния алгоритъм; анализирайте примери за алгоритми с помощта на спомагателен елемент.

План на урока

1.Въвеждане на нови термини (основен и спомагателен алгоритъм, повикване) и обяснение на нови понятия.

2. Анализ на примери за решаване на проблеми с помощта на спомагателен алгоритъм.

Когато решавате някои проблеми, е удобно да ги разделите на по-малки подзадачи, всяка от които може да бъде проектирана като независим алгоритъм. В този случай първо се компилира така нареченият основен алгоритъм, в който се използват извиквания към спомагателни алгоритми за решаване на подзадачи, които се добавят по-късно. Този вид решение се наричаметод на последователно усъвършенстване.Позволява на група програмисти да работят по проект, като всеки решава собствена подзадача.

В процеса на решаване на проблема всеки спомагателен алгоритъм може, ако е необходимо, да бъде разделен на по-малки спомагателни алгоритми.

Извиква се командата за изпълнение на спомагателния алгоритъмпредизвикателство и се записва в тялото на основния алгоритъм.

Един и същи алгоритъм може да се счита за основен и спомагателен по отношение на други алгоритми. В алгоритмичния език основният алгоритъм се записва първо, а спомагателните се записват на ред отдолу.

Задача 1:

Роботът е в горния ляв ъгъл на полето. Няма стени или сенчести клетки. Съставете алгоритъм, като използвате спомагателен, като начертаете четири кръста на една хоризонтална линия. Крайната позиция на робота може да бъде произволна.

Решение

Анализ на дъската:

Задача 2. Роботът е в горния ляв ъгъл на полето. Няма стени или сенчести клетки. Напишете алгоритъм, който рисува в шахматна дъска квадрат с размери 8 x 8. Крайната позиция на робота може да бъде произволна.

Дейност 4 Урок 2

Практическа работа на компютър "Решаване на проблеми с помощта на спомагателни алгоритми".

Цел : да се внушат практически умения за конструиране на алгоритми чрез метода на последователно усъвършенстване.

План на урока

1. Задачата е напълно изпълнена от компютъра. Учениците получават задачи и ги изпълняват в софтуерната среда Kumir. Резултатите от Работата се записват като файлове за последваща проверка.

Задача 1 . Роботът е в долния ляв ъгъл на полето. Няма стени или сенчести клетки. Напишете алгоритъм, който рисува 6 вертикални ивици с еднаква дължина в 6 клетки. Крайната позиция на робота може да бъде произволна.

Задача 2 .С помощта на помощни средства направете алгоритъм за боядисване на клетките, които образуват числото 1212.

Домашна работа: Измислете алгоритъм, който рисува следното изображение: Приложете два спомагателни алгоритъма, за да решите проблема.

Дейност 5 Урок 1-2

Тест

„Компилация на алгоритъма в средата на робота изпълнител“.

Цел: да проверят придобитите знания за създаване и способност за анализиране на алгоритми в софтуерната среда Kumir.

Задачи за контролна работаса разделени по нива на трудност и включват 3 задачи с изпълнител Robot (задачи 1 и 2 - за разклонения и цикли, задача 3 - за използване на спомагателен алгоритъм.) Текстовете на задачите са дадени в приложението.

Началните и крайните условия и създадените алгоритми се записват във файл.

Оценката се поставя според нивото на трудност на задачата. Ученикът има право да избере вида на задачата.




Командна система за робот изпълнител за команди за движение на робота изпълнител: нагоре, надолу, наляво, надясно Роботът се движи с една клетка нагоре, надолу, наляво, надясно. Командата за боядисване - боядисва клетката, в която стои Роботът. Проверка на валидността на условието: свободно отгоре, свободно отдолу, свободно отляво, свободно отдясно Роботът проверява истинността на условието за липса на стена в клетката, в която се намира Роботът. Можете да използвате записа на формираните съставни условия логически операцииИ, ИЛИ, НЕ.




Директно редактиране на среда на Performer Robot Всички команди за редактиране на среда се изпълняват с помощта на мишката: поставяне/премахване на стена - щракнете върху границата между клетките, рисуване/изчистване на клетката - щракнете върху клетката, преместете робота - плъзнете мишката до желаната клетка .


Команди на менюто на робота Executor Robot Показване на полето Robot Прави прозореца за наблюдение на робота видим. Среда за печат Създава файл в PDF формат, показваща текущата ситуация цветно или черно-бяло. Запазване на средата във файл Създава текстов файлс описание на ситуацията във вътрешен *.fil формат. Този файл може по-късно да бъде зареден като начална среда (команда за промяна на началната среда) или при редактиране на началната среда (команда за отваряне на начална среда за редактиране на прозорци). Промяна като начална среда Задава ново име на файл за начална среда (чрез стандартния диалог) и зарежда нова стартова среда. Връщане към началната среда Прави началната среда текуща.


Робот Изпълнител Изображение на текущата ситуация в прозореца за наблюдение Изображението на текущата ситуация винаги е изцяло поставено в работното поле на прозореца за наблюдение на робота. Фонът на работното поле е зелен. Защрихованите клетки са сиви. Между клетките има тънки черни линии. Стени Показани като дебели жълти линии. В клетката на работното поле на прозореца за наблюдение Роботът е изобразен като ромб.


Пример за робот изпълнител 1. Нека създадем алгоритъм, наречен „Ход на коня“, за да приведе робота от точка А до точка Б (фиг. 3). Алгоритъмът има формата (фиг. 4.). След изпълнението му, Роботът ще се придвижи до желаната точка (фиг. 5). Алгоритъм, написан на езика на изпълнителя, се нарича програма. Фиг.3Фиг.4 Фиг.5











Роботът изпълнител има командна система. Обмисли прости команди на робота. Има общо 5:

    нагоре- преместете робота една клетка нагоре

    път надолу- преместете робота една клетка надолу

    наляво- преместете робота една клетка наляво

    точно- преместете робота една клетка надясно

    боядисайте

Упражнение 1.Начертайте квадрат със страна от 3 клетки.

Изстрелване на Кумир

Изтрийте символа "|" и наречете нашия алгоритъм „Квадрат“ (до официална дума алгпишете Квадрат)

боядисайте

боядисайте

боядисайте

Стартирайте програмата и вижте какво ще се случи. Натиснете за стартиране F9или бутона на лентата с инструменти Стартирайте програма

Ако нямате такъв прозорец на Robot, тогава в лентата с инструменти щракнете върху " Показване на прозореца на робота” или в менюто на робота изберете елемента „ Показване на прозореца на робота". Продължаваме по-нататък:

път надолу

боядисайте

път надолу

боядисайте

След това да отидем наляво, рисувайки долната граница на квадрата

наляво

боядисайте

наляво

боядисайте

Остана ни една небоядисана клетка. Нека го нарисуваме

нагоре

боядисайте

Всичко е готово! В резултат нашата програма изглежда така:

използвайте робот

alg Square

боядисайте

боядисайте

боядисайте

боядисайте

боядисайте

боядисайте

боядисайте

боядисайте

Задача 2.Използвайки прости команди на роботи,напишете програма, която рисува буква П, Р, З, З, Т, С.

Условен цикъл.

Роботът изпълнител има няколко условия: горе свободно долу свободно ляво свободно дясно свободно горна стена долна стена

лява стена дясна стена

Задача 3 .

рисувам вертикална линияот лявата до дясната граница на полето използвам цикъл с условие. Първоначално роботът е в горния ляв ъгъл.

Източникнашата програма за роботи ще бъде нещо подобно:

използвайте робот

алг

рано

боядисайте

nc докато е свободен

точно

боядисайте

kts

кон

В резултат на изпълнението на тази програма ще видим следната картина:

Задача 4.Напишете програма, която ще направи рамка около работното поле на робота, независимо от неговия размер. Разбира се, използвайки условни цикли. В резултат на това трябва да се окаже така:


Целият процес се състои от два етапа: асемблиране и програмиране. Събирам добър роботнеобходими са познания по механика. За да програмирате робот за определени действия, трябва да знаете език, който ще разбере дънна платкаили програмен блок. Тук не са достатъчни училищните знания по информатика.

Къде да вземем материал?

Първо трябва да решите как искате да сглобите робота: от готови комплекти или сами да изберете материали. Предимството на комплекта е, че не се налага да търсите частите поотделно. Най-често няколко устройства могат да бъдат сглобени от един комплект.

Конструкция, която не е сглобена от готов комплект, се нарича отворена система. Той също има своите предимства: вашият робот ще бъде индивидуален и вие сами ще можете да подобрите дизайна. Но определено ще отделите повече време и усилия.

От какво е направен роботът?

Корпус - метален или пластмасов "тяло", към който са прикрепени останалите части. Всеки робот има източник на енергия - батерии или акумулатор. В зависимост от това каква задача ще изпълнява роботът, се избират сензори: те могат да разпознават цвят и светлина и да реагират на допир.

За да накарате робота да се движи, имате нужда от двигатели. "Глава"на целия механизъм - дънната платка или програмния блок. С тяхна помощ роботът се свързва с компютъра и получава набор от задачи.

Как да го накарам да направи нещо?

За да може роботът да извърши някакво действие, трябва да създадете компютърна програма. Сложността на тази стъпка зависи от монтажа. Ако роботът е сглобен от комплект Лего Mindstormsили mBot, дори децата могат да се справят с техния софтуер.

Ако сами създавате робот, трябва да научите основите на програмирането и езика, на който ще напишете програмата, като C ++.

Защо роботът не може да изпълни програмата?

Стигайки до ново място, той може да се заблуди и да изпълни програмата неправилно. За да може роботът да направи всичко правилно, е необходимо да настроите сензорите. Например, твърде яркото осветление може да попречи на правилното разпознаване на цветовете. В зависимост от повърхността, върху която се движи роботът, се регулира мощността на двигателите.

Мога ли да се науча да асемблирам и програмирам в училище?

Въпреки факта, че роботиката не е включена в училищната програма, учителите по физика и информатика могат да научат дете как да сглобява и програмира. В Белгород някои училища имат кръжоци, където правят роботи.

„След уроци с учители по физика и информатика се учим да програмираме. Вече знаем как да работим в LegoMindstorms и Robolab ( софтуерза роботи - прибл. изд.). Понякога се учим как да правим 3D чертежи на части“, казаха ученици от Белгородския инженерен младежки интернат и участници в RoboFest-2018 Антон Першини Дмитрий Чернов.

Къде, освен в училище, човек може да стане робот?

Инженерното училище на BelSU има клас, в който учат как да сглобяват и програмират роботи. През 2017 г. Quantorium отвори врати в Белгород, където учениците се обучават на роботика от деветгодишна възраст.

За да станете истински робот, можете да влезете във факултета по роботика. В Белгород все още няма такива хора, но в BSTU im. Шухов има катедра по техническа кибернетика. Нейните ученици печелят награди на всеруски състезания по роботика.

Можете ли да научите сами?

да В интернет има много ресурси, където можете да научите какво да изградите и как да програмирате робот.

Ще бъде ли полезен роботът?

Може да се адаптира за ежедневни задачи и да стане помощник в къщата. В интернет има много примери как домашни изобретатели създават роботи за печене на палачинки или почистване на апартамент.

Как да потвърдите успеха си в създаването на роботи?

Участвайте в състезания като RoboFest. Има различни номинации в зависимост от възрастта и посоката. По принцип всеки тип робот има писта, на която изпълнява задачи: улавяне на куб или чертане на линия. Има и статични системи, в които съдиите оценяват представянето на проекта и работата на механизмите.

По правило участниците идват на състезания с сглобени от роботии в подготовката те отделят време само за калибриране на сензори и настройка на програмата.

Редакторите са благодарни за помощта при създаването на материала на участниците в RoboFest-2018 Дмитрий Агафонов, Дмитрий Чернов, Антон Першини Данила Мигрина.

Наталия Малихина