Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Концепция типов данных.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
74.47 Кб
Скачать

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

Операция

Действие

Результат

+

Объединение

Порядковое значение c содержится в a+b только тогда, когда оно содержится в a или в b.

-

Разность

Порядковое значение c содержится в a-b только тогда, когда оно содержится в a и не содержится в b.

*

Пересечение

Порядковое значение c содержится в a*b только тогда, когда он содержится в обоих множествах a и b.

Если наименьшим порядковым значением, которое является членом результата операций над множествами, является a, а наибольшим - b, то типом результата будет множество a..b.

Напишем программу использующею множества. На примере программы реализующей детскую считалку.

Программа kinder;

Константа

nmax = 20;

Переменная

n, {Число игроков}

m, {Число слов в считалке}

i, j: целая;

krug: set из 1..nmax;

Начало

ВвестиСтр(n);

ВвестиСтр(m);

krug:=[1..n];{В круге стоит n детей}

i:=n;

Повторять

Для j:=1 до m выполнить

Повторять

i:= i mod n+1;

покаНе i in krug;

ВывестиСтр(i:3);

krug:=krug-[i];

покаНе krug=[];

конец.

program kinder;
const
    nmax = 20;
var
   n, {Число игроков}
   m, {Число слов в считалке}
   i, j: integer;
   krug: set of 1..nmax;
begin
    readln(n);
    readln(m);
    krug:=[1..n];{В круге стоит n детей}
    i:=n;
    repeat
      for j:=1 to m do
         repeat
            i:= i mod n+1;
         until i in krug;
      writeln(i:3);
      krug:=krug-[i];
    until krug=[];
end.

2.3 Запись

Запись - это тип данных, позволяющий хранить вместе переменные, имеющие различные типы данных.

Пример: Type     Date = record         Dd: 1..31;         Mm: 1..12;         Yy: integer;     End; Var     D: date; d.yy=1999; d.mm:=06; d.dd:=14; Концепция определения типа данных в терминах выполняемых над ними операций называется концепцией абстрактного типа данных.

К примеру, множество поддерживает операции объединения, разности, пересечения, принадлежности элемента;массив поддерживает операции присвоения и произвольного доступа до элемента.

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

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

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