2. Цикл з передумовоюРозділ 4
§ 4.6
Розглянемо таку задачу.
Задача 1. Є діжка, відро і колодязь з водою.
Використовуючи відро, наповнити діжку водою.
3. Цикл з передумовоюРозділ 4
§ 4.6
Ми вже розглядали аналогічну задачу на заповнення
діжки водою. Але там було відомо, що діжка порожня,
ємність відра становить 10 л і діжки – 50 л.
1. Узяти відро.
2. Повторити 5 разів
1. Підійти до колодязя.
2. Набрати з колодязя повне відро
води.
3. Підійти з повним відром води до
діжки.
4. Вилити воду з відра в діжку.
3. Поставити відро.
Тому в тій
задачі можна було
одразу визначити,
що команди тіла
циклу
повторюватимутьс
я 5 разів.
4. Цикл з передумовоюРозділ 4
§ 4.6
Оскільки в цій задачі не відомо
То аналогічний висновок тут зробити неможливо.
ні яка
кількість
води в діжці
ні яка
ємність
діжки
ні яка
ємність
відра
Розглянемо того самого виконавця із системою
команд:
1)Наповнити відро водою з колодязя.
2)Вилити воду з відра в діжку.
3)Перевірити умову «Діжка неповна?».
5. Цикл з передумовоюРозділ 4
§ 4.6
Алгоритм розв’язування цієї задачі для розглянутого
виконавця виглядатиме так:
1. Перевірити умову «Діжка неповна?».
2. Якщо результат виконання попередньої команди Так,
виконати команду 3, інакше (тобто якщо результат
виконання попередньої команди Ні), виконати команду 6.
3. Наповнити відро водою з колодязя.
4. Вилити воду з відра в діжку.
5. Виконати команду 1.
6. Закінчити виконання алгоритму.
6. Цикл з передумовоюРозділ 4
§ 4.6
На малюнку наведено блок-
схему цього алгоритму.
У цьому алгоритмі команди 3-5
можуть бути виконані більше
одного разу і тому утворюють тіло
циклу. Чергове виконання цих
команд залежить від результату
виконання команди перевірки
умови «Діжка неповна?» у
команді 1. Якщо цей результат
Так, то команди 3-5 виконуються
ще раз, якщо ж Ні, то ці команди
більше не виконуються.
Блок-схема алгоритму
наповнення діжки водою
7. Цикл з передумовоюРозділ 4
§ 4.6
Звертаємо вашу увагу!
Команди тіла циклу саме можуть бути виконані
більше ніж один раз, а не обов’язково
виконуються більше ніж один раз. Адже розміри
відра та діжки можуть бути такі, що при першому
ж виливанні води з відра в діжку вона
наповниться, і виконання алгоритму закінчиться.
Крім того, діжка може одразу бути
повною. У такому разі команди тіла циклу
не виконуватимуться жодного разу.
8. Цикл з передумовоюРозділ 4
§ 4.6
Розглянутий вище цикл називають циклом з
передумовою.
Загальний вигляд
циклу з
передумовою
наведено на
малюнку.
9. Цикл з передумовоюРозділ 4
§ 4.6
Виконання такого циклу відбувається так: виконавець
виконує команду перевірки умови:
якщо результат виконання
цієї команди Так
якщо результат виконання
цієї команди Ні
то виконавець виконує
команди тіла циклу, після
чого знову виконує
команду перевірки умови
то виконавець переходить
до виконання першої
команди наступного
фрагмента алгоритму
10. Цикли з передумовою в ScratchРозділ 4
§ 4.6
У Scratch для організації циклу з передумовою можна
використати команду з групи Керувати.
Умова
Тіло циклу
11. Цикли з передумовою в ScratchРозділ 4
§ 4.6
Виконавець перевіряє умову не доторкається межі.
Якщо результат цієї перевірки Так, виконується команда
тіла циклу перемістити на 10 кроків. Після чого знову
перевіряється умова не доторкається межі. Як тільки
виконавець доторкнеться межі, виконання команди
циклу з передумовою завершується і виконавець
зупиниться біля межі.
Наприклад, виконуючи
команду циклу з
передумовою,
12. Цикли з передумовою в ScratchРозділ 4
§ 4.6
У Scratch можна організувати виконання так званого
безумовного циклу. Для цього можна використати
команду .
Щоб зупинити виконання
команд, розміщених у тілі
такого циклу, користувачу
слід натиснути кнопку
Зупинити.
13. Цикли з передумовою в Scratch
Алгоритми з повтореннями в середовищі Скретч.
Розділ 4
§ 4.6
14. Дайте відповіді на запитанняРозділ 4
§ 4.6
1. Що таке цикл в алгоритмі?
2. Який вигляд має блок-схема циклу з передумовою?
3. Як виконується цикл з передумовою?
4. Від чого залежить кількість виконань циклу з
передумовою?
5. Чи можуть команди тіла циклу з передумовою
не виконуватися жодного разу? Поясніть свою
відповідь, проілюструйте пояснення
прикладами.
15. Дайте відповіді на запитанняРозділ 4
§ 4.6
6. Чи може виконання циклу з передумовою ніколи не
закінчитися? Поясніть свою відповідь, проілюструйте
пояснення прикладами.
7. Що спільного і чим відрізняються цикл з лічильником
і цикл з передумовою?
8. Як виконується цикл з передумовою в Scratch?
9. Як організувати в Scratch безумовний цикл?