Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК ОАиП.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.14 Mб
Скачать

3.7. Приоритеты операций при работе с множествами

1) *

2) +,-

3) In, =,<>,<=,>=

В группы объединены операции равного приоритета. При этом последовательность выполнения операций одного приори­тета определяется порядком их появления в выражении. Для изменения порядка выполнения используются круглые скобки.

Задача 1

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

Program Lab15_l ;

Uses Crt;

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

Const A : Set Of tovary = [tl, t3, t4, t5 ,t6 ,t9];

В : Set Of tovary = [tl, t2, t3, t5, t6, t8 ,t9];

С : 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 : WriteLn ('Компьютеры IBM PC 300');

3 : WriteLn ('Компьютеры Celebriis XL, QL');

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

5 : WriteLn ('Принтеры HP LJ 5L');

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

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

8 : WriteLn ('Дискеты Verbatim 1.44Mb');

9 : WriteLn ('Дискеты Polaroid 1.44Mb')

End;

WriteLn;

WriteLn ('Мы ждем вас');

ReadLn;

End.

Протокол работы программы:

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

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

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

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

Дискеты Polaroid 1.44Mb

Мы ждем вас

В разделе типов задается список объектов (товаров), определяющий базовый тип (tovary), на основе которого построены множественные типы А, В, С. Исходные значения (перечень товаров, имеющихся в наличии) в множества А, В, С занесены с помощью типизированной константы. Далее в цикле перебираем все товары и по номеру товара (функция ORD) и, используя операцию включения In печатаем информацию об изделиях, имеющихся в наличии на складах А или В, но которых нет на складе С.

Задача 2

Дано натуральное число n (n <=100), определяющее возраст человека (в годах). Дать для этого числа наименование «год», «года» или «лет», например: 1 год, 24 года, 90 лет.

Program Lab15_2;

Uses Crt;

Var n: 1..100;

Begin

ClrScr;

Write ('Введите возраст');

ReadLn (n);

GoToXY (WhereX + 20, WhereY - 1);

If n in [ 11 .. 14] Then Write ('лет')

Else

Case n Mod 10 Of

1 : WriteLn ('год');

2 .. 4 : WriteLn ('года');

0, 5 ..9: WriteLn ('лет');

End;

ReadLn;

End.

Протокол работы программы:

Введите возраст 25 лет.

Искомые наименования зависят от остатка, полученного при делении числа п на 10. Исключение составляют числа 11, 12, 13, 14. Используем оператор ветвления If в полной форме, в одной из ветвей которого учитываем исключение с помо­щью оператора включения In. В другой ветви Else использу­ем оператор выбора Case. Условие n In [11..14] истинное {True), если п является элементом множества [11, 12, 13, 14], оно заменяет составное условие (п> 10) and (n < 15).

Задача 3

В заданном множестве В удалить все числа, кратные 2.

Program Lab15_3;

Uses Crt;

Var B : Set Of 0.25;

i : byte;

Begin

ClrScr;

For i : = 1 To 25 Do

If (i In B) And (i Mod 2 = 0)

Then В : = В - [i];

{блок печати множества В}

For i : = 1 to 25 Do

If i In В Then Write (i: 3);

End.

Задача 4

Ввести строку символов и сформировать из нее множе­ство Lat, содержащее латинские буквы из входной строки;

Program Lab15_4;

Uses Crt;

Var Lat : Set Of 'A'..'Z';

C, i: Char;

Begin

ClrScr;

ReadLn;

Lat : = []

Write ('Введите строку');

Repeat

Read (C);

If С In ['A'.. 'Z ']

Then Lat: = Lat + [C];

Until Eoln;

{Вывод множества Lat}

WriteLn ('Латинские буквы');

For I : = ' A ' To ' Z ' Do

If i In Lat Then Write (i: 2);

End.

Протокол работы программы. Введите строку: 45AFYB. Ла­тинские буквы. А В F Y

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