Два условия: AND и OR

Попасть в клуб нужно:

  • Иметь паспорт (условие 1)
  • И быть в чёрном списке (условие 2)

Это AND: оба условия должны быть правда одновременно.

А может быть: сходи в кино или в парк. Это OR: хотя бы одно из двух.

AND (&&): оба сразу

Вспомни клуб из прошлого урока. Теперь там два правила:

  1. Паспорт должен быть настоящим
  2. Список VIP-клиентов (не чёрный!)

Оба условия должны быть правда одновременно:

cpp
if (паспорт_настоящий && в_списке_VIP) {
  входи()
}

&& — это AND (и). Значит: оба сразу.

code шаг 1 из 4

Две переменные. Паспорт настоящий (true) И он в списке VIP (true).

Запомни: && требует, чтобы оба были правда.

AND: одно условие ложь

Но тебя нет в списке VIP (in_vip = false). Что будет?

code шаг 1 из 4

Первое условие true, но второе false.

Видишь? Даже если одно условие true, если второе false — весь && становится false.

Правило для &&:

  • true && true = true (оба правда ✓)
  • true && false = false (одно неправда ✗)
  • false && true = false (одно неправда ✗)
  • false && false = false (оба неправда ✗)

OR (||): хотя бы одно

Теперь другой сценарий: сегодня выходной, и ты можешь:

  • Или пойти в кино
  • Или пойти на пляж

Неважно какое из двух выберешь — оба варианта приносят счастье.

cpp
if (идёшь_в_кино || идёшь_на_пляж) {
  happy()
}

|| — это OR (или). Значит: хотя бы одно из двух.

code шаг 1 из 4

Первое условие false (в кино не идёшь), но второе true (на пляж идёшь).

Заметь: у тебя только один вариант true, но || уже happy!

Правило для ||:

  • true || true = true (оба правда ✓)
  • true || false = true (одного достаточно ✓)
  • false || true = true (одного достаточно ✓)
  • false || false = false (ничего нет ✗)

Проверь

Что выведется?

int age = 20;
bool has_money = true;

if (age >= 18 && has_money) {
  cout << "Bought";
} else {
  cout << "Can't buy";
}

Ещё:

Что выведется?

int age = 15;
bool has_money = true;

if (age >= 18 && has_money) {
  cout << "Bought";
} else {
  cout << "Can't buy";
}

OR — ещё:

Что выведется?

bool car = false;
bool bike = false;

if (car || bike) {
  cout << "Go";
} else {
  cout << "Walk";
}

Реальный пример: вход на концерт

Можешь попасть на концерт, если:

  • Возраст 16+ И деньги есть
cpp
int age = 17;
bool has_ticket = true;

if (age >= 16 && has_ticket) {
  cout << "Welcome to concert!";
} else {
  cout << "Not allowed";
}

Разбор:

  • age = 17, что больше 16? Да (true)
  • has_ticket = true? Да
  • true && true = true
  • Результат: "Welcome to concert!"

А если возраст 15?

  • age = 15, что больше 16? Нет (false)
  • false && true = false
  • Результат: "Not allowed"

Сложнее: OR с AND

Можешь поступить в университет, если:

  • (Сдал ЕГЭ НА 80+) ИЛИ (Призёр олимпиады)
cpp
int ege_score = 85;
bool olympiad_winner = false;

if (ege_score >= 80 || olympiad_winner) {
  cout << "You're in!";
} else {
  cout << "Try again next year";
}

Разбор:

  • ege_score >= 80? 85 >= 80? Да (true)
  • olympiad_winner? Нет (false)
  • true || false = true (одного условия достаточно!)
  • Результат: "You're in!"

Итог

&& (AND) — оба должны быть true:

cpp
if (condition1 && condition2) { ... }
  • true && true = true
  • Остальные = false

|| (OR) — хотя бы одно должно быть true:

cpp
if (condition1 || condition2) { ... }
  • false || false = false
  • Остальные = true

Запомни эти три сценария:

  1. Паспорт И в VIP → нужны оба → AND
  2. Кино ИЛИ пляж → выбери что-то одно → OR
  3. Возраст И деньги → нужны оба → AND

В следующем уроке: вложенные условия — if внутри if!

© 2026 aqlacademy.kz