Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инфа теор вопр.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
94.22 Кб
Скачать

20. Вспомогательные алгоритмы (подпрограммы). Преимущества их использования. Виды подпрограмм в фортране. Структура многомодульной программы.

Вспомогательные алгоритмы используются внутри других алгоритмов. В виде вспомогательных алгоритмов имеет смысл оформлять:

  1. Алгоритмы, реализующие те или иные численные методы, использующиеся при решении широкого круга задач

  2. Алгоритмы, наиболее употребительные в той или иной сфере

  3. Повторные части программы, используемые с различными исходными данными

+ Аппарат ВА позволяет составить алгоритмодин раз, а использовать сколько необходимо.

В общем случае программа может состоять из нескольких программных модулей, которые заканчиваются end. Один из них основной (головной, главный). С него начинается выполнение программы, а остальные - подпрограммы того или иного вида. В общем случае главный модуль или первый, или последний. Каждый программный модуль в Fortran’е можно оттранслировать или отладить независимо друг от друга, поэтому переменные в каждом программном модуле локальные. В связи с этим одни и те же имена переменных могут использоваться в разных модулях , а будут выделены разные ячейки памяти.

В Фортране существуют подпрограммы двух типов: function (функция) и subroutine (процедура)

SUBROUTINE

Описание процедуры subroutine:

subroutine имя (a1, а2, …а(n))

<описание>

{операторы}

end

a1, а2, …а(n) - формальные параметры, то есть условные имена входных и выходных данных (входные и выходные данные)

Через заголовок процедуры осуществляется передача переменных из модуля в модуль.

Обращение к процедуре

call имя (Q1, Q2, … Q(n))

Q1, Q2, … Q(n) - фактические параметры

FUNCTION

Описание функции function:

<тип> function <имя> (a1, а2, …а(n))

<описание>

{операторы}

<имя> = W (результат)

end

Обращение к функции можно производить из любого модуля

<имя> (Q1, Q2, … Q(n)) = W

Q1, Q2, … Q(n) - фактические параметры

Структура многомодульной программы.

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

Любой программный модуль начинается к ключевого слова, определяющего тип программного модуля. Дальше идут операторы программного модуля, причем последним оператором является END. Тело программы состоит из операторов. Головная программа в качестве первого оператора имеет PROGRAM, который можно опустить.

15. Использования метода флажка (булева признака) для структурирования алгоритма.

В алгоритм вводится некоторый признак - дополнительная переменная. До цикла задается некоторое значение этой переменной. Цикл повторяется до тех пор, пока признак сохраняет свое значение. Некоторыми условиями внутри цикла определяется момент смены значения признака.

При структурировании можно можно сочетать различные методы (объединение условий и дублирование кодов)