Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Fortran 90. ANSI Standard.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
861.18 Кб
Скачать

Программные единицы

 

Уровни доступа

Входные-выходные параметры

Использование модуля

Дополнения

Модуль

PRIVATE и PUBLIC

 

В дополнение к четырем старым программным единицам: PROGRAM (которая является главной программой), SUBROUTINE, FUNCTION и BLOCK DATA, добавлена новая конструкция MODULE , которая хорошо вкладывает новый смысл в старые понятия.. Подпрограмма - это общее понятие для подпрограммы SUBROUTINE и функции FUNCTION.

Уровни доступа

 

Снова хочу подчеркнуть, что все программные Fortran 77 размещены по существу на одном и том же уровне, даже если главная программа логически стоит выше подпрограмм и функций, которые она вызывает. В действительности BLOCK DATA на более высоком уровне и все другие программные модули с точки зрения системы Fortran на том же уровне с главной программой, чуть-чуть немного выше. Исключение составляют так называемые операторы-функции, определения которых стоят первыми в программной единице, сразу после определений, и они являются внутренними для этой программной единицы и поэтому логически ниже по уровню. К сожалению, типичный программист на Fortran 77 не может использовать операторы-функции.

 

Вышесказанное означает, что имена всех программ на одном и том же логическом уровне, которое означает, что две различные процедуры и две различных части большой программы не могут иметь одинаковые имена. Часто численные и графические библиотеки включают тысячи функций и подпрограмм, а имя каждой программы состоит из более чем 6 символов по старому стандарту Fortran . Поэтому имеется большой риск конфликта имен. Эта проблема может быть частично решена с помощью функций-операторов, поскольку они внутренние по отношению к рассматриваемой программной единице , и поэтому различные функции-операторы могут иметь одни и те же имена в разных программных единицах. Недостаток в том, что они могут встретиться только в одной строке программы. Но они могут вызывать все другие и таким образом далее функции-операторы могут вызывать более ранние функции-операторы, но не наоборот.

Я

Дополнения

F90 добавляет внутренние функции и подпрограммы, предоставляя большую свободу. Они определяются в конце каждого программной единицы (но не в BLOCK DATA) после новой команды CONTAINS и перед END. Внутренняя подпрограмма может иметь доступ к именам программной единицы, включая вызовы других внутренних подпрограмм программной единицы. Она пишется как обычная подпрограмма, но она уже не может иметь своих внутренних функций или подпрограмм.. Внутренняя функция это более мощная замена для функций-операторов.

 

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

 Я

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]