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

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

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

ВВЕДЕНИЕ

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

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.3. Внутренние подпрограммы

Внутренние подпрограммы (процедуры и функции) по структуре и способу применения ничем не отличаются от внешних подпрограмм (п. 7.2). Однако, это не отдельная программная компонента, а составная часть главной программы или внешней подпрограммы. Хотя внутренние подпрограммы не могут иметь собственных внутренних подпрограмм, они имеют доступ ко всем объектам своего носителя, в том числе могут вызывать его другие внутренние подпрограммы (Пример 7.5).

Внутренние подпрограммы располагаются внутри своих носителей (главной программе или внешних подпрограммах) последовательно – одна за другой.

Последовательность внутренних подпрограмм находится в блоке операторов, сразу после оператора CONTAINS и закагчивается оператором END программной компоненты-носителя.


Пример 7.5. Пример внутренней подпрограммы.

program SUBPRG5
	real :: A=1., B=2., C
	print *, SUM(A, B)
	contains
	real function SUM(A, B)
		real :: A, B
		SUM = A + B
		return
	end
end