2.7. Оператор CONTINUE. Операторы перехода. Условные операторы

Оператор CONTINUE - пустой оператор, он не выполняет никаких действий и используется, как правило, для улучшения структуры программы. Он практи­чески всегда имеет метку.

Оператор перехода в языке FORTRAN имеет три разновидности: безуслов­ный, вычисляемый и по предписанию. Безусловный оператор перехода записы­вается в виде:

GOTO метка

Вычисляемый оператор перехода:

GOTO (список меток)целое выражение передает управление на метку из списка меток с порядковым номером, равным значению целого выражения. Оператор перехода по предписанию имеет вид

GOTO целая переменная Этой целой переменной предварительно должна быть присвоена одна из меток программы специальным оператором:

ASSIGN метка TO переменная Целочисленная переменная, которой оператором ASSIGN была присвоена метка, допускает еще одно применение - ее можно использовать в операторах READ и PRINT вместо метки формата. Обратите внимание, что обычный оператор при­сваивания переменная=метка в этом случае не годится.

Условный оператор IF в языке FORTRAN также имеет три формы: логиче­ский IF, арифметический IF и блочный IF. Логический оператор IF записывается в виде:

IF (логическое выражение)оператор Здесь оператор - это любой выполняемый оператор, кроме логического и блоч­ного IF. Логический IF содержит только один исполняемый оператор и не имеет ELSE-конструкции, его используют в самых простых условных алгоритмах. Вто­рая форма условного оператора - арифметический оператор IF :

IF (арифметическое выражение)метка1,метка2,метка3 Он выполняется следующим образом: вычисляется арифметическое выражение (оно не должно быть комплексным), если его значение отрицательно, то осуще­ствляется переход на метку метка 1, если оно равно 0, то осуществляется пере­ход на метку метка2, и если оно положительно - на метку меткаЗ.

Блочный оператор IF является обобщением логического условного оператора и соответствует по своим возможностям и структуре условным операторам в языках PASCAL и C :

1¥(логическое выражение)ТНШ^

операторы ЕЬ8Е1Г(логическое выражение)ТНШ^

операторы

ELSE

операторы ENDIF

Формально ELSEIF, ELSE и ENDIF являются отдельными операторами и обя­зательно должны записываться в отдельной строке. Последовательности опера­торов после IF, ELSEIF, ELSE называют соответственно IF-блоком, ELSEIF-блоком и ELSE-блоком. В любом из блоков можно записать любое количество операторов. Операторы ELSEIF и ELSE могут отсутствовать, но оператор ENDIF обязателен. Операторы, входящие в блоки, сами могут быть условными, что позволяет записывать сколь угодно сложные условные конструкции.

Оператор выбора SELECT CASE аналогичен оператору CASE в языке PASCAL:

SELECT CASE(выражение)

CASE(список значений) операторы

CASE DEFAULT

операторы

END SELECT

Выражение должно иметь целый, логический тип или тип CHARACTER*! Список значений состоит из константных выражений соответствующего типа, разделенных запятыми или двоеточиями, например: SELECT CASE (i**2+3-m) CASE (-10:1,3,12,22:40)

PRINT*,'A' CASE (-30:-15,8:10,19,-12) GOTO 111

CASE DEFAULT

GOTO 222 END SELECT

В любом месте программы можно использовать оператор

STOP [параметр]

который прекращает выполнение программы. Здесь параметр - либо пусто, ли­бо строка символов, либо целая константа в диапазоне от 0 до 99999. Если опе­ратор используется без параметра, то на экран выдается сообщение STOP -Program terminated. Если параметр задан строкой символов, то на экран выво­дится только эта строка. Если параметр задан целой константой, то выводится сообщение Return code константа.

Оператор PAUSE служит для временной приостановки выполнения про­граммы и имеет точно такой же синтаксис, как и оператор STOP. Если оператор выполнен без параметра, то на экран выводится сообщение Pause - Please enter a blank line (to continue) or a DOS command . Если задан параметр - символьная строка, то выводится эта строка, если задан параметр - константа, то выводится сообщение Pause - константа. После этого пользователь может совершить одно из трех действий: ввести пустую строку, ввести любую команду DOS или ввести слово COMMAND, затем любое количество команд DOS, а затем команду EXIT. После выполнения этих операций выполнение программы продолжается обыч­ным образом.