Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Условный оператор




...

Оператор условной передачи управления (рис. 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.

...

...

mylektsii.ru - Мои Лекции - 2015-2019 год. (0.018 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал