Министерство образования и науки Российской Федерации
Уральский федеральный университет
имени первого Президента России
ОСНОВЫ ПРОГРАММИРОВАНИЯ
НА ЯЗЫКЕ ФОРТРАН
Учебное пособие
Екатеринбург
УрФУ
2015
Оглавление
Введение. 3
Историческая справка. 5
Структура программы.. 8
Отличия Фортрана 90 от Фортрана 77. 11
Доступ к вычислительным ресурсам. 15
Запуск задач на кластере. 17
Переписать тексты программ на сервер. 17
Компиляция программ. 17
Запуск программы на счет. 19
Типы данных. 22
Целая константа. 22
Вещественная константа. 23
Вещественная константа двойной точности. 23
Комплексная константа. 23
Комплексная константа двойной точности. 24
Логическая константа. 24
Текстовая константа. 24
Операторы описания типов данных. 26
INTEGER целого типа. 26
REAL и DOUBLE PRECISION вещественного типа. 27
COMPLEX и DOUBLE COMPLEX комплексного типа. 28
CHARACTER символьного типа. 29
LOGICAL логического типа. 29
DIMENSION массивов. 30
Атрибут PARAMETER.. 32
Разновидности встроенных типов данных. 35
Выражения, операции и присваивания. 36
Арифметические выражения. 36
Выражения отношения. 37
Логические выражения. 38
Правила вычисления выражений. 38
Операторы ввода/вывода. 39
Оператор ввода DATA.. 39
Оператор ввода READ.. 40
Оператор вывода WRITE. 41
Оператор вывода на экран PRINT. 42
Оператор задания формата ввода-вывода (FORMAT) 43
Спецификации X, T. 43
Спецификатор I 44
Разделители. 45
Спецификация F. 46
Повторители. 49
Спецификация E. 50
Спецификация G.. 51
Дескрипторы данных. 52
Операторы условия. 53
Логический оператор условия. 53
Арифметический оператор условия. 57
Конструкция SELECT CASE. 60
Операторы цикла. 62
Оператор цикла DO.. 62
Оператор цикла DO WHILE. 64
Оператор остановки STOP. 65
Оператор выхода из цикла EXIT. 66
Операторы перехода. 67
Оператор бузословного перехода GOTO.. 67
Вычисляемый оператор перехода GOTO.. 67
Оператор условного перехода IF … GOTO.. 68
Работа с массивами. 69
Ввод массивов. 69
Вывод массивов. 71
Обработка массивов. 73
Подпрограммы.. 76
Оператор-функция. 78
Подпрограмма-функция FUNCTION.. 81
Подпрограмма-процедура SUBROUTINE. 83
Работа с внешними файлами. 85
Оператор открытия файла OPEN.. 85
Оператор закрытия файла CLOSE. 86
Примеры работы с файлами. 86
Литература. 89
Введение
Характерная черта параллельных ЭВМ – возможность одновременного использования для обработки информации большого числа процессоров. Применение многопроцессорных вычислительных систем (МВС) ставит две задачи построения параллельных алгоритмов: распараллеливание существующих последовательных алгоритмов и создание новых алгоритмов с ориентацией на параллельные вычислительные системы.
Наиболее распространенной технологией программирования для параллельных компьютеров с распределенной памятью в настоящее время является MPI. Основным способом взаимодействия параллельных процессов в таких системах является передача сообщений друг другу. Это и отражено в названии данной технологии – Message Passing Interface (интерфейс передачи сообщений). Стандарт MPI фиксирует интерфейс, который должен соблюдаться как системой программирования на каждой вычислительной платформе, так и пользователем при создании своих программ. Коммуникационная библиотека MPI стала общепризнанным стандартом в параллельном программировании с использованием механизма передачи сообщений.
MPI-программа представляет собой набор независимых процессов, каждый из которых выполняет свою собственную программу (не обязательно одну и ту же), написанную на языке C или FORTRAN. В языке FORTRAN большинство MPI-процедур являются подпрограммами (вызываются с помощью оператора CALL), а код ошибки возвращают через дополнительный последний параметр процедуры. Несколько процедур, оформленных в виде функций, код ошибки не возвращают. Не требуется строгого соблюдения регистра символов в именах подпрограмм и именованных констант. Массивы индексируются с 1. Объекты MPI, которые в языке C являются структурами, в языке FORTRAN представляются массивами целого типа.
В ИММ программируют на Фортране. Главной сложностью в его использовании для больших задач является согласование взаимодействия частей большой задачи. Фортран 90 включает механизмы взаимодействия объектов в соответствии с технологией объектно-ориентированного программирования, которые облегчают коллективную работу над большим проектом. Это модули для оформления библиотек, структуры и производные типы данных для организации сложных данных, это динамическое распределение памяти, а также ряд механизмов обработки массивов, в том числе образование различных вырезок (сечений). Возможность объединения в одном семействе (в роду) типовых процедур обработки, отличающихся типами их аргументов, может быть полезным средством в целом ряде задач. Виды (семейства) типов данных позволяют легко настраивать реализацию типа с учетом свойств аппаратуры (например, тип INTEGER можно объявить длинным или коротким через управление видом KIND). Некоторые правила стилевого оформления могут помогать разработке, например, объявление входных, выходных и изменяемых параметров процедуры помогает отысканию ошибок взаимодействия программных единиц. Правила записи свойств данных, комментариев и других элементов облегчают чтение написанных программ, что ускоряет поиск ошибок.
Историческая справка
1954 г. – IBM, первый транслятор языка Фортран.
1958 г. – Фортран II.
1962 г. – Фортран IV.
1966 г. – Фортран 66.
1978 г. – Фортран 77.
1990 г. – Microsoft Fortran 5.0 (Фортран 90).
1997 г. – Фортран 95 (Compaq Fortran 95)
2004 г. – Фортран 2000 или 2003.
Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов – языков программирования. Смысл появления такого языка, оснащенный набор вычислительных формул дополнительной информации, превращает данный набор в алгоритм.
Одним из первых и наиболее удачных компиляторов стал язык Фортран, разработанный фирмой IBM. Профессор Дж. Букс и группа американских специалистов в области программирования в 1954 году опубликовало первое сообщение о языке. Дословно, название языка FORmulae TRANslation –преобразование формул.
Среди причин долголетия Фортрана (он является одним из самых распространенных языков в мире), можно отметить простую структуру, как самого Фортрана, так и предназначенных для него трансляторов. Программа на Фортране записывается в последовательности предложений или операторов (описание преобразования информации), и оформляется по определенным стандартам. Эти стандарты накладывают ограничения, в частности, на форму записи и расположения частей оператора в строке бланка для записи операторов. Программа, записанная на Фортране, представляет собой один или несколько сегментов (подпрограмм) из операторов. Сегмент, управляющий работой всей программы в целом, называется основной программой.
Фортран был задуман для использования в сфере научных и инженерно-технических вычислений. Однако на этом языке легко описываются задачи с разветвленной логикой (моделирование производственных процессов, решение игровых ситуаций и т. д.), некоторые экономические задачи и особенно задачи редактирования (составление таблиц, сводок, ведомостей и т. д.).
Модификация языка Фортран, появившиеся в 1958 году, получила название Фортран II и содержала понятие подпрограммы и общих переменных для обеспечения связи между сегментами.
К 1962 году относится появление языка, известного под именем Фортран IV. В 1966 завершена разработка американского стандарта на язык ANSI (American National Standards Institute), язык называют Fortran 66. В 1978 году разработана вторая версия стандарта ANSI – язык Fortran 77, включающий элементы структурного программирования, например, структурный IF, символьные типы.
Третий вариант стандарта ANSI – Fortran 90, реализован в 1991. Fortran 90 является развитием языка Fortran 77, так что программа, написанная на Fortran 77, может быть скомпилирована и запущена как программа на Fortran 90. Стандарт Fortran 90 Standard вводит много новых средств для операций над массивами, новые методы спецификации точности, свободный формат исходного кода, рекурсию, динамические массивы и т. д.
Программы на текущем языке стандарта Fortran 77 могут успешно компилироваться компиляторами Fortran 90 без каких-либо изменений. Тем не менее, структура программы на языке Fortran 90 может значительно отличаться от структуры эквивалентной программы на Fortran 77. Программист должен остерегаться смешения двух стилей.
В такой же мере компилятор с Fortran 90 требует обеспечения объяснений для сообщений о некоторых кодах несоответствия (несогласования), то есть использование операторов или переменных, которые разрешены сверх множества правил, выходящих за пределы стандарта.
Фортран занимает почетное место среди современных языков программирования. Это один из первых языков программирования высокого уровня и с самого своего рождения он предназначался для решения сложных вычислительных задач. В среде прикладных программистов Фортран сначала был встречен скептически, поскольку считалось, что заплатить за удобство программирования на языке высокого уровня придется значительной потерей скорости вычислений. Если речь идет о моделировании сложных процессов или обработке больших объемов информации, скорость вычислений является решающим фактором, определяющим выбор языка, вычислительной платформы и технологии программирования.
Разработчикам Фортрана удалось найти компромисс между удобством программирования и эффективностью программ, написанных на этом языке. Синтаксис языка строился таким образом, чтобы обеспечить максимальную эффективность автоматической оптимизации исполняемого кода. Это позволило в дальнейшем создавать оптимизирующие компиляторы, поставившие вычислительные возможности программ на Фортране вне всякой конкуренции. Язык был оснащен богатым набором встроенных математических функций и функций ввода-вывода, что существенно упрощает процесс программирования вычислительных задач.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 |


