Создание компьютерной программы аналогично разработке блок-схемы. Вы задаете те же вопросы:
● С чего я начинаю?
● С чего начинается процесс?
● Что происходит после этого? А дальше?
● Когда процесс заканчивается?
● Что я получу, когда процесс закончится?
Блок-схемы описывают ответы на эти вопросы в визуальной форме. Программы описывают то же в виде текста, однако суть от этого не меняется.
Аналогия с блок-схемой полезна также потому, что помогает объяснить и другие важные понятия.
Условные операторы — это выражения такого вида.
● Если X истинно/ложно, то делать Y.
● Если X не Y, то делать Z.
● Когда X истинно/ложно, то делать Y.
● Когда X не Y, то делать Z.
● Пока X истинно/ложно, делать Y.
● Пока X не Y, делать Z.
В данном случае X, Y и Z — это переменные, которые могут обозначать все что угодно. Переменные могут обозначать числа, как в элементарной алгебре, или слова. Иногда переменные — это отдельные буквы или символы, а иногда целые слова. В любом случае они обозначают объекты, с которыми мы работаем.
Условные операторы (ЕСЛИ, ТО, КОГДА И ПОКА — IF, THEN, WHEN и WHILE) подобны стрелкам с вопросами на блок-схеме. Представьте себе, что вы за рулем автомобиля: ЕСЛИ (IF) сигнал светофора красный, ТО (THEN) вы останавливаетесь. КОГДА (WHEN) сигнал светофора сменяется на зеленый, ТО (THEN) вы едете. КОГДА (WHEN) сигнал светофора желтый, ТО (THEN) вы тормозите, готовясь остановиться.
Имеет смысл остановиться на этих условных операторах немного подробнее, поскольку здесь есть несколько общих закономерностей. Условие истинно/ложно встречается довольно часто, а оператор ПОКА (WHILE) указывает не на одно конкретное действие, а на продолжение тех или иных действий.
Во всех случаях условный оператор содержит высказывание, которое определяет, нужно ли предпринимать какие-либо действия. Это высказывание называется условием и может принимать разные формы. Иногда условие представляет собой простое сравнение типа истинно/ложно (Сигнал светофора красный?), иногда математическое сравнение (Х больше 100?), а иногда содержит логическую конструкцию (Сигнал светофора НЕ красный?).