7.4.2.2 использовать логические операции в составных условиях
Цель урока:
1. Введение В программировании часто нужно проверять несколько условий одновременно. Например, можно проверить, находится ли число в определённом диапазоне или выполнены ли сразу два условия. Для этого в языке C++ используются логические операции, которые позволяют объединять простые условия в составные.
2. Логические операции Логические операции в C++ позволяют соединять несколько условий в одно сложное выражение.
Оператор
Название
Описание
Пример
&&
and
Логическое И
Истина (true), если оба условия верны
(a > 0) && (a < 10)
– число a больше 0 и меньше 10
true && true = true
true && false = false
false && true = false
false && false = false
||
or
Логическое ИЛИ
Истина (true), если хотя бы одно условие верно
(a < 0) || (a > 10)
– число a меньше 0 или больше 10
true || true = true
true || false = true
false || true = true
false || false = false
!
not
Логическое НЕ
Меняет значение на противоположное
!(a > 10)
– true, если a не больше 10
!true = false
!false = true
3. Составные условия в if
В C++ составные условия используются в конструкции if, которая выполняет код, если условие истинно.
Задача 1: Проверить, находится ли число number в диапазоне чисел на промежутке [10; 10].
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Введите число: ";
cin >> number;
if (number >= 10 && number <= 20) { // составное условие
cout << "Число в диапазоне от 10 до 20." << endl;
} else {
cout << "Число вне диапазона." << endl;
}
return 0;
}
Если введённое число находится между 10 и 20 (включительно), программа выводит, что оно в диапазоне.
Задача 2. Проверка чётного числа и его положительности
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Введите число: ";
cin >> number;
if (number % 2 == 0 && number > 0) { // проверка числа на чётность и положительность
cout << "Число положительное и чётное." << endl;
} else {
cout << "Число не соответствует условию." << endl;
}
return 0;
}
При вводе числа 16, программа выведет "Число положительное и чётное.", а при вводе чисел 5, -10, 0 - выведет "Число не соответствует условию.".
Задача 3. Проверка допустимого возраста
#include <iostream>
using namespace std;
int main() {
int age;
cout << "Введите ваш возраст: ";
cin >> age;
if (age < 0 || age > 120) { // проверка ввода некорректного возраста
cout << "Некорректный возраст!" << endl;
} else {
cout << "Возраст принят." << endl;
}
return 0;
}
Вопросы:
Какие логические операции используются в C++ для составных условий? Приведите их обозначения.
Объясните, почему в выражении (a > 5 && a < 10) значение будет false, если a = 3.
Напишите условие в C++, которое проверяет, является ли введённое пользователем число одновременно нечётным и отрицательным.
В следующем коде найдите ошибку и исправьте её:
if (age >= 18 || age <= 65) {
cout << "Вы трудоспособны." << endl;
}Почему исходное условие работает неправильно?
Упражнения:
Задачи:
Задача 1. Разработайте программу, которая спрашивает у пользователя температуру на улице и выводит сообщение:
"Очень холодно" (если температура ниже -10 градусов)
"Прохладно" (от -10 до 10 градусов)
"Тепло" (от 11 до 25 градусов)
"Жарко" (выше 25 градусов)
Задача 2. Напишите программу, которая проверяет, можно ли по заданному возрасту купить билет в кино: