Операторы условного перехода
Структура условного оператора имеет следующий вид: IF <условие> THEN <оператор 1> ELSE <оператор 2>; где: IF, THEN, ELSE – зарезервированные слова (если, то, иначе); <условие> – произвольное выражение логического типа; <оператор 1>, <оператор 2> – любые операторы языка Турбо Паскаль. Условный оператор работает по следующему алгоритму. Вначале вычисляется условное выражение <условие>. Если результат есть TRUE (истина), то выполняется <оператор 1>, а <оператор 2> пропускается; если результат есть FALSE (ложь), наоборот, <оператор 1> пропускается, а выполняется <оператор 2>. Поскольку любой из операторов <оператор 1> и <оператор 2> может быть любого типа, в том числе и условным, а в то же время не каждый из «вложенных» условных операторов может иметь часть ELSE <оператор 2>, то возникает неоднозначность трактовки условий. Эта неоднозначность в Турбо Паскале решается следующим образом: любая встретившаяся часть ELSE соответствует ближайшей к ней «сверху» части THEN условного оператора. Условный оператор позволяет проверить некоторое условие и в зависимости от результатов поверки выполнить то или иное действие. Таким образом, условный оператор – это средство ветвления вычислительного процесса. Операторы условного перехода подразделяются на: простые и составные, на короткие и полные. Простой, короткий IF (если) Структура оператора имеет вид: IF (условие) THEN (оператор или метка); Пример 3. Вычислить y: = ln x , если x > 0. Программа имеет вид: Program PR3; Var y, x : real; begin writeln(‘ввести x’); Readln (x); {простой, короткий IF} IF x > 0 THEN y: = ln(x); writeln ( ‘x=’, x:7:2, ‘ y=’, y:7:2 ); end. Простой, полный IF Пример 4. Вычислить y = ln x , если X>0, иначе y=cos x. В примере 4 рассматривается не только вариант «тогда», но и «иначе». Программа имеет вид:
Program PR4; var x, y: real; begin writeln(‘ввести х’); Readln (х); {простой, полный IF} if x>0 THEN y:= ln (x) ELSE y:=cos(x); Writeln (‘x = ‘, x:6:2 , ‘ y = ‘, y:7:2) end. Если Х > 0, тогда выполняется оператор за словом THEN, иначе выполняется оператор, следующий за этой строкой. Составной, короткий IF Составной оператор – это последовательность произвольных операторов программ, заключенная в операторные скобки – зарезервированные слова BEGIN…END. Составные операторы – важный инструмент Турбо Паскаля, дающий возможность писать программы по современной технологии структурного программирования (без перехода GOTO). Язык Турбо Паскаль не накладывает никаких ограничений на характер операторов, входящих в составной оператор. Пример 5. Вычислить y=ln x, z=y–5×x, если x > 0. Оператор условия запишется в виде: IF x>0 then Begin y:=Ln(x); z:=y–5*x; Writeln (’y = ‘, y:7:2, ‘z =’, z:8:3) end; Составной, полный IF Рассмотрим задание примера 4, но вывод делается для каждого условия. Пример 6. Оператор условия запишется в виде: IF x>0 then Begin Y:=ln (x); Writeln (‘x = ‘, x:6:2 ,’ y =’, y:7:2); End Else begin Y:=cos (x); Writeln (‘x = ‘, x:6:2 ,’ y =’, y:7:2); End; В примере 6 после слов then, еlse операторы заключены в операторные скобки. ©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|