Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Операции над множествами

Описание множеств

Множества

Вопросы для самопроверки

Инициализация записи

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

Пример: описание записи в виде типизированной константы

type

RecType = Record

x,y: Word;

ch: Char;

dim: Array[1..3] of Byte

end;

const

Rec: RecType = (x: 127; y: 255;

ch: 'A';

dim: (2, 4, 8));

Описание записей в виде обычных (нетипизированных) констант недопустимо.

1. Чем записи отличаются от массивов?

2. Как называются переменные, описываемые внутри записи?

3. Как описываются записи в языке Паскаль?

4. Как происходит обращение к полям записи?

5. Для чего служит оператор With?

 


Множество (Set) – это структурированный тип данных, который позволяет хранить до 256 элементов. Основное отличие множества от массивов и строк заключается в том, что его элементы не упорядочены.

Таким образом, множества используют там, где важен сам факт наличия того или иного элемента, вне зависимости от его позиции.

Например, множества подойдут тогда, когда нам нужно знать, какие студенты группы присутствовали на лекции. При этом нам не важно, в какой последовательности они пришли на занятие или ушли с него – важен лишь сам факт присутствия.

Для описания множеств используют ключевое слово Set, за которым следует of и указывается тип элементов множества:

SET OF <тип элементов множества>

Тип элементов множества может быть любым порядковым, размер которого не превышает 1 байт (256 элементов).

Указанная конструкция может использоваться как в разделе type, так и в разделе var.

Пример: описание множеств

type

TMySet = Set of Char; {множество из 256-ти элементов (символов)}

var

s1: TMySet;

s2: Set of 'a'..'z', 'A'..'Z'; {множество из 52-х элементов (лат. букв)}

s3: Set of 0..10; {множество из 11-ти элементов}

s4: Set of Boolean; {множество из 2-х элементов}

В языке Паскаль реализованы все теоретико-множественные операции.

Таблица 14.1.

Операции над множествами в языке Паскаль

Операция Запись
1) Пересечение двух множеств s1 и s2 s:=s1*s2;
2) Объединение двух множеств s1 и s2 s:=s1+s2;
3) Разность двух множеств s1 и s2 (все элементы, которые принадлежат множеству s1 и одновременно не принадлежат множеству s2) s:=s1-s2;
4) Проверка принадлежности элемента el множеству s (результат этой операции имеет тип Boolean) el in s
5) Обозначение для пустого множества []
6) Создание множества из списка элементов s:=[e1,_,eN];
7) Проверка двух множеств на равенство или строгое включение (результат этих операций имеет тип boolean) s1 = s2s1 > s2s1 < s2

Чтобы представить набор констант в виде множества в тексте программы, необходимо заключить их в квадратные скобки:

[<список_элементов>]

Список элементов может быть задан перечислением значений через запятую или интервалом. Элементы и границы интервалов могут быть переменными, константами и выражениями. Если левая граница интервала окажется больше правой, результатом будет пустое множество.

Пример: задание различных множеств:

if c in ['a','e','i','o','u']

then writeln('Гласная буква');

if set1 < [k*2+1..n, 13] then set1:=[];

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

Пример: печать на экране элементов множества

var

s1: Set of ‘1’..’10’;

i: Integer;

for i:=1 to 10 do

if i in s1 then writeln(i);

<== предыдущая лекция | следующая лекция ==>
Оператор присоединения WITH | Понятие процедуры и функции
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 279; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.