Top Banner

of 120

Pascal Doc

Mar 03, 2016

Download

Documents

Norbert Török

pascal
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

I

Bevezets

A feladatgyjtemny szerkezetileg 3 nagy rszbl ll. Minden rsz elejn mintapldk tallhatk, majd feladatok. Az els fejezet a programozsi alapismereteket elmlyt feladatokat tartalmaz.

Itt tallhatk:

Az elemi s sszetett adattpusokat feldolgoz feladatok.

Adatok kiratsa kpernyre, adatok beolvassa billentyzetrl Itercik s szelekcik

Egyszer pldk az eljrsok s fggvnyek hasznlatra.

A msodik fejezet a programozsi ttelek elmlytst segt pldkat tartalmaz. Az egyes programozsi tteleknl az ltalnos megold algoritmus is megtallhat.

A harmadik fejezetben a szveges s tpusos llomnykezelshez kapcsold pldk tallhatk.I Elemi programozs

I.1 Elemi utastsok

Mintapldk:1.) Szmtsuk ki s rassuk ki 5 szm tlagt!

i. Feladatvizsglat:

Bemen adatok:

a, b, c, d, e: egsz szmok

Kimen adat:

f: szmok tlaga, vals szm

A megolds logikja:

Elszr szmoljuk ki a szmok sszegt, s troljuk az f vltozban, majd az f et elosztjuk ttel, gy a szmok tlagt kapjuk

ii. Feladat megoldsa:

Folyamatbra

Mondatszer lers:

Vltozk

a,b,c,d,e: egszf: valsProgram tlag

Be: a,b,c,d,e

f:=a+b+c+d+e

f:=f/5

Ki: f

Program vge.

Feladat pascal kdja:

program atlag;

uses crt; var

a,b,c,d,e: byte;

f: real;

begin

clrscr; {ezzel a paranccsal a kpernyt trljk}writeln ('t szm tlaga');

writeln ('krem az els szmot');

readln (a);

writeln ('krem a msodik szmot');

readln (b);

writeln ('krem a harmadik szmot');

readln (c);

writeln ('krem a negyedik szmot');

readln (d);

writeln ('krem az tdik szmot');

readln (e);

f:=a+b+c+d+e;

f:=f/5;

writeln ('a keresett tlag:',f:10:2); {kt tizedesnyi pontossggal rja ki a szmot}readkey;

end.

2.) Almt szeretnnk vsrolni. rjunk egy programot, amely billentyzetrl krje be elszr azt, hogy mennyibe kerl egy kilogramm alma, majd azt, hogy hny kilogramm almt szeretnnk venni. A program szmolja ki, hogy ennyi almrt hny forintot fogunk fizetni.

i. Feladatvizsglat:

Bemen adatok:

N: hny kg almt vesznk, egsz szm

Ear: 1 kg alma ra, egsz szm

Kimen adatok:

Ar:a fizetend sszeg, egsz szm

A megolds logikja:

A vsrolni kvnt alma rt gy kapjuk meg, hogy az egysgrat sszeszorozzuk a mennyisggel

ii. Feladat megoldsa:

Folyamatbra:

SHAPE \* MERGEFORMAT

Mondatszer lers:

Vltozk:

N,Ear,Ar: egszProgram alma

Be: N, Ear

Ar:=N*Ear

Ki: Ar

Program vge

Feladat pascal kdja:

program alma;uses crt;var

Ear,N,Ar:integer;

begin

clrscr;

write ('Egy kg alma ra: ');

readln (Ear);

write ('Hny kg almt veszel: ');

readln (N);

Ar:=Ear*N;

writeln ('Ennyi alma ra ',ar,' forint.');

end.

3.) rjunk programot, amely beolvas kt termszetes szmot, az elsknt megadott szmot maradkosan osszuk a msodikkal. A program rja ki a kt szm hnyadost s maradkt. A program a beolvass utn hagyjon ki egy res sort. i. Feladatvizsglat

