FORTRAN 77
Диалект языка программирования FORTRANПосле выпуска стандарта FORTRAN 66 создателями компилятора были введены многие расширения языка. Что в свою очередь привело к пересмотру стандарта в 1977, и в апреле 1978 был принят новый стандарт языка FORTRAN. Новый стандарт, известный как FORTRAN 77, добавил многие существенные особенности, устранил недостатки FORTRAN 66:
-
блок оператора
IFиEND IFбыл расширен поддержкойELSEиELSE IFдля улучшения структурного программирования -
расширен цикл
DO -
введены операторы
OPEN,CLOSE,INQUIREдля улучшения ввода/вывода - прямой доступ для операций файлового ввода/вывода
-
введен оператор
IMPLICIT -
расширены возможности типа
CHARACTER -
введен оператор
PARAMETERдля определения констант - введен ряд встроенных средств для сравнения ASCII строк
Достоинства FORTRAN 77:
- хорош для программ с большими массивами и большим числом данных
- язык предписывает простую литейную структуру программы. Линейная структура проста для рассмотрения, нет сложных вложений и необходимости учета области существования имен данных
- имеется большое количество библиотек подпрограмм численных методов для вычислительных задач
- компиляторы FORTRAN дают хорошее качество объектной программы благодаря простоте языка
- в силу большого распространения FORTRAN в системах программирования обычно оговорены связи с подпрограммами на других языках
Главные проблемы до FORTRAN 77:
- коллизии согласования имен данных и подпрограмм при линейной структуре программы
- статическое распределение памяти
- отсутствие возможности создания новых типов
Формально устаревшие много лет назад компиляторы FORTRAN 77 до сих пор используются, главным образом для компилирования унаследованного кода.
Следующий стандарт FORTRAN 90 был издан спустя много лет, что способствовало развитию других языков программирования. Например, язык C и его развитие C++ стали очень популярными в традиционной области FORTRAN: научных и технических вычислениях.
Типичная структура программы на FORTRAN 77
PROGRAM NAME1
CALL NAME2
END
SUBROUTINE NAME2
COMMON /SS/x,y,z
END
:.
SUBROUTINE NAMEn
COMMON /SS/a,b,c
END
Комментарии
]]>blog comments powered by Disqus
]]>