Понятие множества в Паскале очень близко к математическому определению: множество - это совокупность однотипных неиндексированных объектов. Множества описываются в виде:
SET OF тип ,
где тип - базовый для этого множества тип, т.е. тип элементов множества. Базовый тип должен быть порядковым типом мощностью не более 256 (т.е. допускающий не более 256 различных значений), причем порядковые номера (вспомним функцию ORD) наименьшего и наибольшего значений должны лежать на отрезке [0,255]. Таким образом, базовым типом для множества могут быть: типы Char, Boolean, Byte и все производные от Byte интервальные типы. Размер объекта типа “множество” можно определить по формуле: размер = (мощность-1) DIV 8 + 1, т.е. множества - довольно компактные объекты, самое большое множество имеет размер 32 байта. Неименованные константы типа множество записываются в виде:
[ подмножество , подмножество , ... ] ,
где подмножество - это либо отдельное значение, либо диапазон. Диапазон записывается как начальное значение .. конечное значение. Любое из значений может быть как константой, так и выражением соответствующего типа. Запишем, например, константу-множество, содержащую числа 0, 1, 2, 3, 4, 8, 12, 13, 14, 15, 16, 22:
[0,1,2,3,4,6,12,13,14,15,16,22]
или
[0..4,6,12..16,22]
или
[0..2,3..4,6..6,12,13..16,22]
или
[22,13..15,1..6,0,12,16]
Все эти константы полностью эквивалентны, порядок записи элементов совершенно произволен. Допускаются пустые множества, они записываются так: [ ]. Опишем несколько переменных и типизированных констант:
TYPE MySet = SET OF 0..111;
VAR a : SET OF Char;
b : MySet;
CONST c : MySet = [];
d : SET OF Char = ['А'..'Я'];
e : SET OF Boolean = [FALSE];
К множествам применимы следующие операции:
- множеству можно присвоить множество того же типа;
- операция объединение +
- операция дополнение -
- операция пересечение *
- операция эквивалентность =
- операция не эквивалентность <>
- операция включение <= и >=
Последние три операции дают значения логического типа - TRUE или FALSE. Пусть множество A=[1..20] , B=[2..9,15..20] , C=[3..22] , тогда A+B=[1..20] , A+C=[1..22], A-C=[1,2], C-A=[21,22], A*B=[1..20], A*C=[3..20], B*C=[3..9,15..20] , A=B =FALSE , A<>C =FALSE , B<=A =TRUE , A>=C =FALSE.
Существует еще одна операция, связанная с множествами, - операция IN, она применяется к скалярной величине и множеству:
выражение IN множество
Здесь выражение - любое выражение базового для данного множества типа, результат операции - TRUE, если такой элемент есть в множестве, и FALSE - в противном случае.
Для множеств определены две стандартные процедуры:
Include ( множество , выражение )
Exclude ( множество , выражение )
Процедура Include добавляет элемент, равный значению выражения в множество, а процедура Exclude удаляет такой элемент из множества.
Теперь, когда мы знаем все возможности множеств, запишем программу, находящую все простые числа на отрезке [1,255] :
{программа использует алгоритм "решето Эратосфена"}
TYPE NumSet = SET OF 1..255;
CONST N : NumSet=[2..255]; { исключили 1 как не являющуюся простым числом }
VAR MaxDivider,d : Byte; k : Word;
BEGIN MaxDivider:=Round(SQRT(255));
d:=2;
WHILE d<=MaxDivider DO BEGIN
k:=2*d;
WHILE k<=255 DO BEGIN Exclude(N,k); INC(k,d); END;
INC(d);
END;
WRITELN('Простые числа :');
FOR k:=1 TO 255 DO IF k IN N THEN WRITE(k:4);
END.
Решим еще одну задачу : ввести массив символов и подсчитать, сколько в нем русских и латинских букв.
TYPE Letters = SET OF Char;
CONST Lat = ['a'..'z','A'..'Z']; Rus = ['а'..'п','р'..'я','А'..'Я'];
VAR c : Char;
CONST RSum : Word=0; LSum : Word=0;
BEGIN WRITE('Введите массив символов, затем нажмите Enter ');
REPEAT READ(c);
IF c IN Lat THEN INC(LSum) ELSE IF c IN Rus THEN INC(RSum);
UNTIL c=#10;
WRITELN('Латинских букв ',LSum,' русских букв ',RSum);
END.
Обратите внимание, что в этой задаче нет необходимости заранее знать, сколько символов содержится в массиве (более того, в программе никакого массива и нет!), достаточно лишь помнить, что клавиша Enter генерирует символ #10.
Другие работы по теме:
Понятие о классификации
Деление, последовательно производимое по систематически выбираемым основаниям. Классификация — систематическое распределение элементов данного множества по классам. Классификация на примере треугольников.
Козлов Алексей Александрович
Козлов Алексей Александрович - философ-персоналист. Признавал существование множества бесконечных духовных субстанций, центральная из которых - Бог. Критиковал гегелевскую диалектику, позитивизм и материализм.
Теория множеств
Множества, подмножества. Операции с множествами: пересечение, деление, объединение.
Герасим II
План Введение 1 Биография 2 Канонизация Список литературы Введение Патриарх Герасим II (Паллада, греч. Παλλαδᾶς; ум. январь 1714, Ватопедский монастырь, Афон) — патриарх Александрийский (25 июля 1688 — 20 января 1710). Автор множества гомилий.
Алгебра и алгебраические системы
Рассматриваются бинарные и n-местные операции, виды бинарных операций, вводятся понятия алгебры, подалгебры, алгебраической системы, приводятся примеры.
Перестановки
Описываются понятия r-перестановок множества, r-сочетания, перестановки с повторениями.
Дискретный анализ
Классическая задача комбинаторики, ее решение "правилом произведения". Реализация реальных связей между объектами в математических терминах на абстрактных множествах. Решение задач на доказательство тождества, особенности решения системы уравнений.
Функция Римана
Функция Римана является простейшим примером функции, которая непрерывна во всех иррациональных точках и разрывна во всех рациональных точках.
Множества Операции над множествами
РЕФЕРАТ Множества. Операции над множествами СОДЕРЖАНИЕ Способы задания множества Включение и равенство множеств Диаграммы Эйлера-Венна Операции над множествами
Интересные примеры в метрических пространствах
Интересные примеры в метрических пространствах: 1. В n-мерном евклидовом пространстве полная ограниченность совпадает с обычной ограниченностью, то есть с возможностью заключить данное множество в достаточно большой куб. Действительно, если такой куб разбить на кубики с ребром , то вершины этих кубиков будут образовывать конечную
Множества и операции над ними
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ ТАВРИЧЕСКОЕ ПРДСТАВИТЕЛЬСТВО ОТКРЫТОГО МЕЖДУНАРОДНОГО УНИВЕРСИТЕТА РАЗВИТИЯ ЧЕЛОВЕКА (УКРАИНА) Реферат
Задачи по Высшей математике
Вариант № 2 Задача 1 Найти объединение и пересечение множеств А и В, если А ={1;3;5} и B={0;1;2;-3;4;-5}. Решение: Объединение множеств А и В А В= {0;1;2;3;5;-3;4;-5},
Счётные множества
Определение счетного множества. Критерий счетного множества. Теоремы характеризующие счётные множества. Объединения счетных множеств. Интересные примеры счётных множеств.
Множества. Операции над множествами
Определение понятия множеств Г. Кантора, их примеры и обозначения. Способы задания, включение и равенство множеств, операции над ними: объединение, пересечения, разность, дополнение, их определение и наглядное представление на диаграмме Эйлера-Венна.
Теория вероятностей и математическая статистика
Определение вероятности потери в ожесточенном бою одновременно глаза, рук, ноги; выбор возможных вариантов женитьбы; выигрыша, смерти. Расчет максимальной страховой риск компании и не оказаться в убытке.
Алгоритмы сортировки
Проблема упорядочивания данных с практической точки зрения: достоинства и недостатки пяти различных методов сортировки.
Бинарные отношения
Бинарные отношения служат простым и удобным аппаратом для весьма широкого круга задач. Язык бинарных и n-арных отношений используется во многих прикладных (для математики) областях, например, таких как математическая лингвистика, математическая биология, математическая теория баз данных. Широкое использование языка бинарных отношений легко объясняется - геометрический аспект теории бинарных отношений есть попросту теория графов.
Пушкин в 1820 году Южная ссылка Романтизм
Text В 1817 году в Петербург приехал молодой, подающий надежды выпускник Лицея, а в 1820 году в мае месяце из Петербурга в Екатеринослав выехал первый поэт России, автор блистательной поэмы «Руслан и Людмила» и множества стихов. В 1817 году в Петербург приехал молодой, подающий надежды выпускник Лицея, а в 1820 году в мае месяце из Петербурга в Екатеринослав выехал первый поэт России, автор блистательной поэмы «Руслан и Людмила» и множества стихов.
Понятие кинотеатра
Кинотеатр. Кинотеатр — общественное учреждение для публичного показа кинофильмов. Главное помещение кинотеатра — зрительный зал со специально широким экраном размером до 30 м и акустической системой. В современных кинотеатрах часто имеется несколько зрительных залов, обязательна система кондиционирования воздуха, а современные акустические системы состоят из множества раздельных звуковых каналов (подробнее см.
Сети и средства связи управления
Узлы коммутации и оконечные транспортные станции, соединенные между собой абонентскими и соединительными линиями. Способы коммутации и признаки для выбирания маршрутов между оконечными транспортными станциями. Система вложенных "черных ящиков".
Сакристан, Мануэль
Мануэль Сакристан Лусон (исп. Manuel Sacristбn Luzуn, 5 сентября 1925, Мадрид — 27 августа 1985, Барселона) — испанский философ-марксист, переводчик и общественно-политический деятель. Профессор Барселонского университета. Кроме множества других переводов, Мануэль Сакристан сделал доступными испанским читателям «Капитал» Карла Маркса, работы Антонио Грамши, Дьёрдя Лукача, Эрнста Фишера, Герберта Маркузе, Ульрики Майнхоф и др.
Графические редакторы (пакеты трехмерного моделирования)
Базы данных, содержащие информацию о графических редакторах. Предметная область, словарь понятий и терминов. Построение функциональных зависимостей. Синтез схемы базы данных на основании функциональных зависимостей. Построение неизбыточного покрытия.
Логический вывод на основе нечеткой метаимпликации
О.А. Мелихова В работе подробно рассмотрена суть логического вывода на основе нечеткой метаимпликации, с помощью примеров показана максиминная свертка нечетких отношений, используемая в моделях принятия решений и при распознавании нечетких образов.
по Латинскому языку
МОСКОВСКИЙ ИНСТИТУТ ЭКОНОМИКИ, МЕНЕДЖМЕНТА И ПРАВА КОНТРОЛЬНАЯ РАБОТА № 3 ПО ДИСЦИПЛИНЕ: «ЛАТИНСКИЙ ЯЗЫК» Выполнил студент группы ЮЗВДс+в7.1/0-10
Геометрические отношения объектов в геодезии
К свойствам объектов геодезии относят также геометрические отношения (связи) между элементами или множествами. Эти отношения принято делить на отображения и преобразования. При отображении происходит переход от одного множества объектов к другому, а при преобразовании – переходы производятся внутри одного множества.