$e =========================================== 1985.12.30 ==== 1/a) e1:=3; e3:=0; for e2:=pred(e1) to succ(succ(e1+1)) do if e2 in (.e1..e1+2.) then e3:=e3+e2; writeln(e3); ----------------------------------------------------- b) e1:=0; l1:=foberlet; while e1<= ord(l1) do e1:=2*(e1+1); writeln(ord(pred(l1)),e1); ----------------------------------------------------- c) t1(.1.):=6; t1(.2.):=4; t1(.3.):=7; t1(.4.):=4; for e1:=1 to 2 do begin for e2:=1 to 2 do t2(.e1.e2.):=t1(.e1+e2-1.) <= t1(1+(e1+e2+3) mod 4.); writeln(t2(.e1,1.), t2(.e1,2.)); end; ----------------------------------------------------- d) a bemeneti adatok: _3a4.2# ,, , , .. (ahol _ a legelso karakter es ez a szokoz, # az eof jele.) e1:=0; e2:=1; while not eof do begin read(ch1); if ch1 in (.'0'..'8'.) then e1:=e1+e2*(ord(ch1)-ord('0')); e2:=e2*10; end; writeln(e1); ----------------------------------------------------- e) 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,rect(.e1.).nev); ----------------------------------------------------- f) e1:=2; h1:=(.1..10.); repeat if e1 in h1 then h1:=h1-(.2*e1.) else h1:=h1+(.e1.); e1:=e1*2+3; until e1>20; for e1:=1 to 30 do if e1 in h1 then write(e1); ----------------------------------------------------- g) new(m1); m1@.kulcs:=6; new(m2); m2@.kulcs:=7; m1@.lanc:=m2; m3:=m2; for e3:=3 to 6 do begin new(m3@.lanc); m3:=m3@.lanc; m3@.kulcs:=e3; end; m3@.lanc:=m2; m3:=m1; for e1:=1 to 7 do begin write(m3@.kulcs); m3:=m3@.lanc; end; ----------------------------------------------------- h) e1:=10; e2:=2; repeat s(e1,e2); writeln(e1,e2); until e1<3; ----------------------------------------------------------- , megoldas: ~~~~~~~~~ a. 12 b. 1 6 c. false true true false d. 204030 e. 1 12 2 23 f. 1 2 3 5 6 7 8 9 10 17 g. 6 7 3 4 5 6 7 h. 11 5 -9 5 2 6 2 -4 2 2 ----------------------------------------------------------- , , ,, , 2) keszitendo egy teljes program, amely beolvas egy egesz , , , , , , szamot es kinyomtatja a negyzetet ugy, hogy a szamjegyek .... .. , .. kozott mindenutt kihagy egy-egy szokozt. ,, , pl. ha a bemeno adat 12, akkor az eredmeny: 1 4 4 ----------------------------------------------------------- , , .. 3) adott egy tt=array(.1..n.) of char tipusu tomb. , , , , .. , ,, ,, irando egy eljaras, amely a tomb elejere gyujti a betuket , .... ,, (egymas kozott tetszoleges sorrendben). , .... ,, .. 'a' es 'z' kozott mindent betunek tekinthetunk. , pl. ax3;de9 -bol axed9;3 keletkezik. ============================================================= $e , , ,, , , 4) keszitendo egy eljaras, melynek parameterei: , , .. t: egy tt=array(.1..n,1..m.) of integer tipusu tomb; , x0,y0 indexpar , , van :boolean mellyel jelzi az eljaras, hogy van-e .. a t tombben a t(.x0,y0.) elemmel , , ,, azonos erteku elem; , , , ,, min a minimalis "tavolsagra" levo azonos elem , , , ,, tavolsaga, ahol az x1,y1 es x2,y2 indexu , , , elemek tavolsagan az (x1-x2)**2 + (y1-y2)**2 , , , .. erteket ertjuk; , , , , x,y a minimalis tavolsagu elem indexei , , pl. t: 3 6 9 15 es x0=2 y0=3 eseten: 8 7 3 2 van=true min=2 1 3 5 4 x=3 y=2 .. , , , , ha tobb minimalis tavolsagu elem is van, akkor mindegy, , hogy melyiket valasztjuk. , , , , nem hasznalhat globalis valtozot. , , , , adja meg az eljaras fejreszet is. ----------------------------------------------------------- , , .. , , , 5) adott egy linearis lancolt lista a kovetkezo tipusu ,, elemekbol: , , , type m=@elem; elem=record adat:integer; kov:m; end; , , a p pointer ennek a listanak az egyik elemere mutat. , , ,, van meg egy lista, ennek az elejere a szabad nevu , , pointer mutat. ez a lista a korabban eldobott, ismet , , , felhasznalhato rekordokat tartalmazza. termesztesen .. ez a lista lehet ures is. , , , , , , , irando egy eljaras, amelynek formalis parametere p es , , , szabad. feldata: beolvasni egy egesz szamot es elhelyezni , , egy rekordban, amelyet a felhasznalhato elemeket tartal- , , , .. mazo listarol kell levenni, ha az nem ures. a rekordot , , , be kell lancolni a p altal mutatott rekord utani helyre. , , , , nem hasznalhat globalis valtozot. --------------------------------------------------------------- , , , , , 6) keszitsen programot, mely grafikusan abrazolja sornyomtaton , a bemeneti adattal meghatarozott xmin .... xmax .. , intervallumban az y=sqrt(x) fuggvenyt. , , .. , , x lepeskoze 0.5 es a sornyomtato legfeljebb 132 , , karaktert kepes egy sorba kiirni. , , , , , az abra mellett irja ki x es y ertekeit is, , , , , .. , az abrazolasnal torekedjen a leheto legjobb helykihasz- , , nalasra. , , , a koordinatatengelyeket nem kell abrazolni. , , az abra egy reszlete: !o! x y !o! ! ! 1.0 1.00000 * ! ! !o! 1.5 1.15677 * !o! ! ! 2.0 1.41234 * ! ! !o! 2.5 1.65789 * !o! ! ! 3.0 1.74567 * ! ! !o! 4.0 2.00000 * !o!