gyakorló feladatsor eljárásokra
DESCRIPTION
Gyakorló feladatsor eljárásokra. Készítette: Rummel Szabolcs Elérhetősé: [email protected]. Feladat 1. Készíts amortizációt (értékcsökkenést) kiszámító programot! A program számolja ki a negyedéves értékcsökkenését az autónak, ha az értékcsökkenési kulcs: 15% - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/1.jpg)
Gyakorló feladatsorGyakorló feladatsoreljárásokraeljárásokra
Készítette: Rummel SzabolcsKészítette: Rummel Szabolcs
Elérhetősé: [email protected]érhetősé: [email protected]
![Page 2: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/2.jpg)
Feladat 1Feladat 1
• Készíts amortizációt Készíts amortizációt (értékcsökkenést) kiszámító (értékcsökkenést) kiszámító programot!programot!
• A program számolja ki a negyedéves A program számolja ki a negyedéves értékcsökkenését az autónak, ha az értékcsökkenését az autónak, ha az értékcsökkenési kulcs: 15%értékcsökkenési kulcs: 15%
• Az autó árát billentyűzetről kérje be a Az autó árát billentyűzetről kérje be a program!program!
![Page 3: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/3.jpg)
Feladatok az amortizációhozFeladatok az amortizációhoz
• A negyedéves értékcsökkenéseket A negyedéves értékcsökkenéseket tárolja el egy tömbben! (4 elemű tömb)tárolja el egy tömbben! (4 elemű tömb)
• Írja ki a negyedéves Írja ki a negyedéves értékcsökkenéseket! (A tömb elemeit)értékcsökkenéseket! (A tömb elemeit)
• Írja ki az egy év alatti értékcsökkenést! Írja ki az egy év alatti értékcsökkenést! (tömb elemeinek összegét)(tömb elemeinek összegét)
![Page 4: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/4.jpg)
Szükséges algoritmusokSzükséges algoritmusok
• Tömb feltöltéseTömb feltöltése
• Tömb elemeinek kiírásaTömb elemeinek kiírása
• ÖsszegképzésÖsszegképzés
![Page 5: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/5.jpg)
Tömb feltöltéseTömb feltöltése
Procedure feltolt(ar:real; var t:tombtip);Procedure feltolt(ar:real; var t:tombtip);Var i:integer;Var i:integer;BeginBeginFor i:=1 to 4 doFor i:=1 to 4 do
BeginBegint[i]:=ar-ar*0,15;t[i]:=ar-ar*0,15;ar:=ar-ar*0,15;ar:=ar-ar*0,15;
End;End;End;End;
Az autó ára (azért longint, mertnagy számról van szó
Az értékcsökkenés kiszámolásaAz autó árából levonjuk az autó
árának 15 %-át
Az árból levonjuk az értékcsökkenést,hogy a következő negyedévben a
csökkentett árból tudjuk azértékcsökkenést számolni!
A tömb érték szerint van átadva,mert másik eljárásban használjuk
a feltöltött tömböt!
![Page 6: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/6.jpg)
Az algoritmus működéseAz algoritmus működése
Az autó ára: 140000Az autó ára: 140000Így a tömb első eleme: 1400000-Így a tömb első eleme: 1400000-
1400000*0,151400000*0,15
Az ár: 1400000-210000=1190000Az ár: 1400000-210000=1190000
A tömb második eleme: 1190000-A tömb második eleme: 1190000-1190000*0,151190000*0,15
Az ár: 1190000-178500=1011500Az ár: 1190000-178500=1011500
És így tovább!!És így tovább!!
![Page 7: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/7.jpg)
Tömb elemeinek kiírásaTömb elemeinek kiírása
Procedure kiir(t:tombtip);Procedure kiir(t:tombtip);
Var i:integer;Var i:integer;
BeginBegin
For i:=1 to 4 doFor i:=1 to 4 do
writeln(t[i]:2:0);writeln(t[i]:2:0);
End;End;
A kiíró utasítást ismételjük meg négyszerezért a tömb elemei kiíródnak
a t[1]-től t[4]-i
![Page 8: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/8.jpg)
ÖsszegképzésÖsszegképzés
Procedure osszeg(t:tombtip; var osszeg:real);Procedure osszeg(t:tombtip; var osszeg:real);
Var i:integer;Var i:integer;
BeginBegin
Osszeg:=ar*0,15;Osszeg:=ar*0,15;
For i:=1 to 3 doFor i:=1 to 3 do
osszeg:=osszeg+t[i]*0,15;osszeg:=osszeg+t[i]*0,15;
End;End;
Az osszeg változót cím szerint adjuk át,mert szeretnénk kiírni a főprogramban!
A ciklus azért megy csak háromig,Mert a t[4], már a következő év elsőNegyedévének az értékcsökkenése!
Az ár 15%-a adja az első negyedév értékcsökkenését!
Az aktuális negyedév értékcsökkenésének a kiszámítása
![Page 9: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/9.jpg)
Algoritmus működéseAlgoritmus működése
Osszeg: 1400000*0,15= 210000Osszeg: 1400000*0,15= 210000
Ciklus első lépése: Ciklus első lépése:
Osszeg: Osszeg: 210000+1190000*0,15=388500210000+1190000*0,15=388500
Ciklus második lépése:Ciklus második lépése:
Osszeg: 388500+Osszeg: 388500+1011500*0,15=5402251011500*0,15=540225
És így tovább!!És így tovább!!
![Page 10: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/10.jpg)
A főprogramA főprogram
Deklaráció:Deklaráció:Type tombtip=array[1..4] of real;Type tombtip=array[1..4] of real;Var t:tombtip;Var t:tombtip;
osszeg,ar:real;osszeg,ar:real;BEGINBEGINWriteln(‘add meg az autó árát!’);Writeln(‘add meg az autó árát!’);Readln(ar);Readln(ar);Feltolt(ar,t);Feltolt(ar,t);Kiir(t);Kiir(t);Osszeg(t,osszeg);Osszeg(t,osszeg);Writeln(‘Az értékcsökkenés összesen: ’,osszeg:2:0);Writeln(‘Az értékcsökkenés összesen: ’,osszeg:2:0);Readln;Readln;END.END.
![Page 11: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/11.jpg)
Feladat 2Feladat 2
• Készíts programot, ami kiszámolja Készíts programot, ami kiszámolja egy betét éves banki kamatát!egy betét éves banki kamatát!
• A betét összegét billentyűzetről kérje A betét összegét billentyűzetről kérje be!be!
• Írasd ki a havi betéteket!Írasd ki a havi betéteket!
• Számold ki az év végi betét Számold ki az év végi betét összegét!összegét!
![Page 12: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/12.jpg)
Szükséges algoritmusokSzükséges algoritmusok
• Tömb feltöltéseTömb feltöltése
• Tömb eleminek kiírásaTömb eleminek kiírása
• Összegképzés algoritmusaÖsszegképzés algoritmusa
Az algoritmusokat lásd az előző Az algoritmusokat lásd az előző programból!programból!
![Page 13: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/13.jpg)
Feladat 3Feladat 3
• Alakítsd át a programot, hogy a Alakítsd át a programot, hogy a kamatot is billentyűzetről kérje be!kamatot is billentyűzetről kérje be!
• Számoljon kamatos kamatot (a Számoljon kamatos kamatot (a kamatot mindig az aktuális hónapból kamatot mindig az aktuális hónapból számolja ki!)számolja ki!)
![Page 14: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/14.jpg)
Segítség a feladat 3-hozSegítség a feladat 3-hoz
Pl: a betét=1200000Pl: a betét=1200000 a kamat=6%a kamat=6% az első havi betét= 1272000az első havi betét= 1272000
A következő havi kamatot ne 1200000-A következő havi kamatot ne 1200000-ból, hanem 1272000-ből számítsd!ból, hanem 1272000-ből számítsd!
Segítségül használhatod az Segítségül használhatod az amortizációs programot (csak nem amortizációs programot (csak nem kivonni hanem összeadni kell)kivonni hanem összeadni kell)
![Page 15: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/15.jpg)
Feladat 4Feladat 4
• Készíts programot, ami kiszámolja Készíts programot, ami kiszámolja egy munkavállaló adóbevallását!egy munkavállaló adóbevallását!
• A program kérje be billentyűzetről a A program kérje be billentyűzetről a magánszemély éves fizetését!magánszemély éves fizetését!
• A személyi jövedelemadó kulcs: 18%A személyi jövedelemadó kulcs: 18%
![Page 16: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/16.jpg)
Feladat 4 megoldásFeladat 4 megoldás
Procedure ado(ber:real);Procedure ado(ber:real);
BeginBegin
Ber:=ber-ber*0,18;Ber:=ber-ber*0,18;
Writeln(‘A nettó fizetés: ‘,ber:2:0);Writeln(‘A nettó fizetés: ‘,ber:2:0);
End;End;
Levon 18%-ot a berből!
Kiírja az eljárásban a bért,így a főprogramban nem kell
még egyszer kiírni!
![Page 17: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/17.jpg)
FőprogramFőprogram
DeklarációDeklaráció
Var ber:real;Var ber:real;
BEGINBEGIN
Writeln(‘Add meg a dolgozó fizetését’);Writeln(‘Add meg a dolgozó fizetését’);
Readln(ber);Readln(ber);
Ado(ber);Ado(ber);
Readln;Readln;
END.END.
![Page 18: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/18.jpg)
Feladat 5Feladat 5
• Alakítsd át a programot, hogy ha az Alakítsd át a programot, hogy ha az éves fizetés 1700000 Ft alatt van, éves fizetés 1700000 Ft alatt van, akkor 18%-kal számoljon, ha akkor 18%-kal számoljon, ha 1700000 Ft fölött van, akkor 36%-kal 1700000 Ft fölött van, akkor 36%-kal számoljon!számoljon!
![Page 19: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/19.jpg)
Feladat 5Feladat 5• Írj eljárást, ami a TB járulékot Írj eljárást, ami a TB járulékot
kiszámolja!kiszámolja!A TB járulék: 29%A TB járulék: 29%• Írj eljárást, ami kiszámolja a Írj eljárást, ami kiszámolja a
munkavállalói járulékot!munkavállalói járulékot!A munkavállalói járulék 1,5%A munkavállalói járulék 1,5%• Adja meg a program a levonások utáni Adja meg a program a levonások utáni
éves bért! (vonja le a program az adót, éves bért! (vonja le a program az adót, a TB-t és a munkavállalói járulékot, a TB-t és a munkavállalói járulékot, majd a maradékot írja ki a képernyőre)majd a maradékot írja ki a képernyőre)
![Page 20: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/20.jpg)
Feladat 6Feladat 6
• Készíts programot, ami egy Készíts programot, ami egy számítógép bolt alkatrészeit és azok számítógép bolt alkatrészeit és azok árait tartja nyilván!árait tartja nyilván!
• Számolja ki, mennyibe kerül egy Számolja ki, mennyibe kerül egy komplett számítógép!komplett számítógép!
• Mutassa meg melyik a legdrágább és Mutassa meg melyik a legdrágább és legolcsóbb alkatrész! legolcsóbb alkatrész!
![Page 21: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/21.jpg)
Szükséges algoritmusokSzükséges algoritmusok
• Tömb feltöltéseTömb feltöltése
• Tömb kiírásaTömb kiírása
• ÖsszegképzésÖsszegképzés
• Minimum kiválasztásMinimum kiválasztás
• Maximum kiválasztásMaximum kiválasztás
![Page 22: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/22.jpg)
Deklaráció Deklaráció
Type tombtip1=array[1..5] of string;Type tombtip1=array[1..5] of string;
tombtip2=array[1..5] of integer;tombtip2=array[1..5] of integer;
Var t1:tombtip1;Var t1:tombtip1;
t2:tombtip2;t2:tombtip2;
Az első tömb az alkatrészekNevének tárolására szolgál!
A második tömb az alkatrészekÁrának tárolására szolgál!
![Page 23: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/23.jpg)
Tömb feltöltéseTömb feltöltéseProcedure feltolt(var t1:tombtip1;var Procedure feltolt(var t1:tombtip1;var
t2:tombtip2);t2:tombtip2);Var i:integer;Var i:integer;BeginBeginFor i:=1 to 5 doFor i:=1 to 5 do
beginbeginwriteln(‘Az alkatrész neve?’);writeln(‘Az alkatrész neve?’);readln(t1[i]);readln(t1[i]);writeln(‘Az alkatrész ára?’);writeln(‘Az alkatrész ára?’);readln(t2[i]);readln(t2[i]);
End;End;
Az alkatrész neve a t1 i-dikváltozóba kerül!
Az alkatrész ára a t2 i-dikváltozóba kerül!
Párhuzamosan halad a név és az ár feltöltése, azért mert egy ciklusban töltődikfel!
![Page 24: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/24.jpg)
Tömb elemeinek kiírásaTömb elemeinek kiírása
Procedure Procedure kiir(t1:tombtip1;t2:tombtip2);kiir(t1:tombtip1;t2:tombtip2);
Var i:integer;Var i:integer;
BeginBegin
For i:=1 to 5 doFor i:=1 to 5 do
writeln(t1[i],’: ‘,t2[i]);writeln(t1[i],’: ‘,t2[i]);
End;End;
![Page 25: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/25.jpg)
Összegképzés Összegképzés Procedure osszeg(t2:tombtip2);Procedure osszeg(t2:tombtip2);
Var i:integer;Var i:integer;
osszeg:longint;osszeg:longint;
BeginBegin
Osszeg:=t2[1];Osszeg:=t2[1];
For i:=2 to 5 doFor i:=2 to 5 do
osszeg:=osszeg+t2[i];osszeg:=osszeg+t2[i];
Writeln(‘Egy számítógép ’,osszeg,’ Ft-be kerül);Writeln(‘Egy számítógép ’,osszeg,’ Ft-be kerül);
End; End;
![Page 26: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/26.jpg)
Minimum kiválasztásMinimum kiválasztásProcedure mini(t1:tombtip1;t2:tombtip2);Procedure mini(t1:tombtip1;t2:tombtip2);Var i,min:integer;Var i,min:integer; nev:string;nev:string;BeginBeginMin:=t2[1];Min:=t2[1];Nev:=t1[1];Nev:=t1[1];For i:=2 to 5 doFor i:=2 to 5 do
if min<t2[i] thenif min<t2[i] thenbeginbegin
min:=t2[i];min:=t2[i];nev:=t1[i];nev:=t1[i];
end;end;writeln=(‘A legolcsóbb alkatrész: ‘,nev,’: ‘,min);writeln=(‘A legolcsóbb alkatrész: ‘,nev,’: ‘,min);End; End;
Ha kisebb, akkor bekerül a „min” változóba!
Ha változik „min” változó,akkor veleváltozzon a „nev” is!
![Page 27: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/27.jpg)
Maximum kiválasztásMaximum kiválasztás
• Az algoritmus ugyanaz csak a reláció Az algoritmus ugyanaz csak a reláció fordul meg, illetve a kiírásnál a fordul meg, illetve a kiírásnál a magyarázó szöveg más!magyarázó szöveg más!
![Page 28: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/28.jpg)
Feladat 7Feladat 7• Készíts programot, ami az otthoni Készíts programot, ami az otthoni
könyveidet, vagy CD-t, vagy DVD-t tartja könyveidet, vagy CD-t, vagy DVD-t tartja nyilván!nyilván!
• A program mondja meg melyik a A program mondja meg melyik a legdrágább, melyik legolcsóbb CD-d, legdrágább, melyik legolcsóbb CD-d, mennyit ér a gyűjteményed!mennyit ér a gyűjteményed!
• A program rendezze a gyűjteményedet A program rendezze a gyűjteményedet ABC sorrendbe!ABC sorrendbe!
• A program rendezze ár szerint növekvő A program rendezze ár szerint növekvő sorrendbe!sorrendbe!
![Page 29: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/29.jpg)
Szükséges algoritmusokSzükséges algoritmusok
• Tömb feltöltéseTömb feltöltése
• Tömb kiírásaTömb kiírása
• Minimum és maximum kiválasztásMinimum és maximum kiválasztás
• ÖsszegképzésÖsszegképzés
• RendezésRendezés
(A rendező algoritmust alkalmazhatod (A rendező algoritmust alkalmazhatod a szöveg típusú tömbnél is!)a szöveg típusú tömbnél is!)
![Page 30: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/30.jpg)
Rendezés Rendezés Procedure rendez(var t1:tombtip1);Procedure rendez(var t1:tombtip1);Var i,j:inetger;Var i,j:inetger;
cs:”olyan típus amilyen a tömb”);cs:”olyan típus amilyen a tömb”);BeginBeginFor i:=1 to n-1 doFor i:=1 to n-1 do
for j:=i+1 to n dofor j:=i+1 to n doif t[i]>t[j] thenif t[i]>t[j] then
beginbegincs:=t[i];cs:=t[i];t[i]:=t[j];t[i]:=t[j];t[j]:=cs;t[j]:=cs;
end;end;End;End;
A feltétel, ami megvizsgálja,hogy melyik a nagyobb!
Csere algoritmusa!
![Page 31: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/31.jpg)
Gondolkodj!Gondolkodj!
• Ellenőrizd, hogy a t1 rendezésével a Ellenőrizd, hogy a t1 rendezésével a t2 változik-e!t2 változik-e!
• Hogyan lehet megoldani azt a Hogyan lehet megoldani azt a problémát, hogy a t1 rendezésével a problémát, hogy a t1 rendezésével a t2 is ugyanúgy rendeződjön! Illetve t2 is ugyanúgy rendeződjön! Illetve fordítva!fordítva!
![Page 32: Gyakorló feladatsor eljárásokra](https://reader035.vdocuments.pub/reader035/viewer/2022062408/56814061550346895dabd9c6/html5/thumbnails/32.jpg)
Nem jut több az eszembeNem jut több az eszembe
Jó munkát kívánok!Jó munkát kívánok!