Пример 2 (подпрограмма)

В подпрограмме: найти номер и значение максимального по модулю элемента одномерного массива.

В главной программе: Используя подпрограмму, найти номера и значения максимальных по модулю элементов для нескольких массивов разной длины.

Программа 2

Далее приведена подпрограмма и главная программа, в составе которой показаны интерфейс и вызовы подпрограммы.


 

Subroutine MaxAbs(Array, eLem, Num)

Implicit none

Real,intent(in),dimension(:)::Array ! входной массив

Real,intent(out)::eLem ! выходной: max по модулю элемент

Integer,intent(out)::Num ! выходной: номер max по модулю

Integer Len ! локальная переменная

Len = Size(Array)

... ! операторы, реализующие алгоритм подпрограммы

eLem = ... ! результирующее значение

Num = ... ! результирующее значение

End Subroutine MaxAbs

Program Sub1 ! ФИО Лаб 6 Группа. Вар.

Implicit none

Interface ! шаблон вызываемой подпрограммы

Subroutine MaxAbs(Array, eLem, Num)

Implicit none

Real,intent(in),dimension(:)::Array ! входной массив

Real,intent(out)::eLem! выходной: max по модулю элемент

Integer,intent(out)::Num ! выходной: номер max по модулю

End Subroutine MaxAbs

End Interface

Real,dimension(1:12)::B

Real,dimension(1:10)::C

Real MaxB, MaxC ! max по модулю элементы для В,C

Integer NumB, NumC ! и их порядковые номера в массивах

... ! ввод и вывод в результирующий файл массива B

Call MaxAbs(B, MaxB, NumB)

... ! вывод в результирующий файл NumB, MaxB

... ! ввод и вывод в результирующий файл массива C

Call MaxAbs(C, MaxC, NumC)

... ! вывод в результирующий файл NumC, MaxC

End Program Sub1

Результаты работы программы Sub1

Массив В

1.0 -4.0 6.0 20.0 45.0 -71.0

4.0 -17.0 .0 .0 .0 11.0

max по модулю элемент -71.0 его номер 6 в массиве B

 

Массив С

-122.0 .0 45.0 71.0 4.0 -17.0

.0 .0 .0 11.0

max по модулю элемент -122.0 его номер 1 в массиве C

Контрольные вопросы

1. Назовите четыре вида программных единиц в Фортране.

2. Что такое процедура? Когда целесообразно использование процедур? Сколько разновидностей процедур в Фортане?

3. Каковы основные атрибуты функции?

4. Как результат функции передается в вызывающую программу?

5. Что в программировании называют подпрограммой? Сколько разновидностей подпрограмм в Фортане?

6. Зачем подпрограмме имя? Есть ли значение, связанное с именем подпрограммы? Как передаются результаты подпрограммы в вызывающую программу?

7. Что такое формальные и фактические аргументы? Правила согласования формальных и фактических аргументов, поясните примерами.

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

9. Где и для чего пишут интерфейсы?

10. Чем процедура отличается от функции? Сравните на примере, оформив как функцию и как подпрограмму вычисление количества повторений цикла.








Дата добавления: 2016-02-13; просмотров: 586;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.