Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
68
Добавлен:
14.04.2015
Размер:
2.67 Mб
Скачать

Управляющие операторы

В более сложных программах для управления порядком выполнения операторов служат управляющие операторы. Они дают возможность повторить группу операторов несколько раз, пропустить какую-то группу операторов и т.д.

Операторы, состоящие из одной строки, называются простыми операторами. Операторы, включающие в себя блоки, называютсясоставными операторами

Необязательное имя может быть назначено любому составному оператору и должно быть правильным уникальным именем Фортрана, составленным по его правилам. Если имя оператора назначено, оно обязательно должно быть указано в его завершающей строке. Примеры использования имен будут приведены при описании операторов.

Основные виды управляющих операторов – операторы перехода и операторы циклов.

Операторы перехода

Операторы перехода изменяют порядок выполнения операций по сравнению с порядком, установленным в тексте программы. Условные операторы позволяют выбирать одно из нескольких возможных продолжений процесса выполнения программы. Они реализуют второй тип базовых конструкций – ветвление.

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

Наиболее употребительным условным оператором является оператор Ifи его разновидности. В оператореIfусловие выбора задается в виде логического выражения. Это логическое выражение должно быть заключено в скобки.

Оператор Ifпростойоператор, он пишется в одной строке, если нет символа переноса. ОператорIfпредставляет собой случай простейшего ветвления – выполнение одного действия по условию. Этот оператор имеет вид:

If (логическое выражение)действие

Здесь действие – исполняемыйпростойоператор, который будет выполнен при условии истинностилогического выражения.

Блок-схема оператора If.

Пример:

If(x > 0) write(*,*) ’x is positive'

Оператор If...Then

Оператор применяется, если при выполнении условия нужно выполнить несколько операторов.

[имя:] If (логическое выражение) then

Блок действий

Endif [имя]

Ключевое слово thenпишется в той же строке, что и логическое выражение.

Изображение данного оператора на блок-схеме:

Блок действий может содержать произвольное число любых исполняемых операторов (простых и составных), кроме оператораEnd. Этот блок будет выполняться, еслилогическое выражениеистинно, и не будет выполняться, если оно ложно.

Пример:

Обмен значениями переменных xиyприx < y.

replace: If(x < y)then

t = x

x = y

y = t

Endif replace

Обратите внимание на использование имени оператора.

Оператор If...Then...Else

Если необходимо выполнить альтернативные действия, конструкция If...thenможет быть расширена блоком else:

If(логическое выражение)then

Блок true

Else

Блок false

Endif

Внимание! Ключевое словоthenпишется в той же строке, что и логическое выражение, ключевое словоelse– в отдельной строке. Если нет «блока false», то иelseлучше не писать.

Изображение данного оператора на блок-схеме:

В такой конструкции при выполнении условия, заданного логическим выражением, выполняетсяБлок true, если условие не выполняется –Блок false.

Пример:

If(x>=0)then

y = sqrt(x)

Write(*,*)’x= ’, x, ’ y= ’, y

Else

Write(*,*)’x= ’, x, ’ x<0, y не определен’

Endif

Соседние файлы в папке Фортран_Лекции