Лабораторная работа №19. Множества . (Продолжение)
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

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

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

       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;



Дата: 2019-12-22, просмотров: 329.