Завдання: Вкладені Оператори If
Вкладений оператор if — це просто оператор if всередині іншого оператора if. Така структура дозволяє перевіряти кілька умов послідовно та виконувати певні блоки коду.
nested_if.h
1234567891011121314if (condition1) { // Code block 1 if (condition2) { // Code block 2 if (condition3) { // Code block 3 } } }
Зовнішній оператор if виконує роль контролера, і залежно від його оцінки, може відкрити доступ до іншого оператора if всередині. Розгляньте ситуацію, коли потрібно визначити заробітну плату працівника залежно від його результативності.
main.cpp
12345678910111213141516171819202122232425#include <iostream> int main() { int current_salary = 1000; int completed_tasks = 17; int hours_worked = 37; // If the number of completed tasks is greater than 15, if (completed_tasks > 15) { // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; // And if the number of hours worked is more than 40 if (hours_worked > 40) { // add an additional 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; } } std::cout << current_salary << std::endl; }
Цей код обчислює нову зарплату працівника на основі кількості виконаних завдань і відпрацьованих годин: підвищення на 20% застосовується, якщо кількість завдань перевищує 15, і додаткове підвищення на 20% — якщо кількість відпрацьованих годин перевищує 40. Як видно, поточний розрахунок становить 1200. Досягти такого результату можна лише за допомогою вкладених операторів if. Нижче наведено спроби отримати таку ж логіку без їх використання.
main.cpp
12345678910111213141516171819202122232425#include <iostream> int main() { int current_salary = 1000; int completed_tasks = 9; int hours_worked = 41; // If the number of completed tasks is greater than 15, if (completed_tasks > 15) { // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; } // If the number of hours worked is more than 40 if (hours_worked > 40) { // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; } std::cout << current_salary << std::endl; }
Спочатку може здатися, що це працює так само, але в цьому випадку працівник отримає додаткові 20% підвищення, незалежно від того, чи виконав він більше 15 завдань. Запустіть код і перегляньте результат — він показує значення 1200, хоча цього разу працівник не виконав більше 15 завдань.
main.cpp
1234567891011121314151617181920212223#include <iostream> int main() { int current_salary = 1000; int completed_tasks = 19; int hours_worked = 39; // If the number of completed tasks is greater than 15 // AND the number of of hours worked is more than 40 if (completed_tasks > 15 && hours_worked > 40) { // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; std::cout << current_salary << std::endl; } std::cout << current_salary << std::endl; }
У цьому випадку може здатися, що все працює правильно, але, на жаль, це також невірно — результат 1000. Це тому, що якщо працівник виконає більше 15 завдань, але не відпрацює понад 40 годин, він нічого не отримає. Тому потрібно використовувати вкладені оператори if, щоб отримати правильну реалізацію.
Вкладені оператори if надзвичайно корисні для створення процесів прийняття рішень і обробки складних сценаріїв у вашому коді. Завдяки ретельному проєктуванню структури коду та підтримці його читабельності, ви можете ефективно використовувати вкладені оператори if для написання продуктивних і зручних для супроводу програм.
Примітка
Вкладені оператори
ifнеобхідні в окремих випадках, але не завжди. У третій секції ми розглянемо, коли, чому та як їх уникати.
Swipe to start coding
Ви створюєте систему продажу квитків у кінотеатр. Вартість квитків залежить від віку клієнта та того, чи це вихідний чи будній день.
- Використайте вкладені оператори if для визначення ціни квитка:
- Якщо клієнту менше 18 років, стягуйте:
12.0у вихідні8.0у будні
- Якщо клієнту від 18 до 60 років, стягуйте:
20.0у вихідні15.0у будні
- Якщо клієнту понад 60 років, стягуйте:
16.0у вихідні10.0у будні
- Якщо клієнту менше 18 років, стягуйте:
- Поверніть ціну квитка з функції.
Приклад
calculateTicketPrice(16, true) → 12.0
calculateTicketPrice(30, false) → 15.0
calculateTicketPrice(70, true) → 16.0
Рішення
solution.cpp
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 7.69
Завдання: Вкладені Оператори If
Свайпніть щоб показати меню
Вкладений оператор if — це просто оператор if всередині іншого оператора if. Така структура дозволяє перевіряти кілька умов послідовно та виконувати певні блоки коду.
nested_if.h
1234567891011121314if (condition1) { // Code block 1 if (condition2) { // Code block 2 if (condition3) { // Code block 3 } } }
Зовнішній оператор if виконує роль контролера, і залежно від його оцінки, може відкрити доступ до іншого оператора if всередині. Розгляньте ситуацію, коли потрібно визначити заробітну плату працівника залежно від його результативності.
main.cpp
12345678910111213141516171819202122232425#include <iostream> int main() { int current_salary = 1000; int completed_tasks = 17; int hours_worked = 37; // If the number of completed tasks is greater than 15, if (completed_tasks > 15) { // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; // And if the number of hours worked is more than 40 if (hours_worked > 40) { // add an additional 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; } } std::cout << current_salary << std::endl; }
Цей код обчислює нову зарплату працівника на основі кількості виконаних завдань і відпрацьованих годин: підвищення на 20% застосовується, якщо кількість завдань перевищує 15, і додаткове підвищення на 20% — якщо кількість відпрацьованих годин перевищує 40. Як видно, поточний розрахунок становить 1200. Досягти такого результату можна лише за допомогою вкладених операторів if. Нижче наведено спроби отримати таку ж логіку без їх використання.
main.cpp
12345678910111213141516171819202122232425#include <iostream> int main() { int current_salary = 1000; int completed_tasks = 9; int hours_worked = 41; // If the number of completed tasks is greater than 15, if (completed_tasks > 15) { // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; } // If the number of hours worked is more than 40 if (hours_worked > 40) { // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; } std::cout << current_salary << std::endl; }
Спочатку може здатися, що це працює так само, але в цьому випадку працівник отримає додаткові 20% підвищення, незалежно від того, чи виконав він більше 15 завдань. Запустіть код і перегляньте результат — він показує значення 1200, хоча цього разу працівник не виконав більше 15 завдань.
main.cpp
1234567891011121314151617181920212223#include <iostream> int main() { int current_salary = 1000; int completed_tasks = 19; int hours_worked = 39; // If the number of completed tasks is greater than 15 // AND the number of of hours worked is more than 40 if (completed_tasks > 15 && hours_worked > 40) { // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; std::cout << current_salary << std::endl; } std::cout << current_salary << std::endl; }
У цьому випадку може здатися, що все працює правильно, але, на жаль, це також невірно — результат 1000. Це тому, що якщо працівник виконає більше 15 завдань, але не відпрацює понад 40 годин, він нічого не отримає. Тому потрібно використовувати вкладені оператори if, щоб отримати правильну реалізацію.
Вкладені оператори if надзвичайно корисні для створення процесів прийняття рішень і обробки складних сценаріїв у вашому коді. Завдяки ретельному проєктуванню структури коду та підтримці його читабельності, ви можете ефективно використовувати вкладені оператори if для написання продуктивних і зручних для супроводу програм.
Примітка
Вкладені оператори
ifнеобхідні в окремих випадках, але не завжди. У третій секції ми розглянемо, коли, чому та як їх уникати.
Swipe to start coding
Ви створюєте систему продажу квитків у кінотеатр. Вартість квитків залежить від віку клієнта та того, чи це вихідний чи будній день.
- Використайте вкладені оператори if для визначення ціни квитка:
- Якщо клієнту менше 18 років, стягуйте:
12.0у вихідні8.0у будні
- Якщо клієнту від 18 до 60 років, стягуйте:
20.0у вихідні15.0у будні
- Якщо клієнту понад 60 років, стягуйте:
16.0у вихідні10.0у будні
- Якщо клієнту менше 18 років, стягуйте:
- Поверніть ціну квитка з функції.
Приклад
calculateTicketPrice(16, true) → 12.0
calculateTicketPrice(30, false) → 15.0
calculateTicketPrice(70, true) → 16.0
Рішення
solution.cpp
Дякуємо за ваш відгук!
single