Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lecton.DOC
Скачиваний:
4
Добавлен:
15.04.2019
Размер:
980.99 Кб
Скачать

1.4.7. Последовательный оператор

Для выполнения по­сле­довательно друг за другом двух дей­ствий, за­даваемых некоторыми опера­торами "ОПЕРАТОР1" и "ОПЕРАТОР2", в структурированной форме записывают фраг­мент текста следующего про­стого вида:

ОПЕРАТОР1

ОПЕРАТОР2

В неструктурированной форме данная запись эквивалентна записи вида:

Пункт 1. ОПЕРАТОР1.

Перейти к пункту 2.

Пункт 2. ОПЕРАТОР2.

Перейти к следующему пункту алгоритма,

частью которого является данный фрагмент.

Таким образом, при использовании структурированной формы окон­чание выполнения оператора автоматически (без дополнительных указа­ний) оз­начает переход к следующему оператору.

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

Условный оператор - составной оператор, используемый для реа­лизации одного из способов по­строения алгоритмов - разбора слу­чаев (см. 

1.4.2).

1-й вариант записи условного оператора. Пусть имеется некото­рое логическое выражение, которое обозначим словом "УСЛОВИЕ". При ис­тинности ло­гического вы­ражения "УСЛОВИЕ" должно выполняться дей­ствие, задавае­мое операто­ром "ОПЕРАТОР1". Если же выражение "УСЛОВИЕ" ложно (т.е. в противном случае), должно выполняться дей­ст­вие, за­даваемое оператором "ОПЕРАТОР2". В структурированной форме это записывается в виде:

если УСЛОВИЕ то

ОПЕРАТОР1

иначе

ОПЕРАТОР2

конецесли

Для конструирования условного оператора в нашем языке записи алго­рит­мов используются три ключевых слова: "если", "иначе" и "конецесли". Для наглядности записи алгорит­мов перед операторами, включаемыми в со­ставной оператор, принято встав­лять отступы из про­белов.

В неструктурированной форме условный оператор эквивалентен за­писи вида:

Пункт 1. Определить истинность логического

выражения УСЛОВИЕ.

Если оно истинно, то перейти к пункту 2,

иначе перейти к пункту 3.

Пункт 2. ОПЕРАТОР1.

Перейти к пункту 4.

Пункт 3. ОПЕРАТОР2.

Перейти к пункту 4.

Пункт 4. Перейти к следующему пункту алгоритма,

частью которого является данный фрагмент.

Приведенная выше форма записи условного оператора является ос­новной. Кроме нее используются и другие приводимые ниже вари­анты ус­лов­ного оператора.

2-й вариант записи условного оператора. Если нет необходимо­сти выполнять альтернативное действие, условный оператор можно записать в сокращенном виде:

если УСЛОВИЕ то

ОПЕРАТОР

конецесли

3-й вариант записи условного оператора. Если альтернатив­ное дей­ствие само по себе является условным оператором, как, например:

если УСЛОВИЕ1 то

ОПЕРАТОР1

иначе

если УСЛОВИЕ2 то

ОПЕРАТОР2

иначе

ОПЕРАТОР3

конецесли

конецесли

где

· при истинности выражения "УСЛОВИЕ1" выполняется оператор "ОПЕ­РАТОР1",

· при ложности выражения "УСЛОВИЕ1" и одновременно при ис­тин­ности выражения "УСЛОВИЕ2" выполняется оператор "ОПЕ­РА­ТОР2"

· при ложности выражения "УСЛОВИЕ1" и одновременно ложно­сти вы­ражения "УСЛОВИЕ2" выполняется оператор "ОПЕ­РА­ТОР3",

данный составной оператор может быть записан в следующем эк­вива­лент­ном сокращенном виде:

если УСЛОВИЕ1 то

ОПЕРАТОР1

иначеЕсли УСЛОВИЕ2 то

ОПЕРАТОР2

иначе

ОПЕРАТОР3

конецесли

где вводится новое ключевое слово: "иначеесли", полученное слиянием слов "иначе" и "если". При необходи­мости в одном условном операторе может быть не один, а не­сколько бло­ков вида

иначеесли УСЛОВИЕ то

ОПЕРАТОР

Может отсутствовать блок альтернативных действий, напри­мер:

если УСЛОВИЕ1 то

ОПЕРАТОР1

иначеесли УСЛОВИЕ2 то

ОПЕРАТОР2

иначеесли УСЛОВИЕ3 то

ОПЕРАТОР3

конецесли

В качестве примера применения условных операторов приведем структу­рированную форму записи приведенного в 1.4.5 алгоритма реше­ния линейного уравнения ax+b=0 с действительными коэффициентами:

числовой объект A

числовой объект B

¬ a

¬ b

если A ¹ 0 то

Выдать ответ: решением является число -b/a

иначеесли ¹ 0 то

Выдать ответ: решений нет

иначе

Выдать ответ: решением является любое число

конецесли

Заметим, что условие вида A ¹ 0 означает сравнение на неравенство зна­че­ния объекта с именем A и значения 0. Структурированная запись го­раз­до нагляднее и понят­нее приведенной в 1.4.5 не­ст­рук­ту­ри­ро­ван­ной за­пи­си того же алгоритма.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]