ЛР12. Аргументи за замовчуванням, перевантаження, шаблон функції та тести
Коротко про роботу
Невеликий набір допоміжних функцій має однаковий стиль виклику для кількох числових випадків. Варіант визначає STUDENT_X.
Відкрити робочий зошит Як виконувати лабораторні
1. Умова
Невеликий набір допоміжних функцій має однаковий стиль виклику для кількох числових випадків.
Усі обчислення виконуйте з даними свого STUDENT_X. Значення варіанта друкує перша комірка зошита.
2. Що треба знати
Робота виконується після Л1–Л6. Потрібні поняття:
- аргумент за замовчуванням
- перевантаження функцій
- перший шаблон функції
assertі передумова
Межа матеріалу
Використовуйте поняття, вивчені до Л1–Л6. Не використовуйте шаблони класів або складні узагальнені конструкції. Потрібний лише перший шаблон функції.
3. Варіант, вхідні дані та результат
У зошиті заповніть STUDENT_NAME, STUDENT_GROUP і STUDENT_X від 1 до 30.
Вхідні дані
| Поле | Зміст |
|---|---|
base |
базове ціле |
explicit_delta |
явна зміна |
int_value |
ціле для перевантаження |
double_value |
значення double для перевантаження |
int_a |
перше ціле для шаблону |
int_b |
друге ціле |
double_a |
перше значення double |
double_b |
друге значення double |
Поля результату
| Поле | Зміст |
|---|---|
default_adjusted |
adjust(base) |
explicit_adjusted |
adjust(base, explicit_delta) |
int_magnitude |
результат перевантаження для int |
double_magnitude |
результат перевантаження для double |
larger_int |
результат шаблону для int |
larger_double |
результат шаблону для double |
Назви полів результату не змінюйте.
4. Терміни і правила
Терміни
- аргумент за замовчуванням — значення параметра, яке використовується, якщо аргумент пропущено.
- перевантаження функції — кілька функцій з одним ім’ям і різними наборами параметрів.
- шаблон функції — узагальнене визначення функції для кількох типів.
Правила
adjust(value, delta = 1)повертаєvalue + delta. Виклик без другого аргументу використовуєdelta = 1.- Два перевантаження
magnitudeприймають відповідноintіdoubleта повертають невід’ємну величину значення. - Шаблон функції
larger(a, b)повертає більше з двох значень одного типу. - Перевірте задані виклики через
assert; результат кожного виклику запишіть у відповідне контрольне поле.
5. Завдання
Завдання 1
Реалізуйте adjust(value, delta = 1). Запишіть результати двох викликів у default_adjusted і explicit_adjusted.
Завдання 2
Реалізуйте magnitude для int і double. Запишіть результати у int_magnitude та double_magnitude.
Завдання 3
Реалізуйте шаблон larger(a, b). Запишіть larger_int і larger_double та перевірте їх через assert.
6. Перевірка і здача
- Запустіть самоперевірку та виправте помилки.
- Перезапустіть ядро і виконайте роботу ще раз від початку.
- Збережіть
.ipynbі PDF з кодом та результатами.
Назва PDF: LR12_Прізвище_Група_VNN.pdf.