{=== Programoz s alapjai === Vizsga - 1999. 1. 13. === V-990113.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 ‚s k˘dj 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 ] Adja meg, hogy az al bbi program mit Ąr ki! Az is fontos, hogy mi kerl Łj sorba. Csak a v‚gleges megold st adja be! writeln('A -------------------'); l1:=foberlet; l2:=kastely; e1:=ord(l2); s(e1,ord(l1)); writeln (e1:3,ord(l2):3); writeln('B -------------------'); e1:=1; e2:=2; new(m1); m1^.kulcs:=2; m3:=m1; m3^.lanc:=m1; new(m1); m2:=m1; new(m1); m1^.lanc:=m2; m2^.lanc:=m1; m1^.kulcs:=e1; if m1^.lanc=m3 then m1^.kulcs:=e2 else m1^.kulcs:=e1; if m1^.lanc^.lanc=m1 then writeln ('alma'); if m3^.kulcs=e1 then writeln ('k”rte'); if m2^.lanc^.kulcs=e1 then writeln ('narancs'); writeln('C -------------------'); for e1:=3 downto 1 do with rect[e1] do begin nev[1]:=chr(e1+ord('0')); nev[2]:=succ(nev[1]); suly:=sqr(e1)-round(sqrt(e1+1)); end; for e1:=1 to 3 do if not odd(rect[e1].suly) then write (e1:3, ' ', rect[e1].nev); writeln; writeln('D -------------------'); e1:=8; e2:=8; while not f(e1,e2) do begin e1:=pred(e1); e2:=e2-2; write (e1:3); end; writeln; END. -------------------------------------------------------------------------- 2. [ 2 pont ] K‚szĄtsen programot, mely kiĄrja, hogy h nyszor fordult el“ a bemeneti adatokban az 'xy' karaktersorozat! -------------------------------------------------------------------------- 3. [ 2 pont ] A C programoz si nyelvben stringet Łgy t rolunk, hogy az utols˘ ‚rt‚kes karakter ut n 0 ord ‚rt‚k– karaktert tesznk, Ągy fix hosszŁ t”mbben v ltoz˘ hosszŁs gŁ stringet is lehet t rolni. K‚szĄtsen fggv‚nyt, mely megadja, hogy egy ilyen stringben milyen indext“l tal lhat˘ meg egy m sik string, ha pedig nem tal lhat˘ meg benne, akkor 0-t ad. Mindk‚t string param‚ter. Pl.: s1='kutyaf j t' s2='kutya' eredm‚ny: 1 s1='fakutya˘l' s2='kutya' eredm‚ny: 3 s1='fakutya˘l' s2='macska' eredm‚ny: 0 s1='fakutya˘l' s2='˘l b' eredm‚ny: 0 Magyar zza meg m˘dszer‚t! ============================ BEUGR• VGE ================================= 4. [ 1.5 pont ] Adottak a k”vetkez“ adattĄpusok: const nh = 30; jsz = 10; type hallg_t = record nev :packed array [1..nh] of char; jegy :array [0..jsz] of real; { [0] =  tlag } end; mut_t =^elem; elem = record h :hallg_t; kov :mut_t; end; K‚szĄtsen elj r st, mely elem-ek l nc t cs”kken“, vagy n”vekv“ sorrendbe rendezi valamelyik jegy alapj n! Hogy melyik a jegy alapj n ‚s milyen az ir ny, az is param‚ter. V lasszon megfelel“ param‚tereket ‚s magyar zza meg azokat! -------------------------------------------------------------------------- 5. [ 2.5 pont ] K‚szĄtsen programot, mely beolvassa az ‚vfolyamn‚vsort: n‚v (30 karakter), a hallgat˘ 10 jegye; kisz mĄtja a hallgat˘i  tlagokat, majd kiĄrja azokat az adott t rgy vizsgajegyei vagy a hallgat˘i  tlagok szerinti cs”kken“ sorrendben. A megold shoz felhaszn lhatja az el“z“ feladatban specifik lt rendez“ elj r st, m‚g akkor is, ha azt a feladatot nem oldotta meg. A program megĄr sakor nem tudjuk a hallgat˘k sz m t, de azt igen, hogy az adataik egy-egy sorban vannak ‚s elf‚rnek a mem˘ri ban. A kiĄr s mindig csak egy szempont szerint t”rt‚nik, ez a szempont is bemeneti adat. Egy fut s sor n tetsz“legesen sok szempont szerint lehessen kiiratni. Magyar zza meg a program haszn lat t.