15. Подпрограмма-функция. Чем отличается структурно подпрограмма-функция от основной программы? Какие составные элементы обязательны для заголовка функции? Какими средствами в подпрограмме–функции можно описать переменные (их тип и длину), входящие в состав формальных параметров? Можно ли в подпрограмме-функции формальным параметрам задать начальные значения? Могут ли в подпрограмме-функции формальные параметры входить в состав операторов общих областей? Какими средствами языка FORTRAN можно обратиться к выполнению подпрограммы-функции? Каким требованиям должным удовлетворять фактические параметры указателя функции?
Определить значение переменной величины N, которое будет вычислено в результате выполнения следующей программы:
Основная программа Подпрограмма-функция
DIMENSION M(10) FUNCTION L(K)
M(1)=1 DIMENSION K(5)
DO 2 K+2,10 L+0
2 M(K)=I+M(K–1) DO 1 J=1,5
N=L(M) 1 L=L+K(J)
STOP RETURN
END END
16. Подпрограмма-процедура. Какие средства используются при описании формальных параметров (типа, длины, размерности)? Можно ли в подпрограмме-процедуре задать начальные значения? Могут ли формальные параметры включаться в состав общих областей? Может ли отсутствовать список формальных параметров в заголовке подпрограммы-процедуры? Что может использоваться в качестве фактических параметров оператора процедуры? Каким требованиям должны отвечать фактические параметры оператора процедуры. Как осуществляется обмен данными с подпрограммой-процедурой, не содержащей списка формальных параметров в заголовке подпрограммы?
Определить значения элементов массива A, которые они получат в результате выполнения следующей программы:
Основная программа Подпрограмма-процедура
DIMENSION A(4,4) SUBROUTINE M(B,N,K)
DO 1 K=1,4 DIMENSION B(N.K)
DO 1 J=1,4 DO 1 I=2,N
1 A(K,J)=0 DO 1 J=2,K
CALL M(A,3,2) 1 B(I,J)= B(I-1,J-1)+0.5
STOP RETURN
END END
Основные понятия: форматные и бесформатные записи; внешний и внутренний файл, прямой и последовательный доступ к файлу, список ввода-вывода. Операторы READ, PRINT, WRITE, OPEN, CLOSE. Ввод-вывод массивов и неявный цикл. Форматы и операторы форматного ввода-вывода. Спецификации оператора FORMAT: X, I, F, E, D, G, A, двоеточие; символы управления кареткой; повторитель спецификаций формата. Операторы бесформатного ввода-вывода.
Пусть задан двумерный массив A(4,4). Определите перечень и порядок следования элементов этого массива в следующих списках вводимых величин:
a) A b) ((A(I,J), J=1,4),I=1,4) b) ((A(K,L), K=1,3),L=2,4)
Пусть в фортран-программе имеется следующий оператор: DIMENSION B(10),C(2,7). Напишите список выводимых величин, не содержащий циклических элементов и эквивалентный списку: A, (B(K),K=2,10,2), ((C(I,J), J=1,2), J=1,2).
Перепишите предлагаемый ниже список вводимых величин, используя циклический элемент: B(2), C(2), B(5), C(5), B(8), C(8).
Запишите инструкцию вывода всех элементов двух матриц 5х6 попеременно по одному из каждой.
Составить список ввода для заполнения массива A из 6 элементов начиная с последнего.
1. Катцан Г. Фортран 77: Пер. с англ. – Мю: Мир, 1982.
2. Программирование на Фортране 77: Пер. с англ./ Дж. Ашкрофт, Р. Элдридж, Р. Полсон, Г. Уилсон. – М.: Радио и связь, 1990.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.