ЛР7. Самостійна задача з циклом і контрприкладом
Коротко про роботу
Лічильник ресурсу збільшується фіксованим кроком, доки поточне значення не перевищить межу. Варіант визначає
STUDENT_X.
Відкрити робочий зошит Як виконувати лабораторні
1. Умова
Лічильник ресурсу збільшується фіксованим кроком, доки поточне значення не перевищить межу.
Перша комірка зошита лише показує значення вашого STUDENT_X разом із типами. Вона не оголошує і не створює предметні
змінні. У коді кожного завдання перенесіть потрібні значення та самостійно оголосіть/створіть відповідні змінні.
2. Що треба знати
Робота виконується після Л1–Л4. Потрібні поняття:
- стан циклу
- умова завершення
- помилка на одиницю
- контрприклад і повторна перевірка
Межа матеріалу
Використовуйте поняття, вивчені до Л1–Л4. Не використовуйте контейнер або готову послідовність. Побудуйте повторення зі змін стану.
3. Варіант, вхідні дані та результат
У зошиті заповніть STUDENT_NAME, STUDENT_GROUP і STUDENT_X від 1 до 30.
Вхідні дані
| Поле | Тип | Зміст |
|---|---|---|
start |
int |
початкове значення |
step |
int |
крок зміни |
limit |
int |
максимальне значення, яке ще обробляється |
Поля результату
| Поле | Зміст |
|---|---|
iterations |
кількість оброблених значень |
total |
сума оброблених значень |
final_current |
перше значення після допустимої межі |
Назви полів результату не змінюйте. Перша комірка лише показує значення варіанта і не оголошує предметні змінні. Перед
розв’язанням кожного завдання самостійно оголосіть потрібні вхідні змінні з показаними значеннями. Власні та результуючі
змінні також оголошуйте звичайно, як у лекційних прикладах. Обчислення виконуйте у блоці { ... }; код над блоком
використовуйте лише там, де це позначено. Наприкінці блока вже є службовий рядок самоперевірки для контрольних полів —
його не потрібно писати або змінювати. Формат std::cout обирайте за змістом завдання: спеціального формату для
самоперевірки немає.
4. Терміни і правила
Терміни
- контрприклад — малий набір даних, на якому помилковий алгоритм дає інший результат, ніж правильний.
- регресійна перевірка — повторний запуск уже відомого тесту після виправлення, щоб переконатися, що помилка не повернулася.
Правила
- Розглядайте члени арифметичної послідовності
start, start + step, ..., які не перевищуютьlimit. iterations— кількість членів цієї послідовності, що не перевищуютьlimit.total— сума цих членів.final_current— перший наступний член послідовності, який уже перевищуєlimit.
5. Завдання
Завдання 1
Обчисліть iterations, total і final_current для значень, що не перевищують limit.
Завдання 2
Зробіть помилкову версію, де стан оновлюється у неправильному порядку. Знайдіть малий приклад, на якому результати відрізняються.
Завдання 3
Поверніть правильний порядок дій. Повторіть тест і перевірте дані свого варіанта.
6. Перевірка і здача
- Запустіть самоперевірку та виправте помилки.
- Перезапустіть ядро і виконайте роботу ще раз від початку.
- Збережіть
.ipynbі PDF з кодом та результатами.
Назва PDF: LR07_Прізвище_Група_VNN.pdf.