html5-img
1 / 32

Gyakorló feladatsor eljárásokra

Gyakorló feladatsor eljárásokra. Készítette: Rummel Szabolcs Elérhetősé: rsz@mailbox.hu. 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%

dionne
Download Presentation

Gyakorló feladatsor eljárásokra

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Gyakorló feladatsoreljárásokra Készítette: Rummel Szabolcs Elérhetősé: rsz@mailbox.hu

  2. 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% • Az autó árát billentyűzetről kérje be a program!

  3. Feladatok az amortizációhoz • A negyedéves értékcsökkenéseket tárolja el egy tömbben! (4 elemű tömb) • Írja ki a negyedéves értékcsökkenéseket! (A tömb elemeit) • Írja ki az egy év alatti értékcsökkenést! (tömb elemeinek összegét)

  4. Szükséges algoritmusok • Tömb feltöltése • Tömb elemeinek kiírása • Összegképzés

  5. Tömb feltöltése A tömb érték szerint van átadva, mert másik eljárásban használjuk a feltöltött tömböt! Procedure feltolt(ar:real; var t:tombtip); Var i:integer; Begin For i:=1 to 4 do Begin t[i]:=ar-ar*0,15; ar:=ar-ar*0,15; End; End; Az autó ára (azért longint, mert nagy számról van szó Az értékcsökkenés kiszámolása Az 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!

  6. Az algoritmus működése Az autó ára: 140000 Így a tömb első eleme: 1400000-1400000*0,15 Az ár: 1400000-210000=1190000 A tömb második eleme: 1190000-1190000*0,15 Az ár: 1190000-178500=1011500 És így tovább!!

  7. Tömb elemeinek kiírása Procedure kiir(t:tombtip); Var i:integer; Begin For i:=1 to 4 do writeln(t[i]:2:0); End; A kiíró utasítást ismételjük meg négyszer ezért a tömb elemei kiíródnak a t[1]-től t[4]-i

  8. Összegképzés Az osszeg változót cím szerint adjuk át, mert szeretnénk kiírni a főprogramban! Procedure osszeg(t:tombtip; var osszeg:real); Var i:integer; Begin Osszeg:=ar*0,15; For i:=1 to 3 do osszeg:=osszeg+t[i]*0,15; End; Az ár 15%-a adja az első negyedév értékcsökkenését! 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 aktuális negyedév értékcsökkenésének a kiszámítása

  9. Algoritmus működése Osszeg: 1400000*0,15= 210000 Ciklus első lépése: Osszeg: 210000+1190000*0,15=388500 Ciklus második lépése: Osszeg: 388500+1011500*0,15=540225 És így tovább!!

  10. A főprogram Deklaráció: Type tombtip=array[1..4] of real; Var t:tombtip; osszeg,ar:real; BEGIN Writeln(‘add meg az autó árát!’); Readln(ar); Feltolt(ar,t); Kiir(t); Osszeg(t,osszeg); Writeln(‘Az értékcsökkenés összesen: ’,osszeg:2:0); Readln; END.

  11. Feladat 2 • Készíts programot, ami kiszámolja egy betét éves banki kamatát! • A betét összegét billentyűzetről kérje be! • Írasd ki a havi betéteket! • Számold ki az év végi betét összegét!

  12. Szükséges algoritmusok • Tömb feltöltése • Tömb eleminek kiírása • Összegképzés algoritmusa Az algoritmusokat lásd az előző programból!

  13. Feladat 3 • Alakítsd át a programot, hogy a kamatot is billentyűzetről kérje be! • Számoljon kamatos kamatot (a kamatot mindig az aktuális hónapból számolja ki!)

  14. Segítség a feladat 3-hoz Pl: a betét=1200000 a kamat=6% az első havi betét= 1272000 A következő havi kamatot ne 1200000-ból, hanem 1272000-ből számítsd! Segítségül használhatod az amortizációs programot (csak nem kivonni hanem összeadni kell)

  15. Feladat 4 • Készíts programot, ami kiszámolja egy munkavállaló adóbevallását! • A program kérje be billentyűzetről a magánszemély éves fizetését! • A személyi jövedelemadó kulcs: 18%

  16. Feladat 4 megoldás Procedure ado(ber:real); Begin Ber:=ber-ber*0,18; Writeln(‘A nettó fizetés: ‘,ber:2:0); 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!

  17. Főprogram Deklaráció Var ber:real; BEGIN Writeln(‘Add meg a dolgozó fizetését’); Readln(ber); Ado(ber); Readln; END.

  18. Feladat 5 • Alakítsd át a programot, hogy ha az éves fizetés 1700000 Ft alatt van, akkor 18%-kal számoljon, ha 1700000 Ft fölött van, akkor 36%-kal számoljon!

  19. Feladat 5 • Írj eljárást, ami a TB járulékot kiszámolja! A TB járulék: 29% • Írj eljárást, ami kiszámolja a munkavállalói járulékot! A munkavállalói járulék 1,5% • Adja meg a program a levonások utáni éves bért! (vonja le a program az adót, a TB-t és a munkavállalói járulékot, majd a maradékot írja ki a képernyőre)

  20. Feladat 6 • Készíts programot, ami egy számítógép bolt alkatrészeit és azok árait tartja nyilván! • Számolja ki, mennyibe kerül egy komplett számítógép! • Mutassa meg melyik a legdrágább és legolcsóbb alkatrész!

  21. Szükséges algoritmusok • Tömb feltöltése • Tömb kiírása • Összegképzés • Minimum kiválasztás • Maximum kiválasztás

  22. Deklaráció Az első tömb az alkatrészek Nevének tárolására szolgál! Type tombtip1=array[1..5] of string; tombtip2=array[1..5] of integer; Var t1:tombtip1; t2:tombtip2; A második tömb az alkatrészek Árának tárolására szolgál!

  23. Tömb feltöltése Procedure feltolt(var t1:tombtip1;var t2:tombtip2); Var i:integer; Begin For i:=1 to 5 do begin writeln(‘Az alkatrész neve?’); readln(t1[i]); writeln(‘Az alkatrész ára?’); readln(t2[i]); End; Az alkatrész neve a t1 i-dik változóba kerül! Az alkatrész ára a t2 i-dik változóba kerül! Párhuzamosan halad a név és az ár feltöltése, azért mert egy ciklusban töltődik fel!

  24. Tömb elemeinek kiírása Procedure kiir(t1:tombtip1;t2:tombtip2); Var i:integer; Begin For i:=1 to 5 do writeln(t1[i],’: ‘,t2[i]); End;

  25. Összegképzés Procedure osszeg(t2:tombtip2); Var i:integer; osszeg:longint; Begin Osszeg:=t2[1]; For i:=2 to 5 do osszeg:=osszeg+t2[i]; Writeln(‘Egy számítógép ’,osszeg,’ Ft-be kerül); End;

  26. Minimum kiválasztás Procedure mini(t1:tombtip1;t2:tombtip2); Var i,min:integer; nev:string; Begin Min:=t2[1]; Nev:=t1[1]; For i:=2 to 5 do if min<t2[i] then begin min:=t2[i]; nev:=t1[i]; end; writeln=(‘A legolcsóbb alkatrész: ‘,nev,’: ‘,min); End; Ha kisebb, akkor bekerül a „min” változóba! Ha változik „min” változó,akkor vele változzon a „nev” is!

  27. Maximum kiválasztás • Az algoritmus ugyanaz csak a reláció fordul meg, illetve a kiírásnál a magyarázó szöveg más!

  28. Feladat 7 • Készíts programot, ami az otthoni könyveidet, vagy CD-t, vagy DVD-t tartja nyilván! • A program mondja meg melyik a legdrágább, melyik legolcsóbb CD-d, mennyit ér a gyűjteményed! • A program rendezze a gyűjteményedet ABC sorrendbe! • A program rendezze ár szerint növekvő sorrendbe!

  29. Szükséges algoritmusok • Tömb feltöltése • Tömb kiírása • Minimum és maximum kiválasztás • Összegképzés • Rendezés (A rendező algoritmust alkalmazhatod a szöveg típusú tömbnél is!)

  30. Rendezés Procedure rendez(var t1:tombtip1); Var i,j:inetger; cs:”olyan típus amilyen a tömb”); Begin For i:=1 to n-1 do for j:=i+1 to n do if t[i]>t[j] then begin cs:=t[i]; t[i]:=t[j]; t[j]:=cs; end; End; A feltétel, ami megvizsgálja, hogy melyik a nagyobb! Csere algoritmusa!

  31. Gondolkodj! • Ellenőrizd, hogy a t1 rendezésével a t2 változik-e! • Hogyan lehet megoldani azt a problémát, hogy a t1 rendezésével a t2 is ugyanúgy rendeződjön! Illetve fordítva!

  32. Nem jut több az eszembe Jó munkát kívánok!

More Related