Gyakorló feladatsor eljárásokra Készítette: Rummel Szabolcs Elérhetősé:

Slides:



Advertisements
Hasonló előadás
Eljárások és függvények
Advertisements

 Megfigyelhető, hogy amikor több elem közötti összehasonlítás történik, akkor szükség van egyszerre több értékre is, főleg akkor, ha ezek az értékek jóval.
Összefoglalás 1. Pascal program szerkezete 2. Pascal típusai
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Programozás alapjai.
Bevezetés a Java programozásba
Borland C/C++ mintapéldák tömbökre
Egydimenziós tömbök. Deklarálás: var valtozónév:array[kezdőérték..végsőérték]of típus; type típusnév = array [kezdőérték..végsőérték] of típus; var valtozónév:
Gombkötő Attila Lineáris egyenlet.
Készítette: Pető László
Grafika a programban Készítette: Pető László. Bevezetés Valójában nem a célobjektumra rajzolunk, hanem annak festővászon területére (canvas). Csak olyan.
Nat Pedellus Informatika 8. osztály óra.
Készítette: Rummel Szabolcs Elérhetőség:
Készítette: Rummel Szabolcs Elérhetőség:
Dolgozat futás közbeni értékadásra Készítette: Rummel Szabolcs Elérhetőség:
Nevezetes algoritmusok Beszúrás Van egy n-1 elemű rendezett tömbünk. Be akarunk szúrni egy n-edik elemet. Egyik lehetőség, hogy végigszaladunk a tömbön,
Alprogramok deklarációja, definíciója és meghívása Páll Boglárka.
Összetett adattípusok a Pascal nyelvben
A négyzetes mátrixok (nxn-es kétdimenziós tömbök)
Programozási nyelvek Páll Boglárka.
A Pascal programozási nyelv alapjai
Ciklusok: 3. Hátultesztelő ciklus
Egydimenziós tömbök (Vektorok)
Ciklusok: 1. Számlálós ciklus
A REKORD TIPUS Páll Boglárka. Ismétlés: Feladat Készítsünk kimutatást a XI.B osztály tanulóiról. Minden tanuló esetén a következő adatokat tartjuk nyilván:
Ciklusok: 2. Előltesztelő ciklus
Feladatok: Rekordok Páll Boglárka. 1. Feladat: Egy szállításról a következő adatokat tartjuk nyilván: árukód, irányítószám, cím, mennyiség. Valósítsuk.
Alprogramok paraméterei. Procedure ( ); Function ( ): ; [var] p1,...,pn:típus1; q1,...,q2:típus2; cím szerinti parméterátadaás (értékváltozás hatással.
A Pascal programozási nyelv alapjai
A rekurzió Páll Éve Boglárka.
Listák, Vermek és Várakozási Sorok. Listák Pl: Kirándulók listája Bevásárló lista Alma Kenyér Krumpli Szappan Mosópor Bevásárló lista.
Tömbök és programozási tételek
Programozási nyelvek, Pascal
Rendezések és szövegkezelő függvények
Fájlkezelés Pascalban
Ciklusok (iterációk).
Szintaktikai, szemantikai szabályok
Összetett adattípusok
Kétdimenziós tömbök Mátrixok
Programozási feladatsor ciklusok gyakorlására Készítette: Rummel Szabolcs Elérhetőség:
Programozás4 Készítette: Rummel Szabolcs
Készítette: Rummel Szabolcs Elérhetőség:
Összefoglalás eljárásokra Készítette: Rummel Szabolcs Elérhetősé:
Program kamat Készítette: Rummel Szabolcs Elérhetőség:
Összefoglalás eljárásokra Készítette: Rummel Szabolcs Elérhetősé:
A képernyő kezelése: kiíratások (2)
Turbo Pascal Indítás: C:\LANGS\Turbo Pascal Turbo Pascal.
Nevezetes algoritmusok
Programozási tételek.
Programozás I. Típus algoritmusok
1 Mivel foglalkozunk a laborokon? 7. hét: Do-Loop-Until Do-Until-Looptömbök Function 7. hét: Do-Loop-Until és Do-Until-Loop ciklusok. Egy indexes tömbök,
Pole (array of...).  Zložený datový typ na ukladanie viacerých premených  Zápis: var meno_pola : array [ konce intervala ] of základný typ ; Základné.
Mintapélda Készítsünk programot, amely beolvas egy egész számot, és eldönti arról, hogy prímszám-e. Készítsünk programot, amely beolvas egy egész számot,
Nat Pedellus Free Pascal Elágazások..
Free pascal feladatok
Vnorené cykly.  Pri riešení problémov sa stáva, že použijeme viac cyklov za sebou, alebo jeden cyklus vnorený do druhohého.
A 2. géptermi beszámoló VBA anyagának összefoglalása
Összeállította: Gergely János
Excel programozás (makró)
Gyakorló feladatsor Készítette: Rummel Szabolcs Elérhetőség:
Dolgozat változók alkalmazására Készítette: Rummel Szabolcs Elérhetőség:
Összehasonlító példák ‏ 2015/2016 II. Dr Lakatos Mária: ADÓZÁS I.
Összehasonlító példák
Bérek könyvelése Schalkhammer-Kenyeres Márta
Nevezetes algoritmusok
Excel programozás (makró)
Bevezetés a programozásba Algoritmikus gondolkodás
Munkagazdaságtani feladatok
Dijkstra algoritmusa: legrövidebb utak
Dijkstra algoritmusa: legrövidebb utak
Előadás másolata:

Gyakorló feladatsor eljárásokra Készítette: Rummel Szabolcs Elérhetősé:

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!

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)

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

Tömb feltöltése Procedure feltolt(ar:real; var t:tombtip); Var i:integer; Begin For i:=1 to 4 do Begint[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! A tömb érték szerint van átadva, mert másik eljárásban használjuk a feltöltött tömböt!

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

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

Összegképzés Procedure osszeg(t:tombtip; var osszeg:real); Var i:integer; BeginOsszeg:=ar*0,15; For i:=1 to 3 do osszeg:=osszeg+t[i]*0,15;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

Algoritmus működése Osszeg: *0,15= Ciklus első lépése: Osszeg: *0,15= Ciklus második lépése: Osszeg: *0,15= És így tovább!!

A főprogram Deklaráció: Type tombtip=array[1..4] of real; Var t:tombtip; osszeg,ar:real; 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.

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!

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!

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!)

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

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%

Feladat 4 megoldás Procedure ado(ber:real); BeginBer:=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!

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

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

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)

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!

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

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

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!

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;

Összegképzés Procedure osszeg(t2:tombtip2); Var i:integer; osszeg:longint; osszeg:longint;BeginOsszeg:=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;

Minimum kiválasztás Procedure mini(t1:tombtip1;t2:tombtip2); Var i,min:integer; nev:string; nev:string;BeginMin:=t2[1];Nev:=t1[1]; For i:=2 to 5 do if min<t2[i] then beginmin:=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!

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!

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!

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!)

Rendezés Procedure rendez(var t1:tombtip1); Var i,j:inetger; cs:”olyan típus amilyen a tömb”); 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 begincs:=t[i];t[i]:=t[j];t[j]:=cs;end;End; A feltétel, ami megvizsgálja, hogy melyik a nagyobb! Csere algoritmusa!

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!

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