Управляющие операторы
В более сложных программах для управления порядком выполнения операторов служат управляющие операторы. Они дают возможность повторить группу операторов несколько раз, пропустить какую-то группу операторов и т.д.
Операторы, состоящие из одной строки, называются простыми операторами. Операторы, включающие в себя блоки, называются составными операторами
Необязательное имя может быть назначено любому составному оператору и должно быть правильным уникальным именем Фортрана, составленным по его правилам. Если имя оператора назначено, оно обязательно должно быть указано в его завершающей строке. Примеры использования имен будут приведены при описании операторов.
Основные виды управляющих операторов – операторы перехода и операторы циклов.
Операторы перехода
Операторы перехода изменяют порядок выполнения операций по сравнению с порядком, установленным в тексте программы. Условные операторы позволяют выбирать одно из нескольких возможных продолжений процесса выполнения программы. Они реализуют второй тип базовых конструкций – ветвление.
Условный оператор 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
Endifreplace
Обратите внимание на использование имени оператора.
Дата добавления: 2017-09-19; просмотров: 632;