Programozási alapismeretek 8. előadás. ELTE 2/312014. 07. 14.2014. 07. 14.2014. 07. 14.  További programozási tételek További programozási tételek 

Slides:



Advertisements
Hasonló előadás
„Esélyteremtés és értékalakulás” Konferencia Megyeháza Kaposvár, 2009
Advertisements

Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Programozási alapismeretek
Műveletek logaritmussal
Programozási alapismeretek 5. előadás. ELTE Szlávi - Zsakó: Programozási alapismeretek 5.2/  Programozási tételek.
Programozási alapismeretek 6. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 6.2/  Rekordok/struktúrák.
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 2006 Kombinatorika
Rekurzió (Horváth Gyula és Szlávi Péter előadásai felhasználásával)
Algoritmizálás, adatmodellezés tanítása 4. előadás
Programozás alapjai A programozás azt a folyamatot jelenti, melynek során a feladatot a számítógép számára érthető formában írjuk le. C++, Delphi, Java,
Euklidészi gyűrűk Definíció.
Csoport részcsoport invariáns faktorcsoport részcsoport
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Programozási ismeretek oktatása: kód vagy algoritmus
Programozási alapismeretek 4. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 4.2/  A szöveg A szöveg.
Programozási alapismeretek 7. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 7. előadás2/  Sorozatszámítás.
Programozási alapismeretek 3. előadás
Programozási alapismeretek 13. előadás. ELTE Érdekességek - kombinatorika  Az iskola bejáratánál N lépcsőfok van. Egyszerre maximum K fokot tudunk lépni,
Programozási alapismeretek
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 11. előadás. ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 11.2/ Tartalom.
Programozási alapismeretek 9. előadás. ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 9. előadás2/
Programozási alapismeretek 12. előadás. ELTE  Tapasztalatok a rendezésről Tapasztalatok a rendezésről  Keresés rendezett sorozatban Keresés rendezett.
Halmazok, halmazműveletek
Sztringek.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
MI 2003/ Alakfelismerés - még egy megközelítés: még kevesebbet tudunk. Csak a mintánk adott, de címkék nélkül. Csoportosítás (klaszterezés, clustering).
Gombkötő Attila Lineáris egyenlet.
Készítette: Pető László
Pázmány - híres perek Pázmány híres perek.
Valós számok Def. Egy algebrai struktúra rendezett test, ha test és rendezett integritási tartomány. Def. Egy (T; +,  ;  ) rendezett test felső határ.
6. SZÁMELMÉLET 6.1. Oszthatóság
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 8.1/ Kiválogatá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.
ELTE Szlávi - Zsakó: Programozási alapismeretek 5.1/ Sorozatszámítás Specifikáció (a végleges) :  Bemenet:
ELTE Szlávi-Zsakó: Programozási alapismeretek Szlávi-Zsakó: Programozási alapismeretek 3. 1/
A számfogalom bővítése
További vektor, mátrix algoritmusok
dr. Szalkai István Pannon Egyetem, Veszprém
szakmérnök hallgatók számára
Exponenciális egyenletek
Készítette: Horváth Zoltán (2012)
Tömbök és programozási tételek
Specifikáció Specifikáció Követelményei: Tömör legyen, egyértelmű, precíz, jól formalizált, szemléletes, érthető Meg kell adni a program bemenő adatait.
Programozási alapismeretek 11. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 11.2/ Tartalom  Rendezési.
Határozatlan integrál
Virtuális Méréstechnika Sub-VI és grafikonok 1 Makan Gergely, Vadai Gergely v
Mérés és adatgyűjtés laboratóriumi gyakorlat - levelező Sub-VI és grafikonok 1 Mingesz Róbert V
Algoritmizálás, adatmodellezés tanítása 2. előadás.
Feladatok (értékadás)
A MATEMATIKA FELÉPÍTÉSÉNEK ELEMEI
Programozási alapismeretek * A Zh-írás módszertana.
Programozási alapismeretek 8. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/  További programozási.
előadások, konzultációk
Algoritmizálás, adatmodellezés
Programozási alapismeretek 10. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 10.2/  Kiválogatás + összegzés.
Programozási alapismeretek 11. előadás
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.
Nevezetes algoritmusok
Programozási tételek Mik is ezek?
Halmazműveletek.
Informatikai gyakorlatok 11. évfolyam
Programozási tételek.
Programozási tételek.
Előadás másolata:

Programozási alapismeretek 8. előadás

