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

ЛР2. Перша програма C++ і контрольоване налагодження

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

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

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

1. Умова

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

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

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

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

  1. структура простої програми C++
  2. оголошення і присвоєння
  3. std::cout
  4. читання діагностики компілятора

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

Використовуйте поняття, вивчені до Л1. Не використовуйте умови, цикли або власні функції для базового розрахунку.

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

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

Вхідні дані

Поле Зміст
unit_price ціна одиниці
quantity кількість
delivery вартість доставки
packaging вартість пакування

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

Поле Зміст
subtotal вартість товарів
base_total сума без пакування
modified_total сума з пакуванням

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

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

Терміни

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

Правила

  1. subtotal означає вартість усіх товарів без доставки та пакування.
  2. base_total включає товари й доставку.
  3. modified_total включає товари, доставку та пакування.
  4. Три дефектні фрагменти нижче незалежні. Виправлення одного фрагмента не повинно змінювати два інші.

Матеріал для налагодження

Після базового розрахунку розгляньте три незалежні фрагменти. Кожний містить рівно один навчальний дефект.

Фрагмент 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. Перевірка і здача

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

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