SlideShare a Scribd company logo
1 of 23
Programozás és Digitális
Technika I.
2. Hét
Programozás alapjai,
Bevezetés a programozásba
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Tartalom
• Programozási feladatok megoldásának lépései
• Programírás utáni teendők
• Mi az algoritmus?
• Komplexebb algoritmusok
• Felhasznált források
2Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Programozási feladatok megoldásának lépései
1. Feladat specifikációjának az elkészítése – különös figyelmet igényel,
legtöbbször elmarad  lassul a feladatmegoldás folyamata
2. A feladat ismeretében a felhasznált eszközök, módszerek meghatározása
3. Feladat megoldásának megtervezése majd ALGORITMIZÁLÁSA
3Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Programírás utáni teendők
1. Megoldás helyes működésének az ellenőrzése / hibák javítása
2. A program egy termék  használati utasítás / DOKUMENTÁCIÓ készítése
4
ALGORITMUS KÉSZÍTÉSE
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Mi az algoritmus?
• Mit nevezünk algoritmusnak?
• Milyen jellemzői vannak?
• Hogyan kell ilyen készíteni?
5
Egyszerű példa ALGORITMUSRA:
utcai telefonkészülék használata
Telefonhasználat:
Emelje le a kézibeszélőt!
Várja meg a tárcsahangot!
Dobjon be egy 5 Ft-ost!
Tárcsázzon!
Vége.
Kérdések:
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Mi az algoritmus?
• Az említett példa egy ALGORITMUS
• A telefonkészülék formai leírása NEM algoritmus, bár az is a „telefonról szól”
6
Ezek alapján az ALGORITMUS jellemzői a következők:
1. Végrehajtható
2. Lépésekre bontva hajtható végre
3. Minden lépés vagy Elemi Utasítás vagy További Algoritmus
4. Pontosnak kell lennie meghatározott Végrehajtási Sorrenddel
5. Véges a Leírás (bár a végrehajtása korántsem mindig véges)
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Mi az algoritmus?
7
1. Lehet hozzá végrehajtót (egy valakit, egy gépet, egy processzort stb.)
rendelni, akinek a nyelvén szól az algoritmus
2. Világos a végrehajtó számára, hogy mit tekintsen lépésnek (a neki szóló
„mondat” egy „szavának”)
3. Elemi az, aminek értelme felöl nincs kétsége a végrehajtónak. Ha egy lépés
nem egyértelmű, akkor azt tovább kell részletezni, részlépésekre bontani. A
felbontást mindaddig kell folytatni, amíg a végrehajtásban csak elemi vagyis
alapszavakkal kell megbirkóznia a végrehajtónak
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Mi az algoritmus?
8
4. Nemcsak az egyes lépések önálló jelentése kell, hogy tiszta legyen, hanem az
is, hogy melyiket mikor kell / lehet elvégezni. Ez által lesz az egész algoritmus
teljes és pontos
5. Ez azt jelenti, hogy előadódhatnak olyan helyzetek, amikor a végesen
megfogalmazott parancssorozat precíz végrehajtása esetén soha nem ér
véget – a programok tesztelésekor ezek megmutatkozhatnak és ezáltal ezek a
helyzetek speciális esetekként kezelhetőek
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Komplexebb algoritmusok
9
Előző (telefonos) példa:
• Elemi tevékenység
• Mindegyik utasítást végre
kellett hajtani
• Adott végrehajtási sorrend
Szörpautomata példa:
• Vizsgáljuk, hogy elemi lépéseket
hogyan, milyen sorrendben lehet
végrehajtani
• Újdonság: elemi tevékenység
TÖBBSZÖRI végrehajtása
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Komplexebb algoritmusok
10
Szörpautomata példa 1:
Szörpautomata_1:
Válaszd ki a megfelelő szörpöt!
Dobj be egy 10 Ft-ost!
Nyomd meg a kiválasztott szörphöz tartozó gombot!
ISMÉTELD AMÍG nem telik meg a pohár: Nézd a poharat!
Vedd ki a poharat!
Vége.
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Komplexebb algoritmusok
11
Szörpautomata példa 1:
• A végrehajtás számát egy feltételtől tettük függővé – addig kell várni, amíg
megtelik a pohár
• Az egymás után végrehajtandó elemi tevékenységek is különbözőek: pl.: „Vedd
ki a poharat!” és „Idd meg a szörpöt!” tevékenységek sorrendje kötött
• A „Válaszd ki a megfelelő szörpöt!” és a „Dobj be egy 10 Ft-ost!”
tevékenységek sorrendje tetszőleges, sőt akár egyszerre is végezhetjük őket
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Komplexebb algoritmusok
12
Algoritmusokban a végrehajtási sorrend lehet:
1. Adott sorrendben, egymás után
2. Tetszőleges sorrendben, egymás után
3. Párhuzamosan, egyszerre
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Komplexebb algoritmusok
13
Szörpautomata példa 2:
• Továbbgondolva az előző példát, tegyük fel, hogy nincs 10 Ft-osunk és az
automata elfogad 2 Ft-os érméket is
• Újdonságként bekerül az algoritmusba a választás lehetősége, vagyis ha
van 5 darab 2 Ft-os érménk, akkor azzal fizetünk, ha nincs, akkor 10 Ft-os
érmével
• Abban az esetben, ha mindkét fizetési mód rendelkezésünkre áll, akkor
választhatunk
• A példaalgoritmus a következő dián látható
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Komplexebb algoritmusok
14
Szörpautomata példa 2:
Szörpautomata_2:
Válaszd ki a megfelelő szörpöt!
HA van 5 db 2 Ft-osod AKKOR Dobj be 5 db 2 Ft-ost!
KÜLÖNBEN Dobj be egy 10 Ft-ost!
Nyomd meg a kiválasztott szörphöz tartozó gombot!
ISMÉTELD AMÍG folyik a szörp: Nézd a poharat!
Vedd ki a poharat!
Vége.
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Komplexebb algoritmusok
15
Szörpautomata példa 3:
• Mi van akkor, ha bizonyos lépések végrehajtását feltételekhez kötjük?
• Példának okáért tegyük fel, hogy az automata nem ad szörpöt. Ekkor egy
kisebb ütés hatására a probléma megszűnhet, ha mégse, akkor ezt meg kell
ismételni
• Természetesen a fenti problémamegoldás a Valós életben NEM
alkalmazható
• A példaalgoritmus a következő dián látható
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Komplexebb algoritmusok
16
Szörpautomata példa 3:
Szörpautomata_3:
Válaszd ki a megfelelő szörpöt!
HA van 5 db 2 Ft-osod AKKOR Dobj be 5 db 2 Ft-ost!
KÜLÖNBEN Dobj be egy 10 Ft-ost!
Nyomd meg a kiválasztott szörphöz tartozó gombot!
HA nem folyik a pohárba a szörp AKKOR
ISMÉTELD: üsd az automata oldalát AMÍG nem folyik a szörp!
ISMÉTELD AMÍG folyik a szörp: Nézd a poharat!
Vedd ki a poharat!
Vége.
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Komplexebb algoritmusok
17
Miként bonthatjuk komplexebb algoritmusainkat elemibbekre?
1. Az összetett algoritmus több elemibb algoritmusból áll, és mindegyiket végre
kell hajtani:
a) A végrehajtási sorrend adott, és egyszerre csak egyet lehet
végrehajtani
b) A végrehajtási sorrend tetszőleges, és egyszerre csak egyet lehet
végrehajtani
c) A végrehajtási sorrend tetszőleges, akár egyszerre is végre lehet
hajtani az összeset
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Komplexebb algoritmusok
18
Miként bonthatjuk komplexebb algoritmusainkat elemibbekre?
2. Az összetett algoritmus egy vagy több elemi algoritmusból áll, és ezek közül
csak legfeljebb az egyiket kell végrehajtani:
a) 1 elemi algoritmust vagy végrehajtunk vagy nem
b) 2 elemi algoritmus közül egyértelműen választanunk kell az egyiket
c) Sok elemi algoritmus közül egyértelműen választanunk kell az
egyiket
d) Sok elemi algoritmus közül választanunk kell az egyiket, de a
választás nem egyértelműen definiált
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Komplexebb algoritmusok
19
Miként bonthatjuk komplexebb algoritmusainkat elemibbekre?
3. Az összetett algoritmus 1 elemi algoritmus ismétléséből áll:
a) Tudjuk, hogy pontosan hányszor kell végrehajtani
b) Tudunk mondani egy feltételt, aminek teljesülése esetén még végre
kell hajtani
c) Tudunk mondani egy feltételt, aminek teljesülése esetén még végre
kell hajtani, de a feltétel vizsgálatához az ismétlendőt egyszer már
végre kell hajtani, azaz legalább egyszer „lefut” az ismétlendő
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Komplexebb algoritmusok
20
• Minden számítógépes feladatmegoldásnak az alapjai:
1. MIBŐL lehet kiindulni?
2. MIT kell kiszámolni?
3. MILYEN eredményhez kell eljutni?
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Komplexebb algoritmusok
21
• Ennek szemléltetésére egy újabb példával, a szódavíz-készítésével
fogunk megismerkedni. Ennek elemei:
1. MIBŐL (bemeneti adat): víz, patron
2. MIT (feldolgozás): szódavízkészítés
3. MILYEN (kimeneti adat): szódavíz
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Komplexebb algoritmusok
22
• A szódavíz-készítés algoritmusa a következőképpen néz ki:
Szódavíz-készítése:
Csavard szét a szifont!
Öntsd bele a vizet!
Csavard össze a szifont!
Csavard rá a teli patront!
Vége.
• Bemeneti kellékek: víz, patron
• „Adottság”: szifon
• Kimeneti kellék: szódavíz
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
Felhasznált források
23
• Szlávi Péter – Zsakó László: „Módszeres programozás: Programozási bevezető”
• Ábrák, képek: Google képkereső
Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI

