Підручник Інформатики 5 клас - Н. В. Морзе - Оріон 2018 рік

Розділ 4 АЛГОРИТМИ ТА ПРОГРАМИ

20. ТИПИ АЛГОРИТМІВ

ПРИГАДАЙ

► чим алгоритм переходу вулиці відрізняється від алгоритму приготування чаю;

► який алгоритм можна виконати швидше — обчислення площі прямокутника чи ділення чисел у стовпчик;

► чому команди в середовищі Скретч зафарбовані різними кольорами

ТИ ДІЗНАЄШСЯ

які алгоритми можна реалізувати в середовищі Скретч;

як створити новий проект у середовищі Скретч;

які команди використовують у програмі в середовищі Скретч

Вивчаємо

1. Які алгоритми можна реалізувати в середовищі Скретч?

У програмах, які складають у середовищі Скретч, усі команди можуть об’єднуватися по-різному, залежно від задачі, для розв’язування якої створюється програма. Для цього спочатку описують алгоритм, у якому можуть використовуватись алгоритмічні структури: слідування, повторення та розгалуження.

Якщо для розв’язування задачі потрібно виконати послідовні дії, коли кожна наступна дія розпочинається після завершення попередньої та виконується тільки один раз, то команди розміщуються послідовно, як вагончики за потягом. Це — алгоритмічна структура слідування.

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

Алгоритми з використанням структури слідування називають лінійними.

Для розв’язування деяких задач потрібно повторити одні й ті самі дії кілька разів. Наприклад, для того щоб наповнити водою діжку місткістю 50 л, маючи десятилітрове відро, потрібно виконувати 5 разів одні й ті самі дії: набрати воду у відро, вилити воду в діжку. Отже, потрібно використати алгоритмічну структуру повторення.

Повторення — алгоритмічна структура, яка використовується для подання багаторазового виконання набору команд.

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

Якщо задача має кілька варіантів розв’язку залежно від істинності деякої умови, то використовують алгоритм із розгалуженням.

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

Наприклад, якщо ти переходиш перехрестя, яке регулюється світлофором, то коли вмикається зелене світло для пішохода, ти починаєш переходити дорогу, а коли горить червоне — очікуєш на тротуарі.

2. Як створити новий проект у середовищі Скретч?

Існує два способи створення проектів у середовищі Скретч: зміна існуючого або створення нового.

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

клацнути мишею на числі, ввести з клавіатури 30, то після запуску команди на виконання виконавець повернеться за годинниковою стрілкою на 30° замість 15. Щоб змінити порядок команд, їх спочатку «від’єднують» від сусідніх, а потім розташовують за встановленим порядком — просто перетягують мишею. Щоб додати до програми нову команду, її переміщують з набору команд в область складання програми на вкладці Скрипти перетягуванням миші (мал. 215).

Команду в області складання програми можна дублювати, вилучити, отримати про неї довідку та додати до неї коментар — пояснення, обравши відповідні вказівки з контекстного меню (мал. 216).

Мал. 215

Мал. 216

Цікаво

Слово дублювати означає — робити те саме вдруге. На відміну від дії копіювання, дія дублювання не переміщує скопійоване в буфер обміну.

Дублювати можна також і групу команд.

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

1) створити файл для нового проекту, вибравши команду Новий з меню Файл;

2) задати виконавців;

3) спланувати події, що відбуватимуться на сцені;

4) дібрати команди, які відповідатимуть запланованим подіям;

5) перемістити обрані команди з блоків команд в область складання програми;

6) задати значення параметрів команд;

7) упорядкувати та об’єднати команди в один блок;

8) запустити проект на виконання, перевірити правильність отриманого результату;

9) за потреби внести зміни до програми.

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

Складену програму для одного об’єкта можна перенести на доданий об’єкт. Для цього її перетягують на обраний об’єкт у списку об’єктів.

3. Які команди використовують у програмі в середовищі Скретч?

У навчальних середовищах виконання алгоритмів команди, з яких складають програму, часто об’єднують у групи й зображують у вигляді графічних елементів — цеглинок, які зручно вибирати та припасовувати, використовуючи пази (мал. 217).

Команди, які можна використати у програмі для виконання в середовищі Скретч, об’єднано в 10 груп (мал. 218). Розглянемо деякі з них.

Команди групи Рух використовують для створення подій переміщення виконавця по сцені. Так само, як у кінозалі можна знайти місце відповідно до купленого квитка, розташування виконавця визначається двома числами: X — позицією в рядку та Y — позицією у стовпці. У центрі сцени X = 0 й Y = 0. Якщо виконавця перемістити по горизонталі від центра праворуч, то його позиція в рядку відповідатиме X = а, де а — кількість кроків праворуч. Якщо виконавця переміщувати у зворотному напрямку, то вираз позиції в рядку

