Пример выполнения задания лабораторной работы № 3

Тема: Работа с одномерными массивами.

Цель работы: Составление программы для обработки одномерных массивов.

Теория: Краткие сведения из теории ………

Задание: Составить блок-схему (рис.7) и программу вычисления суммы положительных элементов из массива A (N), используя форматный вывод. (N ≤ 20)

Пример выполнения задания лабораторной работы № 3 - student2.ru PROGRAMM JKL

DIMENSION A (20)

Пример выполнения задания лабораторной работы № 3 - student2.ru Пример выполнения задания лабораторной работы № 3 - student2.ru *Irina 1418z

PRINT *, ' введите N '

* N- точное количество элементов ≤ 20

Пример выполнения задания лабораторной работы № 3 - student2.ru READ (5,*) N

S = 0 K = 0
PRINT *, ' введите элементы массива А'

READ(5,*) (A(I), I=1, N)

Пример выполнения задания лабораторной работы № 3 - student2.ru S = 0

Пример выполнения задания лабораторной работы № 3 - student2.ru K = 0

Пример выполнения задания лабораторной работы № 3 - student2.ru Пример выполнения задания лабораторной работы № 3 - student2.ru Пример выполнения задания лабораторной работы № 3 - student2.ru Пример выполнения задания лабораторной работы № 3 - student2.ru D0 2 I = 1,N

 
  Пример выполнения задания лабораторной работы № 3 - student2.ru

Пример выполнения задания лабораторной работы № 3 - student2.ru IF (A(I).LE.0) GOTO 2

да S = S+A(I)

Пример выполнения задания лабораторной работы № 3 - student2.ru K= K+1

нет Пример выполнения задания лабораторной работы № 3 - student2.ru 2 CONTINUE

S = S + A (I)
PRINT 3, K, S

Пример выполнения задания лабораторной работы № 3 - student2.ru 3 FORMAT ( ' K=,I 2, /’S=',F7.2)

K = K + 1
END

Пример выполнения задания лабораторной работы № 3 - student2.ru -1 0 –5 3 4 К = 2 S = 7.00

Пример выполнения задания лабораторной работы № 3 - student2.ru Пример выполнения задания лабораторной работы № 3 - student2.ru Пример выполнения задания лабораторной работы № 3 - student2.ru Пример выполнения задания лабораторной работы № 3 - student2.ru Пример выполнения задания лабораторной работы № 3 - student2.ru

Рис. 7

РАЗДЕЛ IV. Лабораторная работа № 4

Дополнение к оператору цикла 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

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

6 CONTINUE

END

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

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

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

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).

Наши рекомендации