More Related Content

Viewers also liked

Viewers also liked (13)

Burgerjaarverslag_Alblasserdam_2012-3
Burgerjaarverslag_Alblasserdam_2012-3Burgerjaarverslag_Alblasserdam_2012-3
Burgerjaarverslag_Alblasserdam_2012-3
 
Portfolio_Corporate_Advtg
Portfolio_Corporate_AdvtgPortfolio_Corporate_Advtg
Portfolio_Corporate_Advtg
 
Krakow
KrakowKrakow
Krakow
 
Perubahan Struktur Ekonomi
Perubahan Struktur EkonomiPerubahan Struktur Ekonomi
Perubahan Struktur Ekonomi
 
2015 Nomadic Noles Valencia Magazine FINAL pdf 10-8-15
2015 Nomadic Noles Valencia Magazine FINAL pdf 10-8-152015 Nomadic Noles Valencia Magazine FINAL pdf 10-8-15
2015 Nomadic Noles Valencia Magazine FINAL pdf 10-8-15
 
satyabhama resume
satyabhama resumesatyabhama resume
satyabhama resume
 
cvmyra
cvmyracvmyra
cvmyra
 
Retail groups assignments(from group 5)
Retail groups assignments(from group 5)Retail groups assignments(from group 5)
Retail groups assignments(from group 5)
 
Try out ipa smp 2015
Try out ipa smp 2015Try out ipa smp 2015
Try out ipa smp 2015
 
LMS
LMSLMS
LMS
 
MY C.V
MY C.VMY C.V
MY C.V
 
Celebrity Endorsements
Celebrity EndorsementsCelebrity Endorsements
Celebrity Endorsements
 
Usaha Kecil Menengah (UKM)
Usaha Kecil Menengah (UKM)Usaha Kecil Menengah (UKM)
Usaha Kecil Menengah (UKM)
 

Programozás és Digitális Tecnikák II. - Timotei István Erdei & Zsolt Molnár

  • 1. Programozás és Digitális Technika I. 2. Hét Programozás alapjai, Bevezetés a programozásba Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 2. Tartalom • Programozási feladatok megoldásának lépései • Programírás utáni teendők • Mi az algoritmus? • Komplexebb algoritmusok • Felhasznált források 2Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 3. Programozási feladatok megoldásának lépései 1. Feladat specifikációjának az elkészítése – különös figyelmet igényel, legtöbbször elmarad  lassul a feladatmegoldás folyamata 2. A feladat ismeretében a felhasznált eszközök, módszerek meghatározása 3. Feladat megoldásának megtervezése majd ALGORITMIZÁLÁSA 3Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 4. Programírás utáni teendők 1. Megoldás helyes működésének az ellenőrzése / hibák javítása 2. A program egy termék  használati utasítás / DOKUMENTÁCIÓ készítése 4 ALGORITMUS KÉSZÍTÉSE Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 5. Mi az algoritmus? • Mit nevezünk algoritmusnak? • Milyen jellemzői vannak? • Hogyan kell ilyen készíteni? 5 Egyszerű példa ALGORITMUSRA: utcai telefonkészülék használata Telefonhasználat: Emelje le a kézibeszélőt! Várja meg a tárcsahangot! Dobjon be egy 5 Ft-ost! Tárcsázzon! Vége. Kérdések: Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 6. Mi az algoritmus? • Az említett példa egy ALGORITMUS • A telefonkészülék formai leírása NEM algoritmus, bár az is a „telefonról szól” 6 Ezek alapján az ALGORITMUS jellemzői a következők: 1. Végrehajtható 2. Lépésekre bontva hajtható végre 3. Minden lépés vagy Elemi Utasítás vagy További Algoritmus 4. Pontosnak kell lennie meghatározott Végrehajtási Sorrenddel 5. Véges a Leírás (bár a végrehajtása korántsem mindig véges) Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 7. Mi az algoritmus? 7 1. Lehet hozzá végrehajtót (egy valakit, egy gépet, egy processzort stb.) rendelni, akinek a nyelvén szól az algoritmus 2. Világos a végrehajtó számára, hogy mit tekintsen lépésnek (a neki szóló „mondat” egy „szavának”) 3. Elemi az, aminek értelme felöl nincs kétsége a végrehajtónak. Ha egy lépés nem egyértelmű, akkor azt tovább kell részletezni, részlépésekre bontani. A felbontást mindaddig kell folytatni, amíg a végrehajtásban csak elemi vagyis alapszavakkal kell megbirkóznia a végrehajtónak Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 8. Mi az algoritmus? 8 4. Nemcsak az egyes lépések önálló jelentése kell, hogy tiszta legyen, hanem az is, hogy melyiket mikor kell / lehet elvégezni. Ez által lesz az egész algoritmus teljes és pontos 5. Ez azt jelenti, hogy előadódhatnak olyan helyzetek, amikor a végesen megfogalmazott parancssorozat precíz végrehajtása esetén soha nem ér véget – a programok tesztelésekor ezek megmutatkozhatnak és ezáltal ezek a helyzetek speciális esetekként kezelhetőek Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 9. Komplexebb algoritmusok 9 Előző (telefonos) példa: • Elemi tevékenység • Mindegyik utasítást végre kellett hajtani • Adott végrehajtási sorrend Szörpautomata példa: • Vizsgáljuk, hogy elemi lépéseket hogyan, milyen sorrendben lehet végrehajtani • Újdonság: elemi tevékenység TÖBBSZÖRI végrehajtása Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 10. Komplexebb algoritmusok 10 Szörpautomata példa 1: Szörpautomata_1: Válaszd ki a megfelelő szörpöt! Dobj be egy 10 Ft-ost! Nyomd meg a kiválasztott szörphöz tartozó gombot! ISMÉTELD AMÍG nem telik meg a pohár: Nézd a poharat! Vedd ki a poharat! Vége. Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 11. Komplexebb algoritmusok 11 Szörpautomata példa 1: • A végrehajtás számát egy feltételtől tettük függővé – addig kell várni, amíg megtelik a pohár • Az egymás után végrehajtandó elemi tevékenységek is különbözőek: pl.: „Vedd ki a poharat!” és „Idd meg a szörpöt!” tevékenységek sorrendje kötött • A „Válaszd ki a megfelelő szörpöt!” és a „Dobj be egy 10 Ft-ost!” tevékenységek sorrendje tetszőleges, sőt akár egyszerre is végezhetjük őket Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 12. Komplexebb algoritmusok 12 Algoritmusokban a végrehajtási sorrend lehet: 1. Adott sorrendben, egymás után 2. Tetszőleges sorrendben, egymás után 3. Párhuzamosan, egyszerre Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 13. Komplexebb algoritmusok 13 Szörpautomata példa 2: • Továbbgondolva az előző példát, tegyük fel, hogy nincs 10 Ft-osunk és az automata elfogad 2 Ft-os érméket is • Újdonságként bekerül az algoritmusba a választás lehetősége, vagyis ha van 5 darab 2 Ft-os érménk, akkor azzal fizetünk, ha nincs, akkor 10 Ft-os érmével • Abban az esetben, ha mindkét fizetési mód rendelkezésünkre áll, akkor választhatunk • A példaalgoritmus a következő dián látható Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 14. Komplexebb algoritmusok 14 Szörpautomata példa 2: Szörpautomata_2: Válaszd ki a megfelelő szörpöt! HA van 5 db 2 Ft-osod AKKOR Dobj be 5 db 2 Ft-ost! KÜLÖNBEN Dobj be egy 10 Ft-ost! Nyomd meg a kiválasztott szörphöz tartozó gombot! ISMÉTELD AMÍG folyik a szörp: Nézd a poharat! Vedd ki a poharat! Vége. Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 15. Komplexebb algoritmusok 15 Szörpautomata példa 3: • Mi van akkor, ha bizonyos lépések végrehajtását feltételekhez kötjük? • Példának okáért tegyük fel, hogy az automata nem ad szörpöt. Ekkor egy kisebb ütés hatására a probléma megszűnhet, ha mégse, akkor ezt meg kell ismételni • Természetesen a fenti problémamegoldás a Valós életben NEM alkalmazható • A példaalgoritmus a következő dián látható Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 16. Komplexebb algoritmusok 16 Szörpautomata példa 3: Szörpautomata_3: Válaszd ki a megfelelő szörpöt! HA van 5 db 2 Ft-osod AKKOR Dobj be 5 db 2 Ft-ost! KÜLÖNBEN Dobj be egy 10 Ft-ost! Nyomd meg a kiválasztott szörphöz tartozó gombot! HA nem folyik a pohárba a szörp AKKOR ISMÉTELD: üsd az automata oldalát AMÍG nem folyik a szörp! ISMÉTELD AMÍG folyik a szörp: Nézd a poharat! Vedd ki a poharat! Vége. Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 17. Komplexebb algoritmusok 17 Miként bonthatjuk komplexebb algoritmusainkat elemibbekre? 1. Az összetett algoritmus több elemibb algoritmusból áll, és mindegyiket végre kell hajtani: a) A végrehajtási sorrend adott, és egyszerre csak egyet lehet végrehajtani b) A végrehajtási sorrend tetszőleges, és egyszerre csak egyet lehet végrehajtani c) A végrehajtási sorrend tetszőleges, akár egyszerre is végre lehet hajtani az összeset Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 18. Komplexebb algoritmusok 18 Miként bonthatjuk komplexebb algoritmusainkat elemibbekre? 2. Az összetett algoritmus egy vagy több elemi algoritmusból áll, és ezek közül csak legfeljebb az egyiket kell végrehajtani: a) 1 elemi algoritmust vagy végrehajtunk vagy nem b) 2 elemi algoritmus közül egyértelműen választanunk kell az egyiket c) Sok elemi algoritmus közül egyértelműen választanunk kell az egyiket d) Sok elemi algoritmus közül választanunk kell az egyiket, de a választás nem egyértelműen definiált Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 19. Komplexebb algoritmusok 19 Miként bonthatjuk komplexebb algoritmusainkat elemibbekre? 3. Az összetett algoritmus 1 elemi algoritmus ismétléséből áll: a) Tudjuk, hogy pontosan hányszor kell végrehajtani b) Tudunk mondani egy feltételt, aminek teljesülése esetén még végre kell hajtani c) Tudunk mondani egy feltételt, aminek teljesülése esetén még végre kell hajtani, de a feltétel vizsgálatához az ismétlendőt egyszer már végre kell hajtani, azaz legalább egyszer „lefut” az ismétlendő Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 20. Komplexebb algoritmusok 20 • Minden számítógépes feladatmegoldásnak az alapjai: 1. MIBŐL lehet kiindulni? 2. MIT kell kiszámolni? 3. MILYEN eredményhez kell eljutni? Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 21. Komplexebb algoritmusok 21 • Ennek szemléltetésére egy újabb példával, a szódavíz-készítésével fogunk megismerkedni. Ennek elemei: 1. MIBŐL (bemeneti adat): víz, patron 2. MIT (feldolgozás): szódavízkészítés 3. MILYEN (kimeneti adat): szódavíz Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 22. Komplexebb algoritmusok 22 • A szódavíz-készítés algoritmusa a következőképpen néz ki: Szódavíz-készítése: Csavard szét a szifont! Öntsd bele a vizet! Csavard össze a szifont! Csavard rá a teli patront! Vége. • Bemeneti kellékek: víz, patron • „Adottság”: szifon • Kimeneti kellék: szódavíz Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
  • 23. Felhasznált források 23 • Szlávi Péter – Zsakó László: „Módszeres programozás: Programozási bevezető” • Ábrák, képek: Google képkereső Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI