ВЕЖБИ ОД Множества - Sets

 

1. ДСПКШ кој прави декларирање  на сопствени типови на податоци МАЛИ и ГОЛЕМИ кои во себе ги содржат малите и големите букви.

Потоа декларира две променливи SAM_M и SAM_G кои се од горните типови соодветно и ги полни со малите и големите самогласки.

Потоа проверува дали внесен карактер е мала или голема самогласка и го печати нејзиниот ASCII код.

Решение

program mnozestvo;
type mali=set of 'a'..'z';
        golemi=set of 'A'..'Z';
var     sam_m:mali;
        sam_g:golemi;
        BUKVA:CHAR;
begin
    sam_m:=['a','e','i','o','u'];
    sam_g:=['A','E','I','O','U'];
    for bukva:='A' to 'z' do
        if (upcase(bukva) in sam_m) or (bukva in sam_g) then   
            writeln('bukvata ',bukva,' e samoglaska so ascii ',ord(bukva))
        else
            writeln('bukvata ',bukva,' e soglaska so ascii ',ord(bukva));
end.

 

1. ДСПКШ кој прави декларирање  на сопствени типови на податоци МНОЗ кое ги содржи броевите од 1 до 20.

Потоа декларира две променливи А,Б,Ц,Д,Е,Ф кои се од горниот тип и во А ги става бревите бревите 2,4,6,8 а во Б 1,3,5,7,9. Потоа во а со циклус ги додава броевите од 10 до 20.

Во C ја сместува разликата меѓу множествата А и Б.
Во Д  ја сместува разликата меѓу множествата Б и А.
Во Е  ја сместува унијата меѓу множествата А и Б.
Во Ф  го сместува пресекот меѓу множествата А и Б.

И ја печати содржината на било кое од нив (Пр. C)
 

Решение

program prv;
    type mnoz=set of 1..20;
    var a,b,c,d,e,f:mnoz;
    i:integer;
    begin
        a:=[2,4,6,8];
        b:=[1,3,5,7,9];
        for i:=10 to 20 do
            a:=a+[i];
        c:=a-b;
        d:=b-a;
        e:=a+b;
        f:=a*b;
        write('Mnozestvoto c[');
        for i:=1 to 20 do
            if i in c then write(i:2,',');
        write(']');
    writeln;
end.