![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Условный оператор
Оператор условной передачи управления (рис. 1) используют для программирования ветвлений, т. е. ситуаций, когда возникает необходимость при определенных условиях выполнять различные действия. Условие записывают в виде логического выражения, в зависимости от результата которого осуществляется выбор одной из ветвей: если результат true, то выполняется оператор, следующий за служебным словом then, иначе - оператор, следующий за служебным словом else. Структура условного оператора имеет следующий вид: IF < условие> THEN < оператор1> ELSE < оператор2>, где IF, THEN, ELSE - зарезервированные слова (если, то, иначе); < условие> - произвольное выражение логического типа; < оператор1>, < оператор2> - любые операторы языка Турбо Паскаль.
В каждой ветви допускается запись одного оператора (в том числе и другого if) или составного оператора. Перед else точка с запятой не ставится никогда, так как в этом случае запись условного оператора продолжается. Рис. 1. Синтаксическая диаграмма < Оператор условной передачи управления>
рис.2 рис.3
В соответствии с синтаксической диаграммой допускается использовать оператор условной передачи управления с неуказанной (пустой) ветвью else. В некоторых случаях использование укороченных конструкций может привести к неоднозначности, например, не понятно, какому из двух вариантов схем алгоритма (рис. 2) соответствует фрагмент: if< условие1> then if < условие 2> then < действие 1> else < действие 2>; В этих случаях используется так называемое «правило вложенности»: альтернатива else всегда относится к ближайшему if, что соответствует варианту алгоритма на рис. 2, а. Если необходимо реализовать вариант алгоритма, изображенный на рис. 3, то используют операторные скобки: if< условие1> then begin if < условие 2> then < действие 1> end else < действие 2>; Пример 1. Разработать программу, которая вычисляет значение функции, заданной следующим образом: Программа должна начинаться с ввода значения аргумента. Затем в зависимости от того, в какой интервал попадает введенное значение, вычисляем значение функции по одному из заданных выражений. Текст программы имеет следующий вид. Program ex; Var x, y: real; Begin WriteLn('Введите значение аргумента.'); ReadLn(x); if abs(x)< =l then y: =abs(x) {первый отрезок} else if(abs(x)> l) and (abs(x)< =2) then y: =sqr(x) {второй отрезок} else y: -4; {третий отрезок} WriteLn('Ilpu x=', x: 8: 5, ' y=', y: 8: 5); End.
|