X : SET OF 0..9

Множества

Массивы

Массивы организуются, когда приходится иметь дело с набором данных одного типа и одинакового смыслового содержания. Такой набор, имеющий общее для всех своих элементов имя, называется массивом. Элементы массива пронумерованы и обратиться к любому из них можно, указав его индекс (номер). Количество индексов массива называют его размерностью, а количество допустимых значений каждого индекса – его диапазоном. Описать массив можно в разделе описаний типов TYPE:

MAS1 = ARRAY[1..14] OF REAL

или в разделе описания переменных VAR:

SS: ARRAY[0..8] OF BYTE.

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

XX: ARRAY[1..10,1..15] OF WORD

или

XX: ARRAY[1..10] OF ARRAY[1..15] OF WORD.

В Турбо-Паскале любая переменная, в том числе и массив не может занимать в памяти больше 64 кб. Чтобы обратиться к элементу массива, следует указать его номер (индекс):

XX[1, K]: = SS [K+4]*5

В операторах присваивания можно использовать не только элементы массивов, но и массивы в целом. Так допустима запись XX: = B1, где XX и B1 описаны как массивы одного типа и одной размерности. Массивы можно использовать и в логических отношениях равенства (=) и неравенства (<>). Другие операции отношения (<>, <=, >=) применяются только к элементам массива. В памяти элементы массива хранятся друг за другом.

В программах обычно массивы и циклы соседствуют друг с другом.

Рассмотрим работу программы MASSIV.PAS

Множества – это набор однотипных, логически связанных друг с другом объектов. Количество элементов, входящих в множество, может меняться в пределах от 0 до 256. Множество, не содержащее элементов, называется пустым. Именно непостоянство количества элементов отличает множество от массива. Описать множество можно, как в раздел TYPE, так и в раздел VAR

S: SET OF ’A’..’Z’

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

Пусть имеется одинаковое описание трех множеств:

S1,S2,S3: SET OF 0..9.

В программе этим множествам присваиваются следующие значения:

S1: = [1,2,3]

S2: = [3,2,1]

S3: = [2,3]

Здесь множества S1, S2 эквивалентны, а множества S3 включено в S2, но не эквивалентно ему.

Если переменная S описана как S: SET OF 1..3, то она может принимать значения:

[1,2,3]

[1,2]

[1,3]

[2,3]

[1]

[2]

[3]

[].

Множества языка Паскаль обладает свойствами математических множеств. Над ними возможны следующие операции:

· Пересечение множеств (*). Результат содержит элементы, общие для обоих множеств. Например для множества S4:=[0..3,6] и S5:=[3..9] их пересечение S4*S5 содержит один элемент [3,6].

· Объединение множеств (+). Результат содержит элементы первого множества, дополненные недостающими элементами второго множества: S4+S5 содержит [0,1,2,3,4,5,6,7,8,9].

· Разность множеств (-). Результат содержит элементы из первого множества, которые не принадлежат второму: S4-S5 содержит [0,1,2], S5–S4 cодержит [4,5,7,8,9].

· Проверка эквивалентности (=). Результат равен TRUE, если оба множества эквивалентны. Записывается: S4=S5.

· Проверка неэквивалентности (<>). Результат равен TRUE, если оба множества неэквивалентны. Записывается: S4<>S5.

· Проверка вхождения (<=). Результат равен TRUE, если первое множества включено во второе. Записывается: S4<=S5.

· Проверка вхождения (>=). Результат равен TRUE, если второе множество включено в первое.

· Проверка принадлежности (IN). В этой операции первый элемент – выражения, а второй – множество того же типа. Результат равен TRUE, если выражение имеет значение, принадлежащее множеству.

3 IN S4 возвращает значение TRUE, а 2*2 IN S4 возвращает FALSE.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: