Величини в циклах з передумовою
Цикл з передумовою використовується в алгоритмах у випадках, коли перед його виконанням не відомо, скільки разів повинні виконатися команди тіла циклу. Виконання команд тіла такого циклу відбувається до настання певної події.
Для реалізації циклу з передумовою у у Scratch призначена команда повторити до з групи Керування:
Умову циклу слід описати за допомогою блоків порівняння з групи Оператори:
.
В овальні поля блоків порівняння при створенні логічного виразу можна поміщати блоки змінних (група Змінні), блоки арифметичних операцій з групи Оператори, числові або текстові константи.
Складені умови, які використовують сполучники І, АБО, НЕ, у середовищі Скретч можна описати за допомогою блоків із групи Оператори:
Щоб описати складену умову, слід в шестикутники блоків І, АБО, НЕ помістити потрібні блоки порівняння.
Приклад:
Якщо певні дії треба повторювати доти, поки змінна Х не перевищує 100, слід:
- помістити в шестикутник умови блок порівняння «>»;
- створити змінну Х і перетягти блок змінної у лівве поле блоку порівняння;
- змінити число в правому полі на 100.
Зверни увагу!
Цикл виконується, поки умова Х>100 хибна, тобто, поки Х≤ 100.
Приклад:
Задача 1. Петрик вирішив поглибити знання іноземної мови і кожного дня вивчати на 5 слів більше, ніж за попередній день. Скільки днів знадобиться, щоб вивчити 1000 слів?
Створимо математичну модель задачі. Для її розв’язування треба створити три змінні:
- S – для загальної кількості слів, що вивчив Петрик,
- А – для кількості слів, що вивчені за день.
- N – для кількості днів, у які вивчалися слова.
Початкові значення цих змінних мають дорівнювати 0.
Цикл виконується доти, поки загальна кількість слів не перевищує 1000.
У тілі циклу повторюються дії:
- обчислити значення наступного доданку А;
- обчислене значення А додати до суми S;
- збільшити лічильник днів N на 1.
Скрипт цього проєкту з результатом його виконання наведено на малюнку:
Розглянемо застосування циклу з передумовою з використанням величин у проєкті, у якому виконавець повинен малювати вкладені квадрати.
Приклад:
Задача 2. Довжина сторони першого квадрату дорівнює a кроків, довжина сторони кожного наступного на 20 кроків більша, ніж довжина сторони попереднього. Малювати квадрати потрібно доти, доки довжина його сторони не перевищує 200 кроків.
Створимо математичну модель для цього проєкту. Перед циклом потрібно перемісти виконавця в початкову точку, наприклад (–10; –10), увести початкове значення змінної a, наприклад 20. Перед кожним виконанням команд тіла циклу перевіряється умова a > 200. І якщо результат виконання цієї команди Ні, то виконуються команди тіла циклу: малюється черговий квадрат, олівець переміщується в точку початку малювання наступного квадрата, довжина сторони квадрата змінюється на 20.
Проєкт для розв’язування цієї задачі та результат його виконання наведено на малюнку.
Зверни увагу!
В наведеному проєкті використовується конструкція «Вкладені цикли»: у зовнішній цикл з передумовою вкладено цикл з лічильником.
Джерела:
Інформатика : підруч. для 7-го кл. закл. заг. серед. освіти / Йосиф Ривкінд [та ін.]. — Київ : Генеза, 2020.