Class12:
Множества
1. Type bits = set of 0..1;
var x:bits;
y: set of (a,b,c);
z: set of '*'..'*';
a) каков базовый тип каждого из указанных множественных типов?
б) Сколько и какие значения могут принимать каждая из переменных x,y,z?
2. Если в базовом типе N значений, то сколько различных значений
в построенном множественном типе?
3. Какие из следующих конструкций являются множествами и почему?
а) [9, 6, 3, 0]
б) [2..3, 5, 7]
в) [1..15, 4..18]
г) ['*', '*']
д) [0 .. 0]
е) [true .. false]
ж) [2, sqrt(9)]
з) ['+', '=', '>=']
и) [[ ],[5]];
к) [odd(7), 0<2]
4. var s:set of char; c,d:char;
Переменной s присвоить:
а) пустое множество
б) множество из строчных гласных латиниских букв (a,e,i,o,u)
в) множество из всех цифр
г) множество литер, которые удовлетворяют условию c < d.
5. Вычислить значения отношений
1) [2] < > [2, 2, 2]
2) ['a', 'b'] = ['b', 'a']
3) [4, 5, 6] = [4 .. 6]
4) ['c', 'b'] = ['c' .. 'b']
5) [2, 3, 5, 7] <= [1 .. 9]
6) [3, 6 .. 8] <= [2 .. 7, 9]
7) [ ] <= ['0' .. '9']
8) 'q' in ['a' .. 'z']
9) trunc(3.9) in [1, 3, 5]
10) odd(4) in [ ]
11) [2] < [1 .. 3]
12) 66 = [66]
6. Эквиваленты ли выражения
а) p in [0,5,19] (p=0) or (p=5) or (p=19)
b) p in [20..50] (p >= 20) and (p <= 50)
7. Написать программу, которая печатает в алфавитном порядке множество
символов, входящих в строку.
8. Описать
а) функция digits(n), подсчитывающую количество различных значащих
цифр в десятичной записи натурального числа n;
b) процедуру print(n), печатающую в возрастающем порядке все цифры,
не входящие в десятичную запись натурального числа n.