Nevezetes algoritmusok

Slides:



Advertisements
Hasonló előadás
Nevezetes algoritmusok
Advertisements

Eljaras linearis_kereses(adatok[],n)
Megszámlálás Elemi algoritmusok.
Elemi algoritmusok Páll Boglárka.
Elemi algoritmusok Páll Boglárka.
Kiválasztás (N,A,sorszam) i := 1 Ciklus amíg (A(i) nem T) i := i+1 Ciklus vége sorszam := i Eljárás vége Kiválasztás.
Sorozatszámítás Sorozatszámítás (N,A,s) s := kezdőérték
Programozási tételek, és „négyzetes” rendezések
Gyakorló feladatsor eljárásokra Készítette: Rummel Szabolcs Elérhetősé:
Tömbök C#-ban.
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Programozási alapismeretek 5. előadás. ELTE Szlávi - Zsakó: Programozási alapismeretek 5.2/  Programozási tételek.
INFOÉRA Kombinatorikai algoritmusok (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Juhász István-Zsakó László: Informatikai.
INFOÉRA Dinamikus programozás (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Juhász István-Zsakó László: Informatikai képzések.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Programozási alapismeretek 10. előadás
Programozási alapismeretek 5. előadás. ELTE 2/  Programozási tételek – a lényeglényeg  Sorozatszámítás Sorozatszámítás.
Programozási alapismeretek 8. előadás. ELTE 2/  További programozási tételek További programozási tételek 
C A C nyelv utasításai.
Gombkötő Attila Lineáris egyenlet.
Készítette: Pető László
Programozás módszertan
A digitális számítás elmélete
ELTE Szlávi - Zsakó: Programozási alapismeretek 5.1/ Keresés Specifikáció:  Bemenet: N:Egész, X:Tömb[1..N:Valami]
ELTE Szlávi-Zsakó: Programozási alapismeretek 10.1/ Összegzés mátrixra Feladat: Egy mátrix elemeinek összege.
További vektor, mátrix algoritmusok
Microsoft Excel Függvények VI..
Programozás C# - ban Feladatsorok.
Tömbök Csernoch Mária.
Megszámlálás, kiválasztás alapalgoritmusok
Összetett adattípusok
Egydimenziós tömbökön végezhető műveletek
Félévi típus feladatok
Feladatok: Algoritmusok Pszeudokódban
Elemi algoritmusok Páll Boglárka.
Tömbök és programozási tételek
Ciklusok (iterációk).
Összetett adattípusok
Kétdimenziós tömbök Mátrixok
Adatszerkezetek és algoritmusok
Algoritmus gyakorlati feladatok
Algoritmus szerkezetek
Nevezetes algoritmusok
Programozási tételek.
Logikai programozás 8.. Adatok: ISMÉTLÉS: ADATBÁZISKEZELÉS A külső adatok a hatására bekerülnek a memóriába Lekérdezés: Ahogy eddig – pl.: szereti(jani,
Programozás I. Típus algoritmusok
Algoritmizálás, adatmodellezés tanítása 2. előadás.
Táblázatkezelés KÉPLETEK.
Feladatok (értékadás)
Programozási alapismeretek 8. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/  További programozási.
Programozási alapismeretek 10. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 10.2/  Kiválogatás + összegzés.
Adatszerkezetek és algoritmusok 2006/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
Statisztikai és logikai függvények
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.
Informatikai gyakorlatok 11. évfolyam
TÁMOP /1-2F Felkészítés szakmai vizsgára, informatika területre modulhoz II/14. évfolyam Az interaktív vizsga jellegzetes feladattípusainak.
Programozási alapismeretek 4. előadás. ELTE  Programozási tételek – a lényeglényeg  Sorozatszámítás – összegzés… Sorozatszámítás  Megszámolás.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009.
Algoritmus Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században élt perzsa tudós nevének pontatlan.
Tömbök és programozási tételek
Mediánok és rendezett minták
Programozási tételek Mik is ezek?
Halmazműveletek.
Eljaras linearis_kereses(adatok[],n)
Lineáris keresés Keresés (N,A,sorszam) i := 1
Informatikai gyakorlatok 11. évfolyam
Programozási tételek.
Programozási tételek.
Cache példák 2019 (IMSC).
Előadás másolata:

Nevezetes algoritmusok Összegzés Megszámlálás Kiválogatás Kiválasztás Eldöntés Lineáris keresés Minimum kiválasztás Maximum kiválasztás

Tömbök A tömb azonos típusú elemekből álló, sorosan tárolt adatcsoport, egyfajta memóriában létrehozott adatbázis. A tömböknek több dimenziója is lehet (vektor, mátrix) ez alapján tudunk belőlük kijelölni egy adott elemet. Ezt a kijelölést hívjuk indexelésnek, a jelölő dimenziókat pedig indexnek. 2 pali 19 164 5 a x szam1 össz z Peti Laci Jani Kati Feri A a[1] a[2] a[3] a[4] a[5]

Tömb feltöltése felhasználói értékadással algoritmus feltölt_1 változó x : tömb[1..n] egész i : egész … ciklus i:= 1..n lépésköz=1 ismétel be: x[i] cvége algoritmus vége i := 1 i < = n i := i+1 be: x[i]

Tömb feltöltése automatikusan algoritmus feltölt_2 változó x:tömb[1..n] egész i:egész … ciklus i:= 1..n lépésköz=1 ismétel x[i]:=érték cvége algoritmus vége i := 1 i < = n i := i+1 x[i] := érték

Tömb kiiratása algoritmus kiír változó x:tömb[1..n] egész i:egész … ciklus i:=1..n lépésköz=1 ismétel ki : x[i] cvége algoritmus vége i := 1 i < = n i := i+1 ki: x[i]

Összegzés tétele Bemenő adat: egy N elemű adatsorozat (tömb, vektor) Kimenő adat: Egy érték, amelynek kiszámításához az adatsorozat minden elemét felhasználjuk Szükséges hozzá még egy kiszámítási szabály, amely megmondja, hogy az értéket hogy kapjuk meg a sorozat elemeiből (F) Példák: összeg, számtani közép (átlag), mértani közép, négyzetösszeg, harmonikus közép, stb.

Általános feladat: Adott egy N elemű számsorozat Általános feladat: Adott egy N elemű számsorozat. Számoljuk ki az elemek összegét! A sorozatot most és a továbbiakban is az n elemű x[n] vektorban (tömbben) tároljuk. Algoritmus: algoritmus összegzés var i, össz: egész x: tömb [1..n] egész össz:=0 ciklus i:=1..n lépésköz=1 ismétel össz:=össz + x[i] cvége ki: össz algoritmus vége

össz:=0 i := 1 i < = n i := i+1 össz := össz + x[i] ki: össz

ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége Összegzés 15 12 11 17 14 Tömb: össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz

ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége Összegzés 15 12 11 17 14 Tömb: i = 0 össz = 0 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz

ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége Összegzés 15 12 11 17 14 Tömb: i = 1 össz = 0 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz

ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége Összegzés 15 12 11 17 14 Tömb: i = 1 össz = 12 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz

ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége Összegzés 15 12 11 17 14 Tömb: i = 1 össz = 12 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz

ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége Összegzés 15 12 11 17 14 Tömb: i = 2 össz = 12 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz

ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége Összegzés 15 12 11 17 14 Tömb: i = 2 össz = 27 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz

ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége Összegzés 15 12 11 17 14 Tömb: i = 2 össz = 27 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz

ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége Összegzés 15 12 11 17 14 Tömb: i = 3 össz = 27 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz

ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége Összegzés 15 12 11 17 14 Tömb: i = 3 össz = 38 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz

ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége Összegzés 15 12 11 17 14 Tömb: i = 3 össz = 38 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz

ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége Összegzés 15 12 11 17 14 Tömb: i = 4 össz = 38 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz

ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége Összegzés 15 12 11 17 14 Tömb: i = 4 össz = 55 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz

ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége Összegzés 15 12 11 17 14 Tömb: i = 4 össz = 55 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz

ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége Összegzés 15 12 11 17 14 Tömb: i = 5 össz = 55 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz

ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége Összegzés 15 12 11 17 14 Tömb: i = 5 össz = 69 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz

ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége Összegzés 15 12 11 17 14 Tömb: i = 5 össz = 69 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz

ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége Összegzés 15 12 11 17 14 Tömb: i = 5 össz = 69 össz:=0 ciklus i:=1-től 5-ig lépésköz=1 ismétel össz:=össz+tömb[i] cvége ki:össz

Megszámlálás Megszámolja, hogy egy tömbben hány darab T tulajdonságnak megfelelő elem van. Bemenő adat: egy N elemű adatsorozat (A tömb) Kimenő adat: Annak darabszáma, hogy egy adott T tulajdonságú elemből mennyi van Példák: tömbben páros elemek megszámolása, karakterláncban magánhangzó-számolás, stb.

Megszámlálás algoritmus megszámlálás változó i, db : egész x : tömb [1..n] egész … db := 0 ciklus i:=1..n lépésköz=1 ismétel ha (x[i] T tulajdonságú) akkor db:= db+1 hvége cvége ki:db …. algoritmus vége

db:=0 i := 1 i < = n i := i+1 X[i] T tulajd. Ki: db db := db + 1

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 0

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 0 i = 1

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 0 i = 1

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 1

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 1

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 1

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 2

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 2

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 2

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 2

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 3

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 3

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 3

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 3

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 4

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 4

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 4

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 4

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 5

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 1 i = 5

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 2 i = 5

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 2 i = 5

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 2 i = 5

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor Megszámlálás 15 12 11 17 14 Tömb: db:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (tömb[i] mod 2 = 0) akkor db:=db+1 hvége cvége Ki: db db = 2 i = 5

Kiválogatás tétele Bemenő adat: egy N elemű adatsorozat, létező tömb Kimenő adat: Az összes T tulajdonságú elem egy új tömbben A kimenő adatok tárolásához ugyanakkora tömb szükséges, mint a bemenő adatokhoz, mert nem tudjuk előre, hány T tulajdonságú elem lesz Példák: válogassuk ki a párosakat, prímeket, stb. egy számsorozatból.

Kiválogatás tétele Általános feladat: egy N elemű sorozat összes T tulajdonsággal rendelkező elemét kell meghatározni. Gyűjtsük az X tömbből a feltételnek megfelelőeket a X2 tömbbe!

algoritmus kiválogat változó i, db :egész X, X2 : tömb [1 algoritmus kiválogat változó i, db :egész X, X2 : tömb [1..n] egész … db:=0 ciklus i=1-től n-ig lépésköz 1 ismétel Ha (X[i] T tulajdonságú) akkor db:=db+1 X2[db]:=X[i] hvége cvége algoritmus vége

db:=0 i := 1 i < = n i := i+1 X[i] T tulajd. Ki: db db := db + 1 X2[db] := X[i]

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás – páros számok 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 1

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 1

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 1

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 1

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 2

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 2

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 2

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 2

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 3

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 0 i = 3

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 3

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás Forrás: 11 15 12 17 14 Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 3

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 3

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 3

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 4

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 4

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 4

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 4

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 5

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 1 i = 5

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 2 i = 5

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 14 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 2 i = 5

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 14 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 2 i = 5

Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor Kiválogatás 15 12 11 17 14 Forrás: Cél: 12 14 j:=0 Ciklus i:=1-től 5-ig lépésköz=1 ismétel Ha (Forrás[i] mod 2 = 0) akkor j:=j+1 Cél[j]:=Forrás[i] hvége cvége j = 2 i = 5

Kiválasztás tétele Általános feladat: Adott egy N elemű sorozat, egy, a sorozat elemein értelmezett T tulajdonság, valamint azt is tudjuk, hogy a sorozatban van legalább egy T tulajdonságú elem. A feladat ezen elem sorszámának meghatározása. Ha több ilyen elem van, akkor az első helyét adja vissza.  

Kiválasztás tétele algoritmus kiválasztás i:=1 amíg (x[i] nem T tulajdonságú) ismétel i:=i+1 avége hely:=i ki: hely algoritmus vége

amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i

amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 1

amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 1 Tömb[i] mod 2 <>0 ? igaz

amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 2 Tömb[i] mod 2 <>0 ? igaz

amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 2 Tömb[i] mod 2 <>0 ? igaz

amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 2 Tömb[i] mod 2 <>0 ? igaz

amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 3 Tömb[i] mod 2 <>0 ? igaz

amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 3 Tömb[i] mod 2 <>0 ? igaz

amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 3 Tömb[i] mod 2 <>0 ? igaz

amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 4 Tömb[i] mod 2 <>0 ? igaz

amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 4 Tömb[i] mod 2 <>0 ? igaz

amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 4 Tömb[i] mod 2 <>0 ? hamis

amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i Kiválasztás Tömb: 17 15 11 12 14 i:=1 amíg tömb[i] mod 2 <> 0 ismétel i:=i+1 avége ki: i i = 4 Tömb[i] mod 2 <>0 ? hamis

Eldöntés tétele A kiválasztás hatékony akkor, ha biztosak vagyunk abban, hogy a tömbünk tartalmaz T tulajdonságú elemet. Ha nem vagyunk biztosak abban, hogy egy tömb tartalmaz-e adott tulajdonságú elemet az eldöntést kell használnunk. Bemenő adat: egy N elemű adatsorozat Kimenő adat: Egy logikai érték, amely megmondja, hogy egy adott T tulajdonságú elem előfordul-e az adat- sorozatban Példák: van-e páros, páratlan, hárommal osztható, stb. (tetszőlegesen bonyolultat ki lehet találni)

Eldöntés tétele algoritmus eldöntés változó i: egész VAN: logikai x: tömb [1..n] : egész … i:=1 amíg (i<=n) ÉS (x[i] nem T tulajdonságú) ismétel i:=i+1 avége VAN:=(i <= n) // „VAN” értéke igaz, ha i<=n, … egyébként hamis algoritmus vége

(i <= n) és (x[i] nem T tul.) VAN := (i <= n) VAN i h i := i + 1 Ki: "van " Ki: "nincs "

amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i

amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 1

amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 1 tömb[i] mod 2 = ? hamis

amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1 Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 2 tömb[i] mod 2 = ? hamis

amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1 Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 2 tömb[i] mod 2 = ? hamis

amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1 Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 2 tömb[i] mod 2 = ? hamis

amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1 Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 3 tömb[i] mod 2 = ? hamis

amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1 Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 3 tömb[i] mod 2 = ? hamis

amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 3 tömb[i] mod 2 = ? igaz

amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 3 tömb[i] mod 2 = ? igaz

amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i Eldöntés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i<=5) ismétel i:=i+1 avége ki: i i = 3 tömb[i] mod 2 = ? igaz

Lineáris keresés tétele Általános feladat: Rendelkezésre áll egy n elemű tömb és egy, a sorozat elemein értelmezett T tulajdonság. A lineáris keresés algoritmusa eldönti, hogy van-e T tulajdonságú elem a sorozatban, és ha van, akkor megadja a sorszámát.   A kiválasztás és az eldöntés tételének kombinációja.

Lineáris keresés tétele algoritmus keresés változó i, sorsz: egész   VAN: logikai A: tömb [1..n] : egész i:=1 amíg (i <= n) ÉS (A(i) nem T tulajdonságú) ismétel i:=i+1 avége VAN := (i<=n) ha VAN akkor ki: sorsz különben ki: "Nincs ilyen elem! „ hvége algoritmus vége

(i<=n) és (x[i] T tul.) VAN := (i <= n) i := i + 1 VAN i h sorsz := i Ki: "nincs " Ki: sorsz

Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége

amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 1

amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 1 tömb[i] mod 2 =? hamis

amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 2 tömb[i] mod 2 =? hamis

amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 2 tömb[i] mod 2 =? hamis

amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 2 tömb[i] mod 2 =? hamis

amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 3 tömb[i] mod 2 =? hamis

amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 3 tömb[i] mod 2 =? hamis

amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 3 tömb[i] mod 2 =? igaz

amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 3 tömb[i] mod 2 =? igaz

amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 3 tömb[i] mod 2 =? Igaz van = igaz

amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 3 tömb[i] mod 2 =? Igaz van = igaz

amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 3 tömb[i] mod 2 =? Igaz van = igaz

amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége Keresés 15 12 11 17 14 Tömb: i:=1 amíg (tömb[i] mod 2 = 0) ÉS (i <= 5) ismétel i:=i + 1 avége van:=(i<=5) ha (van) akkor ki: i különben ki: "Nincs ilyen!" hvége i = 3 tömb[i] mod 2 =? Igaz van = igaz

Minimumkeresés tétele Általános feladat: Adott az n elemű A tömb, határozzuk meg a sorozat legkisebb értékű elemének sorszámát és értékét!

Minimumkeresés tétele algoritmus minimum változó i, min:egész x: tömb [1..n] : egész … min := 1 ciklus i:=2..n lépésköz 1 ismétel ha x[min] > x[i] akkor min := i hvége cvége ki: min, x[min] algoritmus vége

min := 1 i := 2 i <= n i := i+1 Ki: min, x[min] x[min] > x[i] min := i

ciklus i:=2-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=2-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvégeKi : min Ki : tömb[min]

ciklus i:=2-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=2-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége Ciklus vége Ki : min Ki : tömb[min] i = 0 min=1

ciklus i:=2-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=2-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 2 min = 1 tömb[min] = 11

ciklus i:=1-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 2 min = 1 tömb[min] = 11

ciklus i:=1-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 2 min = 1 tömb[min] = 11

ciklus i:=1-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 2 min = 1 tömb[min] = 11

ciklus i:=1-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 3 min = 1 tömb[min] = 11

ciklus i:=1-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 3 min = 1 tömb[min] = 11

ciklus i:=1-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 3 min = 1 tömb[min] = 11

ciklus i:=1-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 3 min = 1 tömb[min] = 11

ciklus i:=1-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 4 min = 1 tömb[min] = 11

ciklus i:=1-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 4 min = 1 tömb[min] = 11

ciklus i:=1-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 4 min = 1 tömb[min] = 11

ciklus i:=1-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 4 min = 1 tömb[min] = 11

ciklus i:=1-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 5 min = 1 tömb[min] = 11

ciklus i:=1-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 5 min = 1 tömb[min] = 11

ciklus i:=1-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 5 min = 5 tömb[min] = 10

ciklus i:=1-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 5 min = 5 tömb[min] = 10

ciklus i:=1-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 5 min = 5 tömb[min] = 10

ciklus i:=1-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 5 min = 5 tömb[min] = 10

ciklus i:=1-től 5-ig lépésköz=1 ismétel Minimum kiválasztás 15 12 11 17 10 Tömb: min := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[min] > tömb[i]) akkor min := i hvége cvége Ki : min Ki : tömb[min] i = 5 min = 5 tömb[min] = 10

Maximumkiválasztás tétele Általános feladat: Adott az n elemű A tömb, határozzuk meg a sorozat legnagyobb értékű elemének sor-számát és értékét!

Maximumkiválasztás tétele algoritmus maximum változó i, max:egész x: tömb [1..n] : egész … max := 1 ciklus i:=2..n lépésköz 1 ismétel ha x[max] < x[i] akkor max := i hvége cvége ki: max, x[max] algoritmus vége

max := 1 i := 2 i <= n i := i+1 Ki: max, x[max] x[max] < x[i] max := i

ciklus i:=2-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=2-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max]

ciklus i:=2-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=2-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 0 max=1

ciklus i:=2-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=2-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 2 max = 1 tömb[max] = 11

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 2 max = 1 tömb[max] = 11

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 2 max = 2 tömb[max] = 15

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 2 max = 2 tömb[min] = 15

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 2 max = 2 tömb[max] = 15

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 3 max = 2 tömb[max] = 15

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 3 max = 2 tömb[max] = 15

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 3 max = 2 tömb[max] = 15

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 3 max = 2 tömb[max] = 15

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 4 max = 2 tömb[max] = 15

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 4 max = 2 tömb[max] = 15

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 4 max = 4 tömb[max] = 17

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 4 max = 4 tömb[max] = 17

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 4 max = 4 tömb[max] = 17

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max:= 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 5 max = 4 tömb[max] = 17

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 5 max = 4 tömb[max] = 17

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 5 max = 4 tömb[max] = 17

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 5 min = 4 tömb[min] = 17

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 5 max = 4 tömb[max] = 17

ciklus i:=1-től 5-ig lépésköz=1 ismétel Maximum kiválasztás 15 12 11 17 10 Tömb: max := 1 ciklus i:=1-től 5-ig lépésköz=1 ismétel ha (tömb[max] < tömb[i]) akkor max := i hvége cvége Ki : max Ki : tömb[max] i = 5 max = 4 tömb[max] = 17