Algoritmusok Az algoritmus fogalma:

Slides:



Advertisements
Hasonló előadás
Nevezetes algoritmusok
Advertisements

Az algoritmus.
Programozási feladatok
83. (1 pont) A felsorolt végeredmények, hatások közül karikázza be a mondatszerű leírással (szöveggel) megadott algoritmus eredményét jelölő betűt, ha.
Definíciók: Algoritmus: bármely véges sok lépéssel leírható tevékenység. Olyan pontos előírás, amely megmondja, hogy egy adott típushoz tartozó feladat.
Összefoglalás Hardver,szoftver,perifériák Memóriák fajtái
Algoritmusok.
Adatelemzés számítógéppel
Algoritmusleíró eszközök
Elemi algoritmusok Páll Boglárka.
Elemi algoritmusok Páll Boglárka.
Fejmozgás alapú gesztusok felismerése
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Algoritmus Az algoritmus problémamegoldásra szolgáló elemi lépések olyan sorozata, amely: véges – azaz véges számú lépés után befejeződik, és eredményt.
Az összehasonlító rendezések
Programozás alapjai.
Algoritmusok Az algoritmus fogalma:
Készítette: Pető László
Algoritmizálás Göncziné Kapros Katalin humaninformatika.ektf.hu.
Programozás I. Horváth Ernő.
Algoritmusok Tusnádi István
1 Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat 1. Bevezetés Miskolc, 2004.
Programozás I. Ciklusok
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,
Fejmozgás alapú gesztusok felismerése Bertók Kornél, Fazekas Attila Debreceni Egyetem, Informatikai Kar Debreceni Képfeldolgozó Csoport KÉPAF 2013, Bakonybél.
A problémamegoldás lépései
Algoritmus. Folyamatábrák
Ismétlő struktúrák.
Az algoritmusok áttekinthető formában történő leírására szolgáló eszközök Páll Boglárka.
Rendezési algoritmusok
Algoritmusok Páll Boglárka.
Ismétlés.
Az algoritmusok áttekinthető formában történő leírására szolgáló eszközök Páll Boglárka.
Elemi algoritmusok Páll Boglárka.
Algoritmusok.
ALGORITMUS.
Algoritmusok.
ALGORITMUSOK.
Programozási nyelvek.
Algoritmus gyakorlati feladatok
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Algoritmusok.
Algoritmus szerkezetek
Programozási alapismeretek 11. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 11.2/ Tartalom  Rendezési.
Algoritmusok.
Az algoritmuskészítés alapjai
Egyszerű cserés rendezés
Edényrendezés Tört számokkal.
Programozás, programtervezés
Algoritmusok. Az algoritmus meghatározott sorrendben elvégzendő műveletek előírása, mint azonos típusú (matematikai, logikai) feladatok megoldására alkalmas.
Algoritmizálás és programozás tanítása Balogh Zoltán PTE-TTK IÁTT Az algoritmuskészítés.
Összeállította: Sashalmi Tibor
Algoritmizálás, adatmodellezés
Objektum orientált programozás
Horváth Bettina VZSRA6 Feladat: Szemléltesse az edényrendezést.
Gráf szélességi bejárása. Cél Az algoritmus célja az, hogy bejárjuk egy véges gráf összes csúcsát és kiírjuk őket a kezdőcsúcstól való távolságuk szerint.
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
KÉSZÍTETTE: KOVÁCSICS KRISZTIÁN
Programozás alapjai Készítette: Csiszár Nóra Anita
Algoritmusok Tusnádi István
Programozási alapok.
Mediánok és rendezett minták
Az algoritmus.
Algoritmizálás.
Bevezetés a programozásba Algoritmikus gondolkodás
A maximum kiválasztás algoritmusa
Számítógépes algoritmusok
Algoritmusok szerkezete
Algoritmusok és Adatszerkezetek I.
Algoritmus készítés.
Előadás másolata:

Algoritmusok Az algoritmus fogalma: Az algoritmus egy bizonyos feladattípus megoldására szolgáló lépések (utasítások, előírások) véges sorozata, amely alapján a feladat véges lépésben megoldható. Az algoritmusokkal szemben támasztott követelmények: 1. Végesség: a feladat megoldására szolgáló lépések számának és minden egyes lépésnek is végesnek kell lennie 2. Meghatározottság: Az algoritmus minden lépésének pontosan definiáltnak, egyértelműnek, félreérthetetlennek kell lennie 3. Elvégezhetőség: Az algoritmus minden lépésének elvégezhetőnek kell lennie Néhány algoritmus leíró módszer: Mondatszerű, folyamatábra, struktogram, struktúra diagram

Mondatszerű leírás Az algoritmusok megfogalmazásának első és legtermészetesebb módja a természetes emberi beszéd. Ennél a módszernél a lépések (utasítások, előírások) megfogalmazására betűket, szavakat, mondatokat használunk. Nagy hátránya, hogy nem egyértelmű. Ezért szükség van ennél pontosabb, formális leírásra. Például: 1. Elmentem moziba 2. Vettem pattogatott kukoricát 3. Ha maradt még pénzem vettem üdítőt 5. Megnéztem a filmet 6. Hazamentem a moziból

