Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Fortran 90. ANSI Standard.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
861.18 Кб
Скачать

Сечения

Как возможно обратиться к индивидуальным жлементам массивов, также возможно в одном операторе обратиться и к нескольким эелементам (называемым сечением, вырезкой). Доступ к сечению массива требует указания верхней и нижней границ сечения для спецификации вместе с шагом (для каждого измерения). Эта нотация называется тройкой индексов:

array ([нижний]:[вехний][:шаг], ...)

где нижний и вехний по умолчанию объявлены протяженностью, если они отсутствуют, и шаг по умолчанию равен 1.

REAL, DIMENSION(8) :: a

INTEGER, DIMENSION(5,4) :: b

INTEGER :: i=3

...

a(3:5) ! элементы 3, 4, 5

a(1:5:2) ! элементы 1, 3, 5

b(1:2,2:i) ! элементы (1,2) (2,2) (1,3) и (2,3)

b(i,1:4:2) ! элементы 1 и 3 из третьей строки

b(2:4,1) ! элементы 2, 3 и 4 из первой колонки

Границы в тройке индексов могут быть взяты любыми (целыми ) значениями. Использование тройки индексов компактно и удобный способ ссылки на произвольную секцию массива.

 

А(3:5)

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

REAL, DIMENSION(0:5) :: c

INTEGER, DIMENSION(4:5) :: d

c(:) ! весь массив

c(:3) ! элементы 0,1,2,3

c(::2) ! элементы 0,2 и 4

d(:,4) ! все элементы четвертого столбца.

d(::2,:) ! все элементы каждого второго ряда

 

A(1:5:2)

Секция B(1:2,2:3)

Секция b(3,1:3:2)

Секция B(2:4,1)

Секция С(:)

Секция С(:3)

Секция С(::2)

 

Секция d(:,4)

Секция d(::2,:)