Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
W-10_Fort_68_стр_10г..doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

Раздел IV. Лабораторная работа № 4

4.1 Дополнение к оператору цикла do

Оператор цикла, общая форма которого имеет вид: DO n I=K1, K2, K3

где I – управляющая переменная цикла

K1 – начальное значение управляющей переменной

K2 – конечное значение управляющей переменной

K3 – шаг изменения управляющей переменной.

Причем I, K1, K2, K3 – целые переменные или выражения.

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

Пример: Протабулировать функцию у = 1 – х + х2/2 в интервале 0.1…1.0. Величины

Х и У будут печататься в виде таблицы. Поэтому до начала печати Х и У следует распечатать шапку таблицы. Тогда программа может иметь вид:

PROGRAM TABL

PRINT 1

  1. FORMAT (10X, ‘X’, 10X, ‘Y’)

DO 6 X = 0.1, 1., 0.1

Y = 1. – X + X*X/2.

PRINT 5, X, Y

  1. FORMAT (10X, F5.2, 6X, F5.2)

  2. CONTINUE

END

Если бы параметры цикла были целыми, то операторы, входящие в цикл, пришлось бы усложнить.

4.2 Двумерные массивы

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

a11 a12 a13 ………………a1 n

a21 a22 a23 ………………a2 n

a31 a32 a33 ………………a3 n

….………………………………………….

am1 am2 am3 ………………am n

Прямоугольная таблица с m строками и n столбцами (m*n) в математике называется матрицей, а в программировании – двумерным массивом. Элементы таблицы выписываются строка за строкой. Элемент массива A(M,N) или A(I, J) содержит значение элемента матрицы аmn или аij. Первое индексное выражение M или I указывает строку, а второе индексное выражение N или J – столбец, на пересечении которых находится элемент. Когда компилятор распределяет ячейки памяти ЭВМ для хранения двумерного массива, он резервирует в памяти непрерывную последовательность ячеек общим числом m*n. Элементы а11, а21, а31…аm1 размещаются в позициях с 1ой по mю; элементы а12, а22, а32…аm2 – в позициях с m+1 по 2m и т.д. Такой порядок размещения элементов известен как размещение “по столбцам”, следовательно, матрицы размещаются в памяти по столбцам. Программист в большинстве случаев использования двумерных массивов может не принимать во внимание это обстоятельство. Однако в некоторых случаях, о которых будет упомянуто в дальнейшем, это может быть очень важно.

Например, оператор DIMENSION А(3,2) выделяет память для хранения двумерного массива А, элементы которого распределяются в памяти следующим образом :

А(1, 1), А(2, 1), А(3, 1), А(1, 2), А(2, 2), А(3, 2). Здесь нижняя граница каждого индекса по умолчанию равна единице, так как она не заданна явно. Пример оператора с явным заданием нижней границы индекса:

DIMENSION А(0: 3, 0: 1).

Этот оператор выделяет память для хранения двумерного массива А, элементы которого хранятся в следующем порядке:

А(0, 0), А(1, 0), А(2, 0), А(3, 0), А(0, 1), А(1, 1), А(2, 1), А(3, 1).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]