Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Множества . (Продолжение)




Лабораторная работа №22.

Цель: показать практическое использование этого типа данных при решении задач.

Множества можно описать в разделе описания типов:

type имя множества = set of тип элементов;

var идентификатор переменной: имя множества;

или же в разделе переменных:

var идентификатор переменной: set of имя типа элементов;

Тип элементов задается диапазоном или перечислением идентификаторов (в последнем случае обязательны круглые скобки), например:

type den = set of 1..5;

этим мы определили множество с именем den, значениями которого могут быть наборы целых чисел в диапазоне от 1 до 5: [], [1], [2], [3], [4], [5], [1,2], [2,3], [1,3], [2,3],[1,2,3], [1,2,3,4,5] и другие сочетания (в данном случае упорядоченные по возрастанию). Для экономии времени можно взять меньший диапазон значений.

var а: den; описана переменная типа множества den.

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

Var s: set of'А'..'В';

Описана переменная s как множество, значениями которого могут быть: [], ['А'],['В'] и ['А','В'].

Или

var kinder: set of (inna,ivan);

Описана переменная kinder как множество, значениями которого могут быть: [], [inna],[ ivan] и [inna, ivan].

Множество можно описать в разделе констант:

const p=[3,7,9]; (простая константа)

типизированная константа так:

const m:set=[‘a’..’z’];

или так: const mn0:set of char=[‘a’..’z’];

Всe элементы множества должны иметь одинаковый тип (char, boolean, ограниченный, перечисляемый). Элементами множества могут быть выражения. Число элементов множества называют мощностью множества (число элементов до 255, поэтому в описании множества нельзя указать типы integer и real). Порядок следования элементов и способ их записи не играет роли: одинаковы множества [1,2,3], [3,2,1], [3,1,2], [1+2,1,2], [1..3], [3,3,3,1,2,3], но, если множество обозначается как диапазон, важно, чтобы начальный элемент был меньше, чем конечный, иначе множество будет считаться пустым. Например, ['z'..'а'] - пустое множество.

[ ] - также пустое множество.

При работе с множествами можно использовать следующие правила или операции:

* - пересечение множеств; с:=a*b, где а и b - переменные типа множество.

+ - объединение множеств; с:= а+ b;

- - разность множеств; с:=а- b;

=, <>, >=, <= - проверки на равенство, неравенство и т.д.

а> b и т.д.

in - проверка на принадлежность; d in а.

Практическая работа.

label 1;

type mn=set of char;

var ml,m2,m3,m4:mn;

a,b,m:integer;

c:char;

u:boolean;

bs:string[5];

begin

l:ClrScr;

GotoXY(10,4);,

Writeln('Bы работаете с программой демонстрации операций с множествами');

Writeln;

WritelnC Создадим два множества, в каждом из которых по 5-10 символов:');

т1:=П;,

т2:=[];

тЗ:=[];

т4:=['д';Д'Д','и];

Writeln;;

WriteC Введите мощность (число элементов) множества ml:');

repeat

GotoXY(55,8);

ClrEol;

Readln(bs);

val(bs,b,a);

until (a=0) and ((b>l) and (b<20));

WritelnC При вводе элементов множества клавишу Enter использовать не надо');

WriteC Вводите множество ml из ',Ь,' символов:');

for m:=l to b do WriteC Проверка вхождения: ml >= m2 ');

u:=(ml >= m2);

Writeln(u);

Writein;,

WriteC Введите какой-либо символ:');

c:=ReadKey;

Write(c);

Writein;

WriteC Проверка вхождения:',c,'inml ');

u:=c in ml;

Writeln(u);

WriteC Проверка вхождения:',c,'in m2 ');

u:~c in m2;

Writeln(u);

Writein;

Writein;

WriteC Еще будете работать с программой? (д/н)');

c:=ReadKey;

if с in m4 then Goto 1;

end.

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

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

После выполнения этой работы предлагаем учащимся выполнить еще одну работу, предварительно объяснив им условие задачи:

Задано множество целых положительных чисел от J до п. Создать из элементов этого множества такие подмножества, элементы которых удовлетворяют следующим условиям:

элементы подмножества не больше 10;

элементы подмножества кратны 8;




Поделиться с друзьями:


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


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



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




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