Работа с множествами |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Работа с множествами |
rov4 |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 13 Пол: Женский Репутация: 0 |
Привет всем!
Обращаюсь к вам за помощью, так как самой выполнить задания, видимо не дано... Необходимо написать программы к следующим заданиям: 1. Дана непустая последовательность символов. Требуется построить и напечатать множество, элементами которого являются встречающиеся в последовательности: цифры от ‘0’ до ‘9’. 2. Постановка задачи: Задан список объектов, включающий в зависимости от варианта названия ЭВМ или видов спорта. Известно, что в каждом институте имеется определенный набор вычислительных машин, а учащиеся каждой группы занимаются определенными видами спорта. Необходимо задать конкретные наборы ЭВМ (перечни видов спорта) для каждого института (каждой группы). Количество институтов(групп) указано в варианте. Введя исходные данные, необходимо построить и распечатать множество, удовлетворяющее указанному в варианте условию. Вариант задания: Задано множество вычислительных машин, которыми может быть обеспечен институт: IBM-386, IBM-486, Pentium, Macintosh, APPLE, ACER. Известен набор машин, имеющихся в каждом институте. Количество институтов (N) указано в варианте: требуется построить и распечатать множество, включающее в себя вычислительные машины: • которыми обеспечены все институты (N=10). • которые имеют хотя бы один институт. • которых нет ни водном институте. Пожалуйста, помогите, чем сможете. Заранее спасибо! |
-rov4- |
Сообщение
#2
|
Гость |
Итак, я написала программы для этих 2-х заданий, и вот что получилось:
Для № 1: Код program lab; Uses crt; TYPE SetType = set of char; const Length = 255; var m1, m2 : array [1..Length] of Char; i, a : Integer; Myset:Settype; Begin ClrScr; Randomize; For i:=1 to Length do m1[i]:=Chr(32+Random(255-32)); Myset:=['0'..'9']; a:=1; For i:=1 to Length do if m1[i] in Myset then Begin m2[a] := m1[i]; Inc(a); End; writeln('Множество:'); For i:=1 to Length do Write(m1[i],' '); writeln; writeln('В множество входят следующие цифры от 0 до 9:'); For i:=1 to a-1 do Write(m2[i],' '); writeln; writeln('Программа закончена , нажмите Enter.'); ReadLn; End. Для № 2: Код Program lab; Uses Crt; Type Comps = (i386, i486, Apple, Pentium, Acer, Macintosh); TComps = set of Comps; Const All_comps : TComps = [i386, i486, Apple, Pentium, Acer, Macintosh]; Inst_1 : TComps = [i386,Acer, Pentium]; Inst_2 : TComps = [Acer, Pentium]; Inst_3 : TComps = [Apple, Pentium ]; Inst_4 : TComps = [Pentium, Acer, i486]; Inst_5 : TComps = [i386,Acer, Pentium]; Inst_6 : TComps = [Acer, Pentium]; Inst_7 : TComps = [Apple, Pentium ]; Inst_8 : TComps = [Pentium, Acer, i486]; Inst_9 : TComps = [Apple, Pentium ]; Inst_10 : TComps = [Pentium, Acer, i486]; Var All_Comps_In, NotInst_1, NotInst_2, NotInst_3, NotInst_4, NotInst_5, NotInst_6, NotInst_7, NotInst_8, NotInst_9, NotInst_10 : TComps; 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 '); End; Begin ClrScr; All_Comps_In := Inst_1 + Inst_2 + Inst_3 + Inst_4+Inst_5 + Inst_6 + Inst_7 + Inst_8+Inst_9 + Inst_10; 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; NotInst_6 := All_Comps_In-Inst_6; NotInst_7 := All_Comps_In-Inst_7; NotInst_8 := All_Comps_In-Inst_8; NotInst_9 := All_Comps_In-Inst_9; NotInst_10 := All_Comps_In-Inst_10; OutPut(All_Comps_In-(NotInst_1 + NotInst_2 + NotInst_3 + NotInst_4+ NotInst_5 + NotInst_6 + NotInst_7 + NotInst_8+NotInst_9 + NotInst_10)); WriteLn; Write('машины, которые имеет хотя бы один институт:'); OutPut(All_Comps_In); WriteLn; Write('машины, которых нет ни в одном институте:'); OutPut(All_Comps - All_Comps_In); WriteLn; While not KeyPressed Do; End. Пока всё работает... :thanks: |
Текстовая версия | 1.06.2024 19:05 |