ЛР2. Перша програма C++ і контрольоване налагодження
Коротко про роботу
Невелике замовлення має ціну одиниці, кількість, доставку та окрему плату за пакування. Варіант визначає STUDENT_X.
Відкрити робочий зошит Як виконувати лабораторні
1. Умова
Невелике замовлення має ціну одиниці, кількість, доставку та окрему плату за пакування.
Усі обчислення виконуйте з даними свого STUDENT_X. Значення варіанта друкує перша комірка зошита.
2. Що треба знати
Робота виконується після Л1. Потрібні поняття:
- структура простої програми C++
- оголошення і присвоєння
std::cout- читання діагностики компілятора
Межа матеріалу
Використовуйте поняття, вивчені до Л1. Не використовуйте умови, цикли або власні функції для базового розрахунку.
3. Варіант, вхідні дані та результат
У зошиті заповніть STUDENT_NAME, STUDENT_GROUP і STUDENT_X від 1 до 30.
Вхідні дані
| Поле | Зміст |
|---|---|
unit_price |
ціна одиниці |
quantity |
кількість |
delivery |
вартість доставки |
packaging |
вартість пакування |
Поля результату
| Поле | Зміст |
|---|---|
subtotal |
вартість товарів |
base_total |
сума без пакування |
modified_total |
сума з пакуванням |
Назви полів результату не змінюйте.
4. Терміни і правила
Терміни
- діагностика компілятора — повідомлення компілятора про місце та тип помилки.
- логічна помилка — код компілюється, але обчислює неправильний результат для певних даних.
Правила
subtotalозначає вартість усіх товарів без доставки та пакування.base_totalвключає товари й доставку.modified_totalвключає товари, доставку та пакування.- Три дефектні фрагменти нижче незалежні. Виправлення одного фрагмента не повинно змінювати два інші.
Матеріал для налагодження
Після базового розрахунку розгляньте три незалежні фрагменти. Кожний містить рівно один навчальний дефект.
Фрагмент A — компіляція
double subtotal{unit_price * quantity}
std::cout << subtotal << "\\n";
Фрагмент B — ім’я
double subtotal{unit_price * quantity};
std::cout << sub_total << "\\n";
Фрагмент C — поведінка
double subtotal{unit_price * quantity};
double base_total{subtotal * delivery};
std::cout << base_total << "\\n";
Для кожного фрагмента зафіксуйте: сигнал, першопричину та мінімальне виправлення. Для логічного дефекту додайте числовий тест, який відрізняє правильну формулу від помилкової.
5. Завдання
Завдання 1
Обчисліть subtotal і base_total. Перед запуском запишіть очікувані значення.
Завдання 2
Перевірте фрагменти A, B і C. Для кожного запишіть помилку, її причину та виправлений рядок.
Завдання 3
Додайте вартість пакування та обчисліть modified_total. Виведіть subtotal, base_total і modified_total.
6. Перевірка і здача
- Запустіть самоперевірку та виправте помилки.
- Перезапустіть ядро і виконайте роботу ще раз від початку.
- Збережіть
.ipynbі PDF з кодом та результатами.
Назва PDF: LR02_Прізвище_Група_VNN.pdf.