Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornye_raboty_po_informatike.doc
Скачиваний:
12
Добавлен:
29.03.2015
Размер:
692.74 Кб
Скачать

Постановка задачи.

Задан список объектов, включающий в зависимости от варианта названия ЭВМ или видов спорта. Известно, что в каждом институте имеется определенный набор вычислительных машин, а учащиеся каждой группы занимаются определенными видами спорта. Необходимо задать конкретные наборы ЭВМ (перечни видов спорта) для каждого института (каждой группы). Количество институтов(групп) указано в варианте.

Введя исходные данные, необходимо построить и распечатать множество, удовлетворяющее указанному в варианте условию: построить и распечатать два множества:

  • первое множество должно включать в себя ЭВМ, имеющиеся во всех институтах; второе - ЭВМ, имеющиеся хотя бы в одном институте(N=5).

  • первое множество должно включать в себя ЭВМ, имеющиеся в одном институте; второе - ЭВМ, которых нет ни в одном институте(N=5).

  • первое множество должно включать в себя ЭВМ, которых нет ни в одном институте; второе - ЭВМ, имеющиеся во всех институтах(N=5).

Решение.

Текст программы № 10

Program Lab10 { вариант № 2};

Uses Crt;

Type

Comps = (i386, i486, Apple, Pentium, Acer, Macintosh, i7);

TComps = set of Comps;

Const

All_comps : TComps = [i386, i486, Apple, Pentium, Acer, Macintosh, i7];

Inst_1: TComps = [i386,Acer, Pentium];

Inst_2: TComps = [Macintosh, Pentium];

Inst_3: TComps = [Apple, Pentium ];

Inst_4: TComps = [Pentium, Acer, i486];

Inst_5: TComps = [Pentium, Macintosh, i386];

Var

InAll, NoOne, InOne, All_Comps_In, NotInst_1,

NotInst_2, NotInst_3, NotInst_4, NotInst_5 : TComps;

Flag : String;

Procedure OutPut(s : TComps);

Begin

If i386 in s then Write('i386 ');

If i486 in s then Write('i486 ');

If Pentium in s then Write('Pentium ');

If Apple in s then Write('Apple ');

If Acer in s then Write('Acer ');

If Macintosh in s then Write('Macintosh ');

If i7 in s then Write('i7 ');

End;

Begin

ClrScr;

All_Comps_In := Inst_1 + Inst_2 + Inst_3 + Inst_4 + Inst_5;

NoOne := All_Comps - All_Comps_In;

{1 множество, 1 условие}

Write('Компьютеры, которые есть в каждом институте: ');

NotInst_1 := All_Comps_In-Inst_1;

NotInst_2 := All_Comps_In-Inst_2;

NotInst_3 := All_Comps_In-Inst_3;

NotInst_4 := All_Comps_In-Inst_4;

NotInst_5 := All_Comps_In-Inst_5;

OutPut(All_Comps_In-(NotInst_1 + NotInst_2 + NotInst_3 + NotInst_4+NotInst_5));

Writeln;

{1 множество, 2 условие}

Write('Компьютеры, имеющиеся хотя бы в одном институте: ');

OutPut(All_Comps_In-Inst_2-Inst_3-Inst_4-Inst_5);

OutPut(All_Comps_In-Inst_1-Inst_3-Inst_4-Inst_5);

OutPut(All_Comps_In-Inst_1-Inst_2-Inst_4-Inst_5);

OutPut(All_Comps_In-Inst_1-Inst_2-Inst_3-Inst_5);

OutPut(All_Comps_In-Inst_1-Inst_2-Inst_3-Inst_4);

WriteLn;

{2 множество, 1 условие}

Write('Компьютеры, имеющиеся только в одном институте: ');

OutPut(All_Comps_In-Inst_2-Inst_3-Inst_4-Inst_5);

OutPut(All_Comps_In-Inst_1-Inst_3-Inst_4-Inst_5);

OutPut(All_Comps_In-Inst_1-Inst_2-Inst_4-Inst_5);

OutPut(All_Comps_In-Inst_1-Inst_2-Inst_3-Inst_5);

OutPut(All_Comps_In-Inst_1-Inst_2-Inst_3-Inst_4);

WriteLn;

{2 множество, 2 условие}

All_Comps_In := Inst_1 + Inst_2 + Inst_3 + Inst_4+Inst_5;

NoOne := All_Comps - All_Comps_In;

Write('Компьютеры, которых нет ни в одном институте: ');

OutPut(NoOne);

WriteLn;

{3 множество, 1 условие}

All_Comps_In := Inst_1 + Inst_2 + Inst_3 + Inst_4+Inst_5;

NoOne := All_Comps - All_Comps_In;

Write('Компьютеры, которых нет ни в одном институте: ');

OutPut(NoOne);

WriteLn;

{3 множество, 2 условие}

Write('Компьютеры, которые есть в каждом институте: ');

NotInst_1 := All_Comps_In-Inst_1;

NotInst_2 := All_Comps_In-Inst_2;

NotInst_3 := All_Comps_In-Inst_3;

NotInst_4 := All_Comps_In-Inst_4;

NotInst_5 := All_Comps_In-Inst_5;

OutPut(All_Comps_In-(NotInst_1 + NotInst_2 + NotInst_3 + NotInst_4+NotInst_5));

Writeln;

While not KeyPressed Do

End.

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