AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA Programoz s nagyz rthelyi VILL.1.D - A 1992.11.25. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA FIGYELEM! Minden feladatot kl”n A4-es lapra Ąrjon, a lapoknak csak egyik oldal t haszn lhatja. A megold s elj r sai ‚s fggv‚nyei nem haszn lhatnak glob lis v ltoz˘t. ############################################################################ 1. feladat 10p Mit nyomtat ki a k”vetkez“ PASCAL program? Jel”lje a sz˘k”z”ket ‚s soremel‚st is! Program p; type ptr = ^chain; chain = record a : integer; next : ptr end; var i : integer; p0,p1,p2 : ptr; begin new(p1); new(p1^.next); i:= 1; p2:= p1^.next; p0:= p2; p1^.a:= i; p2^.a:= 2 * i; repeat case (i mod 3) of 1: begin new(p1^.next); p2^.a:= trunc(sin(i)) end; 2: begin new(p1); p2^.next:= p1; p2:= p1; p1^.a:= i end; 0: begin new(p1^.next); p2:= p1^.next; p1:= p2; p2^.a:= 2 * i end end; p2^.next:= nil; i:= succ(i); until i > 7 ; while p0 <> nil do begin write(p0^.a:6); p0 := p0^.next end; writeln; end. ############################################################################ 2. feladat 10p rjon Pascal fggv‚nyt, amely egy ponthalmazb˘l kiv lasztja azt a k‚t pontot, amelyik a legk”zelebb van egym shoz. A fggv‚ny bemen“ param‚tere egy legfeljebb 100 pontot tartalmaz˘, PARRAY tipusŁ t”mb, ‚s egy eg‚sz sz m, amely a t”mb haszn lt elemeinek sz m t jelenti. A fggv‚ny fggv‚ny‚rt‚ke a megtal lt k‚t pont t vols ga legyen. A fggv‚ny adja vissza k‚t param‚terben a k‚t pont koordin t it is! TYPE POINT = RECORD x : REAL; y : REAL; END; PARRAY = ARRAY [1..100] OF POINT; ############################################################################ 3. feladat 10p Adottak a k”vetkez“ tĄpusdefinĄci˘k: TYPE ptr =^r; r =record ertek :real; bal, jobb :ptr; end; K‚szĄtsen fggv‚nyt, amely ilyen elemekb“l  ll˘ bin ris f ban meghat rozza az ”sszes elem ‚rt‚k‚nek ”sszeg‚t. ############################################################################ 4. feladat 10p rjon Pascal elj r st, amely k‚t, param‚terk‚nt kapott 30 jegy– bin ris eg‚sz sz mot ”sszead ‚s az eredm‚nyt OKTLISAN (nyolcas sz mrendeszerben) adja vissza, minden param‚ter sz mjegy-karakterekb“l  ll. A param‚terk‚nt kapott k‚t sz m pontosan 30 jegy–, ‚s NUM2 tĄpusŁ, az eredm‚ny pontosan 11 jegy– es NUM8 tĄpusŁ. TYPE NUM2 = ARRAY [1..30] of char; NUM8 = ARRAY [1..11] of char; NEM haszn lhatja a TURBO PASCAL string tĄpus t! ############################################################################ 5. feladat 20p Egy v llalat a g‚pkocsivezet“inek megtett Łtjair˘l a "GKV.DAT" f jlban a k”vetkez“ szerkezet– –rlapokat t rolja: NV : 40 karakter AZONOSIT• : eg‚sz sz m DTUM : 10 karakter, (1992.11.25) MEGTETT KM : eg‚sz FELHASZNLT šZEMENYAG (l) : real A f jl egy-egy g‚pkocsivezet“nek t”bb Łtj r˘l is tartalmazhat adatokat. rjon Pascal programot, amely a GKV.DAT f jl alapj n az azonosit˘sz mok n”vekv“ sorrendj‚ben kiĄrja azon g‚pkocsivezet“k azonosit“j t, nev‚t ‚s  tlagos zemanyagfelhaszn l s t (liter/100 km), akik a v llalati  tlagn l kisebbel rendelkeznek. A megold shoz haszn ljon dinamikus adatszerkezetet ! A f jlt csak egyszer olvashatja be, ‚s olyan hosszŁ, hogy ”sszes adata NEM f‚r el a f“t rban. BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB Programoz s nagyz rthelyi VILL.1.D - B 1992.11.25. BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB FIGYELEM! Minden feladatot kl”n A4-es lapra Ąrjon, a lapoknak csak egyik oldal t haszn lhatja. A megold s elj r sai ‚s fggv‚nyei nem haszn lhatnak glob lis v ltoz˘t. ############################################################################ 1. feladat 10p Mit nyomtat ki a k”vetkez“ PASCAL program? Jel”lje a sz˘k”z”ket ‚s soremel‚st is! type ptr = ^chain; chain = record a : integer; next : ptr end; var i : integer; p0,p1,p2 : ptr; begin new(p1); new(p1^.next); i:= 7; p0:= p1; p2:= p1^.next; p1^.a:= i; p2^.a:= 2 * i; while i > 0 do begin case (i mod 3) of 1: begin new(p1^.next); p2^.a:= trunc(cos(i/2*3.14)) end; 2: begin new(p1); p2^.next:= p1; p2:= p1; p1^.a:= i end; 0: begin new(p1^.next); p2:= p1^.next; p1:= p2; p2^.a:= 3 * i end end; p2^.next:= nil; i:= pred(i); end; while p0 <> nil do begin write(p0^.a:6); p0 := p0^.next end; writeln; end. ############################################################################ 2. feladat 10p rjon Pascal elj r st, amely egy ponthalmazb˘l kiv lasztja azt a k‚t pontot, amelyik a legt volabb van egym st˘l. Az elj r s bemen“ param‚tere egy legfeljebb 100 pontot tartalmaz˘, PARRAY tĄpusŁ t”mb, ‚s egy eg‚sz sz m, amely megadja a t”mb hasz lt r‚sz‚nek hossz t. Az elj r s adja vissza h rom param‚terben a k‚t pont koordin t j t ‚s a megtal lt t vols got! TYPE PONT = RECORD x : REAL; y : REAL; END; PARRAY = ARRAY [1..100] OF PONT; ############################################################################ 3. feladat 10p Adottak a k”vetkez“ tĄpusdefinĄci˘k: TYPE ptr =^r; r =record ertek :real; bal,jobb :ptr; end; K‚szĄtsen fggv‚nyt, amely ilyen elemekb“l  ll˘ bin ris f ban meghat rozza az elemek sz m t. ############################################################################ 4. feladat 10p rjon Pascal elj r st, amely k‚t, param‚terk‚nt kapott 40 jegy– okt lis eg‚sz sz mot ”sszead ‚s az eredm‚nyt bin risan adja vissza. A param‚terk‚nt kapott k‚t sz m pontosan 40 jegy–, ‚s NUM8 tĄpusŁ, az eredm‚ny pontosan 121 jegy– ‚s NUM2 tĄpusŁ. Minden param‚ter sz mjegy-karaketerkb“l  ll. TYPE NUM8 = ARRAY [1..40] of char; NUM2 = ARRAY [1..121] of char; NEM haszn lhatja a TURBO PASCAL string tĄpus t! ############################################################################ 5. feladat 20p Egy v llalat a g‚pkocsivezet“inek megtett Łtjair˘l a "GKV.DAT" f jlban a k”vetkez“ szerkezet– –rlapokat t rolja: NV : 40 karakter AZONOSIT• : eg‚sz sz m DTUM : 10 karakter, (1992.11.25) MEGTETT KM : eg‚sz FELHASZNLT šZEMENYAG (l) : real A f jl egy-egy g‚pkocsivezet“nek t”bb Łtj r˘l is tartalmazhat adatokat. Irjon Pascal programot, amely a GKV.DAT f jl alapj n az azonosĄt˘sz mok n”vekv“ sorrendj‚ben kiĄrja azon g‚pkocsivezet“k azonosĄt“j t, nev‚t ‚s  tlagos zemanyagfelhaszn l s t (liter/100 km), akik a v llalati  tlagn l kisebbel rendelkeznek. A megold shoz haszn ljon dinamikus adatszerkezetet ! A f jlt csak egyszer olvashatja be, ‚s olyan hosszŁ, hogy ”sszes adata NEM f‚r el a f“t rban.