Операторные функции


Операторы STOP, PAUSE, GOTO, CONTINUE

 

Действие оператора STOP заключается в прекращении работы про-граммы с последующим выходом из нее. Нужно отметить, что такая ос-тановка все равно произойдет, когда компьютер дойдет до конца выпол-няемой программы.

Общий вид оператора STOP следующий:

STOP ‘сообщение’

где сообщение – это текстовое сообщение, выводимое на экран при действии оператора STOP.

Оператор PAUSE применяется, если нужно на время приостановить выполнение программы (например, для того, чтобы прочитать промежуточные результаты). Выполнение программы возобновляется, в частности после нажатия клавиши ENTER на клавиатуре. Оператор PAUSE был признан устаревшим в стандарте Fortran 90 и удален из стандарта Fortran 95.

Оператор (безусловного) перехода GOTO.

Оператор перехода имеет вид:

GOTO метка

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

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

 

Пример 1.11.1. Составить программу вычисления частного от деления двух вещественных чисел, предусмотрев выдачу сообщения об ошибке при делении на нуль.

Реализующая программа на языке Фортран имеет вид:

program sample_1_11_1 real a,b,c print *,’ Vvedite delimoe, chislo a’ read *,a print *,’ Vvedite delitel, chislo b’ read *,b print *,’ Delimoe, chislo a=’,a,’; Delitel, chislo b=’,b if(b==0) stop ’Error! b=0’ c=a/b print *,’ Rezultat: chastnoe, chislo c=a/b=’,c end

Результаты расчета (задано a=36, b=18):

Delimoe, chislo a= 36.00000 ; Delitel, chislo b= 18.00000

Rezultat: chastnoe, chislo c=a/b= 2.000000

Вид оператора STOP в данном примере следующий:

STOP ‘сообщение’

где сообщение – это текстовое сообщение, выводимое на экран при действии оператора STOP.

 

Операторные функции задаются (описываются) так:

имя функции ([список формальных параметров]) = выражение

Если список формальных параметров содержит более одного имени, то имена (в частности, имена простых переменных) разделяются запятыми. Формальные параметры показывают, как функция зависит от своих аргументов, но не определяют, при каких конкретных значениях аргументов эта функция будет вычисляться.

Имя функции составляется по общим правилам составления имен в Фортране. Тип операторной функции следует объявлять явно, размещая ее имя в операторе объявления типа. В противном случае тип операторной функции определяется ее именем (т.е. «по умолчанию»).

Описание операторной функции помещается в начале программы, до первого исполняемого оператора, но после операторов описаний (если они есть).

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

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

Пример фрагмента программы:

real(4) :: f,x,y,g,a,b,w,z=4. f(x,y)=sqrt(x**2+y**2) ! Описание операторной функции f g(a)=2.*atan(2./a) ! Описание операторной функции g h(x,y,b)=f(x,y)+g(b)+sin(x) ! Описание операторной функции h w=f(z,1.); v=h(2.,3.,z) ! Обращение к операторным функциям

Как видно, для вычисления операторной функции h, используются операторные функции f и g. Подчеркнем, что в этом случае описание операторной функции h должно следовать после описания функций f и g, а описание операторных функций f и g могут идти в произвольном порядке.

В стандарте Fotran 95 операторные функции признаны устаревшей формой.