A folyamatábra jelei A tevékenységeknek síkidomokat feleltetünk meg Ellipszis: a folyamatábra indulási és befejezési pontja Téglalap: elemi tevékenységek Rombusz: elágazás, választás Paralelogramma: input és output tevékenységek Nyilak: jelzik a haladás irányát

A struktogram jelei Az egész algoritmusnak egy nagy téglalapot feleltetünk meg, amelyet tovább osztunk Téglalap: elemi tevékenységek Háromszögek és téglalapok: elágazás, választás L alakzat és téglalap: iteráció, ismétlés, ciklus

Struktúra diagram jelei A struktúra diagram két fajta síkidomot feleltet meg a tevékenységeknek amelyek további síkidomokra bomlanak szét Téglalap: elemi tevékenységek Ellipszis: iteráció, ismétlés, ciklus Vonalak: a tevékenységeket a hozzájuk tartozó résztevékenységekkel kötik össze

Az algoritmusok építőelemei Minden algoritmus 3 alapvető szerkezeti elemből építhető fel: 1. Szekvencia: egymás után végrehajtandó tevékenységek sorozata 2. Szelekció (választás, elágazás): lépések, tevékenységek közötti választás 3. Iteráció (ismétlés, ciklus): valamely tevékenység sorozat ismételt végrehajtása

Szekvencia Folyamatábrával Struktogrammal Struktúra diagrammal Comenius Logoban

QBasic példa

Szelekció Folyamatábrával Struktogrammal Struktúra diagrammal Comenius Logoban

QBasic példa

Iteráció Folyamatábrával Struktogrammal Struktúra diagrammal Comenius Logoban

QBasic példa

QBasic példa

Egy napunk algoritmusa mondatszerűen leírva Szekvencia Szelekció Iteráció

Egy napunk algoritmusa folyamatábrával leírva Szekvencia Szelekció Iteráció

Egy napunk algoritmusa struktogrammal leírva Szekvencia Szelekció Iteráció

Egy napunk Egy napunk algoritmusa struktúra diagrammal leírva Szekvencia Szelekció Iteráció Szekvencia

Két elemet rendezünk növekvő sorrendbe Két elem rendezése Két elemet rendezünk növekvő sorrendbe Bekérjük a két elemet Megvizsgáljuk, hogy A nagyobb-e mint B Ha nagyobb, akkor felcseréljük a két elemet egy segédváltozó segítségével Ha nem nagyobb, akkor nem kell csinálni semmit az elemek már növekvő sorrendben vannak Kiírjuk a két elemet

Példa algoritmusra: Sörcsap-automata Algoritmusa Szeretnék inni egy korsó hideg sört. Először szerzek egy korsót. Kiöntöm a tartalmát és kimosom. A csap alá helyezem. Magam felé húzom a kart. Várok egy kicsit. Majdnem tele van a korsó? Ha igen elengedem. Ha nem, vissza a 5. pontra Eltolom a kart, hogy habosodjon. Megvizsgálom a hab mennyiségét. Ha túl sok, kiöntöm, és a 3-as pontra ugrok (ez persze nagyon nem hatékony algoritmikailag és hallgatóilag is). Ha kevés, a 8-as pontra ugrom. Megiszom a sört. Ha még szomjas vagyok, a 3. pontra ugrom.

NEM IGEN Start Szerzek egy korsót Kiöntöm a tartalmát és kimosom Vége Szerzek egy korsót Kiöntöm a tartalmát és kimosom Csap alá helyezem Magam felé húzom a kart Várok egy kicsit Majdnem tele a korsó? Eltolom a kart, hogy habosodjon Túl sok a hab? Túl kevés a hab? Megiszom a sört Szomjas vagyok még? IGEN NEM

Három elemet rendezünk növekvő sorrendbe Három elem rendezése Három elemet rendezünk növekvő sorrendbe Bekérjük a három elemet Ha A nagyobb mint B, akkor felcseréljük a két elemet Ha B nagyobb mint C, akkor felcseréljük a két elemet Kiírjuk a három elemet

Minimum elvű rendezés A minimum elvű rendezésnél a rendezetlen elemek közül a legkisebbet rakjuk be a már rendezett elemek után Első lépésben A elemet hasonlítom össze a mögötte álló elemekkel, ha bármelyik elem kisebb nála, felcserélem őket Ugyanígy kell eljárni az összes többi elem esetében kivéve az utolsó D elemet, mert mire hozzá érünk már rendezett lesz, vele nem kell tenni semmit

Buborék rendezés Buborék rendezésnél a kisebb elemek a sor eleje felé, a nagyobbak pedig a sor vége felé haladnak Ennél a rendezésnél mindig a szomszédos elemeket hasonlítjuk össze, és ha kell felcseréljük őket Az első futtásnál a sor összes elemén végigmegyünk és a legnagyobb elem a sor végére kerül A második futásnál a második legnagyobb elem kerül a helyére Így haladva tovább az algoritmus végén a sor rendezetté válik

A beszúró rendezésnél az elemeket egy már rendezett sorba szúrjuk be Feltételezzük, hogy az elemünktől balra található elemek már rendezett sort alkotnak Megkeressük az elemünk helyét ebben a rendezett sorban Akkor találtuk meg a helyét a sorban, ha tőle balra nála kisebb elem helyezkedik el Az első elemet sohasem vizsgáljuk meg, mert az már magában rendezett, első lépésben mindig a második elemet hasonlítjuk össze az elsővel