{=== Programoz s alapjai === P˘tz rthelyi - 1998. 12. 17. === PZ981217.txt Minden sz mozott feladat megold s t kl”n lapra Ąrja! Minden lapnak csak az egyik fel‚re Ąrhat. A lap tetej‚re Ąrja fel balra a feladat sz m t, jobbra a nev‚t, k˘dj t, tank”rsz m t valamint laborcsoportja id“pontj t ‚s term‚t! A megold shoz haszn lhat bels“ elj r sokat ‚s fggv‚nyeket, de csak ezek haszn lhatnak glob lis v ltoz˘t, a feladatk‚nt kapott elj r sok illetve fggv‚nyek nem. --------------------------------------------------------------------------- 1. [ 1-1 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. 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 > --- A --- for e1:=1 to 10 do begin b1:=false; for e2:=2 to e1-1 do b1:=b1 or (e1 mod e2=0); if not b1 then write (e1:3); end; writeln; --- B --- h1:=[ord(alberlet)..pred(ord(kastely))]; h2:=[11..30]; h3:=h2+h1; for e1:=1 to 6 do if e1 in h1*h3 then write('a') else write('b'); writeln; --- C --- e1:=7; e2:=3; s (e1, e2); writeln (e1:3, e2:3); --- D --- 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; -------------------------------------------------------------------------- 2. [2 pont] Adottak a k”vetkez“ tĄpusok: type mutt = ^ elem; elem = record egesz: integer; kovetekzo :mutt; end; Deklar ljon fggv‚nyt, amely meghat rozza, hogy egy ilyen elemekb“l  ll˘ l nc gy–r–-e. Adott a l nc egy elem‚re mutat˘ pointer. -------------------------------------------------------------------------- 3. [2 pont] Adott k‚t file, melyek a szem‚lyi sz mok n”vekv“ sorrendj‚ben rendezettek ‚s elemeinek szerkezete azonos: n‚v : 30 karakter szem‚lyi sz m : 11 karakter gyereke sz ma : eg‚sz Defini ljon megfelel“ adattĄpust egy ilyen elemhez! K‚szĄtsen programot, amely a k‚t file tartalm t egyesĄti Łgy, hogy mindenkinek az adatai csak egyszer szerepeljenek az eredm‚ny-file-ban, ‚s kiĄrja a szabv nyos kimenetre azok minden adat t, akiknek a szem‚lyi sz ma mindk‚t file-ban el“fordult, de a neve vagy a gyerekeinek a sz ma elt‚rt a k‚t file-ban. A file-okat csak egyszer olvashatja v‚gig! ============================ BEUGR• VGE ================================= 4. [2 pont] K‚szĄtsen programot, amely az  ltala a szabv nyos bemenetr“l beolvasott szavakat hosszuk szerint n”vekv“ sorrendben Ąrja ki, de mindegyiket csak egyszer. Az azonos hosszŁs gŁ szavak sorrendje tetsz“leges. Tudjuk, hogy minden beolvasott sorban pontosan egy sz˘ van, el“tte ‚s ut na nincs sz˘k”z, ‚s minden sor v‚g‚n van Łjsor jel. Tudjuk, hogy egyik sz˘ sem hosszabb 30 karaktern‚l, ‚s hogy a kl”nb”z“ szavak sz ma legfeljebb 1000, de nem tudjuk az ”sszes sz˘ sz m t. -------------------------------------------------------------------------- 5. [2 pont ] Adottak a k”vetkez“ definĄci˘k: const M = 100; { sorok max. sz ma} SL = 30; { sorok hossza } type sor = packed array [1..SL] of char; tt = array [1..M] of sor; K‚szĄtsen elj r st, mely k‚t tt tĄpusŁ t”mbr“l eld”nti, hogy az egyik tekinthet“-e a m sik soronk‚nti  trendez‚s‚nek. V lasszon megfelel“ param‚tereket!