Язык программирования Pascal. Множества. Типизированные константы. Васильев В.В - 10 стр.

UptoLike

10
shops=array[1..max] of assortiment;
Var mag:shops; {массив множеств}
all,one,no:assortiment; {искомые множества}
n,i:byte; {параметры циклов}
p:products; {продукт}
Procedure print(m:assortiment);
begin
for p:=bread to coffee do
if p in m
then
case p of
bread:write('хлеб '); butter:write('масло ');
milk:write('молоко ');
meat:write('мясо '); fish:write('рыба ');
salt:write('соль ');
cheese:write('сыр ');sausage:write('колбаса ');
sugar:write('сахар ');
coffee:write('кофе ')
end;
writeln
end; {print}
Begin
clrscr;
{ввод ассортимента в магазинах}
for i:=1 to max do
begin
mag[i]:=[];
writeln('Введите номера продуктов, которые есть в ',i,'-м магазине');
write('1-хлеб,2-масло,3-молоко,4-мясо,5-рыба,6-
соль,');
writeln('7-сыр,8-колбаса,9-сахар,10-кофе');
writeln('0-конец ввода');
repeat
repeat
read(n)
until (n>=0) and (n<=10);
case n of
1:p:=bread; 2:p:=butter; 3:p:=milk; 4:p:=meat; 5:p:=fish; 6:p:=salt; 7:p:=cheese;
8:p:=sausage; 9:p:=sugar; 10:p:=coffee
end;
if not(p in mag[i])
then include(mag[i],p)
until (n=0);
end;
{поиск продуктов, которые есть во всех магазинах}
all:=mag[1];