Programozsi alapismeretek 5 elads Tartalom Programozsi ELTE 9132021







![1. Sorozatszámítás Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø 1. Sorozatszámítás Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-8.jpg)


![1. Sorozatszámítás Algoritmus: S: =F 0 i=1. . N S: =f(S, X[i]) ELTE esetén: 1. Sorozatszámítás Algoritmus: S: =F 0 i=1. . N S: =f(S, X[i]) ELTE esetén:](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-11.jpg)
![1. Sorozatszámítás Specifikáció: Ø Bemenet: ELTE N: Egész, Be, Ki: Tömb[1. . N: Egész] 1. Sorozatszámítás Specifikáció: Ø Bemenet: ELTE N: Egész, Be, Ki: Tömb[1. . N: Egész]](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-12.jpg)


![2. Eldöntés Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø 2. Eldöntés Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-15.jpg)
![2. Eldöntés Algoritmus 1: i: =1 ELTE i N és nem T(X[i]) i: =i+1 2. Eldöntés Algoritmus 1: i: =1 ELTE i N és nem T(X[i]) i: =i+1](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-16.jpg)

![2. Eldöntés Specifikáció: Ø Bemenet: ELTE N: Egész, Jegy: Tömb[1. . N: Egész] Ø 2. Eldöntés Specifikáció: Ø Bemenet: ELTE N: Egész, Jegy: Tömb[1. . N: Egész] Ø](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-18.jpg)


![3. Kiválasztás Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø 3. Kiválasztás Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-21.jpg)
![3. Kiválasztás Algoritmus: i: =1 ELTE nem T(X[i]) i: =i+1 Ind: =i Megjegyzés: Többlet 3. Kiválasztás Algoritmus: i: =1 ELTE nem T(X[i]) i: =i+1 Ind: =i Megjegyzés: Többlet](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-22.jpg)

![3. Kiválasztás Algoritmus: i: =1 ELTE nem magánhangzóE(Szó[i]) i: =i+1 MH: =i Megjegyzés: a 3. Kiválasztás Algoritmus: i: =1 ELTE nem magánhangzóE(Szó[i]) i: =i+1 MH: =i Megjegyzés: a](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-24.jpg)


![4. Keresés Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø 4. Keresés Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-27.jpg)
![4. Keresés Algoritmus 1: i: =1 i N és nem T(X[i]) i: =i+1 ELTE 4. Keresés Algoritmus 1: i: =1 i N és nem T(X[i]) i: =i+1 ELTE](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-28.jpg)

![4. Keresés Specifikáció: Ø Bemenet: ELTE 9/13/2021 N: Egész, Jegy: Tömb[1. . N: Egész] 4. Keresés Specifikáció: Ø Bemenet: ELTE 9/13/2021 N: Egész, Jegy: Tömb[1. . N: Egész]](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-30.jpg)
![4. Keresés Algoritmus: i: =1 ELTE i N és Jegy[i] 1 i: =i+1 Bukott: 4. Keresés Algoritmus: i: =1 ELTE i N és Jegy[i] 1 i: =i+1 Bukott:](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-31.jpg)


![5. Megszámolás Specifikáció: Ø Bemenet: ELTE 9/13/2021 N: Egész, X: Tömb[1. . N: Valami] 5. Megszámolás Specifikáció: Ø Bemenet: ELTE 9/13/2021 N: Egész, X: Tömb[1. . N: Valami]](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-34.jpg)
![5. Megszámolás Algoritmus: Db: =0 ELTE I i=1. . N T(X[i]) Db: =Db+1 9/13/2021 5. Megszámolás Algoritmus: Db: =0 ELTE I i=1. . N T(X[i]) Db: =Db+1 9/13/2021](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-35.jpg)
![5. Megszámolás Specifikáció: Ø Bemenet: ELTE N: Egész, Hó: Tömb[1. . N: Egész] Ø 5. Megszámolás Specifikáció: Ø Bemenet: ELTE N: Egész, Hó: Tömb[1. . N: Egész] Ø](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-36.jpg)
![5. Megszámolás Algoritmus: Db: =0 ELTE I i=1. . N Hó[i]<3 vagy Hó[i]=12 Db: 5. Megszámolás Algoritmus: Db: =0 ELTE I i=1. . N Hó[i]<3 vagy Hó[i]=12 Db:](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-37.jpg)


![6. Maximumkiválasztás Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø 6. Maximumkiválasztás Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-40.jpg)
![6. Maximumkiválasztás Algoritmus: Max: =1 ELTE I i=2. . N X[i]>X[Max] Max: =i Megjegyzés: 6. Maximumkiválasztás Algoritmus: Max: =1 ELTE I i=2. . N X[i]>X[Max] Max: =i Megjegyzés:](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-41.jpg)


![6. Maximumkiválasztás Algoritmus: Első: =1 ELTE I i=2. . N Hó[i]<Hó[Első] vagy Hó[i]=Hó[Első] és 6. Maximumkiválasztás Algoritmus: Első: =1 ELTE I i=2. . N Hó[i]<Hó[Első] vagy Hó[i]=Hó[Első] és](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-44.jpg)




- Slides: 48

Programozási alapismeretek 5. előadás

Tartalom Ø Programozási ELTE 9/13/2021 tételek – a lényeg Ø Sorozatszámítás Ø Eldöntés Ø Kiválasztás Ø Keresés Ø Megszámolás Ø Maximumkiválasztás Ø Programozás tételek – visszatekintés Ø Programozási tételek felhasználása Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 2/48

Programozási tételek (Pr. T) lényege Célja: ELTE Bizonyíthatóan helyes sablon, amelyre magasabb szinten lehet építeni a megol-dást. (A fejlesztés gyorsabb és biztonsá-gosabb. ) Szerkezete: 1. absztrakt feladat specifikáció [+program-specifikáció] 2. absztrakt algoritmus Egy fontos előzetes megjegyzés: A bemenet legalább egy sorozat… 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 3/48

Programozási tételek (Pr. T) lényege Felhasználásának menete: 1. a ELTE 9/13/2021 konkrét feladat specifikálása 2. a specifikációban a Pr. T-ek megsejtése 3. a konkrét feladat és az absztrakt feladat paramétereinek egymáshoz rendelése 4. a konkrét algoritmus „generálása” a megsejtett Pr. T-ek absztrakt algoritmu-sok alapján, 3. szerint átparaméterezve 5. hatékonyítás Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 4/48

Programozási tételek ELTE 9/13/2021 Mi az, hogy programozási tétel? Típusfeladat általános megoldása. Ø Sorozat érték Ø Sorozat sorozatok Ø Sorozatok sorozat Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 5/48

1. Sorozatszámítás Feladatok: 1. Ismerjük ELTE 9/13/2021 egy ember havi bevételeit és kiadá-sait. Adjuk meg, hogy év végére mennyivel nőtt a vagyona! 2. Ismerjük egy autóversenyző körönkénti ide-jét. Adjuk meg az átlagkörének idejét! 3. Adjuk meg az N számhoz az N faktoriális ér-tékét! 4. Ismerjük egy iskola szakköreire járó tanulóit, szakkörönként. Adjuk meg, kik járnak szak-körre! 5. Ismerünk N szót. Adjuk meg a belőlük össze-állított mondatot! Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 6/48

1. Sorozatszámítás ELTE Mi bennük a közös? N „valamiből” kell kiszámolni „kumuláltan” egy „valamit”! Pl. – bevétel/köridő; – faktoriális; – szakkörös; & – szó 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 7/48
![1 Sorozatszámítás Specifikáció Ø Bemenet ELTE N Egész X Tömb1 N Valami Ø 1. Sorozatszámítás Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-8.jpg)
1. Sorozatszámítás Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø Kimenet: S: Valami Ø Előfeltétel: N 0 Ø Utófeltétel: S=F(X[1. . N]) F: – N tagú összeg; – N tényezős szorzat; – N halmaz uniója; & – N szöveg konkatenációja … 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 8/48

1. Sorozatszámítás Ø Probléma: F: N paraméteres művelet, ahol az N válto-zó. ELTE 9/13/2021 Ø Megoldás: Visszavezetjük 2 -paraméteres műveletre (pl. helyett +) és egy nullelemre (+ esetén a 0). F(X[1. . N])= f(F(X[1. . N– 1]), X[N]) , ha N>0 F(–)=F 0 … és a többi esetén mi az f/F 0? – ? /? & – ? /? Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 9/48

1. Sorozatszámítás Specifikáció (a végleges): Ø Bemenet: ELTE 9/13/2021 N: Egész, X: Tömb[1. . N: Valami] Ø Kimenet: S: Valami Ø Előfeltétel: N 0 Ø Utófeltétel: S=F(X[1. . N]) Ø Definíció: Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 10/48
![1 Sorozatszámítás Algoritmus S F 0 i1 N S fS Xi ELTE esetén 1. Sorozatszámítás Algoritmus: S: =F 0 i=1. . N S: =f(S, X[i]) ELTE esetén:](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-11.jpg)
1. Sorozatszámítás Algoritmus: S: =F 0 i=1. . N S: =f(S, X[i]) ELTE esetén: Szum(X[1. . N]): = S: =0 i=1. . N S: =S+X[i] 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 11/48
![1 Sorozatszámítás Specifikáció Ø Bemenet ELTE N Egész Be Ki Tömb1 N Egész 1. Sorozatszámítás Specifikáció: Ø Bemenet: ELTE N: Egész, Be, Ki: Tömb[1. . N: Egész]](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-12.jpg)
1. Sorozatszámítás Specifikáció: Ø Bemenet: ELTE N: Egész, Be, Ki: Tömb[1. . N: Egész] Ø Kimenet: S: Egész Ø Előfeltétel: N 0 és i (1 i N): Be[i], Ki[i] 0 Ø Utófeltétel: S= Be[i]–Ki[i] Algoritmus: S: =0 i=1. . N S: =S+Be[i]–Ki[i] 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 12/48

2. Eldöntés Feladatok: 1. 2. ELTE 3. 4. 5. 6. 9/13/2021 Egy természetes számról döntsük el, hogy prímszám-e! Egy szóról mondjuk meg, hogy egy hónap-nak a neve-e! Egy tanuló év végi osztályzatai alapján álla-pítsuk meg, hogy bukott-e! Egy szóról adjuk meg, hogy van-e benne ma-gánhangzó! Egy számsorozatról döntsük el, hogy mono-ton növekvő-e! Egy tanuló év végi jegyei alapján adjuk meg, hogy kitűnő-e! Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 13/48

2. Eldöntés ELTE Mi bennük a közös? Döntsük el, hogy N „valami” között van -e adott tulajdonsággal rendelkező elem! 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 14/48
![2 Eldöntés Specifikáció Ø Bemenet ELTE N Egész X Tömb1 N Valami Ø 2. Eldöntés Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-15.jpg)
2. Eldöntés Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø Kimenet: Van: Logikai Ø Előfeltétel: N 0 Ø Utófeltétel: Van= i(1 i N): T(X[i]) Megjegyzés: A T tulajdonság egy logikai függvényként adható meg. Minden elemről megvizsgálható, hogy ren-delkezik-e az adott tulajdonsággal. 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 15/48
![2 Eldöntés Algoritmus 1 i 1 ELTE i N és nem TXi i i1 2. Eldöntés Algoritmus 1: i: =1 ELTE i N és nem T(X[i]) i: =i+1](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-16.jpg)
2. Eldöntés Algoritmus 1: i: =1 ELTE i N és nem T(X[i]) i: =i+1 Van: =i N Algoritmus 2: i: =0 Van: =Hamis i<N és nem Van i: =i+1 Van: =T(X[i]) 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 16/48

