Управляющие структуры
Условный оператор
Условный операторпозволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Таким образом, условный оператор – это средство ветвления вычислительного процесса. Структура условного оператора имеет следующий вид:
If <условие> then <оператор1> else <оператор2>;
If, then, else –зарезервированные слова (если, то, иначе); <условие> - произвольное выражение логического типа; <оператор1>, <оператор2>- любые операторы языка Турбо Паскаль.
Выполнение условного оператора начинается с вычисления значения логического выражения, записанного в условии. Простые условия записываются в виде равенств или неравенств. Сложные условия составляют из простых с помощью логических операций, при этом каждое условие берется в скобки. Если условие истинно (true), то выполняется <оператор1>, а <оператор2> пропускается. Если условие ложно (false), то <оператор1> пропускается, а выполняется <оператор2>. Если в качестве оператора должна выполниться серия операторов, то они объединяются в операторные скобки begin - end. Пример 1. Вычислить значение выражения max(x+y+z, xyz) + 3 при заданных x, y и z:
Program ех_1; Uses crt; Var x, y, z, m: integer; Begin Clrscr; Writeln(‘Введите x, y и z: ’); Readln(x, y, z); If (x + y + z) > x * y * z then Begin m:= x + y + z + 3; Writeln(m); end Else writeln(x * y * z + 3); Readkey; End.
Ветвь else может отсутствовать, если в случае невыполнения условия ничего делать не надо. Тогда условный оператор называется неполным. Пример 2. Например, если значение переменной x меньше 0, то заменить x на
.
Program ех_2; Uses crt; Var x: integer; Begin Clrscr; Writeln(‘Введите x: ’); Readln(x); If x < 0 then x:=sqr(x); Writeln(x); Readkey; End. Вложенные операторы условия
Часто приходится выбирать путь решения задачи не из двух, а из нескольких возможных. В программировании это можно реализовать, используя несколько условных операторов. В этом случае после служебных слов then и else записывается новый условный оператор. Если элементами вложенных условных операторов служат неполные условные операторы, то служебное слово else относится к ближайшему if.
Пример 3. Даны целые числа a, b, c. Если a <= b <= c, то все числа заменить квадратами, если a > b > c, то каждое число заменить наименьшим из них, в противном случае сменить знак каждого числа.
Program ex_3; Uses crt; Var a, b, c: integer; Begin Clrscr; Writeln(‘Введите числа: ’); Readln(a, b, c); If (a <= b) and (b <= c) then Begin a:= sqr(a); b:= sqr(b); c:= sqr(c); End If (a > b) and (b > c) thenBegin a:=c; b:=c; End Else Begina:=-a; b:=-b; c:=-c; End; Writeln(‘a =’, a,’ b = ‘,b,’ c = ‘,c); Readkey; End.
Назад
Далее