Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти та науки України
Національний університет «Львівська політехніка»
Інститут комп’ютерних наук та інформаційних технологій
Кафедра ПЗ
З В І Т
Лабораторна робота № 2
З курсу «Дискретної математики»
Тема:
«Операції над множинами»
Мета роботи:
Навчитися виконувати операції над множинами за допомогою функцій мови Pascal.
Завдання:
Описати 3 числові масиви A (5 елементів), B (3 елементи), C (7 елементів).
Ввести з клавіатури три масиви A, B, C .
Здійснити задані перетворення над масивами і видати результат.
Знайти суму всіх елементів масиву А;
Здійснити перетворення (A∩B)∩C;
Записати декартовий добуток AxC
Текст програми
program lab2; {robota z masuvamu}
uses crt;
var a :array[1..5]of integer;
b:array[1..3]of integer;
c:array[1..7]of integer;
d:array[1..3]of integer;
d1:array[1..3]of integer;
sum,i,j,k:integer;
begin
clrscr;
sum:=0;
k:=1;
writeln('Zaraz vvedem elementu trjoh masuviv');
writeln('Vvodum cili cusla');
for i:=1 to 5 do
begin
write('Vveditj ',i,'-uy element masuvy A : ');
readln(a[i]); {zchutyem elementu masuvy A}
sum:=sum+a[i]; {znahodum ix sumu}
end;
for i:=1 to 3 do
begin
write('Vveditj ',i,'-uy element masuvy B : ');
readln(b[i]); {zchutyem elementu masuvy B}
end;
for i:=1 to 7 do
begin
write('Vveditj ',i,'-uy element masuvy C : ');
readln(c[i]); {zchutyem elementu masuvy b}
end;
writeln;
writeln('Suma elementiv masuvu A = ',sum);
for i:=1 to 3 do
begin
d[i]:=0; {obnylyaem masuvu}
d1[i]:=0;
end;
for i:=1 to 5 do
for j:=1 to 3 do
begin
if a[i]=b[j] then {porivnuem elementu mas A i B}
begin
case k of
1: d[k]:=a[i];
2: if (a[i]<>d[k-1]) then d[k]:=a[i];
3: if (a[i]<>d[k-1])and(a[i]<>d[k-2]) then
begin {odnakovi z-nya ignoryem}
d[k]:=a[i];
k:=1;
end; end; {kinecj operatora vubory}
k:=k+1;
end; end;
k:=1;
for i:=1 to 7 do
for j:=1 to 3 do
begin {porivnuem elementu mas C i D}
if c[i]=d[j] then
begin {D - masuv chusel yaki spivpalu v A i B}
case k of
1: d1[k]:=d[j];
2: if (d[j]<>d1[k-1]) then d1[k]:=d[j];
3: if (d[j]<>d1[k-1])and(d[j]<>d1[k-2]) then
begin
d1[k]:=d[j];
k:=1;
end; end;
k:=k+1;
end; end;
j:=0; {indukator nyljovuh elem}
for i:=1 to 3 do
if d1[i]<>0 then {yakwo z-nya ne nulj to bylo spivpadannya}
writeln ('Pru (AкB)кC otrumaemo mn z takumu elementamu. Elem ',i, ' ',d1[i])
else j:=j+1;
if j=3 then {yakwo vsi elem D1 nyli}
writeln ('Pru (AкB)кC otrumaemo pysty mn');
writeln; {znahodzhennya dek dob A na C}
writeln('Pru decartowomy mnozhenni A na C otrumaemo : ');
for i:=1 to 5 do
for j:=1 to 7 do
write('(',a[i],',',c[j],')',' ');
readln; end.
Висновок:
На даній лабораторній роботі я навчився виконувати операції на множинами в мові Pascal за допомогою використання масивів та дій над ними.