2. Eldöntés Feladatvariáns: … az összes elem olyan-e … Specifikáció (csak a különbség): ELTE Ø Kimenet: Mind: Logikai Ø Utófeltétel: Mind= i(1 i N): T(X[i]) Algoritmus: i: =1 i N és nem T(X[i]) i: =i+1 Mind: =i>N 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 17/48
![2 Eldöntés Specifikáció Ø Bemenet ELTE N Egész Jegy Tömb1 N Egész Ø 2. Eldöntés Specifikáció: Ø Bemenet: ELTE N: Egész, Jegy: Tömb[1. . N: Egész] Ø](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-18.jpg)
2. Eldöntés Specifikáció: Ø Bemenet: ELTE N: Egész, Jegy: Tömb[1. . N: Egész] Ø Kimenet: Bukott: Logikai Ø Előfeltétel: N 0 és i (1 i N): Jegy[i] [1. . 5] Ø Utófeltétel: Bukott= i (1 i N): Jegy[i]=1 i: =1 Algoritmus: i N és Jegy[i] 1 i: =i+1 Bukott: =i N 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 18/48

3. Kiválasztás Feladatok: 1. ELTE 2. 3. 4. 9/13/2021 Ismerjük egy ember havi bevételeit és kiadá-sait. Év végére nőtt a vagyona. Adjunk meg egy hónapot, amikor nőtt a vagyona! Adjuk meg egy természetes szám egytől kü-lönböző legkisebb osztóját! Adjuk meg egy magyar szó egy magánhang-zóját! Adjuk meg egy hónapnévről a sorszámát! Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 19/48

3. Kiválasztás ELTE 9/13/2021 Mi bennük a közös? N „valami” közül kell megadni egy adott tulajdonságút, ha tudjuk, hogy ilyen elem biztosan van. Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 20/48
![3 Kiválasztás Specifikáció Ø Bemenet ELTE N Egész X Tömb1 N Valami Ø 3. Kiválasztás Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-21.jpg)
3. Kiválasztás Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø Kimenet: Ind: Egész Ø Előfeltétel: N>0 és i (1 i N): T(X[i]) Ø Utófeltétel: 1 Ind N és T(X[Ind]) Megjegyzés: A T tulajdonság egy logikai függvényként adható meg, minden elemről megtudható, hogy rendelke-zik-e az adott tulajdonsággal. 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 21/48
![3 Kiválasztás Algoritmus i 1 ELTE nem TXi i i1 Ind i Megjegyzés Többlet 3. Kiválasztás Algoritmus: i: =1 ELTE nem T(X[i]) i: =i+1 Ind: =i Megjegyzés: Többlet](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-22.jpg)
3. Kiválasztás Algoritmus: i: =1 ELTE nem T(X[i]) i: =i+1 Ind: =i Megjegyzés: Többlet tudás: a megoldás az első adott tulajdonságú elemet adja meg – a program tudhat többet annál, mint amit várunk tőle. Hogy kellene az utolsót megadni? 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 22/48

3. Kiválasztás Specifikáció: Ø Bemenet: ELTE 9/13/2021 Szó: Szöveg Ø Kimenet: MH: Egész Ø Előfeltétel: hossz(Szó)>0 és i (1 i hossz(Szó)): magánhangzóE(Szó[i]) Ø Utófeltétel: 1 MH hossz(Szó) és magánhangzóE(Szó[MH]) Ø Definíció: magánhangzóE: Karakter Logikai magánhangzóE(c): = nagybetű(c) {'A', …, 'Ű'} Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 23/48
![3 Kiválasztás Algoritmus i 1 ELTE nem magánhangzóESzói i i1 MH i Megjegyzés a 3. Kiválasztás Algoritmus: i: =1 ELTE nem magánhangzóE(Szó[i]) i: =i+1 MH: =i Megjegyzés: a](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-24.jpg)
3. Kiválasztás Algoritmus: i: =1 ELTE nem magánhangzóE(Szó[i]) i: =i+1 MH: =i Megjegyzés: a kódoláskor a nagybetűsítő toupper függvénynél ügyelni kell az ékezetes betűkre! (L. 4. előadásban. ) 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 24/48

