Інформація про новину
  • Переглядів: 23
  • Дата: 19-10-2021, 19:57
19-10-2021, 19:57

6.11. Цикл з передумовою в Lazarus

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





Попередня сторінка:  6.10. Цикл з лічильником в Lazarus
Наступна сторінка:   Cловник термінів з інформатики за 8 кла...

1. Який вигляд має і як виконується команда циклу з лічильником?

2. Який вигляд має і як виконується блок-схема циклу з передумовою?

3. У яких випадках в алгоритмах використовується цикл з лічильником, а в яких - цикл з передумовою?

Цикл з передумовою

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

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

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

знову визначається значення логічного виразу. І якщо воно знову дорівнює true, команди тіла циклу виконуються знову. І так буде відбуватися доти, доки значення логічного виразу не стане false, і тоді виконання команди циклу з передумовою закінчиться і буде виконуватися наступна команда.

Блок-схему циклу з передумовою наведено на малюнку 6.79.

Команда циклу з передумовою в мовах програмування

Команда циклу з передумовою в мовах програмування має такий вигляд:

(англ. while- поки).

Виконання команди циклу з передумовою відбувається так: обчислюється значення логічного виразу; якщо це значення дорівнює true, то виконуються команди тіла циклу, після чого знову обчислюється значення логічного виразу, і якщо це значення знову дорівнює true, то знову виконуються команди тіла циклу, після чого знову обчислюється значення логічного виразу; якщо значення логічного виразу дорівнює false, то команди тіла циклу не виконуються, а виконується команда, наступна за циклом.

Звертаємо вашу увагу:

• якщо в тілі циклу лише одна команда, то операторні дужки begin і end можна не використовувати;

• серед команд тіла циклу можуть бути й лінійні фрагменти, і розгалуження, й інші цикли.

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

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

Побудуємо математичну модель для цієї задачі:

• вхідні дані: перший доданок (а), число, на яке наступний доданок більше за попереднє, (3), число, яке має перевищити сума чисел, (100)\

• кінцеві результати: кількість доданків (л);

• формули: а = а + 3, s = s + a, s <= 100

З трьох вхідних даних одне потрібно вводити (а), а два інші - конкретні числа. У задачі має бути один кінцевий результат, який потрібно виводити.

Перед початком циклу присвоїмо змінній s, яку використаємо для збереження суми, значення першого доданка. А змінній л, яку використаємо для збереження кількості взятих доданків, присвоїмо значення 1, бо в сумі вже враховано один (перший) доданок.

До суми потрібно додавати наступні доданки, доки ця сума буде менша або дорівнюватиме 100. Тому логічний вираз у заголовку циклу матиме вигляд s <= 100. У тілі циклу шукатимемо наступний доданок (а := а + 3), додаватимемо його до поточного значення суми (s := s + а) та збільшуватимемо кількість доданих доданків на 1 (л := л + 1).

Блок-схему алгоритму розв’язування цієї задачі наведено на малюнку 6.80.

Відповідний фрагмент проекту має такий вигляд:

Тестувати проект, що містить цикл з передумовою, доцільно для таких наборів даних, щоб тіло циклу не виконувалося жодного разу; виконувалося 1 раз; 2 рази; З рази; 5 разів і за потреби при інших наборах даних.

Так, наприклад, для тестування фрагмента проекту

можна взяти такі значення а:

• а = -2 - тіло циклу не виконуватиметься жодного разу;

• а = 3 - тіло циклу буде виконано 1 раз;

• а = 7 - тіло циклу буде виконано 2 рази і т. д.

Працюємо з комп'ютером

Виконайте тренувальні завдання за посиланням

https://cutt.ly/6hdr1D2

або QR-кодом.

Найважливіше в цьому пункті

Блок-схему циклу з передумовою наведено на малюнку 6.79.

Команда циклу з передумовою в мовах програмування має такий вигляд:

Виконання команди циклу з передумовою відбувається так: обчислюється значення логічного виразу; якщо це значення дорівнює true, то виконуються команди тіла циклу, після чого знову обчислюється значення логічного виразу; якщо значення логічного виразу дорівнює false, то команди тіла циклу не виконуються, а виконується команда, наступна за циклом.

Лайте вілповілі на запитання

1*. Який вигляд має блок-схема циклу з передумовою? Поясніть виконання цього циклу.

2*. Як виконується цикл з передумовою в алгоритмі?

3°. Який вигляд має команда циклу з передумовою в мові програмування?

4*. Як виконується команда циклу з передумовою?

5е. Чи можуть команди тіла циклу з передумовою не виконуватися жодного разу? Поясніть свою відповідь. Наведіть приклади.

6е. Чи можуть команди тіла циклу з передумовою виконуватися тільки один раз? Поясніть свою відповідь. Наведіть приклади.

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

8*. У яких випадках в алгоритмі потрібно використовувати цикл з лічильником, а коли - цикл з передумовою?

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

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

Виконайтезавлання

1. Виконайте алгоритм:

2*. Виконайте фрагмент програми та з’ясуйте, якими будуть значення змінних після його завершення:

3е. Виконайте фрагмент програми та з’ясуйте, якими будуть значення змінних після його завершення:

4*. Складіть текстові задачі за алгоритмами їх розв’язування із завдання 1.

5*. Складіть текстові задачі за алгоритмами їх розв’язування із завдання 2.

6*. Побудуйте математичну модель і складіть проект для визначення, за скільки годин робітник виконає план в х деталей, якщо за першу годину роботи він виготовив у деталей, а за кожну наступну годину виготовляє на 1 деталь більше, ніж за попередню. Збережіть проект у папці з іменем Завдання 6.11.6, створеній у вашій папці.

7*. Побудуйте математичну модель і складіть проект для визначення, за скільки годин турист подолає відстань 20 км, якщо за першу годину він пройшов 6 км, а за кожну наступну годину проходить на 1 км менше, ніж за попередню. Збережіть проект у папці з іменем Завдання 6.11.7, створеній у вашій папці. 8*. Створіть проект для обчислення середнього арифметичного додатних чисел, перше з яких дорівнює 100, а кожне наступне менше від попереднього на задане додатне число. Збережіть проект у папці з іменем Завдання 6.11.8, створеній у вашій папці.

9*. Побудуйте математичну модель і створіть проект для визначення, на скільки років вкладниця має покласти х грн до банку, щоб отримати від банку більше за а грн прибутку, якщо банк щорічно збільшує вклад на р %. Збережіть проект у папці з іменем Завдання 6.11.9, створеній у вашій папці.

10*. Створіть проект для знаходження найбільшого спільного дільника двох натуральних чисел за алгоритмом Евкліда: поки числа різні, більше з них замінювати різницею більшого та меншого; коли числа стануть рівними, то кожне з них дорівнюватиме їх НСД. Збережіть проект у папці з іменем Завдання 6.11.10, створеній у вашій папці.

11*. Спортсменка, готуючись до участі в марафоні, у перший день тренувань подолала дистанцію в s км. Кожного наступного дня її денна дистанція збільшувалася на р % від дистанції попереднього дня. Побудуйте математичну модель і створіть проект для визначення:

а) у який день тренувань спортсменка подолала дистанцію в s1 км;

б) у який день тренувань дистанція збільшиться на s2 км порівняно з попереднім днем.

Збережіть проект у папці з іменем Завдання 6.11.11, створеній у вашій папці.

12*. Об’єднайтеся в групу з 2-3 осіб для розробки спільного дослідницького проекту. Ознайомтеся з поняттям систем числення (наприклад, на сайті https:// nrs.rozh2sch.org.ua/), відшукайте відомості про їх значення в комп’ютерній галузі. Розробіть проект мовою програмування для переведення чисел між системами числення з різними основами. Презентуйте свій проект у класі.

ПРАКТИЧНА РОБОТА № 12 «Проекти із циклами»

Увага! Під час роботи з комп’ютером дотримуйтеся вимог безпеки життєдіяльності та санітарно-гігієнічних норм.

1. Побудуйте математичну модель і створіть проект для розв’язування задачі: Перед початком повені рівень води в річці становив Н см. Під час повені кожну годину рівень води зростав на Р см. Яким буде рівень води через N год після початку повені? Через скільки годин після початку повені рівень води буде не менший від К см?

2. Використайте в проекті поля для введення вхідних даних, поле для виведення відповіді на перше запитання задачі й дві кнопки. Біля кожного поля розмістіть написи для пояснювальних коментарів.

3. Складіть обробник події Click для першої кнопки, виконання якого приведе до виведення в поле відповіді на перше запитання задачі.

4. Складіть обробник події Click для другої кнопки, виконання якого приведе до знаходження відповіді на друге запитання задачі й виведення його у вікно повідомлень.

5. Збережіть проект у папці з іменем Практична 12, створеній у вашій папці.

 

 

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

 



Попередня сторінка:  6.10. Цикл з лічильником в Lazarus
Наступна сторінка:   Cловник термінів з інформатики за 8 кла...



^