ОПЕРАЦИИ НАД МАССИВАМИ И МНОЖЕСТВАМИ

Операции над массивами как средство укрупнения объек­тов, над которыми производятся вычисления, появились в язы­ках программирования задолго до создания векторных и мат­ричных процессоров. Но только с появлением этих процессо­ров, ставших мощным средством ускорения вычислительного процесса, операции над массивами в языках программирования стали средством ускорения вычислений.

В большинстве случаев операции над массивами - есте­ственное обобщение скалярных операций, и реализуются они обычно по следующим правилам.

Результатом бинарной операции над массивами является так­же массив, который есть результат данной операции над одно­именными элементами операндов. Если один из операндов би­нарной операции - скаляр, а другой - массив, то результатом этой операции является массив, каждый элемент которого - результат данной операции над скаляром и элементом операнда-массива.

Результатом унарной операции над массивом является мас­сив, каждый элемент которого - результат данной унарной опе­рации над соответствующим элементом массива-операнда.

Результатом операции редукции над массивами может быть скаляр. В набор стандартных функций соответствующих язы­ков программирования включаются функции от аргумента-мас­сива; предоставляется также возможность создавать функции-формулы, аргументами которых являются массивы.

В некоторых языках вводится набор специальных вектор­ных операций, которые реализуют следующие функции: генера­цию вектора целых чисел с шагом 1 по заданным верхней и ниж­ней границам, генерацию вектора заданной длины из одинако­вых элементов, замену значений всех компонент вектора на за­данное значение, определение длины вектора, выборку компо­ненты вектора по индексу, выборку нескольких компонент по нескольким индексам, циклический сдвиг вектора. Вводится также набор операций над множествами: определение числа элементов множества, пересечение, объединение множеств, сум­ма и разность множеств и т.д.