4. Keresés Feladatok: 1. ELTE 2. 3. 4. 9/13/2021 5. Ismerjük egy ember havi bevételeit és kiadá-sait. Év végére nőtt a vagyona. Adjunk meg egy hónapot, amikor nem nőtt a vagyona! Adjuk meg egy természetes szám egy 1 -től és önmagától különböző osztóját! Adjuk meg egy ember nevében egy „a” be-tű helyét! Adjunk meg egy tanulóra egy tárgyat, ami-ből megbukott! Adjuk meg egy számsorozat olyan Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 25/48

4. Keresés Mi bennük a közös? ELTE 9/13/2021 N darab „valami” közül kell megadni egy adott tulajdonságút, ha nem tudjuk, hogy ilyen elem van-e. Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 26/48
![4 Keresés Specifikáció Ø Bemenet ELTE N Egész X Tömb1 N Valami Ø 4. Keresés Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-27.jpg)
4. Keresés Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø Kimenet: Van: Logikai, Ind: Egész Ø Előfeltétel: N 0 Ø Utófeltétel: Van= i (1 i N): T(X[i]) és Van 1 Ind N és T(X[Ind]) Tehát a feladat „egyik fele” az eldöntésből, a „másik fele” a kiválasztásból jön. 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 27/48
![4 Keresés Algoritmus 1 i 1 i N és nem TXi i i1 ELTE 4. Keresés Algoritmus 1: i: =1 i N és nem T(X[i]) i: =i+1 ELTE](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-28.jpg)
4. Keresés Algoritmus 1: i: =1 i N és nem T(X[i]) i: =i+1 ELTE Van: =i N I Van Ind: =i N Megjegyzés: Többlet tudás: a megoldás az első adott tulajdonsá-gú elemet adja meg. 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 28/48

4. Keresés Algoritmus 2: ELTE i: =0 Van: =Hamis i<N és nem Van i: =i+1 Van: =T(X[i]) Van I Ind: =i N Megjegyzés: Többlet tudás: a megoldás az első adott tulajdonsá-gú elemet adja meg. 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 29/48
![4 Keresés Specifikáció Ø Bemenet ELTE 9132021 N Egész Jegy Tömb1 N Egész 4. Keresés Specifikáció: Ø Bemenet: ELTE 9/13/2021 N: Egész, Jegy: Tömb[1. . N: Egész]](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-30.jpg)
4. Keresés Specifikáció: Ø Bemenet: ELTE 9/13/2021 N: Egész, Jegy: Tömb[1. . N: Egész] Ø Kimenet: Bukott: Logikai, T: Egész Ø Előfeltétel: N 0 és i (1 i N): Jegy[i] [1. . 5] Ø Utófeltétel: Bukott= i (1 i N): Jegy[i]=1 és Bukott 1 T N és Jegy[T]=1 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 30/48
![4 Keresés Algoritmus i 1 ELTE i N és Jegyi 1 i i1 Bukott 4. Keresés Algoritmus: i: =1 ELTE i N és Jegy[i] 1 i: =i+1 Bukott:](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-31.jpg)
4. Keresés Algoritmus: i: =1 ELTE i N és Jegy[i] 1 i: =i+1 Bukott: =i N Bukott I T: =i 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. N 31/48

5. Megszámolás Feladatok: 1. ELTE 2. 3. 4. 5. 9/13/2021 Ismerjük egy ember havi bevételeit és kiadá-sait. Adjunk meg, hogy hány hónapban nőtt a vagyona! Adjuk meg egy természetes szám osztói szá-mát! Adjuk meg egy ember nevében levő „a” be-tűk számát! Adjunk meg az éves statisztika alapján, hogy hány napon fagyott! Adjuk meg N születési hónap alapján, hogy közöttük hányan születtek télen! Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 32/48

