= = = = = = = = = 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 kerl Ł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 fggv‚nyt, amely egy pontok tˇpusŁ adatr˘l eld”nti, hogy a n‚gy pont k”zl lehet-e kett“t-kett“t Łgy ”sszek”tni, hogy a keletkezett szakaszok p rhuzamosak legyenek. ez a logikai ‚rt‚k legyen a fggv‚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 szks‚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 replt 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; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -