Назад
Зміст
Вперед
Задачі з неповним умовним оператором
Приклад 1
Дано номер місяця. Визначити пору року.
Дано: ціле додатне число, що є номером місяцю
Знайти: умови, при яких по цьому числу можна було б з’ясувати яка це пора року
(зима, весна, літо, осінь, чи це число не може бути номером місяця).
Змінні:
Вхідні:
Алгоритм
- Ввід числа n
- Розглянемо такі випадки:
- Зима, якщо n=12, 1, 2
- Весна, якщо 3<=n<=5
- Літо, якщо 6<=n<=8
- Осінь, якщо 9<=n<=11
- Помилка, якщо n<=0 або n>12
- Інших випадків бути не може, отже потрібно 5 неповних умовних операторів
Програма
#include <iostream>
using namespace std;
int main()
{
int n; // Оголошення змінної для зберігання номера місяця
cout << "month="; cin >> n; // Введення номера місяця
// Визначення пори року за номером місяця
if (n == 1 || n == 2 || n == 12) {
cout << "winter"; // Зима: січень, лютий, грудень
}
if (n >= 3 && n <= 5) {
cout << "spring"; // Весна: березень-травень
}
if (n >= 6 && n <= 8) {
cout << "summer"; // Літо: червень-серпень
}
if (n >= 9 && n <= 11) {
cout << "autumn"; // Осінь: вересень-листопад
}
if (n > 12 || n <= 0) {
cout << "error"; // Помилка при некоректному номері місяця
}
return 0; // Завершення програми
}
Перше відпрацьовування:
Друге відпрацьовування:
Приклад 2
Дано три різних цілих числа. Знайдіть добуток двох найменших з них.
Дано: три різних цілих числа
Знайти: найбільше число, а два інших числа перемножити та результат вивести на екран.
Змінні:
Вхідні:
- n1– перше число.
- n2– друге число.
- n3– третє число.
Вихідні:
- p– добуток двох найменших.
Алгоритм
- Ввід чисел n1, n2, n3.
- Знаходимо найбільше з трьох чисел. Це може бути:
- n1, якщо n1>n2 і n1>n3
- n2, якщо n2>n1 і n2>n3
- n3, якщо n3>n1 і n3>n2
- Інших випадків бути не може, отже потрібно 3 неповних умовних оператори, в
яких умова визначає найбільше число, а змінній p присвоюється добуток двох
інших чисел.
- Вивід значення p.
Програма
#include <iostream>
using namespace std;
int main()
{
int n1, n2, n3, p; // Оголошення змінних для трьох чисел та результату
cout << "n1="; cin >> n1; // Введення першого числа
cout << "n2="; cin >> n2; // Введення другого числа
cout << "n3="; cin >> n3; // Введення третього числа
// Визначення найбільшого числа та обчислення добутку двох інших
if (n1 > n2 && n1 > n3) {
p = n2 * n3; // Якщо n1 найбільше, множимо n2 та n3
}
if (n2 > n1 && n2 > n3) {
p = n1 * n3; // Якщо n2 найбільше, множимо n1 та n3
}
if (n3 > n1 && n3 > n2) { // Виправлено помилку: було n3>n1 && n3>n1
p = n1 * n2; // Якщо n3 найбільше, множимо n1 та n2
}
cout << p; // Виведення результату
return 0; // Завершення програми
}
Відпрацьовування:
Варіанти задач
Варіант 1
- Дано цифру (1, 2, 3, 4, 5, 6, 7, 8, 9). Надрукувати відповідну римську цифру.
- Дано номер місяця. Надрукувати його назву.
Варіант 2
- Надрукуйте номер чверті координатної площини, якій належить точка з координатами (x,y).
- Дано номер дня тижня. Виведіть на екран назву дня (1- понеділок,...).
Варіант 3
- Дано номер місяця. Виведіть на екран кількість днів у цьому місяці.
- Дано кут. Визначте його тип (гострий, прямий, тупий, розгорнутий, більше розгорнутого).
Варіант 4
- Дано возраст дитини. Визначте в якому класі вона вчиться. Наприклад, 6 років - 1-й клас, 7 років - 2-й клас.
- Дано ціле число, що визначає оцінку. Вивести опис оцінки (1-3: погано, 4-6: задовільно, 7-9: добре, 10-12: відмінно, інші випадки: помилка).
Варіант 5
- Дано температура. Виведіть стан у якому знаходиться вода при цій температурі (льод, вода, пар).
- Дано номер планети Сонячної системи. Вивести назву цієї планети.
Варіант 6
- Дано ціле число, що визначає кількість годин. Визначити, це ранок, день, вечір або ніч.
- Дано два дійсних числа. Яке з них більше і на скільки?
Варіант 7
- Дано номер місяця. Виведіть на екран кількість днів у цьому місяці (рік не високосний).
- Дано три дійсних числа. Добути корінь квадратний тільки з додатних.
Варіант 8
- Дано три дійсних числа. Піднести до квадрату тільки від’ємні.
- Дано 3 дійсних числа. Знайти серед них максимальне та його порядковий номер. Наприклад, для чисел 8, 2, 9 вивести 9 та 3.
Варіант 9
- Дано 3 дійсних числа. Знайти серед них мінімальне та його порядковий номер. Наприклад, для чисел 8, 5, 9 вивести 5 та 2.
- Дано 3 цілих числа. Відомо, що два з них співпадають між собою, а третє ні. Знайдіть порядковий номер цього числа. Наприклад, для чисел 8, 8, 9 вивести 3.
Варіант 10
- Дано 4 цілих числа. Відомо, що три з них співпадають між собою, а четверте ні. Знайдіть порядковий номер цього числа. Наприклад, для чисел 3, 8, 8, 8 вивести 1.
- Дани три різних цілих числа. Знайдіть добуток двох найбільших з них.
Варіант 11
- Дано номер місяця. Виведіть на екран кількість днів у цьому місяці (рік не високосний).
- Дани три різних цілих числа. Визначте найбільше та найменше.
Варіант 12
- Дано ціле число К (1<=К<=11), яке визначає клас. Визначити, це початкова школа, середня школа або старша школа.
- Дани три різних цілих числа. Визначте, яке з них середнє. Середнім назвемо таке число в трійці, яке більше найменшого з чисел, але менше найбільшого.
Варіант 13
- Дано ціле число K (1<=k<=365). визначте, яким днем тижня (понеділком, вівторком, ...) є k–й день не високосного року, в якому 1 січня – понеділок.
- Дано дві трійки дійсних чисел. У кожній трійці всі числа різні. Знайдіть середнє арифметичне максимальних чисел кожної трійки.
Варіант 14
- Дано дві трійки дійсних чисел. У кожній трійці всі числа різні. Знайдіть середнє арифметичне мінімальних чисел кожної трійки.
- Дано точка M(x,y). Визначте де вона знаходиться: в початку координат, на осі OX, на осі OY, у 1, 2, 3, 4 чверті координатної площини.
Варіант 15
- Дано дві трійки дійсних чисел. У кожній трійці всі числа різні. Знайдіть середнє арифметичне середніх чисел кожної трійки
(середнім назвемо таке число в трійці, яке більше найменшого з чисел, але менше найбільшого).
- Знайти взаємне розташування на числовій прямій відрізків [a, b] і [c, d]
(перетинаються, співпадають, не перетинаються, торкаються). На малюнку випадок – перетинаються.
Варіант 16
- Дано точка M(x,y). Визначте де вона знаходиться: на прямокутнику, усередині або зовні його.
- Дано три числа (деякі з них можуть співпадати). Вивести їх на екран за спаданням
Варіант 17
- Дано три числа (деякі з них можуть співпадати). Вивести їх на екран за зростанням.
- Робота світлофора запрограмована таким чином: з початку кожної години 3 хвилини горить зелений, 1 хвилину жовтий, 2 хвилини червоний, 3 хвилини горить зелений і т.д. Нехай спочатку часу пройшло t хвилин (число t дійсне). Визначте сигнал якого кольору горить у цей момент.
Назад
Зміст
Вперед