пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

14. История создания и развития языка. Стандарты и особенности языка. Структура языка: алфавит, виды лексем. Структура программы на Fortran. Комментарии.

Fortran(FORmula TRANslator)-1й ЯП высокого уровня, имеющий транслятор.

Создавался 1954-1957 под руководством Джона Бэкуса в корпорации IBM.
используется в первую очередь для науч и инжен вычислений
+ соврем Fortran-большое кол-во написанных на нём программ и библиотек подпрограмм.
жёстко станд-ный язык, поэтому он легко переносится на различ платформы. Новые стандарты в значительной мере сохраняют преемственность с более старыми, что позволяет использовать коды ранее написанных программ и модифицировать их

Стандарты языка
 FORTRAN 66 (1972) На базе стандарта фирмы IBM FORTRAN IV
FORTRAN 77 (1980)  Введено множество улучшений: операторы OPEN и CLOSE для файла и вывода на стандартное устройство — PRINT.
Добавлены строковый тип данных и функции для его обработки.
Введён блочный оператор IF и конструкции IF THEN — ELSE, IF THEN — END IF, а также оператор включения фрагмента программы INCLUDE.
Введена возможность работы с файлами прямого доступа.
Увеличена размерность массива с 3 до 7. Сняты ограничения на индексы массива.
Усовер-ны и расширены возможности работы с процедурами.
Введено понятие внутреннего файла, они позволяют, осуществлять преобразование число-строка и строка-число станд операторами READ и WRITE
Fortran 90 (1991) Значительно переработан стандарт языка.
Введён свободный формат написания кода. Появились дополнительные описания IMPLICIT NONE, TYPE, ALLOCATABLE, POINTER, TARGET, NAMELIST.
Введены управляющие операторы и конструкции. Добавлены DO … END DO, DO WHILE, оператор передачи управления на начало цикла CYCLE, конструкция выбора SELECT CASE (для замены громоздких конструкций IF и операторов GOTO).
Введён инструментарий указателей и функции для работы с оперативной памятью (по аналогии с языком С).
Введены операторы работы с динамической памятью (ALLOCATE, DEALLOCATE, NULLIFY).
Добавлены программные компоненты MODULE, PRIVATE, PUBLIC, CONTAINS, INTERFACE, USE, INTENT.
Введён оператор и конструкция WHERE для частичной замены циклов. Маскирование присваивания распространяется практически на все операторы, конструкции и функции, оперирующие с массивами.
Стандартные операции присваивания, сложения, вычитания, а также деления и умножения на число распространены на массивы и их секции, определяемые сечениями (поэлементное присваивание).
 Появились новые встроенные функции, в первую очередь для работы с массивами. Функции для вычислений в массивах: ALL (логическое произведение) и MASK (логическое сложение), COUNT (число истинных элементов), PRODUСТ (произведение элементов массива), SUM (сложение элементов массива), DOT_PRODUCT (скалярное произведение), MATMUL (умножение матриц). Добавились справочные функции, а также функции переформирования и свёртки массивов.
В языке появились элементы ООП. Введены производные типы данных. Отдельно объявлен список устаревших черт языка, предназначенных для удаления в будущем.
Добавлены дополнительные функции для работы со строковыми данными, в частности, функции TRIM (удаление завершающих пробелов) и REPEAT (кратное копирование строки) и функции выравнивания по левой и правой границам.
Fortran 95 (1997)  Коррекция предыдущего стандарта. Введён оператор и конструкция FORALL, данный оператор считается перспективным в параллельных вычислениях, способствуя более эффективному, чем циклы, осуществлению распараллеливания.
Fortran 2003 (2004) Дальнейшее развитие поддержки ООП в языке. Взаимодействие с операционной системой. Добавлены также возможности асинхронного ввода-вывода данных, средства взаимодействия с языком C, усовершенствование динамического размещения данных.
Fortran 2008 (2010)  Стандартом введена поддержка средствами языка параллельных вычислений (Co-Arrays Fortran).  Увеличена максимальная размерность массивов до 15.
Добавлены встроенные специальные математические функции и др.

IBM – (VS Fortran, XL Fortran).
 корпорация «Microsoft» для ОП Windows до 1997 
