Інформація про новину
  • Переглядів: 842
  • Дата: 2-09-2020, 21:37
2-09-2020, 21:37

30. Цикли з умовами

Категорія: Інформатика





Попередня сторінка:  29. Поняття циклу. Цикл з лічильником
Наступна сторінка:   31. Вкладені цикли

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

Цикл з умовою в Scratch представлений з допомогою оператора повторити до....

Блок-схема та відповідний Scratch-блок зображені на рис. 3.155.

У цьому циклі тіло циклу буде виконуватися доти, доки не виконається умова. При виконанні умови цикл завершується. Якщо умова виконається відразу, то тіло циклу не виконається жодного разу.

Рис. 3.155. Блок-схема (а) та відповідний Scratch-блок (б) циклу

завжди якщо

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

ВПРАВА 26

Завдання. Створити проект реалізації наступних подій.

Хлопчик підкидає гральну кістку-кубик, на шести гранях якого нанесено комбінації крапок, що символізують числа 1,2,3, 4, 5, 6. Необхідно визначити, яка знадобиться кількість підкидань кубика до досягнення заданої користувачем загальної суми крапок. Оскільки при підкиданні кубика немає гарантії, що загальна сума крапок буде рівно такою, яку ввів користувач, то будемо вважати, що як тільки сума стане дорівнювати вказаному значенню або перевищить його, підрахунок кількості підкидань закінчується.

I. Визначимо вхідні та вихідні дані.

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

Також в якості даних є значення, яке ми будемо отримувати при кожному підкиданні кубика, його позначимо змінною а.

Результат виконання проекту, кількість підкидань до досягнення заданого числа надамо змінній k.

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

II. Розглянемо блок-схему реалізації даного проекту.

1. Уведення змінної х, що приймає значення, до якого спід підкидати кубик.

2. Установлення початкових значень для змінних S та k.

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

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

5. Надання змінній S суми попереднього значення S та значення а.

6. Збільшення значення змінної k на 1.

7. Виведення поточного значення змінної к.

8. Після цього знову здійснюється перехід до перевірки умови S>x.

9. Тіло циклу буде виконуватися до тих пір, поки умова не стане істинною.

10. Як тільки умова стане істинною, буде здійснено вихід із циклу і виконання проекту буде завершено.

III. Створіть проект реалізації даного алгоритму.

1. Додайте до проекту спрайти хлопчика та кубика. Для спрайта кубика додайте ще п’ять його образів (файли із зображеннями кубика ви можете взяти в електронному додатку до підручника).

2. Створіть скрипт для спрайта хлопчика.

а) Додайте команду коли прапорець натиснуто.

б) Уведіть значення числа, додавши команди запитати Уведіть число і чекати і надати х значення відповідь (рис. 3.158).

в) Надайте змінним Si k значення 0 з використанням команд надати значення. Ці змінні будуть мати початкове значення 0, оскільки до підкидання кубика кількість підкидань та сума набраних очок при підкиданні дорівнюють нулю (рис. 3.159).

г) Додайте блок повторити до ... . Створіть у ньому умову, в якій необхідно перевірити, що набрана сума очок при підкиданні дорівнює або більша, ніж уведене користувачем число. Отже, математичною мовою це буде команда порівняння S>x (рис. 3.160).

Наступні команди розташуйте всередині блоку завжди якщо, ґ) Надайте значення змінній а з допомогою команди надати а значення випадкове від 1 до 6.

д) Аби це значення додавалося до змінної s, застосуйте команду змінити s на а.

е) Також додайте команду змінити k на 1 для підрахунку кількості підкидань кубика.

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

ж) Додайте команду чекати 1 секунд, що дозволить демонструвати підрахунок кількості підкидань з інтервалом 1 секунда (рис. 3.161).

3. Цікаво було б побачити в проекті зміну граней на кубику, відповідно до значення, яке на ньому випадає. Для цього всередину блоку повторити до... додайте команду оповістити кубик і перейдіть до створення скрипта кубика (рис. 3.162).

а) Спочатку додайте команду коли я отримую кубик.

б) Наступною додайте команду змінити образ на а. Тут а — значення випадкового числа від 1 до 6, яке буде одержано при виконанні відповідної команди для спрайта хлопчика. Оскільки образів кубика також шість і кожен його номер відповідає кількості зображених на кубику крапок, то ви побачите на кубику кількість крапок, що дорівнює значенню змінної а (рис. 3.163).

4. Запустіть проект на виконання. Введіть число 15. Ви маєте побачити, що значення кубика змінюється, а хлопчик повідомляє кількість підкидань. Як тільки значення S стане рівним або більше за введене вами значення х, тіло циклу перестане виконуватися.

5. Збережіть файл з ім’ям Вправа_26.

вправи 27, 28

зможете в електронному додатку.

Висновки

Цикли, тіло яких виконується за певних умов, називають циклами з умовами.

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

Контрольні запитання та завдання

1. Що таке цикл з умовою?

2. У чому полягає принцип виконання дій у циклі повторити до...?

3. У чому відміннсть у циклі з лічильником та у циклі з умовою?

 

Це матеріал з підручника Інформатика за 7 клас Казанцева, Стеценко 

 




Попередня сторінка:  29. Поняття циклу. Цикл з лічильником
Наступна сторінка:   31. Вкладені цикли



^