Мал. 217

Мал. 218

набуде вигляду X = -а, де а — кількість кроків, а знак «-» вказує на напрямок руху — ліворуч. Аналогічно при русі вгору від центра У = а, а вниз — У = -а.

Наприклад, команді відповідає подія на сцені: виконавець переміщується на 10 кроків уперед у тому напрямку, який вказано у властивостях виконавця. Число 10 — значення параметра команди, яке можна змінити при складанні програми.

Рухаючись по сцені, виконавець може залишати «слід» різного кольору та розміру — малювати. Команди малювання згруповані у групі Олівець. Наприклад, команду

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

Виконавець у середовищі Скретч може також змінювати свій вигляд: колір та відображення. Так само, як зображують у коміксах, виконавець може «говорити» чи «думати». Такі команди згруповані у групі команд Вигляд.

Наприклад, команда на сцені буде пов’язана з подією, зображеною на малюнку 219, яка триватиме дві секунди.

Команди, що забезпечують відтворення звуків і музики, містяться у групі Звук. Наприклад, виконання команди ти почуєш, якщо приєднати до системного блока колонки або навушники. Значення параметра цієї команди, яке, наприклад, дорівнює 1, задає ударний інструмент — малий барабан, а параметр 0.25 — темп звучання.

Команди, що задають події, на які мають реагувати об’єкти у проекті, містяться у групі Події. Найчастіше серед них обирають команду

Після натискання відповідної кнопки всі команди програми виконуватимуться автоматично.

Мал. 219

Примітка. Зверни увагу, що в команді Коли натисну то… та в більшості інших команд цієї групи є тільки один пазл, до якого можна приєднати інші команди. А це означає, що вони, як правило, розпочинають побудову програми у проекті.

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

нічого приєднати. Інші, наприклад можна використати у програмі після початку та перед закінченням у будь-якому місці.

Діємо

Вправа 1. Алгоритм.

Завдання. Відтвори алгоритм створення нового проекту в середовищі Скретч за посиланням:

http://LearningApps. org/view1146793.

Вправа 2. Гра.

Завдання. Відкрий файл Команди Рудого кота, який збережено в папці Алгоритми і програми, і пограй у гру: обирай команду за її поясненням. Якщо ти не помилишся, то виконавець Рудий кіт, подібно до виконавця в середовищі Скретч, виконає вказану команду. Ти отримаєш відзнаку та перейдеш на наступний рівень гри. Якщо ні — гра припиниться. Спробуй отримати 11 відзнак.

1. Відкрий файл Команди Рудого кота, який збережено в папці Алгоритми і програми.

2. Натисни на одну із запропонованих на екрані команд.

Переконайся, що твій вибір був правильним і ти можеш переходити на наступний рівень (мал. 220).

Мал. 220

Продовжуй гру до фіналу. Придумай, у якому проекті можна використати запропоновані команди.

4. Заверши роботу.

Вправа 3. Мелодії.

Завдання. Завантаж проект Мелодія, що міститься в папці Алгоритми і програми. Зміни поданих виконавців алгоритмів на інших, образи яких зберігаються в бібліотеці образів у категорії Люди. Встанови, які алгоритмічні структури реалізовано у програмах для кожного з виконавців.

1. Завантаж середовище Скретч. Відкрий проект Мелодія, що міститься в папці Алгоритми і програми.

2. Зміни вигляд виконавця Півень. Для цього перейди на вкладку Образи (мал. 221).

Обери Новий образ: У бібліотеці образів обери категорію Люди, у наборі доступних образів двічі клацни на зображенні обраного виконавця-юнака. Видали образ півня.

У списку властивостей об’єкта зміни назву виконавця, замінивши назву образу Півень на Співакі. Для цього клацни в полі назви образу та відредагуй її (мал. 222).

Мал. 221

Мал. 222

Запусти на виконання алгоритм дій виділеного виконавця. Для цього двічі натисни на будь-якій команді програми, що реалізує цей алгоритм. Які події відбуватимуться на сцені?

4. Виконай дії для зміни вигляду та назви виконавця для виконавців Ведмідь і Мавпочка. По черзі запускай програми цих виконавців. Чим відрізняються мелодії, які виконує кожен з виконавців? Порівняй команди, що складають програми кожного з виконавців.

5. Додай ще одного виконавця, обравши спосіб, зручний для дублювання складеної програми.

6. Натисни кнопку

Переконайся, що виконання програм усіх виконавців відбувається автоматично.

7. Закрий вікно проекту, не зберігаючи зміни.

Вправа 4. Садовий робот.

Завдання. У проекті Садовий робот за посиланням https://www. madewithcode.com/projects/robots із запропонованих блоків команд склади програму, за якою робот на кожному рівні гри буде вирощувати квіти в горщиках, за умови, що для того щоб розквітнув вазон, у горщику має бути подвійна порція рідини.

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

1. Відкрий браузер одним з відомих тобі способів. У рядок пошуку введи ключові слова: garden robot code. Переконайся, що у списку знайдених сайтів є вказане в завданні посилання.

2. На першому рівні для виконавця-робота склади програму за запропонованим початком (мал. 223). Переконайся, що двох команд: add water to pot (додати води до горщика) з параметром 2, move right (переміститись праворуч) недостатньо, щоб заповнити рідиною всі горщики.

Мал. 223

3. Визнач, яку алгоритмічну структуру ти реалізував на першому рівні.

4. Продовж гру. Для цього виконуй завдання та після їх завершення натискай кнопку продовження LET’S GO! (мал. 224).

Підказка: — у перекладі з англ. — повторити.

5. На кожному з рівнів визначай, яку алгоритмічну структуру ти реалізував та чим кожна зі структур відрізняється.

6. Заверши роботу з браузером.

Мал. 224

Досліджуємо

Вправа 5. Зміна значення параметра команди Задати інструмент.

Завдання. У середовищі Скретч виконавці можуть грати на різних музичних інструментах. Досліди, що зміниться при виконанні алгоритму Кіт-музикант, якщо в команді

змінити параметр — номер інструмента.

Обговорюємо

1. Які команди слід використати під час складання програми в середовищі Скретч, щоб її виконавець переміщувався по сцені вгору-вниз?

2. У який блок об’єднані команди, з яких можна скласти програму відтворення музичного уривку в середовищі Скретч?

3. Які дії слід виконати, щоб виконавець змінював свій вигляд під час виконання програми в середовищі Скретч або залишав слід на сцені?

4. Чим відрізняються команди груп Події та Керувати в середовищі Скретч?

5. Якими способами можна складати програми в середовищі Скретч? У чому їхня відмінність?

6. Які алгоритмічні структури використовують під час створення алгоритмів? Наведи приклади лінійних алгоритмів, алгоритмів з розгалуженням та циклічних алгоритмів із твого життя.

7. Чим відрізняються лінійні та циклічні алгоритми?

8. Коли необхідно використати алгоритмічну структуру розгалуження під час створення алгоритмів?

Працюємо в парах

1. Запропонуйте одне одному запитання, для яких відповідями були б слова зі списку: виконавець, образ, об’єкт, подія, команда, група команд, параметр команди, команди групи Рух, команди групи Олівець, команди групи Звук, команди групи Вигляд, команди групи Керувати.

2. По черзі пропонуйте одне одному твердження, які інший має продовжити. Наприклад: «Щоб створити подію переміщення виконавця по сцені ліворуч на 10 кроків, потрібно обрати…». Програє той, хто не зможе закінчити почате твердження або не зможе запропонувати своє запитання.

3. Обговоріть, які події можуть відбуватися з виконавцем на сцені програмного середовища Скретч, якщо в алгоритмі будуть використані такі команди:

4. Згадуючи літній відпочинок, Петрик вирішив розповісти своїм однокласникам про випадок, що стався з ним на морі. Одного дня на березі моря він побачив великого краба, який рухався вздовж берега. Щоб продемонструвати цю подію, він вирішив створити проекту середовищі Скретч. Обговоріть, команди якої групи буде використовувати хлопчик.

Міркуємо

5. Розглянь малюнки 225, а-д. Укажи, який тип алгоритмів ілюструє кожний з них: лінійний, алгоритм із розгалуженням або циклічний.

Мал. 225

6. Поліна мріє організувати у школі маленький зоопарк. Щоб розповісти про свої плани однокласникам, вона вирішила в навчальному середовищі виконання алгоритмів Скретч створити проект Наш зоопарк. Запропонуй, які об’єкти може використати дівчинка. Поміркуй, які події можуть відбуватися з об’єктами. Передбач, команди яких блоків потрібно буде використати.

Оціни свої знання та вміння

ü Я розрізняю лінійні алгоритми, алгоритми з розгалуженням та циклічні алгоритми.

ü Я можу визначити тип алгоритму для розв’язування поставленої задачі.

ü Я можу назвати основні команди, з яких складаються алгоритми в середовищі їх опису та виконання.

ü Я вмію створювати новий проекту середовищі Скретч.

Словничок

Лінійний алгоритм, алгоритм із розгалуженням, циклічний алгоритм.





Відвідайте наш новий сайт - Матеріали для Нової української школи - планування, розробки уроків, дидактичні та методичні матеріали, підручники та зошити