после Intel стали заниматься этой  версией компилятора ( Intel Fortran Compiler), который позволяет оптимизировать код под платформы Intel IA-32, x86_64 и IA-64.
DEC –интегрированный в среду разработки Digital Visual Fortran, основанную на Microsoft Visual Studio.
GNU- компилятор GFortran, в котором реализованы практически все конструкции стандарта Фортран-95 и многие конструкции стандартов Фортран-2003 и Фортран-2008.
Основные среды программирования на Fortran: Microsoft Visual Studio, Eclipse, MSDEV, Codeblocks и т.д.

1-5-ую метки меток, 6-я служила для маркировки текста как комментария (символом C), а 7-72 текст оператора или комментария.
Колонки 73-80 могли служить для нумерации карт или для краткого комментария, транслятором они игнорировались.
Если текст оператора не вписывался в отведённое пространство (с 7-й по 72-ю колонку), в 6-й колонке следующей карты ставился признак продолжения, и затем оператор продолжался на ней. Расположить два или более оператора в одной строке (карте) было нельзя. Когда перфокарты ушли в историю, эти достоинства превратились в серьёзные неудобства.
В стандарт Фортрана, начиная с Fortran 90, в добавление к фиксированному формату исходного текста появился свободный формат, который не регламентирует позиции строки, а также позволяет записывать более одного оператора на строку

Алфавит языка

Количество Тип Значения
26 Заглавные и A-Z
                                                                               строчные буквы a-z
10 Цифры 0-9
1 Символ подчеркивания _
5 Арифметические символы + - * / **
17   Вспомогательные ().=,‘$:!”%&;<>?Пробел
11 Дополнительные в F2003 ~\[]'^/****/|#§
 Заглавные и строчные буквы не различаются, но принято писать зарезервированные слова заглавными буквами. Нет символа окончания предложения, концом оператора (если не сказано иное), будет конец строки.

 Лексемы

Длина строки в Fortran ограничена:
В F90-95 максимальная длина строки 132 символа,
В F2003 максимальная длина строки 256 символов.
Если строка оказывается длиннее, ее можно перенести при помощи специального символа:
Output = input1 + input2 !Sum the inputs
Output =input1 &
+ input2 !Sum the inputs
999 output = input1 & !Sum the inputs
& + input2
Максимальное количество переносов строки – 40 раз.
В последнем примере 999 – метка строки (используется для оператора безусловного перехода GOTO). Метка – любое целое число от 1 до 99999. Порядок этих чисел не имеет значения.
Комментарии обозначаются знаком восклицания – !
Комментарии бывают только построчными! 

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

Основные ключевые слова Fortran: • ADMIT, ASSIGNMENT, CALL, COMMON, CYCLE, DIMENSION, END, ENTRY, FORMAT, IMPLICIT, INTENT, MAP, OPEN, POINTER, PROGRAM, RECURSIVE, STOP, THEN, WHILE, ALLOCATABLE, ATEND, CASE, COMPLEX, DATA, DO, ENDFILE, EQUIVALENCE, FUNCTION, INCLUDE, INTERFACE, MODULE, OPTIONAL, PRINT, READ, RETURN, STRUCTURE, TYPE, WRITE, ALLOCATE, BACKSPACE, CHARACTER, CONTAINS, DEALLOCATE, DOUBLE, END IF, EXIT, GO TO, INQUIRE, INTRINSIC, NAMELIST, PARAMETER, PRECISION, REAL, REWIND, SUBROUTINE, UNION, ASSIGN, BLOCKDATA, CLOSE, CONTINUE, DEFAULT, ELSE, END SELECT, EXTERNAL, IF, INTEGER, LOGICAL, NONE, PAUSE, PROCEDURE, RECORD, SAVE, TARGET, USE.

Индентификаторы

Любые неключевые слова на английском

Структура программы на языке Fortran
Главная программа:

[PROGRAM имя_программы] Declaration Section
[операторы описания] Execution Section
[исполняемые_операторы]
[CONTAINS внутренние_подпрограммы]
END [PROGRAM [имя_программы]] Termination Section
Единственным обязательным элементом главной программы является оператор END, все остальные элементы могут отсутствовать. Отличительным признаком главной программы является отсутствие оператора «SUBROUTINE» в ее заголовке: именно это характеризует данный компонент как главную программу


10.06.2015; 08:27
хиты: 215
рейтинг:0
Точные науки
информатика
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь