Информационные системы ускорителей

ЛАБОРАТОРНЫЙ ПРАКТИКУМ:
«ПРОГРАММИРОВАНИЕ НА ФОРТРАНЕ»

СТРУКТУРА ПРАКТИКУМА

ВВЕДЕНИЕ

ВАЖНАЯ ИНФОРМАЦИЯ

1. ПРАВИЛА ЗАПИСИ ПРОГРАММЫ

1. Набор символов Фортрана

2. Форматы записи программы

3. Фиксированный формат

4. Свободный формат

2. ТРАНСЛЯЦИЯ ПРОГРАММЫ

1. Программа в одном исходном файле

2. Трансляция исходного файла

3. Трансляция нескольких исходных файлов

4. Трансляция модулей

3. КОНЦЕПЦИЯ ДАННЫХ ЯЗЫКА ФОРТРАН

1. Имена (идентификаторы)

2. Понятие типа

3. Буквальные константы

4. Разновидности типов и диапазоны значений

5. Скалярные переменные и константы

6. Массивы

7. Производные типы данных

4. ВЫРАЖЕНИЯ И ПРЕОБРАЗОВАНИЕ ТИПОВ

1. Скалярное присваивание

2. Арифметика Фортрана

3. Логические выражения

4. Работа с текстовыми строками

5. Операции с массивами

5. УПРАВЛЯЮЩИЕ ОПЕРАТОРЫ

1. Условный оператор и конструкция IF

2. Оператор варианта – конструкция CASE

3. Циклы – разновидности конструкции DO

4. Оператор GO TO

6. ВВОД/ВЫВОД ДАННЫХ

1. Простейшие операции ввода/вывода

2. Форматный ввод/вывод данных

3. Ввод/вывод массивов в неявных циклах

4. Файловый ввод/вывод

7. ПРОГРАММНЫЕ КОМПОНЕНТЫ И ЭЛЕМЕНТЫ ООП

1. Структура программных компонентов

2. Внешние подпрограммы

3. Внутренние подпрограммы

4. Модули как библиотеки производных типов

5. Встроенные функции Фортрана

ЗАДАЧИ ДЛЯ ПРОГРАММИРОВАНИЯ

7. ПРОГРАММНЫЕ КОМПОНЕНТЫ И ЭЛЕМЕНТЫ ООП

7.1. Структура программных компонентов

В простейшем случае программа на фортране может состоять из одной главной программы, находящейся в файле с соответствующим расширением (Для компилятора Gfortran это «f95»). При этом она может состоять даже из одного единственного оператора «END» (Пример 2.3). Операторы «PROGRAMM … END» являются операторными скобками, ограничивающими последовательность операторов главной программы, при этом оператор PROGRAMM является не обязательным (хотя настоятельно рекомендуемым, особенно для программ, предъявляемым сторонним заказчикам, к коим стоит отнести и преподавателя на зачете).

С учетом синтаксиса Фортрана 90/95, структуру главной программы упрощенно можно представить в виде:

PROGRAM имя программы
...операторы описания
...исполняемые операторы
CONTAINS
...внутренние подпрограммы
END имя программы

К операторам описания относятся объявления скалярных переменных и констант, а так же объявление массивов и описание производных типов (§ 3). К исполняемым операторам относятся операторы ввода/вывода данных, управляющие операторы, присваивания и выражения всех встроенных и производных типов, а так же использование программных компонентов (§§ 4÷7).

Оператор CONTAINS используется только при наличии внутренних подпрограмм (п.7.3), а имя главной программы после оператора END так же необязательно, как и оператор PROGRAM.

Программные компоненты подразделяются на подпрограммы-процедуры (SUBROUTINE), подпрограммы-функции (FUNCTION) и модули (MODULE). Каждый модуль (MODULE) должен размещаться в отдельном файле, а расположение и группировка по файлам внешних подпрограмм, как процедур (SUBROUTINE), так и функций (FUNCTION), не являющихся компонентами модулей, не регламентирована – т.е. полностью на усмотрении программиста: в одном файле с главной программой или в отдельных файлах При этом исходные файлы, содержащие внешние подпрограммы и модули должны иметь расширение «f95» (для Gfortran).

Все программные компоненты Фортрана – т.е. подпрограммы-процедуры, подпрограммы-функции и модули имеют одинаковую структуру (Таблица 7.1).


Таблица 7.1. Структура программных компонентов

Оператор PROGRAM, SUBROUTINE, FUNCTION или MODULE
Операторы USE (п.7.4)
Операторы FORMAT
Оператор IMPLICIT NONE
Операторы PARAMETER и DATA
Операторы IMPLICIT
Операторы описания: объявления переменных и констант, массивов, описание производных типов, интерфейсных блоков модулей
Исполняемые операторы
Оператор CONTAINS
Внутренние или модульные (для MODULE) подпрограммы
Оператор END