Безусловный переход GoTo
Оператор безусловного перехода считается устаревшим. Злоупотребление им запутывает структуру программы и приводит к трудно обнаруживаемым ошибкам. Современные языки программирования (в том числе Фортран) позволяют в большинстве случаев обходиться без него.
Оператор имеет вид:
GoTo метка
Здесь метка – целое число без знака, состоящее не более, чем из 5 цифр.
Предупреждение. Если Вы все-таки решите использовать операторGoTo, то имейте в виду, что оператор без метки, следующий за GoTo, никогда не получит управления.
Операторы Stop и Return
В некоторых случаях необходимо завершить выполнение приложения, не дожидаясь физического конца программы, например, в случае обнаружения явной ошибки.
Оператор Stop имеет вид:
Stopсимвольная строка
При выполнении этого оператора выполнение приложения прекращается, на экран монитора выводится символьная строка, записанная в операторе. Строка в операторе Stopможет отсутствовать.
Пример. Использование оператора Stopво избежание деления на 0 или очень маленькое число.
If(abs(B)<1.E-8) Stop ‘значение В слишком мало’
С=A/B
Деления на 0 не произойдет, так как приложение закроется раньше.
Оператор Stopвсегда прерывает работу приложения, независимо от того, используется он в главной программе или в подпрограмме.
Оператор End служит для компилятора признаком завершения текста программы или подпрограммы. Поэтому оператор End всегда должен быть последним оператором в тексте программы или подпрограммы.
Оператор Return, в отличие от Stop, используется только в подпрограммах. Его выполнение завершает работу подпрограммы и передает управление в вызывающую программу.
Операторы цикла
Циклом называется многократное исполнение одной и той же последовательности операций до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла). Один проход цикла называется итерацией.
Изображение цикла на блок-схеме:
Для организации циклов в Фортране используется оператор цикла Do.
Общее представление всех разновидностей конструкции Do:
[имя:] заголовок цикла
Тело цикла
Enddo[имя]
Имеется три разновидности циклов в Фортране:
− цикл по переменной (с фиксированным числом повторений).
− Цикл Do while (цикл по условию).
− бесконечный цикл.
Общие правила для всех разновидностей оператора цикла:
1) Вход в тело цикла разрешается только через заголовок цикла.
2) Тело цикла может содержать вложенные простые и составные операторы, операторы цикла могут быть вложенными в другие блоки. Пересечение блоков не разрешается: блок, начавшийся внутри другого блока, в этом же внешнем блоке должен и закончиться. Соблюдение этого правила упрощается, если программа написана «лесенкой».
Пример. В теле цикла содержится оператор If.
Неправильно | Правильно |
Do k=1,10 If (k<5) then Write(*,*) ‘<5’ Else Enddo Write(*,*) ‘>=5’ endif | Do k=1,10 If (k<5) then Write(*,*) ‘<5’ Else Write(*,*) ‘>=5’ endif Enddo |
3) В циклах, и только в них, можно использовать операторы Exit и Cycle, изменяющие порядок следования операторов.
4) Как любому составному оператору, циклу можно давать имя. Имя является необязательным, но если оно указано в заголовке цикла, то становится обязательным для завершающего End do.
Дата добавления: 2017-09-19; просмотров: 428;