Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MetPasc.doc
Скачиваний:
22
Добавлен:
13.05.2015
Размер:
1 Мб
Скачать
☆

Тема 12. Множества.

Написать программу обработки множеств в соответствии c условием задания. Обработка множеств должна быть реализована в подпрограммах. Исходные множества задать в главной программе. Ввод элементов множеств осуществлять до нажатия клавиши ‘z’. Результат обработки и мощность полученных множеств вывести в главной программе.

Пример 1. Задать с клавиатуры два множества символовS1,S2. Объединить их в новое множествоS3. На экран монитора вывести подмножествоS4 символов десятичных цифр объединенного множества и мощностьPowподмножестваS4. Ввод/вывод сделать в главной программе. Формирование объединенного множестваS3 и подмножестваS4 символов десятичных цифр осуществить в двух процедурахProc1,Proc2.

program pr12;

uses crt;

type T1 = set of char;

T2 = set of '0'..'9';

Procedure Proc1(a, b: T1; var c: T1);

begin

c:= a + b

end;

Procedure Proc2(a: T1; var b: T2; var P: integer);

const dig: T2 = ['0'..'9'];

var i: char;

begin

b:= []; P:= 0;

for i:= #0 to #255 do

if (i in a) and (i in dig) then

begin b:= b + [i];

inc(P)

end

end;

var S1, S2, S3: T1;

S4: T2;

i: byte;

c: char;

Pow: integer;

begin clrscr;

S1:= []; S2:= [];

write('Введите 1-е множество ->');

while true do begin

c:= readkey; if c = 'z' then break else

begin S1:= S1 + [c];

write(c:3)

end

end;

writeln;

write(' Введите 2-е множество ->');

while true do begin

c:= readkey; if c = 'z' then break else

begin S2:= S2 + [c];

write(c:3)

end

end;

writeln;

Proc1(S1, S2, S3);

Proc2(S3, S4, Pow);

write('Результат:');

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

if c in S4 then write(c:4);

writeln;

write('Мощность = ', Pow:4);

writeln;

readkey

end.

Задания для самостоятельного выполнения.

  1. Даны три множества X1, X2, X3,содержащие целые числа из диапазона[1..100].Сформировать новое множествоY= (X1X2)(X2X3),из которого выделить подмножество нечетных чисел.

  2. Даны три множества X1, X2, X3,содержащие целые числа из диапазона [1..100].Сформировать новое множество Y = (X1X2)(X2 \ X3)из которого выделить подмножество четных чисел.

  3. Даны три множества X1, X2, X3,содержащие целые числа из диапазона[1..100].Сформировать новое множество Y = (X1X2) \ (X2X3),из которого выделить подмножество чисел, кратных3.

  4. Даны три множества X1, X2, X3,содержащие целые числа из диапазона[1..100].Сформировать новое множество Y = (X1X2)(X2X3),из которого выделить подмножество чисел, кратных4.

  5. Даны три множества X1, X2, X3,содержащие целые числа из диапазона[1..200].Сформировать новое множество Y = (X1\X2) (X2X3),из которого выделить подмножество чисел, кратных5.

  6. Даны три множества X1, X2, X3,содержащие целые числа из диапазона[1..100].Сформировать новое множество Y= (X1X2) (X2X3),из которого выделить подмножество чисел, кратных6.

  7. Даны три множества X1=(1,2,3...20), X2=(10,11,12...30), X3=(1,3,5...21).Сформировать новое множествоY = (X1X2)(X1 X3) \ (X2X3),из которого выделить подмножество чисел, не делящихся на3без остатка.

  8. Дано множество X1 содержащее целые числа из диапазона[1..255].Сформировать новое множествоYпутем выделения из множества X1нечетных чисел и чисел, делящихся без остатка на17.

  9. Дано множество X1содержащее целые числа из диапазона[50..100].Сформировать новое множествоY1 путем выделения из множестваX1четных чисел, множествоY2путем выделения из множестваX1, чисел, кратных5.

  10. Даны множества X1иХ2, содержащие целые числа из диапазона[1..255]. Сформировать новое множествоY =(Х1Х2)и выделить из него все четные числа и числа, делящиеся без остатка на19.

  11. Дано множество X1содержащее целые числа из диапазона[50..100].Сформировать новое множествоY1путем выделения из множестваX1четных чисел, множествоY2путем выделения из множестваX1чисел, кратных5.

  12. Дано множество X1содержащее целые числа из диапазона[1..100].Сформировать новое множествоY1путем выделения из множестваX1 нечетных чисел, множествоY2путем выделения из множестваX1, чисел, кратных15.

  13. Дано множество X1 содержащее целые числа из диапазона[50..100].Сформировать новое множествоY1путем выделения из множестваX1нечетных чисел и множествоY2путем выделения из множестваX1чисел, кратных5.

  14. Дано множество X1содержащее целые числа из диапазона[1..100].Сформировать новое множествоY1путем выделения из множестваX1 четных чисел и множествоY2путем выделения из множестваX1, чисел, кратных15.

  15. Дано множество Х1, содержащее символы из диапазона[a...z].Сформировать новое множествоY1путем выделения из множестваХ1всех символов расположенных в алфавите позжеfи раньшеmи множествоY2 путем выделения из множестваХ1символов, расположенных раньшеgили позжеj. На экран вывести множествоY3=(Y1 \ Y2).

  16. Дано множество Х1, содержащее символы из диапазона [А...Я].Сформировать новое множествоY1 путем выделения из множестваХ1всех символов расположенных в алфавите раньшеЕили позжеФи множествоY2путем выделения из множестваХ1символов, расположенных позже К и раньшеР. На экран вывести множествоY3=(Y1 U Y2).

  17. Ввести с клавиатуры множество - последовательность символов из диапазона от АдоЯ. Определить число различных (без повторений) букв, входящих в данную последовательность.

  18. Подсчитать во введенном текстовом отрывке отдельно количество цифр и латинских букв.

  19. Дано множество Х1, содержащее символы из диапазона[А...Я]. Сформировать новое множествоY1путем выделения из множестваХ1 всех символов расположенных в алфавите позжеЕи множествоY2путем выделения из множестваХ1символов, расположенных раньшеКили позжеР. На экран вывести множествоY3=(Y1 n Y2).

  20. Дано множество, состоящее из различных символов. Исключить из заданной последовательности символы, не являющиеся буквами.

  21. Дано множество, состоящее из различных символов. Возвратить строку с упорядоченными по алфавиту символами.

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

  23. Подсчитать во введенном текстовом отрывке отдельно количество знаков математических операций и знаков препинания.

  24. Дано множество, состоящее из различных символов. Исключить из заданной последовательности символы, не являющиеся цифрами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]