= = = = = = = = = programoz s alapjai = = = = = = = = =
                              vizsga
                          1992. janu r 24.
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      1. feladat                                          5*0.2 pont


      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.
      a r‚szletek egy olyan programban helyezkednek el, amelynek a
      deklar ci˘s r‚sze a k”vetkez“:

      < v-def.pas >

        a)  new(m1);  new(m2);  new(m3);
            with m1^ do begin  kulcs:=4;  lanc:=m2;  end;
            with m2^ do begin  kulcs:=1;  lanc:=m3;  end;
            with m3^ do begin  kulcs:=2;  lanc:=m3;  end;
            m3:=m1;  e1:=0;
            repeat  write(m3^.kulcs:6);  e1:=e1+m3^.kulcs;
                    m3:=m3^.lanc;  until e1>7;
            -----------------------------------------------------
        b)  e1:=-7;  e2:=3;
            while  f(8,e1+e2) do s(e1,2*e2);
            -----------------------------------------------------
        c)  v1:=4;  v2:=0.1;  b1:=sin(v1)>1.1;
            t2[1,1]:=b1 or (sqrt(v2)>1.0);
            t2[1,2]:=t2[1,1] or (trunc(v1-0.1)>2);
            t2[2,1]:=not t2[1,1] and t2[1,2];
            t2[2,2]:=ord('a') > ord('f');
            for e1:=2 downto 1 do
            for e2:=1 to n do  write(t2[e1,e2]:5);
            -----------------------------------------------------
        d)
            h1:=[1..5,9,12..15];   h2:=[8..12,20];
            h1:=h1*h2;
            for e1:=1 to 30 do
              if e1 in h1 then writeln(e1:5);
            -----------------------------------------------------
        e)
            e3:=0;
            for l1:=alberlet to kastely do
              begin
                e2:=0;
                repeat e2:=e2+2;
                until e2>=ord(l1);
                e3:=e3+e2;
              end;
            writeln(e3:5);
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

      2. feladat                                            0.5 pont

        type pont    = record x,y:integer end;
             szakasz = record eleje,vege:pont end;
             pontok  = array [1..4] of pont;

        fenti deklar ci˘ felhaszn l s val k‚szˇtsen pascal fggv‚nyt,
        amely egy pontok tˇpusŁ adatr˘l eld”nti, hogy a n‚gy pont
        k”zl lehet-e kett“t-kett“t Łgy ”sszek”tni, hogy a keletkezett
        szakaszok p rhuzamosak legyenek. ez a logikai ‚rt‚k legyen
        a fggv‚ny‚rt‚k!
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

      3. feladat                                            0.5 pont

        a 2. feladatban kapott deklar ci˘ felhaszn l s val k‚szˇtsen
        pascal elj r st, amely egy pontok tˇpusŁ adatot vesz  t, ‚s
        egy szakasz tˇpusŁ adatban visszaadja a pontok k”z”tt hŁzhat˘
        leghosszabb szakasz v‚gpontjait.
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                         eddig tartott a minimum

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -







      4. feladat                                            1.3 pont

      k‚szˇtsen pascal programot, amely a szoveg.txt sz”veges  llo-
      m nyban megkeresi, ‚s a szabv nyos output-ra kiˇrja a leghosz-
      szabb sorban el“fordul˘ legr”videbb sz˘t. sz˘t sor eleje, sor
      v‚ge ‚s sz˘k”z hat rol. az utols˘ sor ut n is van sor v‚ge.
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

      5. feladat                                            1.3 pont

      egy sz zelem– t”mbben "kupac" (heap) adatszerkezetet  br zolunk.
      egy-egy elemben h rom val˘s sz mot t rolunk, amelyek  tlaga a
      rendez‚s kulcsa. deklar lja a szks‚ges tˇpusokat ‚s v ltoz˘kat,
      majd ˇrja meg az Łj elem felv‚tel‚t megval˘sˇt˘ pascal elj r st!
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

      6. feladat                                            1.4 pont

      egy l‚git rsas g sz mˇt˘g‚pen t rolja az utaslist kat. az ”ssze-
      sˇtett  llom ny (utazas.dat) minden utas minden Łtj r˘l egy-egy
      bejegyz‚st tartalmaz. egy bejegyz‚s szerkezete a k”vetkez“:

          - j rat sz ma    -   8 karakter
          - d tum          -   6 karakter
          - utas neve      -  32 karakter
          - l‚gi km        -  eg‚sz sz m
          - jelleg         -  szolg lati vagy egy‚ni

      k‚szˇtsen pascal programot, amely kikeresi, ‚s a torzs.dat nev–
      sz”veges  llom nyba kiˇrja a mag nŁton legt”bbet replt k‚t utas
      nev‚t, valamint legut˘bbi Łtjuk d tum t.
      haszn lhatja az al bbi el“re deklar lt elj r st:

      procedure read(var f:filetˇpus; var a:adattˇpus);
                begin a:=f^; get(f) end;

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -