Матеріал до уроків інформатики "Вивчаємо Scratch. Розгалудження, вкладене в цикл (підпрограми)" можна використовувати на уроках інформатики в 6 класі. В цій розробці містяться методичний матеріал, завдання і задачі, тест для перевірки знань і вмінь учнів по данній темі.
ВИВЧАЄМО SСRATCH
Розгалуження, вкладене в цикл (підпрограми)
Часто, працюючи над програмою, програміст помічає, що деяка послідовність інструкцій зустрічається в різних частинах програми кілька разів.
Наприклад:
1) Обчислюється однаковий вираз декілька разів.
2) Знаходиться сума чисел.
3) Використовується однакова формула декілька разів
Можна уникнути дублювання коду в програмі. Для цього треба оформити інструкції, які зустрічаються в програмі кілька разів, як підпрограму, і замінити інструкції, оформлені у вигляді підпрограми, інструкцією виклику підпрограми. Отже, підпрограма — це невелика програма, яка розв'язує частину загальної задачі.
Переваги використовування підпрограм очевидні. По-перше, в програмі немає дублювання коду, що скорочує трудомісткість створення програми, робить більш зручним процес налагодження та внесення змін.
По-друге, значно підвищується надійність програми. Слід звернути увагу, що підпрограми використовують не тільки тоді, коли потрібно уникнути дублювання коду. Зручно велику задачу розділити на декілька підзадач і оформити кожну задачу як підпрограму. В цьому випадку значно покращується "читабельність" програми і, як наслідок, істотно полегшується процес налагодження.
Підпрограма (анг. subroutine) – частина програми, яка реалізує певний алгоритм і дозволяє звернення до неї з різних частин загальної (головної) програми.
Цикл з передумовою — цикл, тіло якого виконують при справдженні умови, вказаної перед його початком
Справдження умови перевіряють кожного разу перед виконанням тіла циклу. Якщо ця умова не справджується при звертанні до циклу (до першої ітерації), то тіло циклу не буде виконано жодного разу.
Цикл з післяумовою — цикл, тіло якого виконують до справдження певної умови.
Справдження умови перевіряють кожного разу після виконання тіла циклу, тому тіло циклу з післяумовою буде виконано принаймні один раз.
У цьому різновиді циклу умова перевіряється перед виконанням тіла циклу, тому цикл не буде виконаний жодного разу, якщо зазначена умова не наступить. Блок завжди якщо знаходиться в стані очікування і запускає тіло циклу в той момент, коли дотримується зазначена умова. Цикл буде повторюватися до тих пір, поки перевірка умови даватиме результат істина. Якщо умова помилкова, дії всередині циклу не виконуються.
Складання та виконання алгоритмів з повторенням і розгалуженням Щоб створені в середовищі Scratch проекти були більш потужними та реалістичними, використовують різноманітні комбінації вкладень команд повторення та розгалуження. Розрізняють внутрішні та зовнішні команди. При створенні алгоритмів і Scratch-проектів використовують вкладки, коли зовнішнім блоком є команда повторення, а внутрішнім — розгалуження, і навпаки. Нижче представлено деякі випадки використання вкладень команд повторення та розгалуження.
Досить часто для створення проектів у Scratch використовують сукупність команд безумовного циклу та скороченої форми розгалуження у вигляді блоків завжди і якщо
Слушно зауважити, що немає сенсу використовувати вкладену конструкцію, адже в Scratch передбачено оператор завжди якщо, що відповідає команді повторення з передумовою.
Справді, вони виконують однакові функції. До того ж оператор завжди якщо має перевагу в швидкості виконання. Проте є в цього оператора і недолік — він містить у собі лише одне якщо, натомість в альтернативну конструкцію їх можна вставити скільки завгодно, а також використати оператор розгалуження із повною формою якщо — інакше. У середовищі Scratch для створення проектів використовують різноманітні комбінації команд повторення та розгалуження. Розрізняють внутрішні та зовнішні команди. При створенні Scratch-проектів використовують вкладки, коли зовнішнім блоком є команда повторення, а внутрішнім — розгалуження, і навпаки. Щоб вийти з безумовного циклу, який створено в середовищі Scratch за допомогою команди завжди, використовують одну із заглушок зупинити скрипт або зупини все, яку додають до умовного оператора якщо. У середовищі Scratch комбінування блоків завжди та якщо рівносильне до команди завжди якщо. Проте оператор завжди якщо виконується швидше, а завдяки сукупності операторів завжди та якщо можна вставити скільки завгодно вкладень умовного оператора, а також використати оператор розгалуження із повною формою якщо — інакше.
Перевірьте свої знання і пройдіть тест: https://onlinetestpad.com/t/b08acf2dfaff45aab6be3b43d09f7cbf
1. Опишіть та порівняйте принципи виконання безумовного циклу та циклів з умовами. 2. Які команди використовують у Scratch для виконання різних видів циклів? 3. Як ви думаєте, чому всі сучасні мови програмування використовують команди реалізації циклів? 4. Може блок завжди якщо знаходитися всередині скрипта? 5. З якою метою використовують комбінування операторів повторення та розгалуження? 6. Як можна здійснити завершення команди завжди в середовищі Scratch? 7. Які види алгоритмів реалізовано завдяки операторам завжди та якщо?
Завдання: 1. Скласти два сценарії, за якими диск-жокей жонглюватиме кульками: а) допоки ви не натисните клавішу Пробіл; б) щоразу, коли ви натискатимете клавішу Пробіл. 2. Скласти скрипт, за яким на сцені проекту створювалась би рамка з кольорових рибок. 3. Скласти скрипт, за яким на сцені проекту створювалась би рамка з кольорових метеликів. 4. Створіть сценарій, у якому використовуються події змінення тла та змінення образу, і складіть проект, у якому реалізується цей сценарій і використовуються вкладені цикли і розгалуження. 5. Складіть проект у середовищі Scratch, у якому клоун Боб відійде від верхньої межі Сцени на 400 кроків і намалює квадрат зі стороною 75 кроків, якщо він стоїть біля цієї межі, і підійде до верхньої межі Сцени, якщо він біля неї не стоїть. 6. Складіть проект у середовищі Scratch, у якому будь-який образ відійде від верхньої межі Сцени на 200 кроків і намалює прямокутник зі сторонами 90 і 60 кроків, якщо він стоїть біля цієї межі, і підійде до верхньої межі Сцени, якщо він біля неї не стоїть. 7. Складіть проект у середовищі Scratch, у якому виконавець поки не доторкнеться до межі, грає мелодія, якщо він отримає повідомлення «Музико, зіграй!». 8. Складіть проект у середовищі Scratch, у якому виконавець рухається на 250 кроків уперед, якщо отримає повідомлення «Уперед». 9. Складіть проект у середовищі Scratch, у якому виконавець рухається на 300 кроків угору, якщо отримає повідомлення «Угору». 10. Складіть проект, у якому виконавець Кіт переміститься вгору на 100 кроків, якщо буде натиснуто клавішу стрілка вгору або вниз на 100 кроків, якщо буде натиснуто клавішу стрілка вниз. 11.Створити проект із двома клоунами, що виконують під музику кожен свій танець по черзі. 12. Складіть проект, у якому виконавець 5 разів змінить образ, якщо буде натиснуто клавішу Пробіл або переміститься на 50 кроків вправо, якщо буде натиснуто клавішу стрілка вправо. 13. Є 5 відер, у яких можуть бути вишні. Висипати вишні з усіх відер.
|