1.6. СТРУКТУРА ПРОГРАММЫ

Фортран-программа состоит из операторов, которые выполняются последовательно, начиная с первого оператора. Порядок выполнения операторов может изменяться операторами выбора.

Текст программы начинается с оператора заголовка вида

PROGRAM<имя программы>

например

PROGRAM PROG1

Оператор заголовка в программе может отсутствовать. Далее идут невыполняемые операторы, например операторы описания типа, затем выполняемые операторы, в том числе ввода-вывода, реализующие алгоритм решения задачи, а заканчивается программа оператором END. Этот оператор является последним оператором любой фортран-программы и объявляет, что больше операторов в тексте программы нет.

Оператор STOP прекращает выполнение программы. Перед оператором END оператор STOP может отсутствовать.

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

PROGRAM SUMAB

  WRITE(*,*)'input A, B'  ! Вывод  надписи на экран

  READ(*,*) A, B              ! Ввод значений переменных A и B

  SUM=A+B                      ! Вычисление их суммы

  WRITE(*,*) SUM           ! Вывод значения суммы на экран

END

В приведенной программе отсутствуют операторы описания типа и, согласно описанию типа по умолчанию, переменные A, B и SUM относятся к величинам вещественного типа. Значения переменных A, B, вводятся с клавиатуры, а результат, т.е. значение переменной SUM, печатается на экране.

ПРИМЕРЫ:

1) Требуется вычислить значение многочлена

.

Программа, которая для любого действительного значения x и вещественных коэффициентов a, b, c, d вычисляет соответствующее значение многочлена y, имеет вид:

PROGRAM POLINOM

READ(*,*)X, A, B,C, D

Y=A*X**3+B*X**2+C*X+D

WRITE(*,*)' Y=  ',Y

STOP

END

В этой программе значения переменных x, a, b, c, d вводятся с клавиатуры, а результат печатается на экран.

ПРИМЕР: Требуется вычислить корни уравнения

, при условии что коэффициент отличен от нуля, а дискриминант уравнения больше или равен нулю. Программа имеет вид:

PROGRAM ROOTS

READ(*,*)A, B,C

D= B*B-4*A*C

X1=(-B+D**0.5)/(2*A)

X2=(-B-D**0.5)/(2*A)

WRITE(*,*)' D=  ',D, ' X1=  ',X1, '   X2=  ',X2

STOP

END


ЗАДАНИЕ:

Используя программу, вычислить корни квадратного уравнения с коэффициентами a=-3.3; b=0; d=1.5;

             Модифицировать программу, так чтобы значения коэффициентов задавались постоянными, а значения аргумента вводились с клавиатуры.