русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

МНОЖЕСТВА


Дата добавления: 2014-11-28; просмотров: 598; Нарушение авторских прав


Множество (set)- это структурный тип данных, элементы которого образуют набор (до 255) данных одного типа, значения которых записывают через запятую и берут в квадратные скобки. С помощью множеств решают задачи определения принадлежности некоторого объекта определенному набору данных.

Над множеством определены операции объединения, пересечения, вычитания, сравнения, а также операция определения принадлежности множеству.

а + b (объединение) - множество, содержащее все элементы множеств а и b без повторений;

а * b (пересечение) - множество, содержащее элементы, входящие в множества а и Ь;

а - b (разность) - множество, состоящее из элементов, которые входят в множество а, но не входят вЬ;

=, <>, <=, >= (сравнение) - результатом сравнения является данное логического типа.

Пример. Пусть заданы множества

а = [1, 2, 3, 4, 5, 6] и Ь = [1, 2, 3, 4]. Тогда

а + b = [1, 2, 3, 4, 5, 6];

а - b = [5, 6];

а * b = [1, 2, 3, 4].

Сравнение этих множеств дает такие результаты:

а = b - false;

a <> b - true;

a >= b - true;

a <= b - false.

Порядок размещения элементов в множестве значения не имеет: [1,2,3,4] и [2,4,1,3] - это одно и то же множество. Множество, в котором нет ни одного элемента, называется пустым: [ ].

Общий вид конструкции описания типа множества такой:

 

type <имя типа> = set of <базовый тип>;

 

Базовым типом может быть символьный, перечислимый, диапазонный типы данных мощностью до 255 элементов.

Пример. Зададим постоянное множество а, опишем тип множества symbol и объявим переменные number, s и у соответствующих типов:

Const а = [1, 2, 5, 9]; {Задаем постоянное множество}

type symbol = set of char; {Описываем множество символов]

varnumber : set of 1..100; {Объявляем переменные number, s, у}



s : symbol; {соответствующих множественных типов}

у : set of (green, black, red);

 

Значения переменным типа множество присваивают командой

 

<имя переменной> := <выражение>;

 

Типы множества и выражения должны совпадать.

Пример. Объявленным выше переменным можно присвоить такие значения:

number := [ ]; number := [15, 12, 7, 99];

number := number + [1,2, 6, 7] * [3, 4, 6, 7] - [4, 7];

s :=[ 'S', 'T', '5', '$', '*'];

s := ['a', 'd'] * ['d'] + ['1', 'r'];

у := [red]; у := [ ], где [ ] - пустое множество.

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

 

if<элемент базового типа> in<множество>

then<команда 1>

else<команда 2>;

Пример. Проверить, принадлежит ли число 25 множеству а=[21,4,12,25] можно так:

n := 25;

а := [21, 4, 12, 25];

ifninathenwrite('Число ', n, ' входит в множество')

else write('Числo ', n, ' в множество не входит');

Пример. Составим процедуру, которая определяет число n -количество цифр в некотором множестве символов s типа symbol.

procedurePoisk(s: symbol; var n : integer);

varcyfra : '0'..'9';

Begin

n := 0;

for cyfra := '0' to '9' do

if cyfra ins thenn := n + 1

end;

Задача 1. Менеджер компьютерного магазина-салона регулярно получает информацию о технике, которую привозят на склады А, В, С. Русским названиям изделий поставлены номера 1-9, английским - имена tl-t9. Английские имена описаны с помощью перечислимого типа tovary. Составить программу, которая дает информацию об изделиях, имеющихся в наличии на складах А или В, но которых нет на складе С.

program Sklad;

uses Crt;

type tovary = (tl, t2, t3, t4, t5, t6, t7, t8, t9);

{Это информация о наличии товаров на складах}

const A: set of tovary = [tl, t3, t4, t5, t6, t9];

B: set of tovary = [tl, t2, t3, t5, t6, t8, t9];

C: set of tovary = [t3, t5, t6, t8];

var tovar : tovary;

Begin

clrscr;

writeln('У нас есть такие товары:');

for tovar := tl to t9 do

if tovar in A +В - С then

case ord(tovar) + 1 of

1 : writeln('Компьютеры Dell Dimension');

2 : wnteln('Компьютеры IBM PC 300');

3 : wnteln('Компьютеры Celebris XL, GL');

4 : writeln('Принтеры Epson серий LX, LQ');

5 : writeln('Принтеры HP LJ 5L та 5РМ');

6 : writeln('Сканер Epson GT9000');

7 : writelnf Дисковод CD-ROM');

8 : writeln('Дискеты Verbatim 1.44M6');

9 : writeln('Дискеты Polaroid 1.44M6')

end;

writeln;

writeln('Mы ждем Вас!');

end.

После выполнения программы на экране получим:

У нас есть такие товары:

Компьютеры Dell Dimension

Компьютеры IBM PC 300

Принтеры Epson серий LX, LQ

Дискеты Polaroid 1.44Мб

 

Мы ждем Вас!

Задание 1. Решите задачу № 23 своего варианта.



<== предыдущая лекция | следующая лекция ==>
Interface | ГРАФИКА


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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