Виконавець Робот. Цикли

І сьогодні поговоримо про цикли. Давайте розберемося, що таке цикл і як навчити виконувати циклічні алгоритми нашого Робота.

Отже, що таке цикл? Уявіть, що ми на уроці фізичної культури і маємо завдання зробити 7 присідань. Це завдання можна оформити у вигляді лінійного алгоритму і тоді воно виглядатиме приблизно так:

зроби присідання

зроби присідання

зроби присідання

зроби присідання

зроби присідання

зроби присідання

зроби присідання

Т. е. ми повторили команду зроби присідання 7 разів. А чи є сенс писати 7 однакових команд? Може простіше дати команду зроби 7 присідань? Звичайно простіше та правильніше. Це і є цикл. Ви можете самі згадати приклади циклів із життя – їх досить багато.

Таким чином лінійний алгоритм, де повторюються одні й самі команди ми можемо оформити у вигляді циклічного алгоритму- приблизно так:

повторюй 7 разів

зроби присідання

кінець циклу

Ось так, придуманою нами мовою ми оформили цикл. Виконавець Робот також має можливість записувати цикли. Причому, цикли бувають різні. Той варіант, який ми щойно розглянули називається цикл із лічильникомабо цикл із параметром.

Види циклів.

Цикл із лічильником.

Цикл із лічильникомзастосовується коли наперед відомо скільки повторень необхідно зробити. У прикладі вище із присіданнями саме такий випадок.

Для того, щоб написати цикл із лічильником для виконавця, необхідно знати його синтаксис. А він такий:

нц<кількість повторень> раз

<команда 1>

<команда 2>

<команда n>

Тут ми повинні вказати кількість повторень (число) та команди, які повторюватимуться. Команди, які повторюються в циклі називають тілом циклу.

Давайте розглянемо це з прикладу.

Спочатку Робот перебував у лівій верхній клітині.

Давайте спочатку вирішимо задачу лінійно. У цьому випадку ми будемо зафарбовувати поточну клітинку і переміщатися на 1 клітинку вправо і програма буде виглядати так:
використовувати Робот
алг
поч

зафарбувати

праворуч

зафарбувати

праворуч

зафарбувати

праворуч

зафарбувати

праворуч

зафарбувати

праворуч

зафарбувати

праворуч

зафарбувати

праворуч

Як бачимо, команди зафарбувати і праворуч повторюються 7 разів. Давайте перепишемо програму з використанням циклу. До речі, щоб вставити цикл у програму можна в меню Вставкавибрати пункт нц-раз-кцабо натиснути одну з комбінацій клавіш Esc, Р(російська літера Р) або Esc, H(Латинська буква H). Причому клавіші треба натискати послідовно- Спершу Esc, відпустити її і тільки потім Р або H.

Так ось, наша програма з цикломвиглядатиме так:

використовувати Робот

нц 7 разів

зафарбувати

праворуч

Якщо ми її запустимо, то побачимо, що в результаті вийде те саме — 7 зафарбованих клітин. Однак програма стала коротшою і значно грамотнішою з алгоритмічної точки зору!

Як розминку та закріплення пропоную самостійно написати програму для Робота, яка намалює квадрат зі стороною 7 клітин. Звичайно, використовуючи цикл. Чекаю на рішення в коментарях.

Цикл із умовою.

При розв'язанні задачі 19 ДПА з інформатики з Роботом використовувати цикл із лічильником не вийде. Так як там поле, як правило, нескінченне та стіни не мають конкретної довжини. Тому ми зможемо визначити кількість повторень для циклу з лічильником. Але не біда – нам допоможе цикл із умовою.

Повернемося до фізкультури та змінимо завдання. Адже хтось може і не зробити 7 присідань, а інший може зробити 27. Чи можна врахувати це при створенні циклу? Звичайно. Тільки тепер ми використовуватимемо не лічильник (кількість повторень), а умова. Наприклад, доки не втомився, роби присідання. У цьому випадку людина робитиме не конкретну кількість присідань, а присідатиме доти, доки не втомиться. І наш цикл абстрактною мовою набуде такого вигляду:

Бувай не втомився

зроби присідання

кінець циклу

Слова не втомився у нашому випадку – це умова. Коли воно є істинним, цикл виконується. Якщо воно помилково (втомився) тіло циклу нічого очікувати виконано. У виконавця Робот є кілька умов

зверху вільно

знизу вільно

зліва вільно

праворуч вільно

зверху стіна

знизу стіна

ліворуч стіна

праворуч стіна

Але за умови завдання 19 ГИА вказані лише перші 4. Отже будемо користуватися лише ними.

Тепер давайте розв'яжемо наступне завдання для Робота — намалювати вертикальну лінію від лівої до правої межі поля використовую цикл із умовою. Спочатку Робот знаходиться у лівому верхньому кутку.

Давайте спочатку сформулюємо словесний алгоритм - тобто опишемо словами, що потрібно робити Роботу. Цей алгоритм звучатиме приблизно так:

« Поки праворуч вільно роби крок праворуч і зафарбовуй клітину »

В результаті Робот пробіжить всіма клітинами вправо і буде їх зафарбовувати доти, поки праворуч не виявиться стіна.

Вихідний код нашої програми для Робота буде приблизно такий:

використовувати Робот

нц поки праворуч вільно

праворуч