Bemen adatok:

a,b: a kt szm, termszetes szmok

Kimen adatok:

m: a kt szm maradka, termszetes szm

h: a kt szm hnyadosa, termszetes szm

A megolds logikja:

A megoldshoz a div s a mod fggvnyeket hasznljuk. A div fggvny kt szm hnyadost, mg a mod fggvny kt szm maradkt szmolja.

ii. Feladat megoldsa:

Folyamatbra:

SHAPE \* MERGEFORMAT

Mondatszer lers

Vltozk

a,b: egszm,h: egszProgram osztas

Be: a,b

m:=a mod b

h:=a div b

Ki: m,h

Program vge.

Feladat pascal kdja:

program osztas;

uses crt;var

a,b: integer;

m,h: integer;

begin

clrscr;

write ('Els szm: ');

readln (a);

write ('Msodik szm: ');

readln (b);

writeln; {res sort hagy ki}h:= a div b; {a s b hnyadost szmolja}m:=a mod b; {a s b maradkt szmolja}writeln (a,':',b,'=',h,', maradk ',m);

end.

Feladatok

1) Krj be kt, egy napon belli, idpontot (elszr az rt, aztn a percet, vgl a msodpercet). Szmtsd ki a kt idpont kzti klnbsget msodpercekben s rasd ki!

2) rj programot, amely bekr egy szmot, majd kirja a kis szorztblt erre a szmra (1-tl 5-ig). A program a beolvass utn hagyjon ki egy res sort.

3) Krj be hrom termszetes szmot, ezek rendre 5, 2 s 1 koronsaink szmt jelentik. Hatrozd meg, s rasd ki a teljes sszeget.

4) Krj be hrom termszetes szmot, ezek rendre 5, 2 s 1 forintosaink szmt jelentik. Hatrozd meg, s rasd ki a teljes sszeget.

5) rj programot, amely bekri egy tglalap adatait, s kiszmolja a terlett, s a kerlett.

6) rj programot, amely szgmrtket vlt t fokrl radinra.

7) Adott egy vals szm, hatrozd meg az abszolt rtkt!

8) Adott a skban kt pont. Szmold ki a tvolsgukat!

9) A kvetkez program szmtgpbe rsa nlkl hatrozd meg, hogy mit r ki a kpernyre. rj egy rvidebb (egyszerbb) programot, amely vltoz hasznlata nlkl kirja ugyanezt az zenetet a kpernyre. A teljes program maximum 5 soros legyen!

Program valtozo;

varx: integer;

begin

x:=12;

write (x,'-');

x:=3;

write (x,'=');

writeln (12-x);

write (x+6,'+',x,'=');

x:=4*x;

writeln(x);

end.

10) Az albbi program begpelse nlkl prbld meg meghatrozni, mit fog kirni a kpernyre. Ellenrzskppen a programot berhatod a szmtgpbe.

program szamok;

vark:integer;

begin

k:=1;

writeln (k);

k:=k+1;

write (k);

k:=k+1;

writeln (k);

k:=k+1;

write (k);

k:=k+1;

write (k);

k:=k+1;

writeln (k);

end.I.2 ElgazsokA Ktirny elgazs

Mintapldk4.) Ksztsnk programot, amely bekr kt egsz szmot, majd kirja szavakkal, hogy az els szm kisebb, nagyobb, vagy egyenl, mint a msodik szm.i. Feladatvizsglat:

Bemen adatok:

a,b: egsz szmok

Kimen adatok:

Nincs kimen vltoz, szveges vlaszt adunkA megolds logikja:

A kt szmot sszehasonltjuk, s a kapott eredmnyt kiratjuk a kpernyre.ii. Feladat megoldsa:

Folyamatbra:

SHAPE \* MERGEFORMAT

Mondatszer lers:

Vltozk:

a,b: egsz

program eldnt

be: a,b

ha a>b akkor ki: az els szm a nagyobb

klnben

ha a0 akkort:=r*r*pi;ki: 'a kr terlete: 'ki: tk:=2*r*pi;ki: 'a kr kerlete: 'ki: kelgazs vgeProgram korokbe: rkor (r,kerulet,terulet); {eljrs hvsa}Program vge. A feladat pascal kdja:program korok;uses crt;varr: real;terulet,kerulet: real;{a kimen vltozkat a var utn kell deklarljuk }procedure kor (r: real;var k,t: real);begink:=0;t:=0;if r>0 then begint:=Sqr (r)*pi;writeln ('a kr terlete: ',t:0:2);k:=2*r*pi;writeln ('a kr kerlete: ',k:0:2);end;end;beginwrite ('krem a kr sugart');readln(r);kor(r,kerulet,terulet); {eljrs hvsa}end.3.) rjunk eljrst, amely felcserli kt tetszleges vltoz rtkt!i. Feladatvizsglat:Bemen adatok:x,y: 2 egsz szmKimen adatokNincs, a bemen adatot ratjuk ki a kpernyreA megolds logikja:A cserhez szksgnk van egy segdvltra, legyen ez s. Az s-rtke legyen egyenl x rtkvel, ezutn az x rtke legyen egyenl y rtkvel, vgl y legyen egyenl s el!4.) rjunk programot, amely ltrehoz egy vletlen szmokbl ll 10 elem tmbt, kirja az elemeit, majd minden elemt megszorozza 2-vel, s jra kirja azokat!i. Feladatvizsglat:Bemen adatok:a: 10 egsz szmbl ll sorozatKimen adatokNincs, a bemen adatot ratjuk ki a kpernyreA megolds logikja:Kln alprogramban (eljrsban) beolvassuk a tmb elemeit. A fprogramunkban a megfelel adatokkal, erre az eljrsra hivatkozunk.ii. Feladat megoldsa Mondatszer lers:Vltozk:i: egsza:tmb (1..10: egsz)Eljrs kirciklus i:=1.tl 10-igki: a(i)ciklus vgeEljrs vgeProgram tombkiiras_alprogrammal;ciklus i:=1-tl n-iga(i):=vletlenszm(99)+1ciklus vgekirciklus i:=1-tl n-iga(i):=2*a(i)ciklus vgekirprogram vge. A feladat pascal kdja:program tombkiiras_alprogrammal;uses crt;constn=10;vari:integer;a:array [1..n] of integer;procedure kiir; beginwrite ('A tmb elemei: ');for i:=1 to n do write (a[i],' ');writeln;end;beginfor i:=1 to n do a[i]:=random (99)+1; {tmb ellltsa}kiir; {tmb kirsa alprogrammal: }for i:=1 to n do a[i]:=2*a[i]; { tmb megvltoztatsa}kiir; { tmb kirsa ismt alprogrammal: }end.5.) rjunk eljrst amely egy beolvasott dtumot ellenriz!i. Feladatvizsglat:Bemen adatok:d: a beolvasott dtumKimen adatokNincs, szveges vlaszt adunkMegolds logikjaEgy eljrst runk, amiben beolvassuk a dtumot, s egyben ellenrznk is.ii. Feladat megoldsa Mondatszer lersKonstans {30 illetve 31 napos hnapok szmai}hho=[1,3,5,7,8,10,12];rho=[4,6,9,11];Tpusdatum = rekord(ev, ho, nap: egsz)Vltozk:d: datum;Eljrs datumolvas (vltoz d: datum)Be: d.ev, d.ho, d.napha (d.ev2010) akkor {Elszr az vet ellenrizzk}ki: 'biztos j vet rtl?'ciklusbe: d.ev;amg (d.ev1970)ciklus vgeelgazs vgeha (d.ho12) akkor {a hnap szma 1 s 12 kztt kell legyen!}ki: 'biztos j a hnap szma? 'ciklusbe: d.hoamg (d.ho=1)ciklus vgeelgazs vgeha (d.ho eleme hho) akkor max:=31 klnben {belltjuk a hnap max napjt}ha (d.ho eleme rho) akkor max:=30 klnbenha (d.ho =2) s (d.ev mod 4 = 0) akkor max:=29 klnben {szkv vizsglata}ha (d.ho=2) s (d.ev mod 4 0) akkor max:=28elgazs vgeha (d.napmax) akkorki: 'biztos j napot rtl? ';ciklusbe: d.napamg (d.nap=1)ciklus vgeelgazs vgeki: 'a beolvasott dtum: 'ki: d.ev,'. ',d.ho,'. ',d.nap,'eljrs vge.Program datumelldatumolvas (d)Program vge. A feladat pascal kdja:program datumell;uses crt;consthho=[1,3,5,7,8,10,12];rho=[4,6,9,11];typedatum = recordev,ho,nap: word;end;vard: datum;procedure datumolvas (var d: datum);beginread (d.ev, d.ho, d.nap);if (d.ev2010) thenbeginwriteln ('biztos j vet rtl?');repeatwrite ('v: ');read (d.ev);until (d.ev1970);end;if (d.ho12) thenbeginwriteln ('biztos j a hnap szma? ');repeatwrite ('h:');read (d.ho);until (d.ho=1);end;if (d.ho in hho) then max:=31 elseif (d.ho in rho) then max:=30 elseif (d.ho =2) and (d.ev mod 4 = 0) then max:=29 elseif (d.ho=2) and (d.ev mod 4 0) then max:=28;if (d.napmax) thenbeginwriteln ('biztos j napot rtl? ');repeatwrite ('nap:');read (d.nap);until (d.nap=1);end;writeln;write ('a beolvasott dtum: ') ;writeln (d.ev,'. ',d.ho,'. ',d.nap,'.');end;beginclrscr;write ('krem a dtumot!');datumolvas(d);readkey;end.B FggvnyekMintapldk1.) rjunk fggvnyt, mely eldnti egy vals szmrl, hogy pozitv-e, vagy sem! rjunk programot, amely eldnti egy msodfok egyenletrl, hogy van-e kt megoldsa!i. Feladatvizsglat:Bemen adatok:a,b,c: a beolvasott vals szmokKimen adatokketgyok: logikai vltoz, igaz, ha az egyenletnek kt megoldsa vanMegolds logikja:A pozitv fggvny egy logikai rtket ad vissza, igaz, ha a szm pozitv, ellenkez esetben pedig hamis lesz.ii. Feladat megoldsa Mondatszer lersVltozka,b,c: valsketgyok: logikaifggvny pozitiv (szam: vals): logikaipozitiv:=szam>0fggvny vgeprogram pozitivbe: a,b,cketgyok:=pozitiv(b*b-4*a*c)ha ketgyok akkor ki: kt megoldsa lesz az egyenletnek!program vge. A feladat pascal kdja:program pozitivPR;uses crt;vara,b,c: real;ketgyok: boolean;function pozitiv (szam: real):boolean;beginpozitiv:=szam>0;end;begin {fprogram}clrscr;writeln ('krem az egytthatkat');read (a,b,c);ketgyok:=pozitiv (sqr(b)-4*a*c);if ketgyok then writeln ('a feladatnak kt megoldsa van!')else writeln ('nincs kt megolds);readkey;end.2.) Ksztsnk egy fggvnyt, amely megszmolja, hogy egy megadott szvegben hny szkz van s ezt a szmot adja vissza!i. Feladatvizsglat:Bemen adatok:s: a beolvasott szvegKimen adatokA fggvny ltal visszaadott rtk lesz az eredmny.Megolds logikjaA h vltoz jelentse a szkzk szmt! A h-t tegyk egyenlv 0-val, majd nzzk vgig a szveget, ha tallunk szkzt benne, akkor h rtkt nveljk 1-gyel! Ha a teljes szveget megvizsgltuk, a fggvny visszaadott rtkt tegyk egyenlv h-val.ii. Feladat megoldsa Mondatszer lersVltozks: szvegfggvny helyekszama (x:szveg):egsz;(vltoz i,h:egsz) {loklis vltozk}h:=0;ciklus i:=1-tl hoszz(x) ig {a mondatunk minden karaktert ellenrizzk}ha x[i]=' ' akkor h:=h+1helyekszama:=helgazs vgeciklus vgefggvny vgeprogram szokozok {fprogram}be: ski: 'A mondatban ',helyekszama(s),' szkz van.' {fggvny meghvsa}program vge. A feladat pascal kdja:program szokozok;uses crt;vars: string;{rjuk meg a helyekszama nev fggvnyt! Bemen paramtere egy szveg, visszaadott rtke pedig egsz szm lesz}function helyekszama (x: string):integer;vari,h:integer; {loklis vltozk}beginh:=0;for i:=1 to length(x) do {a mondatunk minden karaktert ellenrizzk}if x[i]=' ' then h:=h+1;helyekszama:=h;end;begin {fprogram}clrscr;write ('rj be egy mondatot: ');readln (s);writeln ('A mondatban ',helyekszama(s),' szkz van.'); {fggvny meghvsa}readkey;end.3.) rjunk fggvnyt egy szm faktorilisnak kiszmtsra!i. Feladatvizsglat:Bemen adatok:n: egsz szmKimen adatokA fakt fggvny ltal visszaadott rtk lesz az eredmnyii. Feladat megoldsa: Mondatszer lers:vltozkn: egszfggvny fakt (szam: egsz): vals;(vltozk i: egsz;f: vals)f:=1ciklus i:=1 tl szam ig f:=f*ifakt:=ffggvny vgeprogram faktorialis {Fprogram}be: nki: 'n! = 'ki: fakt(n):8:1program vge. A feladat pascal kdja:Program faktorialis;uses crt;Varn: integer;Function fakt (szam: integer): real;Vari: integer;f: real;beginf:=1;for i:=1 to szam do f:=f*i;fakt:=f;end;Begin {Fprogram}write ('rj be egy szmot: ');read (n);write ('n! = ');writeln (fakt (n):8:1);readkey;end.Feladatok1) rj eljrst mely, az tadott karakterlncbl kitrli z sszes megadottal egyez rszlncot!2) rj egy eljrst, mely egy szorztblt jelent meg a kpernyn! A tnyezk 1 s 10 kztti szmok.3) rj egy eljrst, mely paramterknt megkap hrom szmot, s Azokat rendezve kirja a kpernyreAzokat rendeziVisszaad egy logikai rtket, hogy a hrom szm rendezett-e!4) rj Nyjt eljrst, amely a megadott szmot megnyjtja (megszorozza) a megadott rtkkel!5) rj eljrst, mely bekr hrom nevet, s rendezi ezeket nvekv sorrendbe!6) rj eljrst s/vagy fggvnyt a kvetkez feladatok megoldsra:Egy tglalap terletnek szmtsa, a tglalap oldalai alapjnVals szm kbgyknek szmtsaInch konvertlsa centimterrKt karakterlnc kzs karaktereinek meghatrozsaKarakterlnc kirsa fordtvaKarakterlnc tmrtse, szkzket kivesszk belle7) rj 3 fggvnyt:Signum(x), a szm eljelt adja vissza,Reciprok(x), egy szm reciprokt adja visszaNegyzet(x) .egy szm ngyzett adja vissza!8) rj 2 fggvnyt:VektAbs(x,y), egy vektor (x,y) koordintj vektor abszolutrtkt adja vissza.Hatvany(a,n), egy vals alap egsz kitevj hatvnyt adja vissza.9) rj fggvnyt, melynek bemeneti vltozja egy szm, s visszaadja az els nla nagyobb prmszmot!10) rj UPPER azonostj fggvnyt, amely egy bet karaktert nagybetre konvertl Ha a bemen paramter nagybet, akkor vltozatlanul hagyja, ha kisbet, akkor annak nagybet megfeleljt adja vissza.11) rj KICSI azonostj fggvnyt, amely egy bet karaktert kisbetre konvertl. Ha a bemen paramter kisbet, akkor vltozatlanul hagyja, ha nagybet, akkor annak kisbet megfeleljt adja vissza.12) rj fggvnyt, mely visszaadja a paramterknt megkapott karakterlnc utols 5 karaktert! 13) rj MAX2(x,y) ktvltozs fggvnyt, amely a kt adott szm rtke kzl a nagyobbikat adja vissza!14) rj MAX3(x,y,z) hromvltozs fggvnyt, amely a hrom adott szm rtke kzl a legnagyobbikat adja vissza!15) rj fggvnyt, amely bemenete egy hromszg hrom oldalnak hossza, s igaz logikai rtkkel tr vissza, ha a hromszg derkszg!16) rj fggvnyt mely visszaadja, hogy egy megadott karakterlncban a megadott karakterekbl mennyi szerepel!II Elemi programozsi ttelekAz elemi programozsi ttelek egy sorozathoz egy elemet rendel.A feladatoknak csak a feldolgoz eljrst tallod itt. Az adatok beolvassra, illetve kirsra csak a Beolvas s Kir eljrssal utalunk. Lsd: I fejezetII.1 SorozatszmtsMintapldk24.) Egy osztly tanulinak egyni tlageredmnyei ismeretben adjuk meg az osztly tlagt!i. Feladatvizsglat: Bemen adatok:n: az osztly tanulinak szma, egsz szmva: a tanulk tlageredmnyeit tartalmaz n elem vals sorozatKimen adatok: atlag: az osztly tlaga, vals szm.A program (megolds) logikja: Az atlag nev vltoz kezdrtke legyen 0, ezt a ciklus eltt lltjuk be, cikluslpsenknt egy-egy tmbelemet hozzadunk. A ciklus befejezse utn a vltozt elosztjuk n-nel, gy az tlagot kapjukii. Feladat megoldsa: Folyamatbra: Mondatszer lers:vltozkn,i: egszva: tmb (1..n: vals)atlag: tmb (1..n: vals)Program tlagbeolvas (N,va)sszegzs (N, Va, atlag)ki: atlagProgram vge.sszegzs (n: egsz, Va: tmb, vltoz atlag: vals)atlag:=0ciklus i:=1-tl n-igatlag:=atlag+va[i]ciklus vgeatlag:=atlag/neljrs vge. A feladat pascal kdja:program atlag;uses crt;typejegyek=array [1..30] of real;varn,i: byte;va:jegyek;atlag: real;Procedure beolvas (var N: integer; var Va: jegyek);begin{a megvalstst lsd 1.4.B, 1.5 fejezetben}end;Procedure atlagol (n: integer; va: jegyek; var atlag: real);begin atlag:=0; for i:=1 to n do atlag:=atlag+va[i]; {a jegyek sszegt adja}atlag:=atlag/N; end;begin {ez a fprogram rsz}clrscr;beolvas (N,Va);atlagol (N,Va,atlag);writeln (a jegyek tlaga: ,atlag); {az eredmny kiratsa}end.25.) Adott egy lista, amiben egy tel receptjt troljuk, egy msikban a megadott nyersanyagok rt! rjunk programot, amely az kiszmolja elksztend tel nyersanyag kltsgt!i. Feladatvizsglat: Bemen adatok:N: a ksztend telhez szksges nyersanyagok szma, egsz szm.X: az telhez szksges nyersanyag mennyisgeket tartalmaz vals sorozat.Y: nyersanyagok egysgrait tartalmaz vals sorozat;Kimen adatok:kolt: az tel kltsge, vals szmA program logikja: a kolt nev vltoz kezdrtkt legyen nulla, cikluslpsenknt a kt tmb egy-egy elemt sszeszorozzuk, majd hozzadjuk a kolt vltozhoz. A ciklus befejezse utn a vltoznk a keresett kltsget tartalmazza.ii. Feladat megoldsa: Mondatszer lersTpuselemek= tmb (1..n: vals)Vltozkn: egszx, y: elemekkolt: valsProgram koltsegBeolvas (N, X, Y)Nyersanyag (N, X, Y, kolt)Ki: koltprogram vge.Eljrs nyersanyag (N: egsz, vltoz x,y: elemek, kolt: vals)(vltoz i: egsz)kolt:=0ciklus i:= 1-tl n-igkolt := kolt+x[i]*y[i]ciklus vgeeljrs vge; A pascal kd:program koltseg;uses crt;typeelemek =array[1..100] of real;varN: byte;kolt: real;x, y:tomb;Procedure beolvas (var N:byte; var X: elemek; var Y: elemek);(Var i: byte)Begin{megvalstshoz segtsget az 1.4.B, 1.5 fejezetekben tallsz}end;Procedure szamol (N:integer; X,Y: elemek; var kolt: real);beginkolt:=0;for i:=1 to n do kolt:=kolt+x[i]*y[i];end;begin {fprogram}clrscr;beolvas (N,X,Y);szamol (N,X,Y,kolt);write (az tel kltsge: ,kolt);end.Kzs jellemzk:Egy sorozathoz hozzrendeljk az elemein vgzett valamilyen mvelet eredmnyt. Pldul: N szm sszegt, szorzatt. A feladatok egy rsznl az gy kiszmtott rtkkel esetleg mg egyszer mveletet kell vgezni. (Lsd 1-es mintaplda).Ehhez a feladattpushoz az albbi ltalnos feldolgoz eljrs tartozik:i. Feladatvizsglat: Bemen adatok:N: egy adott sorozat elemeinek a szma, egsz szmtomb: a sorozat elemeit tartalmaz tmb, tpusa a feladattl fggen vltozikKimen adatok: E: a keresett rtket tartalmazza, tpusa a feladattl fggen vltozikA program logikja: az E nev vltoznak a ciklus eltt kezdrtket adunk, cikluslpsenknt egy-egy tmbelemet dolgozunk fel, pldul hozzadjuk, szorozzuk. A ciklus befejezse utn a vltozban az eredmnyt kapjuk.ii. Feladat megoldsa: Folyamatbra: Mondatszer lers:Program sorozatszmtsBeolvas (N, T)Sorozatszmts (N, T, E)Kir (E)Program vge.Eljrs szmts (N:egsz, T:tomb, vltoz E:eredmny)E:=kezdrtkCiklus I:=1-tl N-igE:=E mvelet A(i)Ciklus vge;Eljrs vge.Feladatok1.) Hatrozd meg K db egsz szm kbnek sszegt!2.) N hnapon t trlesztettnk egy klcsnt, havonknti fizetssel. (Havonta klnbz sszegeket is fizethetnk.) rj programot, mely megadja az eddig kifizetett sszeget!3.) Adott egy tekz sorozata (melyik fordulban hny ft ttt. rj programot, amely meghatrozza a versenyz sszestett eredmnyt!4.) Egy labdarug bajnoksgon ismerjk minden csapatrl, hogy hnyszor gyztt s hnyszor jtszott dntetlent. rj programot, mely megadja, melyik csapatnak hny pontja van! (gyzelemrt 2, dntetlenrt 1 pont jr)5.) Mrjk meg N napig a lehullott csapadk mennyisget (mm-ben). Hatrozd meg, hogy mennyi es esett sszesen!6.) Adott egy tblzat, amely tartalmazza az egyes vrosok kzton mrt tvolsgt, valamint adott a gpkocsink tlagos fogyasztsa s a hasznlt zemanyag egysgra. rj programot, amely bekri az tvonalat, majd meghatrozza az tlagos zemanyag kltsget!7.) Egy horgszverseny adatait egy mtrixban truljuk, M(i,j) jelenti, hogy az i. horgsz j. halfajtbl mennyit fogott. rj programot, amely kiszmtja, hogy az egyes horgszok sszesen mennyit fogtak! II.2 EldntsMintapldk26.) Dntsk el egy tanul v vgi jegyei alapjn, hogy kitn tanul-e!i. Feladatvizsglat: Bemen adatok:N: a tanul v vgi jegyeinek szma, egsz szm,jegy: a tanul tantrgyi jegyeit tartalmaz egsz sorozat,Kimen adatok:kituno: logikai vltoz, igen esetn kitn, nem esetn nem kitn a tanul,A program logikja: Nzzk vgig a jegyeket, elszr az elst, majd sorra a tbbit s ellenrizzk, hogy ts-e. Ha talltunk olyat, ami nem ts, akkor nem kell megnzni a tovbbi jegyeket, mert van nem ts osztlyzat, azaz nem kitn. ii. Feladat megoldsa: Folyamatbra: Mondatszer lersTpusjegyek= tmb(1..n: egsz)Program kitnBeolvas (N,jegy)Kitn (N, jegy, kitn)Ki: kitnProgram vgeEljrs kitn (N:egsz, jegy: jegyek, vltoz kitn: logikai);(vltoz i: egsz)i:=1;ciklus amg (iN);Eljrs vge A feladat pascal kdja:program kituno;uses crt;type jegyek=array[1..100] of integer;var jegy: jegyek;i,N: integer;mind: boolean;procedure beolvas (var N:integer; var jegy:jegyek);beginend;procedure kituno (N:integer; jegy: jegyek; var mind:boolean);begini:=1;while (iN);end;beginclrscr;beolvas (N,jegy);kituno (N,jegy,mind);if mind then writeln ('a tanul kitn)else write ('a tanul nem kitn');readkey;end.27.) rjunk programot, amely bekri egy kzpiskolai negyedikes osztly tanulinak nevt, s szletsi dtumt, valamint az aktulis nap dtumt. Ezek alapjn eldnti, hogy az adott osztly tanuli kztt van-e nagykor!i. Feladatvizsglat: Bemen adatok:N: a tanulk szma, egsz szm,d: a tanulk adatait tartalmaz sorozat,elemei rekordok, nv, dtum mezvela dtum mez is rekord, v, h, nap mezkkelanap: aktulis dtum, dtum tpus (v/h/nap)Kimen adatok:nk: logikai vltoz, igen esetn van nagykor dik, nem esetn nincs.A program logikja: Hasonlan az elz mintapldnkhoz, nzzk vgig a dikok letkort. Most azt vizsgljuk, hogy ne legyen nagykor. A ciklus addig fut, amg tall egy nagykort, vagy minden dikot megvizsgltunk. Teht, akkor van nagykor dik az osztlyban, ha nem kellett minden elemet megvizsgljunk.ii. Feladat megoldsa: Folyamatbra SHAPE \* MERGEFORMAT Mondatszer lerstpusdatum = rekord(ev,ho,nap: egsz)diak= record(nev: szvegszd: datum)diakok = tmb(1..n: diak)Program nagykorBeolvas dtum (anap) {a dtumot clszer ellenrizni, ezrt ajnlott a kln eljrs}Beolvas adatok (N, d)Eldnt (N, d, nk)Ki: nkProgram vge.Eljrs eldnt (N:egsz, d: diakok, anap: dtum, vltoz nk: logikai)i:=1ciklus amg (i0) {nagykorsg ellenrzse }i:=i+1ciklus vgenk=(i