Язык программирования Фортран (Fortran) был разработан в 1954-1957 гг. группой программистов компании IBM под руководством Джона Бэкуса и стал фактически первым коммерчески успешным языком высокого уровня.
Применяется преимущественно для научных и инженерных вычислений. Обладает широкой базой хорошо отлаженных и документированных программ и библиотек с открытым исходным кодом, доступных под свободными лицензиями. Применительно к математическим вычислениям используется для перемножения матриц, решения интегральных уравнений и т.п.
Язык до сих пор развивается, обладает возможностями объектно-ориентированного программирования и другими современными опциями. Актуальными являются стандарты Fortran 95 и Fortran 2003.
История развития Фортран
Первая спецификация Фортран, документация по работе с ним и инструменты для программирования на этом языке были опубликованы в 1956-1957 гг.
Скорость работы программ, написанных на нем, оказалась сопоставимой с той, которую обеспечивал Ассемблер. Фортран быстро обрел широкую популярность среди пользователей.
Рисунок 1. Перфокарта с программой на Фортран. Автор24 — интернет-биржа студенческих работ
Слово Fortran - сокращение от FORmula TRANslator, что можно перевести с английского как переводчик формул.
Язык быстро был портирован для популярных аппаратных платформ: IBM 709, 650, 1620, 7090. Собственные компиляторы для этого языка старались разрабатывать и многие производители вычислительных устройств. К середине 1960-х гг. количество реализаций Фортрана составляло уже около полусотни.
Быстрый рост популярности Фортрана в США вызвал в Европе стремление разработать столь же эффективное средство программирования. В результате был сформирован комитет, создавший под руководством Питера Наура язык International Algorithmic Language, получивший известность под названием ALGOL (ALGOrithmic Language) и ставший академическим стандартом.
Фортран активно использовался в интернациональных проектах, развивавшихся под эгидой ЦЕРН, что сделало его широко известным среди ученых многих стран мира, в том числе и в СССР. Впервые в нашей стране этот язык был применен на ЭВМ «Минск-2». Широкую известность получила версия ФОРТРАН-ДУБНА для компьютера БЭСМ-6 (1968 г.). Фортран использовался и на широко применявшихся в странах социалистического содружества ЕС ЭВМ (1970-е гг.).
В связи с высокой популярностью, Фортран, по мере развития, многократно стандартизировался (1966, 1978, 1991, 1997, 2003 гг.).
Средства разработки для Фортран
Одним из направлений деятельности корпорации Microsoft, ставшей флагманом IT-индустрии в 1990-е гг., была разработка инструментария для программирования на Фортран в рамках проекта Microsoft Visual Studio. С 1998 г. этот проект был передан компании DEC (входит в состав HP). С тех пор эта среда разработки известна как Digital Visual Fortran.
Рисунок 2. Интерфейс среды Digital Visual Fortran. Автор24 — интернет-биржа студенческих работ
Альтернативный компилятор предоставляет компания Lahey. Ее продукт является кроссплатформенным, работает как на ОС Windows, так и в среде Linux.
Рисунок 3. Интерфейс среды Lahey. Автор24 — интернет-биржа студенческих работ
Компания Intel развивает собственную версию - Intel Fortran Compiler - оптимизированную для соответствующих процессоров.
Еще один поставщик компилятора для Фортран - компакния Watcom, распространяющая свою версию Open Watcom под свободной лицензией и с открытым исходным кодом.
Бесплатную и открытую версию FORTRAN предоставляет фонд GNU.
Программирование на Фортран
Структура программ на Фортран в процессе эволюции языка претерпела существенные изменения.
В ранних версиях строки организовывались таким образом, чтобы их было удобно переносить на перфокарты (длина строки регламентировалась; в строке не могло содержаться более одного оператора и т.п.).
В версиях языка до 1990 г. отсутствовали операторы сравнения больше и меньше в виде угловых скобок. Вместо них использовались комбинации .LE.
, .GE.
.
Для ранних версий Фортран характерно также широкое использование оператора безусловного перехода GOTO
.
В дальнейшем, как и в других современных языках, эти недостатки были преодолены. Стали широко применяться привычные циклы (DO … END
, DO
, DO ... WHILE
), операторы ветвления (SELECT ... CASE
), подпрограммы и функции.
Подпрограмма в Фортране отличается от функции тем, что не возвращает значения.
Отличительной особенностью Фортрана является наличие мощных средств для работы с массивами, а также гибкие способы обращения к их ячейкам.
Фортран поддерживает работу с целыми, вещественными и комплексными числами высокой точности, что делает его хорошопригодным для математических вычислений.
Пример программы, приводящей буквы в тексте к смешанному регистру (CamelCase):
PROGRAM CAMELC
CHARACTER TEXT*30, CC*30
LOGICAL LSPACE
READ (*, '(A)') TEXT
NCC = 0
LSPACE = .TRUE.
DO 1, I = 1,LEN(TEXT)
NC = ICHAR(TEXT(I:I))
IF (NC .GE. 65 .AND. NC .LE. 90 .OR.
> NC .GE. 97 .AND. NC .LE. 122) THEN
IF (LSPACE) THEN
IF (NC .GE. 97 .AND. NC .LE. 122) THEN
NC = NC - 32
END IF
ELSE
IF (NC .GE. 65 .AND. NC .LE. 90) THEN
NC = NC + 32
END IF
END IF
NCC = NCC + 1
CC(NCC:NCC) = CHAR(NC)
LSPACE = .FALSE.
ELSE
LSPACE = .TRUE.
END IF
1 CONTINUE
DO 2, I = NCC + 1,LEN(CC)
2 CC(I:I) = " "
WRITE (*, *) CC
END