Документация
Уроки Открыть IDE
На главную
Урок 8

Условный оператор и тип bool

Как научить программу принимать решения

Практическая задача: покупка йогурта

Представим, что вы пишете программу, которая считает, сколько денег останется после покупки:

Пример успешной покупки:

Сколько у вас денег: 100 Сколько стоит йогурт: 35 После покупки останется 65 денег!

Но что, если денег не хватит? Программа всё равно вычтет цену и покажет отрицательное число! Это нелогично. Нам нужно принять решение: покупать или нет.

Условный оператор: базовая форма

В Idyllium для принятия решений используется условный оператор:

Конструкция проверяет, является ли условие истинным. Если да — выполняются команды внутри фигурных скобок.

Слово if по-английски означает «если». Например:

Перевод на русский: «Если переменная N больше, чем 50, то вывести "ЪУЪ!"».

Защита от отрицательного баланса

Если денег достаточно:

Сколько у вас денег: 80 Сколько стоит йогурт: 25 После покупки останется 55 денег!

Если денег недостаточно — программа ничего не выведет, потому что условие ложно.

Несколько условий подряд

Программа может содержать сколько угодно условных операторов:

Пример с положительным числом:

Введите число: 42 Ваше число положительное!

Пример с нулём:

Введите число: 0 Ваше число равно нулю!

Полная форма условного оператора

Иногда нужно выполнять одно действие, если условие истинно, и другое — если ложно:

Условный оператор — это инструмент программирования, который позволяет при истинном условии выполнять одни действия, а при ложном — другие.

Если денег достаточно:

Сколько у вас денег: 30 Сколько стоит йогурт: 25 После покупки останется 5 денег!

Если денег не хватает:

Сколько у вас денег: 10 Сколько стоит йогурт: 25 Вам не хватает денег для покупки!

Что такое условие?

Условие — это выражение, которое является либо истинным, либо ложным.

Примеры:

  • 10 > 5 — истинное условие
  • 40 < 13 — ложное условие

В программировании существуют специальные значения: true — истина, false — ложь.

Тип данных bool

В Idyllium есть специальный тип bool для хранения логических значений:

true true false

Операторы сравнения

Существует шесть операторов, которые порождают логические значения:

  • < — меньше
  • > — больше
  • == — равно
  • >= — не меньше (больше или равно)
  • <= — не больше (меньше или равно)
  • != — не равно

Любой из них можно использовать в условии:

Оператор присваивания vs оператор сравнения

Важное различие:

  • = — оператор присваивания: берёт значение справа и записывает его в переменную слева;
  • == — оператор сравнения: проверяет, равны ли значения слева и справа, и возвращает true, если они равны.

Пример ошибки:

Idyllium не разрешает использовать оператор присваивания внутри условия — это всегда ошибка компиляции. Так детская опечатка не превратится в серьёзный баг.