Перейти до змісту

ЛР7. Типові схеми циклів і трасування

Коротко про роботу

Послідовність значень утворюється арифметичним правилом, тому її можна опрацьовувати без контейнера. Варіант визначає STUDENT_X.

Відкрити робочий зошит Як виконувати лабораторні

1. Умова

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

Усі обчислення виконуйте з даними свого STUDENT_X. Значення варіанта друкує перша комірка зошита.

2. Що треба знати

Робота виконується після Л1–Л4. Потрібні поняття:

  1. for, while, do-while
  2. лічильник і накопичувач
  3. break та continue
  4. сигнальне значення

Межа матеріалу

Використовуйте поняття, вивчені до Л1–Л4. Контейнери та масиви не потрібні. Дані для циклів задаються стартом, кроком і межею.

3. Варіант, вхідні дані та результат

У зошиті заповніть STUDENT_NAME, STUDENT_GROUP і STUDENT_X від 1 до 30.

Вхідні дані

Поле Зміст
start перше значення основної послідовності
step крок
n кількість значень
target ціль пошуку
sentinel_start початок послідовності із сигнальним значенням
sentinel_step її крок
sentinel_value значення-завершувач

Поля результату

Поле Зміст
for_sum сума n значень
for_best найбільше значення
search_found результат пошуку
search_iterations кількість перевірок до завершення
sentinel_count кількість значень до сигнального значення

Назви полів результату не змінюйте.

4. Терміни і правила

Терміни

  • накопичувач — змінна, що поступово збирає суму або інший підсумок.
  • сигнальне значення — спеціальне значення-завершувач; воно сигналізує кінець даних і саме не входить до результату.

Правила

  1. Основна арифметична послідовність містить рівно n значень: перше дорівнює start, кожне наступне збільшується на step.
  2. for_sum і for_best обчислюються за всіма n значеннями основної послідовності.
  3. Пошук перевіряє основну послідовність від першого значення до першого збігу з target. search_iterations рахує перевірки з target.
  4. Послідовність із сигнальним значенням починається з sentinel_start і зростає на sentinel_step. Значення sentinel_value завершує цикл і до sentinel_count не входить.

5. Завдання

Завдання 1

Через for опрацюйте n значень. Запишіть суму у for_sum, а найбільше значення — у for_best.

Завдання 2

Через while шукайте target. Запишіть результат у search_found і кількість перевірок у search_iterations.

Завдання 3

Напишіть цикл із сигнальним значенням. Кількість значень до сигналу запишіть у sentinel_count.

6. Перевірка і здача

  1. Запустіть самоперевірку та виправте помилки.
  2. Перезапустіть ядро і виконайте роботу ще раз від початку.
  3. Збережіть .ipynb і PDF з кодом та результатами.

Назва PDF: LR07_Прізвище_Група_VNN.pdf.