зафарбувати

В результаті виконання цієї програми ми побачимо таку картину:

Методичний посібник для учителів інформатики. Євграфова Ольга Володимирівна, гімназія №8 р.о. Коломна, 2013 рік У процесі вивчення предмета «Інформатика та ІКТ» учні не лише засвоюють інформаційну культуру (культуру грамотного спілкування з комп'ютером, оформлення документа, електронного спілкування), а й освоюють ази програмування. Однією з найуспішніших вітчизняних розробок у цій галузі є система програмування Кумира. У ній учні можуть отримати практичні навички щодо створення та налагодження алгоритму, працюючи з виконавцями Робот та Чортежник. Перевагами цієї системи є можливість російськомовного написання команд шкільною алгоритмічною мовою та наочність одержуваного результату виконання алгоритму. Система Кумир розроблена з потреб російської системи освіти. Її особливості:      вільно поширювана; багатоплатформова; нульові вимоги до ресурсів; підтримується Російською академією наук; серед розробників – автори багатьох підручників та навчальних посібників з інформатики;  безкоштовну програмну оболонку Кумир можна знайти на сайті http://www.niisi.ru/kumir/. На жаль, автори нових підручників з інформатики приділяють недостатньо уваги або взагалі оминають даних виконавців. У той же час розробники ДІА та -1-

p. 2

ЄДІ включають завдання з використанням даних виконавців у завдання екзаменаційних робіт. Тема вивчається у 9 класі у розділі «Алгоритмізація та програмування». На вивчення теми приділяється 9 годин. Учні повинні знати: що таке виконавець; СКИ Робота, середа виконавця Робот; що таке алгоритм; у чому складаються основні властивості алгоритму; способи запису алгоритмів: блок-схеми, навчальна алгоритмічна мова; основні алгоритмічні конструкції: прямування, розгалуження, цикл; призначення допоміжних алгоритмів Учні повинні вміти: розуміти описи алгоритмів навчальною алгоритмічною мовою; виконати трасування алгоритму для відомого виконавця; складати лінійні, розгалужувані та циклічні алгоритми управління виконавця Робот; виділяти підзавдання; визначати та використовувати допоміжні алгоритми. Тематичний план уроків: № п/п 1. 2. 3. 4. 5. Число Теочасов рія Виконавець Робот. Система команд виконавця. Склад1 0,5 лення лінійних алгоритмів. Циклічні алгоритми. 3 1 Практична робота №1. Складання та налагодження циклічних алгоритмів. Розгалуження та послідовна деталізація алгоритму. 2 1 Практична робота №2. Складання та налагодження циклічних та розгалужуваних алгоритмів. Допоміжні алгоритми та підпрограми. 2 0,5 Пр. роб. №3. "Використання допоміжних алгоритмів". Контрольна робота. «Створення алгоритму серед виконавця» Тема уроку Практика 0,5 2 1 1,5 1 Матеріали до уроків на тему «Навчальний виконавець Робот»: -2-

p. 3

Урок 1. Виконавець Робот. Система команд виконавця. Робот рухається при виконанні програми у прямокутному клітинному полі, між клітинами якого можуть бути розташовані стіни. Поле викликається на екран за кнопкою "Вікно Робота", яка розташована на панелі інструментів. Поле програмних кодів Робота. Робот вміє виконувати команди-накази та команди-питання. Команди-накази: праворуч, ліворуч, вгору, вниз, зафарбувати. Якщо по дорозі виявляється стіна, то команда може бути виконана. Для безпосереднього керування роботом використовується дистанційний пульт. Натискаючи кнопки на пульті, людина віддає відповідні команди і Робот виконує їх. Для програмного управління недостатньо знати, які команди та в якій послідовності треба виконати. Потрібно ще записати ці команди у формі, зрозумілою комп'ютера, тобто. оформити як алгоритму. У найпростішому випадку алгоритм для Робота записується так: Ім'я алгоритму – це послідовність символів чи слів, розділених пробілами. Перший символ імені не повинен починатися з цифри. Правильні імена: g, sum, периметр ніка, Квітень 12, дванадцяте квітня, кільк_11_кл. "Правильне" ім'я виділиться синім кольором. використовувати Робот алг имя_алгоритма поч послідовність команд кон Для кращого розуміння алгоритму в тілі програми можна використовувати коментарі. Коментарі починаються знаком |. Якщо коментарі займають кілька рядків, то на початку кожного рядка має стояти знак | На хід виконання алгоритму коментарі не мають жодної дії. Приклад 1. Програма «Хід конем» (перемістити Робота з точки А до точки Б). Вихідний стан: Програма: Результат: Правила алгоритмічної мови дозволяють записувати в одному рядку кілька команд через крапку з комою. -3-

p. 4

Приклад 2. Потрібно перемістити Робота з точки А до точки Б. Шлях, який має пройти Робот, можна розбити на п'ять однакових ділянок. Команди проходження кожної ділянки зручно згрупувати в один рядок – це скорочує запис алгоритму та робить його більш зрозумілим. Зміна обстановки Робота. Для того, щоб змусити Робота діяти в новій обстановці, її необхідно завантажити за допомогою наступних команд головного меню: Вибрати елемент «Робот» «Змінити стартову обстановку» Відкрити потрібну папку та вибрати файл. Створення нової ситуації. Щоб створити нову обстановку для Робота, необхідно виконати команди головного меню: Вибрати елемент «Інструменти» «Редагувати стартову обстановку». У вікні "Обстановка" вибрати елемент "Обстановка" "Нова обстановка" Задати кількість рядків і стовпців. Клацніть миші встановити стіни і перемістити робота на потрібну клітинку. Зберегти обстановку, використовуючи команди: «Обстановка» «Зберегти ЯК» Задати ім'я файлу та папку для розміщення. Натиснути копію «Зберегти». Поставити/Прибрати стіну – клацнути по межі між клітинами. Зафарбувати / Зробити чисту клітину – клацнути по клітці. Поставити/Прибрати точку – клацнути по клітці при натиснутій клавіші Ctrl. Встановити радіацію, мітки – клацнути правою кнопкою миші. Перемістити Робота – тягнути мишею. "Виконання" Виконання програми. «Виконати безперервно» Самостійна робота на комп'ютері: 1. Завантажити нову обстановку, перевести Робота в точку «Б», зафарбувавши по дорозі точки, позначені символом «точка»: «Практикум для Робота», папка «1», завдання «В» (матеріали з сайту К. Полякова (http://kpolyakov.narod.ru), скласти програму, відкрити вікно Робота та запустити програму на виконання. Зберегти програму в папці з ім'ям «1_В». 2. Створити нову обстановку, зберегти її у своїй папці під назвою «Обстановка_1». Скласти програму для нової обстановки та зберегти її у своїй папці з ім'ям «нова_обстановка_1». 3. **Вирішити інші завдання з папки №1 практикуму. -4- Б

p. 5

Урок 2. Циклічні алгоритми. Цикл N – раз. Завдання на повторення: Петя склав алгоритм роботи «Прогулянка». Коля стер у ньому одну команду. Визначте, яку команду стер Коля, якщо відомо, що Робот повинен повернутися у вихідний стан. Відповідь: праворуч використовувати Робот алг Прогулянка поч. вгору; праворуч. ? . вниз; вліво; ліворуч кін N раз · серія команд кц При складанні алгоритмів часто трапляються випадки, коли деяку послідовність команд потрібно виконати кілька разів поспіль. Наприклад, приклад №2 минулого уроку. Для спрощення запису алгоритму у разі можна використовувати команду – «Цикл N-раз». N - ціле вираз, що задає число повторень. За виконання алгоритму послідовність команд циклічно повторюється вказане число разів. Це може бути нульовим і навіть негативним. Ці випадки не вважаються помилковими, просто тіло циклу не буде виконане жодного разу, а комп'ютер відразу перейде до виконання команд, записаних після кц. Приклад 1. Потрібно перемістити Робота з точки А до точки Б. А Б Приклад 2. Зафарбувати ряд із 16 клітин. Приклад 3. Зафарбувати прямокутник розміром 5(рядків) х 6(стовпців). використовувати Робот алг Прямокутник почат нц 5 разів кц кон Цикл може розташовуватися всередині іншого циклу. Тоді він називається вкладеним. -5-

p. 6

Самостійна робота на комп'ютері: Приклад 4. Нехай треба перевести Робота з початкового положення в точку, позначену зірочкою і зафарбувати клітини лабіринту. Створити обстановку та програму. Зберегти файли у папці. Приклад 5. Перевести Роботу з початкового положення на Базу та зафарбувати клітини, позначені точкою. Створити обстановку та програму. Зберегти файли у папці. Приклад 6. Необхідно провести Роботу по лабіринту з початкового положення до точки A. Приклад 7. Необхідно провести Роботу вздовж коридору з початкового положення до точки A, зазираючи у кожний бічний коридор. Приклад 8. Складіть програму зафарбовування клітин поля, зазначених *. Початкове положення Робота позначення ◊. Приклад 9*. На полі виконавця виставлено стіни. Необхідно знайти початкове, оптимальне положення виконавця та написати програму, результатом виконання якої будуть зафарбовані клітини (так як показано на малюнку). **Скласти програми за допомогою папки «Практикум для Робота»_ №2. -6-

p. 7

Урок 3. Цикл Поки що. Нам необхідно навчитися складати універсальні алгоритми, які не залежатимуть від відстаней між Роботом та стіною, довжиною стін. Для цього використовуватимемо новий оператор циклу. нц поки умова серія команд кц При виконанні циклу комп'ютер повторює такі дії:  перевіряє умову;  якщо умова виконується, то виконуються команди тіла циклу та знову перевіряє умову тощо.  якщо умова не дотримується, то виконання зліва стіна зліва вільно циклу завершується, і виконуються команди, праворуч стіна право вільно записані після кц. знизу стіна знизу вільно  умови циклу (команди-питання): зверху стіна зверху вільно клітина зафарбована клітина чиста Зауваження.  Якщо умова не дотримується від початку, то тіло циклу не виконається жодного разу!  Виконання циклу може не завершитися, якщо умова постійно дотримуватиметься. Така ситуація зазвичай виникає в результаті помилок в НЦ поки праворуч у складанні алгоритмів. праворуч; Приклад нескінченного алгоритму (праворуч немає стіни): КЦ Умови бувають прості та складові. Проста умова – це зазвичай якась перевірка. Прикладом може бути будь-яка команда-питання Робота. Складова умова формується з кількох простих умов з використанням службових слів І, АБО, НЕ. Якщо між простими умовами стоїть І, то виконання складового умови необхідно, щоб вірними виявилися обидва простих. Якщо між простими умовами стоїть АБО, то для виконання складової умови достатньо, щоб вірним виявилася хоча б одна проста умова. Приклад 2. Робот Приклад 1. Педолжен зафарбувати ремісити Роклетки, вказані робота на Базу. на малюнку. Довжина стіни та відстань до стіни невідомі. використовувати Робот алг На базу поч. нц поки зверху вільно. . вгору. кц. нц поки зверху стіна. . праворуч. кц. вгору кін -7-

p. 8

▪ Самостійна робота на комп'ютері: Десь у полі Робота знаходиться стіна у вигляді куточка, розміри якої невідомі. Робот із довільної клітини ліворуч від стіни, але обов'язково навпроти неї повинен дійти до стіни і зафарбувати всі клітини вздовж стіни за нею, як показано на малюнку. ▪ Необхідно перевести Робота з початкового положення в точку A, зафарбовуючи при цьому вказані клітини поля. Розміри стін та відстань між ними можуть бути довільними. ▪ Скласти програми, використовуючи папку «Практикум для Робота»  Папка_4_Задачи_А_С_D  Папка_5_Задачи_A_B_C_D Урок 4. Практична робота №1. Циклічні алгоритми для Робота. Варіант 1 Завдання 1.Зафарбувати клітини, що знаходяться ліворуч від стіни або зверху стіни. Відстань від Робота до стіни невідома. Довжина стін невідома. Створити обстановку та написати програму. Файли зберегти в папці. Р Завдання 2. Виконавець Робот знаходиться в межах обмеженої квадратної області. Довжина сторони квадрата невідома. Напишіть для Робота алгоритм, який зафарбовує всі клітини, розташовані на діагоналі квадрата з лівого верхнього в нижній правий кут. Створити обстановку та написати програму. Файли зберегти в папці. Завдання 3. Перевести виконавець із клітини А у клітину В, зафарбувавши при цьому зазначені клітини. Довжина стін та відстань між ними невідомі. Створити обстановку та написати програму. Файли зберегти в папці. -8-

p. 9

Завдання 4. Необхідно перевести Робота з початкового положення (◊) до точки A, зафарбовуючи при цьому вказані клітини поля. Розміри стін та відстань між ними можуть бути довільними. Завдання 5. На нескінченному полі є драбинка. Кількість сходинок може бути будь-якою. Нижня горизонтальна стіна продовжується нескінченно вправо, верхня горизонтальна стіна йде нескінченно вліво. Робот знаходиться десь над нижньою горизонтальною стіною. Зафарбувати клітини, розташовані вздовж вертикальної частини сходів (див. рис.). Кінцеве положення Робота будь-яка. Створити обстановку та написати програму. Файли зберегти в папці. Кожна сходинка має розмір: 2 клітини по горизонталі та 2 клітини по вертикалі. Варіант 2 Завдання 1. Напишіть для Робота алгоритм, що зафарбовує всі клітини, розташовані вздовж лівої бічної та над нижньою сторонами прямокутника та прилеглі до стіни. Відстань від Робота до стін і довжина стін невідомі. Створити обстановку та написати програму. Файли зберегти в папці. Завдання 2. Виконавець Робот знаходиться десь усередині обмеженої квадратної області. Довжина сторони квадрата невідома. Напишіть для Робота алгоритм, який зафарбовує всі клітини, розташовані на діагоналі квадрата з правого верхнього у лівий нижній кут. Створити обстановку та написати програму. Файли зберегти в папці. Завдання 3. Перевести виконавець із клітини А у клітину В, зафарбувавши при цьому зазначені клітини. Довжина стін та відстань між ними невідомі. Створити обстановку та написати програму. Файли зберегти в папці. -9-

p. 10

Завдання 4. Необхідно перевести Робота з початкового положення (◊) до точки A, зафарбовуючи при цьому вказані клітини поля. Розміри стін та відстань між ними можуть бути довільними. Завдання 5. На нескінченному полі є драбинка. Кількість сходинок може бути будь-якою. Нижня горизонтальна стіна продовжується нескінченно вліво, верхня горизонтальна стіна йде нескінченно вправо. Робот знаходиться десь над нижньою горизонтальною стіною. Зафарбувати клітини, розташовані вздовж вертикальної частини сходів (див. рис.). Кінцеве положення Робота будь-яка. Створити обстановку та написати програму. Файли зберегти в папці. Кожна сходинка має розмір: 2 клітини по горизонталі та 2 клітини по вертикалі. Урок 5. Розгалужувані алгоритми. Команда «якщо _ то _ інакше _ все» Загальний вигляд команди: якщо умова то дії 1 інакше дії 2 все Структура команди: після перевірки умови виконуються дії 1, якщо умова істинна, інакше – дії 2. Після цього виконуються команди, записані після слова все. Гілка інакше може бути відсутня (неповне розгалуження). У цьому випадку команда має вигляд: якщо умова то дії все Якщо умова не дотримується, то відразу виконуються команди, записані після службового слова все. Приклад 1. Створити програму, яка проводить роботу через коридор довільної довжини. Дорогою Робот повинен зафарбувати всі клітини, у яких знизу немає стіни. Кількість отворів невідома. - 10 -

p. 11

Приклад 2. Перевести Роботу в точку Б і зафарбувати клітини, позначені точкою. Довжина стіни та кількість «глухих кутів» невідома. використовувати Робот алг На Базу почат нц поки справа вільно вправо якщо зверху вільно то вгору зафарбувати вниз все кц вниз кон Приклад** Підрахувати, скільки в коридорі зафарбованих клітин (для виконання треба розібрати додатково конструкції: ціл | Сч+1 |збільшення змінної на 1 висновок Сч | і доходить до стіни.

p. 12

Завдання 3. Зафарбувати клітини, помічені крапками. Завдання 4. використовувати Робот алг На базу поч зафарбувати нц поки праворуч праворуч якщо зверху вільно то вгору; зафарбувати; вниз інакше зафарбувати всі кц вниз кін Завдання 5. Зафарбувати клітини, розташовані поряд зі стінами. Скласти алгоритм, що зафарбовує всі клітини між двома стінами. Яка стіна знаходиться ліворуч невідомо. використовувати Робот алг між_стінами почат н поки (не зверху вільно) або (не знизу вільно) вправо якщо (не зверху вільно) і (не знизу вільно) то зафарбувати всі кц кон використовувати Робот алг уч5 поч вправо нц поки не знизу вільно зафарбувати; праворуч кц зафарбувати; вниз нц поки зліва вільно зафарбувати; вліво кц нц поки не зліва вільно зафарбувати; вниз кц зафарбувати; вліво; зафарбувати; вгору; нц поки зверху вільно зафарбувати; вгору кц нц поки не зверху вільно зафарбувати; ліворуч кц кон Завдання 6**. Робот знаходиться на початку коридору. У коридорі є тупики зверху і знизу невідомої довжини, але їхнє розташування не буває навпроти один одного. Довжина коридору також невідома. Написати алгоритм зафарбовування всіх глухих кутів і виходу з коридору. - 12 -

p. 13

використовувати Робот алг безвиході поч. нц поки (зверху стіна) або (знизу стіна) . . праворуч. . якщо (зверху вільно) та (знизу стіна) . . . те. . . . нц поки зверху вільно. . . . . вгору; зафарбувати. . . . кц. . . . нц поки знизу вільно. . . . . вниз. . . . кц. . Усе. . якщо (знизу вільно) та (зверху стіна) . . . те. . . . нц поки знизу вільно. . . . . вниз; зафарбувати. . . . кц. . . . нц поки зверху вільно. . . . . вгору. . . . кц. . Усе; . кц; кон Команди, виділені червоним кольором, необхідні, щоб зупинитися при виході з коридору. Урок 6. Практична робота №2. Циклічні та розгалужувані алгоритми для Робота. Розв'язання завдань із використанням КІМ ГІА. Зауваження. При складанні алгоритмів завдання вирішити у загальному вигляді, тобто. вид фігури визначений, але довжини сторін, кількість сходів та інші параметри можуть змінюватися. Програма має працювати для будь-якої фігури схожого вигляду! Завдання 1. Створіть обстановку і напишіть алгоритм, що зафарбовує всі клітини, що знаходяться праворуч від вертикальних ділянок стіни. використовувати Робот алг завдання 1 поч вниз; праворуч. нц поки зверху вільно. . вгору зафарбувати. кц. нц поки не зверху вільно. . праворуч. кц. вгору. нц поки не зліва вільно. . зафарбувати; вгору. кц кін - 13 -

p. 14

використовувати Робот алг завдання 2 поч. нц поки що справа вільно. . праворуч. кц. нц поки не право вільно. . вгору. кц. праворуч. нц поки не право вільно. . зафарбувати нагору; праворуч. кц кон Висота кожного ступеня одна клітина, ширина – 2 клітини. Завдання 2. Напишіть алгоритм, який зафарбовує всі клітини, що знаходяться над сходами. Завдання 3. Зафарбувати всі клітини, що знаходяться над сходами, що спускаються зліва направо. використовувати Робот алг завдання 3 поч. нц поки знизу вільно. . вниз; вліво; ліворуч. кц. нц поки не зліва вільно. . зафарбувати; праворуч. . зафарбувати; праворуч. . вниз. кц кон Завдання 4. Зафарбувати клітини лабіринту. використовувати Робот алг Лабіринт поч. праворуч. нц поки праворуч стіна. . зафарбувати; вгору. . зафарбувати; вгору. . зафарбувати; праворуч. . зафарбувати; вниз. . зафарбувати; вниз. . зафарбувати; праворуч. кц кон Завдання 5** Виконавець знаходиться у довільній клітині, але обов'язково навпроти стіни (рисунок зверху). В результаті необхідно зафарбувати клітини так, як показано на малюнку знизу. - 14 -

p. 15

використовувати Робот алг Вихід поч. нц поки праворуч праворуч; . кц. нц поки праворуч стіна вниз; . кц. праворуч; вгору. нц поки (ліворуч стіна і зверху вільно) або (зверху стіна і праворуч вільно) або (праворуч стіна і знизу вільно) або (знизу стіна і зліва вільно). . якщо (зліва стіна) та (зверху вільно) . . . те. зафарбувати; вгору. . Усе. . якщо (зверху стіна) та (праворуч вільно) . . . те. . зафарбувати; праворуч. . Усе. . якщо праворуч стіна і знизу вільно. . . те. . зафарбувати; вниз; . . Усе. . якщо знизу стіна і зліва вільно. . . те. . . зафарбувати; вліво; . . Усе; . кц; кон Урок 7. Допоміжні алгоритми При вирішенні деяких завдань зручно розбити їх на дрібніші підзавдання, кожну з яких можна оформити як самостійний алгоритм. У цьому випадку спочатку складається так званий основний алгоритм, у якому для вирішення підзавдач використовуються виклики допоміжних алгоритмів, які дописуються пізніше. Такий спосіб розв'язання називається методом послідовного уточнення. Він дозволяє працювати над проектом групі програмістів, кожен при цьому вирішує своє завдання. Команда виконання допоміжного алгоритму називається викликом та записується в тілі основного алгоритму. В алгоритмічній мові спочатку записується основний алгоритм, нижче підряд записуються допоміжні. Приклад 1. Розглянемо ситуацію з уроку №1. Роботу треба перевести в клітинку, позначену точкою. використовувати Робот алг Коридор поч обхід; обхід; обхід; обхід; обхід кон алг обхід поч вгору; вгору; праворуч донизу; вниз; вправо кін - 15 -

Виконавець Робот. Допоміжні алгоритми(2год)

Ціль: запровадити поняття основного та допоміжного алгоритму; пояснити правила використання допоміжного алгоритму; розібрати приклади алгоритмів із використанням допоміжного. Відпрацювати практичні навички побудови алгоритмів шляхом послідовного уточнення.

План уроку

1.Введення нових термінів (основного та допоміжного алгоритму, виклику) та пояснення нових понять.

2.Розбір прикладів розв'язання задач із застосуванням допоміжного алгоритму.

3. Практична робота

При вирішенні деяких завдань зручно розбити їх на дрібніші підзавдання, кожне з яких можна оформити як самостійний алгоритм. У цьому випадку спочатку складається так званий основний алгоритм, в якому для вирішення підзавдач використовуються виклики допоміжних алгоритмів, які дописуються пізніше. Такий спосіб рішення називається методом послідовного уточнення. Він дозволяє працювати над проектом групі програмістів, кожен при цьому вирішує своє завдання.

У процесі вирішення завдання кожен допоміжний алгоритм може за необхідності бути розбитий більш дрібні допоміжні алгоритми.

Команда виконання допоміжного алгоритму називається викликом та записується в тілі основного алгоритму.

Один і той же алгоритм може розглядатися як основний та допоміжний по відношенню до інших алгоритмів. В алгоритмічній мові спочатку записується основний алгоритм, нижче підряд записуються допоміжні.

Задача1:

Робот знаходиться у верхньому лівому кутку поля. Стін та зафарбованих клітин немає. Скласти алгоритм, з використанням допоміжного, що малює чотири хрестики на одній горизонталі. Кінцеве положення Робота може бути довільною.

Рішення

Розбір на дошці:

Задача2. Робот знаходиться у верхньому лівому кутку поля. Стін та зафарбованих клітин немає. Складіть алгоритм, який зафарбовує у шаховому порядку квадрат 8 х 8. Кінцеве положення Робота може бути довільною.

Практична робота на ПК «Розв'язання задачі з використанням допоміжних алгоритмів»

Завдання1 . Робот знаходиться у нижньому лівому кутку поля. Стін та зафарбованих клітин немає. Складіть алгоритм, який зафарбовує 6 вертикальних смуг однакової довжини 6 клітин. Кінцеве положення Робота може бути довільною.

Задача2 . Використовуючи допоміжні складіть алгоритм для зафарбовування клітин, що утворюють число 1212.

Домашнє завдання : Придумайте алгоритм, який малює наступне зображення: Для вирішення задачі застосуйте два допоміжні алгоритми.

Освітня програма курсу «Розвиток алгоритмічного мислення шляхом вирішення завдань» (для учнів 5-6 класів). Термін реалізації: 4 місяці. Автор програми: І.Г. Шуплецов Рецензенти: методична рада МБОУ ЗОШ №13, 2012 рік. Пояснювальна записка А.П.Ершов описував операційний стиль мислення – вміння планувати структуру дій, необхідні досягнення мети, з допомогою фіксованого набору коштів. Алгоритмічне мислення передбачає розуміння суті базових алгоритмічних конструкцій: слідування, розгалуження, цикл, виклик, і навіть вміння ефективно використовувати ці структури під час упорядкування простих алгоритмів і будувати складні алгоритми з урахуванням простих. До структурних компонентів алгоритмічного стилю мислення відносяться: здатність до формалізації задачі, розуміння та здатність до реалізації елементарних алгоритмічних операцій, здійснення вибору оптимального способу досягнення мети. Вміння будувати алгоритми актуально, з погляду предметної діяльності, у багатьох галузях знань та діяльності учнів. Вибір розв'язання завдань серед Кумир обумовлений тим, що вони дозволяють наочно демонструвати алгоритми, що розвиває алгоритмічні навички та алгоритмічне мислення з урахуванням наочних дій виконавців. Учні 5-6 класів мотивовані використання виконавців середовища Кумир. Вони для них прості у використанні та система команд цих виконавців їм зрозуміла та легка у застосуванні. Учні захоплено складають прості алгоритми та демонструють їх вчителю та один одному. Наочність дій виконавців дозволяє легко відстежувати виконання алгоритму та вносити до нього за необхідності корективи. Курс «Розвиток алгоритмічного мислення шляхом розв'язання задач» є практикоорієнтованим. Учні самостійно освоюють середовище Кумир та прийоми вирішення завдань на основі запропонованих технологій та розібраних прикладів. Вчитель індивідуально допомагає у разі труднощів і фіксує вирішені завдання, і навіть пропонує оптимальні варіанти розв'язання задач. Курс пропонується для вивчення у школах, які мають необхідне навчально-методичне та технічне оснащення. Він призначений для учнів 5 – 6 класів, що мають елементарні навички роботи з операційною системою WINDOWS. Цей курс може бути продовжений курсом з основ програмування та дистанційним курсом з вирішення олімпіадних завдань на сайті http://www.acmu.ru для зацікавлених учнів 78 класів. Тема «Алгоритмізація» вивчається у 4 чверті 6 класу. Таким чином, учні до цього часу зможуть освоїти використання середовища Кумир та інтуїтивно-зрозумілі алгоритмічні конструкції, що дозволить їм успішно вивчити теорію алгоритмізації та легко застосувати її на практиці. Курс «Розвиток алгоритмічного мислення шляхом розв'язання завдань» розрахований на 17 годин, під час яких учні зможуть інтуїтивно, під час вирішення завдань комп'ютері, освоїти основні алгоритмічні конструкції: слідування, розгалуження, цикл, виклик допоміжного алгоритму, для ефективного складання алгоритмів. 1 Цей курс може стати першим кроком для подальшого вивчення програмування та вибору напряму навчання пов'язаного з інформаційними технологіями. Цілі та завдання курсу Мета курсу:  розширити знання учнів на предмет «Інформатика та ІКТ»;  розвивати алгоритмічне мислення учнів шляхом складання алгоритмів для розв'язання задач. Завдання курсу:  познайомити учнів на практиці із середовищем Кумир;  розглянути основні можливості найпопулярніших виконавців «Робот» та «Креслярка»;  засвоїти застосування основних алгоритмічних конструкцій: прямування, розгалуження, цикл, виклик. Технологія навчальних занять. Контроль Заняття проводять у формі практичних робіт. На початку заняття (5 хвилин) вчитель ставить перед учнями мету даного заняття і нагадує результати кожного учня, які він досяг до цього часу і які завдання він повинен вирішувати на цьому уроці. Учні складають алгоритми на комп'ютері, виконують їх із відстеженням проміжних результатів та повідомляють вчителю про вирішення завдань. Учні можуть допомагати один одному у вирішенні завдань. Ті завдання, які не були вирішені на уроці, можуть бути вирішені як домашня робота та перевірені на наступних заняттях. Вчитель перевіряє вирішену задачу та фіксує її вирішення у журналі. Наприкінці заняття (5 хвилин) відзначаються ті учні, які мають найбільшу кількість вирішених завдань, виявляються труднощі, що виникли в учнів, які вирішили завдання та пропонуються та обговорюються способи їх подолання. На початку та наприкінці уроку проглядаються рейтинги всіх учнів, що дозволяє організувати змагання між учнями. Календарно-тематичний план № уроку Тема уроку 1 2 3 4 5 Знайомство із системою Кумир. Вирішення задач. Виконавець Робот. Вирішення задач. Упорядкування лінійних алгоритмів. Вирішення задач. Упорядкування лінійних алгоритмів. Вирішення задач. Приклад допоміжних алгоритмів. Упорядкування допоміжних алгоритмів. Вирішення задач. Упорядкування допоміжних алгоритмів. Вирішення задач. приклад циклічного алгоритму. Упорядкування циклічних алгоритмів. Вирішення задач. 6 7 Кількість годин 1 1 1 1 1 1 1 1 2 8 9 10 11 12 13 14 15 16 17 Приклад алгоритму, що розгалужується. Складання алгоритмів, що розгалужуються. Вирішення задач. Виконавець Креслення. Вирішення задач. Команда зміститься в крапку. Упорядкування лінійних алгоритмів. Вирішення задач. Команда зміститься на вектор. Упорядкування лінійних алгоритмів. Вирішення задач. Команда зміститься на вектор. Упорядкування лінійних алгоритмів. Вирішення задач. Упорядкування допоміжних алгоритмів. Вирішення задач. Упорядкування допоміжних алгоритмів. Вирішення задач. Складання циклічних алгоритмів. Вирішення задач. Складання циклічних алгоритмів. Вирішення задач. Підбиття підсумків. Рейтинг учнів. Вирішення задач. Разом 1 1 1 1 1 2 1 1 1 17 Зміст навчального матеріалу Знайомство з системою Кумир. Завантаження системи Кумир. Призначення виконавця Робот. Система команд виконавця Робот. Порядок написання алгоритму. Порядок створення поля Робота. Виконання алгоритму. Відстеження результатів виконання Роботом алгоритму. Написання першого алгоритму. Упорядкування лінійних алгоритмів. Вирішення задач. Допоміжний алгоритм. Два приклади допоміжних алгоритмів. Команда виклику допоміжного алгоритму. Запис допоміжного алгоритму. Два випадки, у яких застосовуються допоміжні алгоритми. Упорядкування допоміжних алгоритмів. Вирішення задач. Циклічний алгоритм. приклад циклічного алгоритму. Цикл із заданою кількістю повторень, команда Цикл N разів. Складання циклічних алгоритмів. Вирішення задач. Розгалужується алгоритм. Два приклади алгоритму, що розгалужується. Команда Якщо. Повна та неповна форма команди якщо. Умови в алгоритмі, що розгалужується. Складання алгоритмів, що розгалужуються. Вирішення задач. Виконавець Креслення. Система команд виконавця кресляр. Написання алгоритму для виконавця Креслення. Призначення команди перемістити в точку. Приклад алгоритму з командою зміститься до точки. Порядок створення креслення та написання алгоритму для виконавця Креслення. Упорядкування лінійних алгоритмів. Вирішення задач. Виконавець Креслення. Приклад алгоритму з командою поміститися на вектор. Порядок створення креслення та написання алгоритму з командою зміститися на вектор для виконавця Кресачник. Упорядкування лінійних алгоритмів. Вирішення задач. Приклад допоміжного алгоритму. Упорядкування допоміжних алгоритмів. Вирішення задач. приклад циклічного алгоритму. Упорядкування циклічних алгоритмів. Вирішення задач. Очікувані результати освоєння курсу Курс дозволяє школярам познайомитися: Із завантаженням та елементами інтерфейсу програми КуМир. З порядком виконання деяких дій у програмі Кумир. Із призначенням виконавця Робот. З призначенням виконавця Креслення. 3 З основними алгоритмічними конструкціями: прямування, розгалуження, цикл, виклик. З порядком створення та виконання алгоритмів. З обчисленням значення векторів за клітинами, використовуючи проекції на осі координат. У процесі навчання школярі набувають навичок: Створення та виконання алгоритмів. Збереження та завантаження алгоритмів. Застосування різних алгоритмічних конструкцій для ефективного розв'язання задач. Побудови креслень на координатній площині. Умови реалізації курсу 1. 2. 3. 4. 5. 6. 7. Комп'ютерний клас 12 комп'ютерів. Локальна мережа. Демонстраційний екран. Принтер. Папір для принтера А4. Середовище Кумир – програмне забезпечення, що вільно розповсюджується. Дидактичні матеріали. Список літератури Леонов А.Г. Освій Кумир за 6 годин. - Москва: Інформатика, додаток до газети 1 вересня, № 24, 2010, № 2, 2011, Кушніренко А.Г. Основи інформатики та обчислювальної техніки: Проб. навч. для середовищ. навч. закладів О.Г. Кушніренко, Г.В. Лебедєв, Р.А. Звірень – 2-ге вид. - М.: Просвітництво, 1991. - 224 с.: Іл. Додаток 1 Виконавець «Робот» Лінійні алгоритми Виконавець «Робот» переміщається у поле 15 на 10 клітин і зафарбовує клітини. Робот вміє виконувати наступні команди СКІ: вгору, вниз, ліворуч, праворуч, зафарбувати. Завантажте програму КуМир для виконавця «Робот» 1. Спосіб відкрити ярлик на робочому столі. 2. Спосіб – комп'ютер диск C: папка School папка KumirWin файл kumir.exe (додаток). 4 Приклад 1 1. Наберіть програму Приклад1 з клавіатури в Кумирі. 2. Викличте Меню Інструменти команда Редагувати стартову обстановку Робота. 3. Викличте меню Допомога обстановки прочитайте дії, що виконуються під час редагування, запам'ятайте їх. 4. Очистіть обстановку та помістіть Робота в центр поля. Закрийте обстановку, не зберігаючи. 5. Викличте меню Виконання команда КРОК (F8 – швидка клавіша). 6. Викличте поле Робота, меню Робот команда Показати вікно Робота. 7. Натискайте клавішу F8 до кінця програми (доки зникне зелена смуга). Повинен вийти наступний результат. Завдання 1 Скласти програму, виконавши яку Робот зафарбує клітини, розташовані в шаховому порядку з довжиною боку 3 клітини. 5 Завдання 2 Скласти програму, виконавши яку, Робот зафарбує клітини, які у вигляді ромба з довжиною боку 4 клітини. Завдання 3 Скласти програму, виконавши яку, Робот зафарбує клітини, які у вигляді піраміди висотою 4 клітини і повернутися у вихідне положення. Завдання 4 Скласти програму, виконавши яку Робот зафарбує клітини так, щоб вийшов цікавий малюнок (наприклад, смайлик). 6 Завдання 5 Робот знаходиться на початку горизонтального коридору (клітина А). Перевести Робота в кінець коридору (клітина Б). Літери А та Б в обстановці Робота не ставляться. Завдання 6 Робот знаходиться перед входом у вертикальний коридор. Робот повинен пройти коридором і вийти з нього на одну клітку. Робот повинен зафарбувати клітини, якими він проходить. Завдання 7 У обстановці Робота створіть лабіринт з одним виходом. Помістіть Робот у клітинку, з якої він виходитиме з лабіринту. Складіть програму, яка виведе робота з лабіринту. Завдання 8 Робот повинен перейти з клітини А до клітини Б та зафарбувати клітини позначені точками. 7 Важливо: всі алгоритми, які ви склали є лінійними, т.к. команди в них слідують одна за одною від початку і до кінця алгоритму. 8



Подібні публікації