5. Megszámolás ELTE Mi bennük a közös? N darab „valamire” kell megadni, hogy hány adott tulajdonságú van közöttük. 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 33/48
![5 Megszámolás Specifikáció Ø Bemenet ELTE 9132021 N Egész X Tömb1 N Valami 5. Megszámolás Specifikáció: Ø Bemenet: ELTE 9/13/2021 N: Egész, X: Tömb[1. . N: Valami]](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-34.jpg)
5. Megszámolás Specifikáció: Ø Bemenet: ELTE 9/13/2021 N: Egész, X: Tömb[1. . N: Valami] Ø Kimenet: Db: Egész Ø Előfeltétel: N 0 Ø Utófeltétel: Db= Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 34/48
![5 Megszámolás Algoritmus Db 0 ELTE I i1 N TXi Db Db1 9132021 5. Megszámolás Algoritmus: Db: =0 ELTE I i=1. . N T(X[i]) Db: =Db+1 9/13/2021](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-35.jpg)
5. Megszámolás Algoritmus: Db: =0 ELTE I i=1. . N T(X[i]) Db: =Db+1 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. N 35/48
![5 Megszámolás Specifikáció Ø Bemenet ELTE N Egész Hó Tömb1 N Egész Ø 5. Megszámolás Specifikáció: Ø Bemenet: ELTE N: Egész, Hó: Tömb[1. . N: Egész] Ø](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-36.jpg)
5. Megszámolás Specifikáció: Ø Bemenet: ELTE N: Egész, Hó: Tömb[1. . N: Egész] Ø Kimenet: Db: Egész (télen születettek) Ø Előfeltétel: N 0 és i (1 i N): Hó[i] [1. . 12] Ø Utófeltétel: 9/13/2021 Db= Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 36/48
![5 Megszámolás Algoritmus Db 0 ELTE I i1 N Hói3 vagy Hói12 Db 5. Megszámolás Algoritmus: Db: =0 ELTE I i=1. . N Hó[i]<3 vagy Hó[i]=12 Db:](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-37.jpg)
5. Megszámolás Algoritmus: Db: =0 ELTE I i=1. . N Hó[i]<3 vagy Hó[i]=12 Db: =Db+1 N Kérdés: Mi lenne, ha az előfeltétel ( i (1 i N): Hó[i] [1. . 12]) nem teljesülne? 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 37/48

6. Maximumkiválasztás Feladatok: 1. ELTE 2. 3. 4. 5. 9/13/2021 Ismerjük egy ember havi bevételeit és kiadá-sait. Adjunk meg, hogy melyik hónapban nőtt legjobban a vagyona! Adjuk meg N ember közül az ábécében utol-sót! Adjuk meg N ember közül azt, aki a legtöbb ételt szereti! Adjunk meg az éves statisztika alapján a leg-melegebb napot! Adjuk meg N születésnap alapján azt, akinek idén először van születésnapja! Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 38/48

6. Maximumkiválasztás ELTE Mi bennük a közös? N darab „valami” közül kell megadni a legnagyobbat (vagy a legkisebbet). Fontos: Ha legalább 1 elemünk van, akkor legna-gyobb (legkisebb) is biztosan van közöttük! 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 39/48
![6 Maximumkiválasztás Specifikáció Ø Bemenet ELTE N Egész X Tömb1 N Valami Ø 6. Maximumkiválasztás Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-40.jpg)
6. Maximumkiválasztás Specifikáció: Ø Bemenet: ELTE N: Egész, X: Tömb[1. . N: Valami] Ø Kimenet: Max: Egész Ø Előfeltétel: N>0 Ø Utófeltétel: 1 Max N és i (1 i N): X[Max] X[i] Megjegyzések: Léteznie kell a : Valami Logikai rende-zési relációnak; Ø a sorszám általánosabb, mint az érték, ezért legtöbb-ször a sorszámot adjuk meg. Ø 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 40/48
![6 Maximumkiválasztás Algoritmus Max 1 ELTE I i2 N XiXMax Max i Megjegyzés 6. Maximumkiválasztás Algoritmus: Max: =1 ELTE I i=2. . N X[i]>X[Max] Max: =i Megjegyzés:](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-41.jpg)
6. Maximumkiválasztás Algoritmus: Max: =1 ELTE I i=2. . N X[i]>X[Max] Max: =i Megjegyzés: N Többlet tudás: ha több maximális érték is van, akkor közülük az elsőt kapjuk meg. Kérdések: Hogyan lesz belőle utolsó maximális? Hogyan lesz belőle (első) minimális? 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 41/48

