{====== Programoz s ====== P˘tz rthelyi - 1996. 12. 17. ====== NZ961217.txt

Minden sz mozott feladat megold s t kl”n lapra ˇrja!
Minden lapnak csak az egyik fel‚re ˇrhat.
Minden lap tetej‚re ˇrja fel balra a feladat sz m t, jobbra a nev‚t,
tank”rsz m t ‚s csoportja bet–j‚t!
A feladat szerinti elj r sok ‚s fggv‚nyek nem haszn lhatnak glob lis
v ltoz˘t. Ha bels“ elj r st vagy fggv‚nyt is deklar l, azok haszn lhatnak
glob lis v ltoz˘t, de legfeljebb a feladat szerinti elj r s, fggv‚ny
vagy program v ltoz˘it ‚s param‚tereit.

---------------------------------------------------------------------------
1.
Meg kell  llapˇtani, hogy az al bbi programr‚szek hat s ra mi fog kiˇr˘dni.
Az is fontos, hogy mi kerl Łj sorba. Csak a v‚gleges megold st adja be!
A r‚szletek egy olyan programban helyekednek el, amelynek a
deklar ci˘s r‚sze a k”vetkez“:

< L sd:  V-Def.pas  >

1.A) ---------------------------------------------------------------------
     for e1:=1 to 3 do
     begin  t1[e1]:=e1;  t1[2*e1]:=-e1;  end;
     t1[5]:=0;
     for e1:=1 to 6 do
       for e2:=1 to 6-e1 do
         if t1[e2] > t1[e2+1] then
         begin  e3:=t1[e2];  t1[e2]:=t1[e2+1];
                t1[e2+1]:=e3;
         end;
     for e1:=1 to 6 do write(t1[e1],' ');
     writeln;

1.B) ---------------------------------------------------------------------
     new(m1);  m1^.lanc:=nil;  m1^.kulcs:=5;
     for e1:=1 to 5 do  begin
       m2:=m1;
       new(m3);  m3^:=m2^;  m2^.kulcs:=e1;  m2^.lanc:=m3;
     end;
     m3^.lanc:=m1^.lanc;
     for e1:=1 to 6 do  begin
       write(m1^.kulcs:3);  m1:=m1^.lanc;
     end;
     writeln;

1.C) ----------------------------------------------------------------------
     e1:=22;  e2:=3;
     while not f(e1,e2)  do  s(e1,e2);
     writeln;

1.D) ----------------------------------------------------------------------
     h1:=[1..3];  h2:=[25..30];
     repeat
       e1:=0; while not (e1 in h1) do e1:=succ(e1);
       h1:=h1-[e1];  e1:=e1+1;
       while e1 in h1 do  e1:=e1+1;
       h1:=h1+[e1];
     until h1 <= h2;
     writeln(e1);

2. Feladat ------------------------------------------------------ 2 pont

K‚szˇtsen teljes programot, amely a szabv nyos bemeneten beolvasott
sz”veg sorait 80 karakteren jobbra igazˇtva ˇrja ki a szabv nyos kimenetre.
Tudjuk, hogy egy beolvasott sor sem hosszabb 80 karaktern‚l.

3. Feladat ------------------------------------------------------ 2 pont

Adottak a k”vetkez“ tˇpusok:
  TYPE  mut = ^ rec;
        rec = record  kulcs :real;  bal,jobb :mut;  end;

Deklar ljon fggv‚nyt, amely megadja egy rec elemtˇpusŁ bin ris f ban
a legkisebb kulcsŁ elem pointer‚t. Nem tudjuk, hogy a fa rendez“fa-e.

============================== BEUGR• VGE ==============================

4. Feladat ------------------------------------------------------ 2 pont

Deklar ljon olyan gyorsrendez‚si elj r st, amely a hasonlˇt si
alap-‚rt‚ket az adott intervallum legfeljebb 5, egym st˘l a lehet“
legt volabb lev“, kl”nb”z“ index– elem‚b“l sz mˇtja ki.

5. Feladat ------------------------------------------------------ 2 pont

Adott k‚t, legfeljebb 80-karakteres sorokb˘l  ll˘ sz”veg-file, melyek
mindegyike kl”n-kl”n soronk‚nt n”vekv“, azaz ABC sorrendbe rendezett.
K‚szˇtsen programot, amely ezek ‚rt‚keit tov bbi k‚t file-ba v logatja,
egyikbe a k‚t bemeneti file-ban megegyez“ sorok kerljenek, mindegyik
csak egyszer, a m sikba a kl”nb”z“ek.