Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема1.doc
Скачиваний:
2
Добавлен:
04.11.2018
Размер:
699 Кб
Скачать
☆

1.4 Структура программы языка Фортран. Основные операторы программы с линейной структурой

Программа на Фортране состоит из главной программы и, возможно, некоторого числа подпрограмм. Первым оператором главной программы является её заголовок PROGRAM. За ним следует имя программы:

PROGRAM ИМЯ_ПРОГРАММЫ

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

PROGRAM SUMMATION

PROGRAM QUADRATIC_EQUATION_SOLVER45

Максимальная длина любого имени в программах на Фортране - 31 символ. Заключительный оператор главной программы может иметь также следующий вид:

END PROGRAM ИМЯ_ПРОГРАММЫ

ИМЯ_ПРОГРАММЫ является необязательной частью оператора.

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

При обработке информации программой выполняется три основных блока:

  1. ввод исходных данных;

  2. обработка данных согласно алгоритму;

  3. вывод результата из программы.

Пример:

Program itit

Integer :: a=10, b=20

End program init

Оператор Program задает имя программы. Оператор End обозначает окочание программы.

Вторая строка в программе означает, что переменные целого типа a и b содержат значения 10 и 20.

Пример. Программа сложения двух целых чисел:

Program sum

Integer a,b,c

A=100

B=20

C=a+b

End program sum

В программе описаны три переменные целого типа. Чтобы поместить в переменные определенные значения, используется оператор присваивания, который записывается как знак =. Его следует отличать от математического знака равно, который в Фортране используется как логический оператор для сравнения двух величин и обозначается = =. В данном случае a=100 означает, что переменной а присвоили значение 100. Таким образом, в переменных a и b будут храниться числа 100 и 20. Далее переменной присваивается сумма значений переменных a и b, то есть в с будет значение 120.

Для ввода данных в программу извне, а так же для вывода результатов за пределы программы из ячеек памяти используются операторы ввода/вывода.

Оператор ввода read (читать).

Integer a

Read (*,*), a

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

Операторы вывода Print (печатать) и Write(писать) служат для вывода на экран информации.

В приведенном ниже примере оба оператора выводят на экран приветствие Hello!. Заключение приветствия в одинарные кавычки показывает что выводит значение символьного типа. Внутри кавычек могут быть любые символы, которые в точности будут выведены на экран.

Print*, ‘Hello!’

Write(*,*),‘Hello!’

Можно улучшить вывод, если воспользоваться средствами форматирования. Для этого вместо звездочки в операторе Print и вместо второй звездочке в операторе Write указывается спецификация формата вывода. Спецификация формата – это набор дескрипторов преобразования, заключенных в ‘()’.

Основные дескрипторы:

А – вывод символов;

$ - запрет перехода на следующую строку;

/ - переход на следующую строку;

// - пропуск строки;

Nx – вывод n пробелов.

In – выделение n позиций для вывода целого числа

Fk.n – выделение k позиций для вывода вещественного числа, из которых n отводится на количество знаков после запятой

Ek.n – выделение k позиции под вывод числа в экспоненциальной форме. Из них 4 выделяется по показатель десятичной экспоненты, степень и знак степени (например e+04), 1 под точку, 1 под знак и n под дробную часть.

An - выделение n позиций для вывода строки символов

Ka – вывод k строк.

L – вывод логического значении T (true - истина) F (false - ложь).

Если при выводе числовой информации отвести меньшее количество символов, то будут выведены звездочки. Символьная информация в этом случае будет обрезана до указанного размера. В случае выделения большего места чем необходимо, то оставшееся место будет заполнено пробелами.

Например:

Write(*,’(a3)’), ‘Hello!’

На экране:

Hel

Write(*,’(a10)’), ‘Hello!’

На экране (^ - обозначен пробел):

^^^^ Hello!

Write(*,’(L)’), 5>3

На экране

T

Если спецификация формата часто повторяется, то ее рекомендуется записывать отдельно при помощи оператора format (формат). Ссылка на формат осуществляется при помощи числовой метки, например:

Write(*,100), ‘Hello!’

100 format(a10)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]