ELTE 2/  További programozási tételek További programozási tételek  Másolás – függvényszámítás Másolás  Kiválogatás Kiválogatás  Szétválogatás Szétválogatás  Metszet Metszet  Unió Unió  Programozási tételek – visszatekintés Programozási tételek Programozási alapismeretek 8. előadás Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8. előadás

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.3/ További programozási tételek Mi az, hogy programozási tétel? Típusfeladat általános megoldása.programozási tétel  Sorozat  érték  Sorozat  sorozat  Sorozat  sorozatok  Sorozatok  sorozat  Sorozat  sorozat  Sorozat  sorozatok  Sorozatok  sorozat

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.4/ Másolás – függvényszámítás Feladatok:  Egy számsorozat tagjainak adjuk meg az ab- szolút értékét!  Egy szöveget alakítsunk át csupa kisbetűssé!  Számoljuk ki két vektor összegét!  Készítsünk függvénytáblázatot a sin(x) függ- vényről!  Ismerjük N hónap sorszámát, adjuk meg a nevét!

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.5/ Másolás – függvényszámítás Mi bennük a közös? N darab „valamihez” kell hozzárendelni má- sik N darab „valamit”, ami akár az előbbitől különböző típusú is lehet. A darabszám ma- rad, a sorrend is marad. Az elemeken operá- ló függvény ugyanaz.

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.6/ Másolás – függvényszámítás Specifikáció:  Bemenet: N:Egész, X:Tömb[1..N:Valami 1 ]  Kimenet: Y:Tömb[1..N:Valami 2 ]  Előfeltétel: N  0  Utófeltétel:  i (1≤i≤N): Y[i]=f(X[i]) Algoritmus: i=1..N Y[i]:=f(X[i]) függvényszámítás f:Valami 1 →Valami 2

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.7/ Másolás – függvényszámítás Specifikáció (egy gyakori speciális eset) :  Bemenet: N:Egész, X:Tömb[1..N:Valami]  Kimenet: Y:Tömb[1..N:Valami]  Előfeltétel: N  0  Utófeltétel:  i (1≤i≤N): Algoritmus: i=1..N T(X[i]) Y[i]:=g(X[i])Y[i]:=X[i] IN f:Valami→Valami g:Valami→Valami

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.8/ Másolás – függvényszámítás Specifikáció:  Bemenet: N:Egész, X,Z:Tömb[1..N:Valós]  Kimenet: Y:Tömb[1..N:Valós]  Előfeltétel: N  0  Utófeltétel:  i(1≤i≤N): Y[i]=X[i]+Z[i] Algoritmus: i=1..N Y[i]:=X[i]+Z[i] (X[i],Z[i])  Valós  Valós f((X[i],Z[i])):=X[i]+Z[i]

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.9/ Kiválogatás Feladatok:  Adjuk meg egy osztály kitűnő tanulóit!  Adjuk meg egy természetes szám összes osztóját!  Adjuk meg egy mondat magas hangrendű szavait!  Adjuk meg emberek egy halmazából a 180 cm felettieket!  Adjuk meg egy év azon napjait, amikor délben nem fagyott!  Adjuk meg egy szó magánhangzóit!

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.10/ Kiválogatás Mi bennük a közös? N darab „valami” közül kell megadni az összes, adott T tulajdonsággal rendelkezőt!

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.11/ Kiválogatás Specifikáció:  Bemenet: N:Egész, X:Tömb[1..N:Valami]  Kimenet: Db:Egész, Y:Tömb[1..Db:Egész]  Előfeltétel: N  0  Utófeltétel: Db= és  i(1≤i≤Db): T(X[Y[i]]) és Y  (1,2,…,N)  L. Megszámolás tételt!Megszámolás tétel Statikus tömb-deklaráció esetében: N

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.12/ Kiválogatás Algoritmus: Megjegyzés: A sorszám általánosabb, mint az érték. Ha még- is érték kellene, akkor Y[Db]:=X[i] szerepelne. (Ekkor a specifikációt is módosítani kell!) Db:=0 i=1..N T(X[i]) Db:=Db+1  Y[Db]:=i I N L. Megszámolás tételt!Megszámolás tétel

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.13/ Kiválogatás Specifikáció:  Bemenet: N:Egész, H:Tömb[1..N:Valós]  Kimenet: Db:Egész,NF:Tömb[1..Db:Egész]  Előfeltétel: N  0  Utófeltétel: Db= és  i(1≤i≤Db): H[NF[i]] > 0 és NF  (1,2,…,N)

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.14/ Kiválogatás Algoritmus: Db:=0 i=1..N H[i] > 0 Db:=Db+1  NF[Db]:=i I N

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.15/ Szétválogatás Feladatok:  Adjuk meg egy osztály kitűnő és nem kitűnő tanulóit!  Adjuk meg emberek egy halmazából a 180 cm felettieket és a nem 180 cm felettieket!  Adjuk meg egy számsorozatból a páros és a páratlan számokat is!  Adjuk meg egy év azon napjait, amikor dél- ben fagyott és amikor nem fagyott!  Adjuk meg egy angol szó magán- és mással- hangzóit!

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.16/ Szétválogatás Mi bennük a közös? N darab „valami” közül kell megadni az összes, adott T tulajdonsággal rendelkezőt, illetve nem rendelkezőt! Azaz az összes be- meneti elemet „besoroljuk” a kimenet vala- mely sorozatába.

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.17/ Szétválogatás Specifikáció:  Bemenet: N:Egész, X:Tömb[1..N:Valami]  Kimenet: Db:Egész, Y,Z:Tömb[1..N:Egész]  Előfeltétel: N  0  Utófeltétel: Db= és  i(1≤i≤Db): T(X[Y[i]]) és  i(1≤i≤N – Db): nem T(X[Z[i]]) és Y  (1,2,…,N) és Z  (1,2,…,N)

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.18/ Szétválogatás Algoritmus: Megjegyzés: Itt is szerepelhetne :=i helyett :=X[i], ha csak az értékekre lenne szükségünk. (A specifikáció is módosítandó!) Db:=0 DbZ:=0 i=1..N T(X[i]) Db:=Db+1DbZ:=DbZ+1 Y[Db]:=iZ[DbZ]:=i I N

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.19/ Szétválogatás Permutáció(1,2,...,N):=az 1..N számok összes permutációjának halmaza Probléma: Y-ban és Z-ben együtt csak N darab elem van, azaz elég lenne egyetlen N-elemű tömb. Megoldás:  Bemenet: N:Egész, X:Tömb[1..N:Valami]  Kimenet: Db:Egész, Y:Tömb[1..N:Egész]  Előfeltétel: N  0  Utófeltétel: Db= és  i(1≤i≤Db): T(X[Y[i]]) és  i(Db+1≤i≤N): nem T(X[Y[i]]) és Y  Permutáció(1,2,…,N)

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.20/ Szétválogatás Algoritmus: Db:=0 DbZ:=N+1 i=1..N T(X[i]) Db:=Db+1DbZ:=DbZ–1 Y[Db]:=iY[DbZ]:=i I N

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.21/ Metszet Feladatok:  Adjuk meg két természetes szám közös osz - tóit!  A télen és a nyáron megfigyelhető madarak alapján adjuk meg a nem költöző madarakat!  Két ember szabad órái alapján mondjuk meg, hogy mikor beszélgethetnek egymással!  Adjuk meg azokat az állatfajokat, amelyeket a budapesti és a veszprémi állatkertben is megnézhetünk!

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.22/ Metszet Mi bennük a közös? Ismerünk két halmazt (tetszőleges, de azo- nos típusú elemekkel), meg kell adnunk azo- kat az elemeket, amelyek mindkét halmazban szerepelnek!

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.23/ Metszet Az elemtartalmazás egyértelmű-e. Specifikáció:  Bemenet: N,M:Egész, X:Tömb[1..N:Valami] Y:Tömb[1..M:Valami]  Kimenet: Db:Egész, Z:Tömb[1..Db:Valami]  Előfeltétel: N  0 és M  0 és HalmazE(X) és HalmazE(Y)  Utófeltétel: Db= és  i(1≤i≤Db): (Z[i]  X és Z[i]  Y) és HalmazE(Z) Deklarációs méret lehet még: min(N,M)

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.24/ Metszet Algoritmus: Megjegyzés: A megoldás egy kiválogatás és egy eldöntés. Db:=0 i=1..N j:=1 j≤M és X[i]≠Y[j] j:=j+1 j≤M Db:=Db+1  Z[Db]:=X[i] I N Eldöntés tétel! Kiválogatás tétel!

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.25/ Metszet Feladatvariációk:  Ismerünk két halmazt, meg kell adnunk a közös elemek számát!  Ismerünk két halmazt, meg kell adnunk, hogy van-e közös elemük!  Ismerünk két halmazt, meg kell adnunk egyet közös elemeik közül!

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.26/ Unió Feladatok:  Két szakkör tanulói alapján soroljuk fel a szakkörre járókat!  A télen és a nyáron megfigyelhető madarak alapján adjuk meg, hogy a milyen madarakat figyeltek meg!  Két ember szabad órái alapján mondjuk meg, hogy mikor tudjuk elérni valamelyiket!  Adjuk meg azokat az állatfajokat, amelyeket a budapesti vagy a veszprémi állatkertben megnézhetünk!

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.27/ Unió Mi bennük a közös? Ismerünk két halmazt (tetszőleges, de azo- nos típusú elemekkel), meg kell adnunk azo- kat az elemeket, amelyek legalább az egyik halmazban szerepelnek!

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.28/ Unió Specifikáció:  Bemenet: N,M:Egész, X:Tömb[1..N:Valami] Y:Tömb[1..M:Valami]  Kimenet: Db:Egész, Z:Tömb[1..Db:Valami]  Előfeltétel: N  0 és M  0 és HalmazE(X) és HalmazE(Y)  Utófeltétel: Db=N+ és  i(1≤i≤Db): (Z[i]  X vagy Z[i]  Y) és HalmazE(Z) Deklarációs méret lehet még: N+M

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.29/ Unió Algoritmus: Z:=X Db:=N j=1..M i:=1 i≤N és X[i]≠Y[j] i:=i+1 i>N Db:=Db+1  Z[Db]:=Y[j] I N Másolás tétel! Eldöntés tétel! Kiválogatás tétel!

ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 8.30/ Programozási tételek  Sorozat  sorozat 7. Másolás – függvényszámítás 8. Kiválogatás 9. Rendezés (később lesz)  Sorozat  sorozatok 10. Szétválogatás  Sorozatok  sorozat 11. Metszet 12. Unió

Programozási alapismeretek 8. előadás vége