Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

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

Более подробная информация | Спецификации или объявления | Тип Character | Логические выражения | Массивы и производные типы | Оператор и конструкция IF | Конструкция SELECT CASE | Упорядочение операторов | Уровни доступа | Связь с хозяином (Host) - глобальные данные |


Читайте также:
  1. a) Использование Past Indefinite является обязательным с глаголами, которые
  2. DSSS модуляция и демодуляция. Спектр DSSS сигнала.
  3. I. ИСПОЛЬЗОВАНИЕ КРИСТАЛЛОВ
  4. Блок 2 Использование абсолютных и относительных ссылок
  5. Блок 3 Использование функций
  6. В межах кожного модуля
  7. в. Использование Novell Client

Ниже пример очень простой главной программы для тестирования интервальной арифметики. Он из файла interval.f90 или intv.f90.

USE INTERVAL_ARITHMETICS

IMPLICIT NONE

TYPE (INTERVAL):: A, B, C, D, E, F

A%LOWER = 6.9

A%UPPER = 7.1

B%LOWER = 10.9

B%UPPER = 11.1

WRITE (*,*) A, B

C = A + B

D = A - B

E = A * B

F = A / B

WRITE (*,*) C, D

WRITE (*,*) E, F

END

 

Запуская эту программу на компьютере Sun с компилятором NAG получили следующий результат на выводе:

 

% f90 interval_arithmetics.f90 interval.f90

interval_arithmetics.f90:

interval.f90:

% a.out

6.9000001 7.0999999 10.8999996 11.1000004

17.7999992 18.2000008 -4.2000003 -3.7999997

75.2099991 78.8100052 0.6216216 0.6513762

% exit

 

Мы компилировали программу компилятором f90, и счетная программа была автоматически названа a.out. Прямо с выше приведенным (первый модуль) компиляция работала с SunSoft и компилятором Digital compilers!

Я

PRIVATE и PUBLIC

В модуле некоторые понятия могут быть определены как PRIVATE, которое означает, что программная единица закрывает использования этого понятия извне. В противовес этому может быть использовано явное описание PUBLIC, обычно PUBLIC имеет место по умолчанию. Следующие операторы

PRIVATE

PUBLIC:: VAR1

Объявляют все переменные локальными, но VAR1 глобальный. Заметим, что оба понятия (PUBLIC и PRIVATE) могут быть даны как оператор, например

 

INTEGER:: IVAR

PRIVATE:: IVAR

 

Или как атрибут

INTEGER, PRIVATE:: IVAR

Я

Процедуры

Описание всех сторон понятия "процедура" включает следующие разделы

 

Фактические и формальные параметры Переменные в процедуре Параметры процедур
Внутренние процедуры SAVE Объекты допустимого образа
Внешние процедуры Локальные объекты Вид параметра (атрибут INTENT)
Подпрограммы и функции Соответствие параметров Ключевые параметры
Subroutine Правила области действия Необязательные параметры
Function Связь с хозяином (Host) - глобальные данные Процедуры в качестве параметров
  Блок взаимодействия Рекурсия

Процедуры это самостоятельные программные единицы, каждая со своим именем, которое служит для обращения к этим единицам. Структура текста процедуры такова

procedure name [(argument list)]

[specification statements]

[executable statements]

...

[CONTAINS

internal procedures]

END procedure [name]

 

Где вместо procedure может быть одно из слов SUBROUTINE или FUNCTION.

 

Имеется некоторое различие типов процедур:

•Internal - внутри другой программной единицы

•External - внешняя (возможно на языках, отличных от Fortran 90)

•Module - размещаемая внутри модуля.

 

Чтобы использовать процедуры (независимо от типа) требуется оператор вызова. Подпрограммы вызываются оператором CALL, а функции вызываются по имени:

 

CALL name [(список параметров)]

result = name ([список параметров])

 

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

 

Из процедур могут быть созданы их множества. Существуют

•встроенные (их в Fortran 90 имеется 113),

•библиотеки, напрмер, NAg fl90 Numerical Library has 300+, BLAS, IMSL, LaPACK, Uniras

•модули, много свободно распространяемых, см. WWW.

 

Библиотечные процедуры обычно работают быстрее, даже быстрее чем встроенные!

Я

 


Дата добавления: 2015-11-14; просмотров: 62 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Спецификация входных-выходных параметров| Внутренние процедуры

mybiblioteka.su - 2015-2024 год. (0.006 сек.)