Вопросы и упражнения для подготовки к зачету по курсу «Программирование вычислений», страница 3

Подпрограммы

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.