Характеристики массива

В современном Фортране свойства объектов, в частности, массивов описывают так:

список_атрибутов ::список_объектов

Характеристики и атрибуты массива.

1. Имя массива, как объекта.

2. Тип массива– одного из базовых типовinteger,real,complex,logical,characterили определяемого типа type(имя_типа).

3. Количество измерений или ранг массива – допускается от 1 до 7, причем по каждому измерению указывается пара целых чисел [нижняя:]верхняя границы индекса:

a. либо диапазон индекса как нижняя:верхняя границы индекса
протяженность = верхняя – нижняя + 1 ; протяженность – это неотрицательное число, указывающее на количество возможных значений индекса по выбранному измерению;

b. либотолько верхняя граница, с нижней границей по умолчанию равной 1; в этом случае верхняя граница - это протяженность, например, число строк или число столбцов матрицы.

4. Форма массива, по-английски Shape – целочисленный вектор, составленный из протяженностей в порядке следования измерений. Форма характеризует порядок размещения элементов в памяти компьютера. Массивы, одинаковые по форме, называют, конформными. Форма измеряется функцией shape(Array).

5. Число элементов – это произведение протяженностей по всем измерениям массива, измеряется функцией size(Array)
size(Array)=product(shape(Array)).

6. Объем памяти, занимаемый массивом
<объем_памяти > = < память на один элемент >* size(array)
– ограничивается лишь объемом памяти компьютера.

7. Когда и как массив размещается в памяти компьютера – статический или динамический (allocatable); в процедуре, дополнительно – динамический автоматический, передаваемый по адресу.

8. Назначение (intent) массива как аргумента процедуры: intent(in) – входной аргумент, intent(out) – выходной аргумент, intent(inout) – входной-выходной аргумент.

9. Прочие атрибуты: public|private,pointer|target,parameter,save.

Предупреждение. Выбор элемента неописанного массива компилятор воспринимает как вызов неизвестной функции, причем об этом сообщает не компилятор, а компоновщик приложений.

Пример. Подсчитать s – среднее значение и D – среднее отклонение от среднего значения в массиве x

.

В раннем Фортране массив суммировали поэлементно, в Фортране-90 всё выглядит проще – «читаем – считаем – печатаем». Добиться краткости позволяет важный принцип современного Фортрана – практически везде, где используется простая переменная, можно использовать массив, как в abs(X-s), кроме того, функция sum(X) суммирует массив.

Program sumX ! sum(X)-встроенная функция суммирования вектора

Real,Dimension(1:10)::X; real s

read(1,*)X; s=sum(X)/10; print *, 'среднее =',s

! читаем – считаем – печатаем

print *, 'среднее отклонение D=',sum(abs(X-s))/10

End Program sumX








Дата добавления: 2016-02-13; просмотров: 5044;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.009 сек.