1. Множество С содержит элементы: {100, 200, 300, 600, 900}. Множество D содержит элементы: {0, 200, 500, 700, 900}. Сколько элементов содержится только в множестве D, но не содержится в множестве C?
2. На схеме прямоугольник изображает всех учащихся 6 класса, круг Ч – тех, кто любит чёрный шоколад, а круг Б – тех, кто любит белый шоколад. Штриховкой выделено некоторое подмножество этих шестиклассников. Поставьте в соответствие каждому рисунку соответствующее описание выделенного множества.
a) Те, кто любит и чёрный, и белый шоколад
b) Те, кто любит какой-нибудь один вид шоколада: или чёрный, или белый
c) Те, кто не любит ни чёрный, ни белый шоколад
d) Те, кто любит белый и не любит чёрный шоколад
1
2
3
4
3. Элементы множеств заданы точками. Сколько элементов содержит Множество B?
4. Элементы множеств заданы точками. Сколько элементов содержат следующие множества: Пересечение множеств A и B?
5. Множество С содержит элементы: {100, 200, 300, 600, 900}. Множество D содержит элементы: {0, 200, 500, 700, 900}. Сколько элементов содержится в пересечении этих множеств?
6. Элементы множеств заданы точками. Сколько элементов содержат следующие множества: Объединение множеств A и B?
7. Элементы множеств заданы точками. Сколько элементов содержит Множество A?
8. Укажите примеры бесконечных множеств.
1. Натуральные числа
2. Четные числа
3. Цифры
4. Буквы русского алфавита
9. Какие из отношений между множествами верны?
a. P подмножество Q
b. R вложено в P
c. Q подмножество P
d. Q надмножество R
e. Q подмножество R
const
k = 100;
type
maze = array [1..k, 1..k] of integer;
var
l : maze;
n, m: integer;
i, j: integer;
c: char;
t: text;
w: integer;
x0, y0: integer;
x1, y1: integer;
procedure ways(a,b,r:integer);
begin
if (w = 0) or (r < w) then {нет смысла идти дальше, если текущий путь уже превосходит найденный}
if (l[a,b] <> -2) then
if (r < l[a,b]) or (l[a,b] = -1) then {нет смысла идти, если текущая клетка уже была достигнута за меньшее число шагов}
begin
l[a,b] := r;
if (a = x1) and (b = y1) then
w := r
else
begin
if a <> 1 then ways(a - 1, b, r + 1);
if b <> 1 then ways(a, b - 1, r + 1);
if a <> n then ways(a + 1, b, r + 1);
if b <> m then ways(a, b + 1, r + 1);
end
end;
end;
begin
assign(t, 'input.txt');
reset(t);
w := 0;
readln(t, n, m);
readln(t, x0, y0);
readln(t, x1, y1);
for i := 1 to n do
begin
for j := 1 to m do
begin
read(t, c);
case c of
'.' : l[i,j] := -1; {будем считать, что если клетка отмечена как -1, то путь к ней еще не найден}
'X' : l[i,j] := -2; {-2, если клетка непроходима}
end;
end;
readln(t)
end;
close(t);
if (l[x0,y0] <> -2) and (l[x1,y1] <> -2) then
begin
l[x0,y0] := 1; {просто трюк, чтобы пройти проверку на (r < l[x0,y0])}
ways(x0, y0, 0);
end
else
l[x1,y1] := -1;
writeln(l[x1,y1])
end.