Жиынға қолданылатын операциялар
Жиынға 5 операция қолданылады: біріктіру (+), қиылысу (*), азайту (-), қатынас операциялары, тиістілікті тексеру операциясы.
1. Екі жиынның бірігуі деп екі жиынның да элементтерінен құралған элементтер жиынын атайды.
Мысал: [1,2,3,4] + [3,4,5,6] = [1,2,3,4,5,6]
[‘B’, ‘F’] + [‘B’..’D’] = [‘B’,’C’,’D’,’F’]
2. Екі жиынның қиылысуы деп екі жиынның ортақ элементтерінен құралған элементтер жиынын атайды.
Мысал: [0..4] * [5,6] = [ ]
[Орал, Астана]*[Алматы, Орал]=[Орал]
[1,2,3,4] * [3,4,5,6] =[3,4]
3. Екі жиынның айырмасы деп 1-жиынның 2-жиынға тиісті емес элементтерінен тұратын жиынды атайды.
Мысал: [1,5,9]-[2,4,8,9]=[1,5]
4. Жиындарға =, <>, >=, <= қатынас операциялары қолданылады.
(<, > амалдары қолданылмайды)
Мысал: Төмендегі өрнектердің мәндері ақиқат болып табылады:
'С'..'Е'='D','E','C'
[7, 1, 3]<>[2, 4, 6, 8]
[Орал ]<=[Астана, Орал]
['A'..'E']>=['A', 'B']
5. Тиістілікті тексеру операциясы.
Жиынға тиістілікті тексеретін In операторы қолданылады.
Жазылу үлгісі:
өрнек IN жиын
Егер өрнектің мәні жиынға тиісті болса, бинарлық операцияның мәні true, әйтпесе false болады.
Мысалы: 5 IN [3..7] – мәні ақиқат (true)
2*2 [3..7] – мәні жалған (false)
Жиынға орындалатын операциялардың реті:
1. *
2. +, -
3. In, =, <>, <=, >=
Жиынға бұл операцияларға қосымша 2 процедура қолданылады.
INCLUDE- жиынға жаңа элемент қосады.
INCLUDE (S, I)
S- базалық тип элементтерінен тұратын жиын.
I- жиынға қосылатын элемент.
EXCLUDE-жиыннан элементті азайтады.
EXCLUDE (S, I)
Сәйкес әрекет атқаратын біріктіру және азайту операцияларынан айырмашылығы бұл процедуралардың орындалу жылдамдығы жоғары болып табылады.
Мысалдар қарастырайық:
Мысал59. Кіші орыс әріптерінен тұратын жиын берілген. Берілген символдық жолдың осы жиынға тиісті болатын символдарын және олардың кодтарын екі баған түрінде экранға шығаратын программа құрыңдар.
Program p1;
var a: set of char;
b:string;
i: byte;
begin
readln (b); берілген символдық жол
а:='а'..'я';
for i:=1 to length (b) do
if bi IN a then begin
writeln (b i, ' ', ord (b i )); writeln; end
end.
Мысал60. а:=[1, 9, 3, 4, 7], b:=[1..5] жиындарының қосындысын, қиылысуын, айырмасын табатын программа құрыңдар.
Program p2;
var a, b, c, d, e: set of byte;
i: integer;
begin
а:=[1, 9, 3, 4, 7]; b:=[1..5];
с:= а+b; d:=а*b; е:=а-b;
write ('c:');
for i:=1 to 9 do
if i IN c then write (i); writeln;
write ('d:');
for i:=1 to 9 do
if i IN d then write (i); writeln;
write ('e:');
for i:=1 to 9 do
if i IN e then write (i); writeln;
end.
Жауабы: с: 1, 2, 3 , 4, 5, 7, 9
d: 1, 3, 4
e: 7, 9
Мысал61. 0-ден 9-ға дейінгі цифрлардан және арифметикалық амалдардан тұратын жиын берілген. Берілген символдық жолдағы жиынға тиісті элементтерді санаңдар.
Program m3;
var a:set of char;
b: string;
i, k: byte;
begin
a:='0'..'9', '+', '-', '*', '/';
readln (b);
for i:=1 to length (b) do
if b[i] IN a then k:=k+1;
writeln ('Жолдағы жиынға тиісті элемент саны =', к)
end.
Достарыңызбен бөлісу: |