КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Приклад 19.3
Приклад19.2. Результати програми Приклад 19.1 Перетин множин Операція записується А*В. Результатом виконання операції є множина, що складається з елементів, які одночасно входять до кожної з двох множин. Приклади операції перетину множин Type charset= set of char; Var c1,c2,c3,c4: charset; ................... c1:=[ ‘a’,’x’,’e’]; c2:=[ ‘o’,’x’]; c3:=c1*c2; с4:=c1*[ ‘o’,’n’];
Множина c3 складиметься з елемента [’x’]. Множина с4 буде порожня, тому що множини не мають однакових елементів. Різниця множин Операція записується А-В. Результатом виконання операції є множина, що складається з елементів першої множини, які не зустрілися у другій множині. Приклади операції різниці множин c1:=[ ‘a’,’t’,’e’]; c2:=c1-[ ’e’]; c3:=c1-[ ‘s’,’t’,’e’]; Множина c2 складиметься з елементів [ ‘a’,’t’]; Множина c3 складиметься з елемента [ ‘a’]. Порівняння множин Множини у Паскалі можна порівнювати, використовуючи операції відношення. Дві множини А і В рівні, якщо кожен елемент множини А є в той же час елементом множини В і навпаки. Множина А є підмножиною множини В, якщо кожен елемент множини А присутній також і у множині В (А<=В або В>=А). Логічна операція in До множин може бути застосована логічна операція in, яка визначає чи належить даний елемент множині. Ця операція має вигляд: x in A де х - ім’я змінної порядкового типу, а А - множина. Приклади операції різниці множин Для заданих множин c1:=[‘a’,’x’,’e’]; c2:=[‘x’]; c3:=[‘a’..’z’]; Логічні вирази мають результат true. c1<>c2 c1=[‘a’,’x’,’e’] c1>=c2 c1<=c3 ‘a’ in c1 ‘f’ in c3 not (‘h’ in c2). Метод “решето Ератосфена”. Надрукувати прості числа,що належать інтервалові [2,15]. Суть метода: знаходять перше ціле число більше за 1, це – 2 –просте число і видаляються всі числа кратні йому, потім 3 – просте число і видаляються всі числа кратні йому і т.д. Схему алгоритму представлено на рис. 19.1. program metod_eratosfena; uses crt; const max=55; var pr,pr1:set of 0..max; c,m:integer; BEGIN clrscr; pr:=[2..max]; pr1:=[]; {pr – множина всіх цілих чисел; pr1- множина простих чисел}; for c:=2 to max do if c in pr then begin pr1:=pr1+[c];{додаються прості числа}; for m:=1 to (max div c) do pr:=pr-[c*m]; {віднімаються всі числа кратні с}; end; writeln ('Прості числа'); for c:=2 to max do if c in pr1 then write(c,' '); end. prosti chysla 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53
Задано текст, що складається з цифр та спеціальних символів. Підрахувати кількість цифр у тексті, використовуючи множини. Схему алгоритму представлено на рис. 19.2. program lab4; uses crt; var c:char; k:integer; BEGIN clrscr; k:=0; repeat read(c); if not (c in ['.',',','*','/','-','+']) then begin if c in ['0'..'9'] then k:=k+1; write(c); end; until EOLn; writeln(' цифр ',K); END. Результат 1+2.+3*5-9 12359 tcifr 5
Задано type name=(Jon,Leslee,Ann,Bob,Jack); gosti =set of name; grup=array[name] of gosti; Скласти програму, яка визначатиме скiльки серед людей масиву a1 таких, що були в гостях у всiх iнших. program Byl_v_gostjah_u_vsih; uses crt; type name=(Jon,Leslee,Ann,Bob,Jack); gosti=set of name; grup=array[name] of string; grup1=array[name] of gosti; const a:grup=(‘Jon’,’Leslee’,’Ann’,’Bob’,’Jack’); {Допомiжний масив, який використовується для друкування результатiв програми, так як елементи множини не можна вводити i виводити за допомогою iнструкцiй Read та Write }
var a1:grup1; n,i:name; k:integer; begin clrscr; a1[Jon]:=[Leslee,Ann Bob,Jack];{Множина людей, якi були гостями Jon} a1[Leslee]:=[Jon,Ann,Bob,Jack];{Множина людей, якi були гостями Leslee} a1[Ann]:=[Jon,Bob,Jack];{Множина людей, якi були гостями Ann} a1[Bob]:=[Jon, Leslee, Ann,Jack];{Множина людей, якi були гостями Bob} a1[Jack]:=[Leslee, Ann,Bob];{Множина людей, якi були гостями Jack} For n:=Jon to Jack do begin k:=0; for i:=Jon to Jack do begin if n in a1[ i ] then k:=k+1; end; if k=ord(i)then writeln(a[n],’Був в гостях у всiх ‘); end; end.
Дата добавления: 2014-01-07; Просмотров: 343; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |