Інформація про новину
  • Переглядів: 2187
  • Дата: 6-10-2021, 18:36
6-10-2021, 18:36

49. Цикли з умовою в Python

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





Попередня сторінка:  48. Використання циклу з параметром в Pyt...
Наступна сторінка:   50. Вкладені цикли в Python

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

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

Так, на рис. 49.1 представлена блок-схема такого виду циклу, а нижче наведено відповідний код мовою Python:

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

ПРАКТИЧНЕ ЗАВДАННЯ 1

Завдання. Розглянемо використання циклу з умовою на прикладі обчислення значення виразу: s = 2 + 4 + 6 + ...(n разів).

Визначимо вхідні та вихідні дані, а також проміжні змінні.

Вхідні дані: п — кількість доданків.

Вихідні дані: s — значення виразу.

Проміжні змінні: і — лічильник.

Дане завдання можна виконати з використанням як циклу з лічильником, так і циклу з умовою. Для порівняння наведемо приклади обох способів розв’язання задачі з використанням різних видів циклів.

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

ВПРАВА 49.1

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

Так, наприклад, якщо дано число 12456, то воно має 5 цифр, а сума його цифр дорівнює 1 + 2 + 4 + 5 + 6=18.

I. Визначення вхідних та вихідних даних.

Вхідні дані: a — дане число; вихідні дані: k — кількість цифр числа, s — сума цифр числа.

II. Алгоритм розв’язання задачі.

Алгоритм розв’язання задачі представлено у вигляді блок-схеми.

Розглянемо його покрокове виконання на прикладі числа 324 у таблиці 49.1.

Таблиця 49.1

III. Відповідно до розглянутої блок-схеми введемо програмний код.

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

2. Додайте оператор циклу з умовою:

3. Уведіть тіло циклу:

4. Виведіть результат після виконання циклу:

5. Запустіть програму та перевірте правильність її виконання.

ВПРАВА 49.2

Завдання. Сергій підкидає гральний кубик, на якому може випасти від 1 до 6 очок. Одержані значення він додає. Коли сума стане більшою, ніж 20, він закінчить підкидати кубик. Вивести, скільки йому знадобиться підкидань кубика та яку суму він одержить.

І. Визначення вхідних та вихідних даних.

Вхідні дані: х — випадкові числа від 1 до 6. Вихідні дані: s — сума, k — кількість підкидань.

II. Алгоритм розв’язання задачі.

Розв’язання задачі виконаємо відповідно до наведеної блок-схеми.

Для лічильника k та суми s укажемо початкові значення, рівні нулю. Далі вказуємо умову, що дії будуть виконуватися до тих пір, поки s < 20. У тілі циклу вводимо випадкове значення змінної х. Збільшуємо суму s на одержане значення х, а значення лічильника k збільшуємо на 1. Ці дії будуть виконуватися до тих пір, поки буде виконуватися умова циклу. Як тільки цикл буде завершено, виводимо значення k та s.

Визначення випадкових чисел

Оскільки в нашій програмі використовується введення випадкового числа, то перед тим, як увести програмний код розв’язання задачі, розглянемо, як уводити випадкові числа у Python. Уведення випадкових чисел здійснюється з використанням однієї із функцій модуля random.

У таблиці 49.2 наведено найчастіше уживані з них.

Таблиця 49.2. Функції' модуля random

Неважко здогадатися, що для одержання випадкового числа у задачі, де потрібно отримати цілу кількість очок в діапазоні від 1 до 6, доцільно скористатися саме функцією randint().

МІ. Відповідно до розглянутої блок-схеми введемо програмний код.

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

2. Установіть початкові значення k і s рівні нулю:

3. Уведіть команду оператору циклу з умовою:

4. У тілі циклу надайте змінній х ціле випадкове число у проміжку від 1 до 6:

5. Виведіть це значення, використовуючи команду print(x).

6. Уведіть команди збільшення значення змінної s на х та значення змінної k на 1.

7. За межами тіла циклу виведіть значення кількості та суми. print("k=",k,"s=",s)

8. Запустіть програму та перевірте правильність її виконання.

В результаті ви побачите виведені значення випадкових чисел від 1 до 6, а також їхні кількість та суму.

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

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

2. Опишіть послідовність дій виконання циклу з умовою.

Питання для роздумів

1*. Чи завжди замість циклу з умовою можна скористатися циклом з лічильником?

2*. Опишіть та порівняйте принцип виконання циклів з лічильником та циклів з умовою.

Завдання для досліджень

1*. Для цілих значень змінних а, п та х створіть програмний код знаходження значення виразів, використовуючи цикл з умовою:

 

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

 




Попередня сторінка:  48. Використання циклу з параметром в Pyt...
Наступна сторінка:   50. Вкладені цикли в Python



^