6. Maximumkiválasztás (maximális értékkel) Specifikáció: Ø Kimenet: ELTE MaxÉrt: Valami Ø Utófeltétel: i (1 i N): MaxÉrt=X[i] és i (1 i N): MaxÉrt X[i] Algoritmus: MaxÉrt: =X[1] i=2. . N X[i]>MaxÉrt I MaxÉrt: =X[i] 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. N 42/48

6. Maximumkiválasztás Specifikáció: Ø Bemenet: ELTE 9/13/2021 N: Egész, Hó, Nap: Tömb[1. . N: Egész], Kimenet: Első: Egész Ø Előfeltétel: N>0 és i(1 i N): (Hó[i] [1. . 12] és Nap[i] [1. . 31]) Ø Utófeltétel: 1 Első N és i(1 i N): (Hó[Első]<Hó[i] vagy Hó[Első]=Hó[i] és Nap[Első] Nap[i]) Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 43/48
![6 Maximumkiválasztás Algoritmus Első 1 ELTE I i2 N HóiHóElső vagy HóiHóElső és 6. Maximumkiválasztás Algoritmus: Első: =1 ELTE I i=2. . N Hó[i]<Hó[Első] vagy Hó[i]=Hó[Első] és](https://slidetodoc.com/presentation_image_h2/a43090e9f03ce1bf38a2c679547a7664/image-44.jpg)
6. Maximumkiválasztás Algoritmus: Első: =1 ELTE I i=2. . N Hó[i]<Hó[Első] vagy Hó[i]=Hó[Első] és Nap[i]<Nap[Első] Első: =i 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. N 44/48

Programozási tételek – visszatekintés Sorozatszámítás (összegzés) 2. Eldöntés 3. Kiválasztás 4. Keresés 5. Megszámolás 6. Maximumkiválasztás +1. Madártávlatból újra… 1. ELTE 9/13/2021 Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 45/48

Pr. Tek felhasználása Árulkodó jelek (tételek madártávlatból): Øa Pr. T-felismeréshez – a specifikáció kimenete: ELTE Ø Ø Ø egy logikai érték eldöntés egy sorozat, amelynek azonos a hossza a bementi sorozatéval másolás…. . . az utófeltételben szerepel: Ø Ø 9/13/2021 egy sorozatművelet (Σ, Π …) sorozatszámítás … Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 46/48

Programozási tételek felhasználása Árulkodó jelek (tételek madártávlatból): Ø Pr. T-kombináláshoz: Ø ELTE Ø Ø 9/13/2021 a kimenet egy logikai érték eldöntés tétel egy másik tétel tulajdonságának megvalósítója a kimenet egy sorozat másolás, kiválogatás … előfeldolgozó bármely másik Pr. T számára … Horváth - Papné - Szlávi - Zsakó: Programozási alapismeretek 5. 47/48

Programozási alapismeretek 5. előadás vége
Elads
Elads crm
Targeted sales elads
Rege a csodaszarvasról verselése
Balzac goriot apó tartalom
Varju nemzetseg hangoskonyv
Codici g fanuc
Elte progalap
Cnc alapismeretek
Honvédelmi alapismeretek tankönyv
Munkajogi alapismeretek
Munkajogi alapismeretek
Munkajogi alapismeretek
Cnc alapismeretek
Hiszterézises komparátor
Pneumatikus időzítő
Egyenesszög
Canvas.elte.h
I fizika
Elte ik doktori iskola
Szendrei rudolf
Elte ttk szakdolgozat
Merkúr hold
Modern fizika születése
Ppk elte
Elte ik algoritmusok és adatszerkezetek
Dorner helga
Visual crossing
Horváth ákos elte
Elte megajánlott jegy
De ik szakmai gyakorlat
Elte gti
Illés zoltán elte
Gyógypedagógus képzés diplomásoknak
Elte btk romanisztikai intézet
Tier 1 isp
Menedzsment és vállalkozásgazdaságtan bme
Raátz judit elte
Onedrive elte
Caesar elte
Moodle ttk
Elte ttk matematika
Branyi elte
I
Elte ttk to
Gyorsírás tanulása
Elte gtk
Seas library
Seas elte