Оператор условия if
Оператор условия if является одним из самых популярных средств, изменяющих естественный порядок выполнения операторов программы. Он может принимать одну из следующих форм: · if <условие> then <оператор1> else <оператор2>; · if <условие> then <оператор>; В переводе с английского языка данные форматы можно определить как: · ЕСЛИ <условие> ТО <оператор1> ИНАЧЕ <оператор2> · ЕСЛИ <условие> ТО <оператор> Оператор условия if выполняется следующим образом. Сначала вычисляется выражение, записанное в условии. В результате его вычисления получается значение булевского типа. В первом случае, если значение выражения есть True (истина), выполняется <оператор1>, указанный после слова then (в переводе –“то”). Если результат вычисления выражения в условии есть False (ложь), то выполняется <оператор2>. Во втором случае, если результат выражения True, выполняется <оператор>, если False - оператор, следующий сразу за оператором if. Операторы if могут быть вложенными. Пример фрагмента программы с оператором условия if: … Read(Ch); if Ch='N' then Parol:= True else Parol:= False; Read(X); if Parol = True then if X = 100 then Write('Пароль и код правильные') else begin Writeln('Ошибка в коде'); Halt(1) end; … В данном примере с клавиатуры считывается значение переменной символьного типа Ch. Затем проверяется условие Сh='N'. Если оно выполняется, то переменной Parol булевского типа присваивается значение True, если условие не выполняется, False. Затем с клавиатуры считывается значение кода X. Далее оператор if проверяет условие Parol = True. Если оно имеет значение True, то выполняется проверка введенного пароля оператором if X=100. Если условие Х=100 имеет значение True, то выводится сообщение "Пароль и код правильные", и управление в программе передается на оператор, следующий за словом end, если оно имеет значение False, выполняется составной оператор, стоящий после, слова else, который выводит на экран видеомонитора сообщение "Ошибка в коде", и вызывает стандартную процедуру Halt(1) для остановки программы.
Особенность применения оператора if. При использовании вложенных условных операторов может возникнуть синтаксическая неоднозначность, например: if условие1 then if условие2 then <оператор1> else <оператор2> Возникающая двусмысленность, к какому оператору if принадлежит часть else <оператор2>, разрешается тем, что служебное слово else всегда ассоциируется (связывается) с ближайшим по тексту служебным словом if, которое еще не связано со служебным словом else. В связи с этим следует проявлять аккуратность при записи вложенных операторов условия. Пример 1. Составить программу, которая вычисляет частное двух целых чисел. В связи с тем, что делить на нуль нельзя, организовать контроль ввода данных. Для контроля вводимых значений делителя используем оператор условного перехода if... then... else. Текст программы может выглядеть следующим образом: program Primer1; var А, В: integer; Rezult: real; Begin Write('Введите значение делимого А: '); Read(A); Write('Введите значение делителя В: '); Read(В); if B=0 {Контроль ввода числа B} then Writeln('Ha нуль делить нельзя') {Условие выполнено} else {Условие не выполнено} begin Rezult:= А / В; Writeln('Частное чисел ',А,' и ',В, ' = ', Rezult); end; end.
Читайте также: IV. Условия обязательности хаджа Воспользуйтесь поиском по сайту: ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|