Настал момент изучить следующую парадигму (или стиль) программирования, которая является под стилем Императивного – это Структурный стиль.
Что нового привнес собой Структурный стиль программирования? Это возможность ветвления программы. Т.е. теперь у нас появились условия, например, вас мама спрашивает: “Ты будешь с утра макароны или яичницу?”, и в зависимости от вашего ответа, мама приготовит тот или иной завтрак. Тоже самое в программировании – в зависимости от результата в условии, программа выполнит тот или иной участок кода.
Чтобы создать условие, нам понадобятся структурные операторы.
Как видите, их всего 6, но первым мы рассмотрим оператор, который не создает условие – это составной оператор.
Составные операторы представляют собой группу операторов, разделенных точкой с запятой, и заключенных в ключевые слова begin и end. Последний оператор – перед ключевым словом end – не нуждается в точке с запятой, хотя это допустимо (тогда говорят, что за последним написанным вами оператором идет пустой оператор). Составной оператор представляет собой способ группировки операторов, выполняемых последовательно.
Помимо создания третьего раздела в программе, процедуре или функции, составной оператор можно использовать там, где ожидается один оператор (об этом мы с вами поговорим чуть ниже по тексту).
Следующий структурный оператор – это условный оператор. Это как раз тот оператор, который создает условие, и в зависимости от результата условия, будет выполнятся тот или иной участок когда. Схематически он выглядит так:
А синтаксически так:
if Условие
then Оператор;
Давайте теперь опробуем этот условный оператор на практике. Создадим файл conditionalOperator и также назовем программу.
Далее создадим переменную i.
Присвоим i значение 7.
И теперь проверим с помощью условного оператора if если i больше 5, то выводим сообщение, что i больше 5. Сначала пишем ключевое слово if затем логическое выражение, результатом которого должно стать либо true, либо false.
Далее пишем ключевое слово then (можно на этой же строке, но я предпочитаю на следующей через табуляцию) и пишем оператор вывода.
Т.е. если условие после if будет true, то выполняется оператор после слова then, а если false, то then вместе с оператором игнорируется.
Но помните, я выше говорил, что составной оператор begin end может использоваться там где программа ждет один оператор? Здесь как раз такое место.
Условный оператор if также имеет в своем составе необязательное ключевое слово else, которое будет выполняться если условие ложное, т.е. логическое выражение получило false.
Как вы могли заметить, после слова en, которая находится перед else точки с запятой. Это просто такое правило – если есть ключевое слово else, то перед ним не должна быть точка с запятой.
Давайте напоследок в этом уроке изучим еще оператор ввода Read. Ввод данных – это передача информации в оперативную память для последующей их обработки. Основные устройства ввода – это клавиатура и файл. В этом уроке мы изучим ввод данных только с клавиатуры. В языке Pascal ввод данных также является одним из способов задания значений для переменных.
Рассмотрим это на практике. Вместо присвоения i:=7 давайте используем оператор Read и внутри скобок напишем имя переменной, для которой мы хотим задать значение с клавиатуры.
Запускаем программу.
В окне вывода появляется Ввод данных:
Естественно мы должны ввести значение, которое будет integer, иначе выйдет ошибка. Вводим значение 7 и нажимаем на кнопку “Ввести”.
В итоге в первой строке будет показано, что мы ввели, и дальше сработает условие if.
Если вы нажмете кнопку “Завершить” вместо “Ввести”, то программа просто завершится.
Также вместо кнопки “Ввести” вы можете просто нажать Enter. Теперь усложним задачу, и создадим 2 переменные.
Как видите, в операторе Read, если вы хотите задать значения двум переменным, то просто пишите их через запятую. Запускаем программу. В вводе данных пишем первое число, нажимаем Enter, затем второе число и снова нажимаем Enter.
Если вы хотите ввести сразу два значения разом, то можете их разделить пробелом или Tab, а затем нажать Enter.
Также существует оператор Readln, его основное отличие вы можете увидеть, когда будет происходить чтение с файла ( он нем мы поговорим позже). И еще Readln стирает данные введенные с клавиатуры с буфера оперативной памяти сразу после присвоение значения переменной. Если вы используете Read, то данные остаются в оперативной памяти.
В нашем случае, если вместо Read использовать Readln, то никакой разницы вы не увидите, т.е. при вводе с клавиатуры вы можете использовать либо Read, или Readln. Разница будет только в том останутся ли данные в оперативной памяти после присвоения переменной или нет.
Также можно после слова else ставить if создавая тем самым цепочку условных операторов соединенных между собой else if.