Algoritmizálás, adatmodellezés tanítása 1. előadás

Hasonló dokumentumok
Algoritmizálás, adatmodellezés tanítása 1. előadás

Algoritmizálás és adatmodellezés 2. előadás

Algoritmizálás és adatmodellezés tanítása 2. előadás

Algoritmizálás és adatmodellezés tanítása 3. előadás

Rekurzió. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)

Algoritmizálás, adatmodellezés tanítása 2. előadás

Algoritmizálás, adatmodellezés tanítása 2. előadás

Az összetett programozási tételek is egy tőről fakadnak

Algoritmizálás, adatmodellezés 1. előadás

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

Algoritmizálás, adatmodellezés 1. előadás

Algoritmizálás, adatmodellezés tanítása 7. előadás

PROGRAMOZÁSMÓDSZERTAN

Algoritmizálás, adatmodellezés tanítása 6. előadás

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Egyszerű programozási tételek

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.

Összetett programozási tételek 2.

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

Programozási alapismeretek 3. előadás

Objektum Orientált Programozás VII.

Informatikai tehetséggondozás:

Algoritmusok és adatszerkezetek I. 4. előadás

PROGRAMOZÁSMÓDSZERTAN

Összetett programozási tételek

Programozási tételek. Dr. Iványi Péter

Egyszerű programozási tételek

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

ELEMI PROGRAMOZÁSI TÉTELEK

Informatikai tehetséggondozás:

Algoritmizálás, adatmodellezés tanítása 8. előadás

Kép mátrix. Feladat: Pap Gáborné-Zsakó László: Algoritmizálás, adatmodellezés 2/35

Visszalépéses keresés korlátozással

Informatikai tehetséggondozás:

PROGRAMOZÁSI TÉTELEK

Hatékonyság 1. előadás

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Dokumentáció az 1. feladatsorhoz (egyszerű, rövidített kivitelben)

Bevezetés az informatikába

Programozási alapismeretek 11. előadás

Egyszerű programozási tételek

Informatikai tehetséggondozás:

Algoritmizálás és adatmodellezés tanítása 9. előadás

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

Algoritmizálás és adatmodellezés tanítása 6. előadás

Algoritmusok helyességének bizonyítása. A Floyd-módszer

Tartalom. Programozási alapismeretek. 11. előadás

Visszalépéses maximumkiválasztás

REKURZIÓ. Rekurzív: önmagát ismétlő valami (tevékenység, adatszerkezet stb.) Rekurzív függvény: függvény, amely meghívja saját magát.

Adatszerkezetek II. 10. előadás

Bevezetés a programozásba. 5. Előadás: Tömbök

Programozási tételek. PPT 2007/2008 tavasz.

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

Sorozat érték típusú programozási tételek

Programozási alapismeretek 1. előadás

Közismereti informatika I. 4. előadás

Láncolt listák Témakörök. Lista alapfogalmak

Objektumorientált Programozás VI.

Algoritmizálás és adatmodellezés tanítása 1. előadás

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

Informatikai tehetséggondozás:

Multihalmaz, intervallumhalmaz

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

Informatikai tehetséggondozás:

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

Programozás Minta programterv a 2. házi feladathoz 1.

Algoritmusok és adatszerkezetek I. 1. előadás

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Függvényegyenletek 1. feladat megoldása

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

Programozási tételek specifikációja

Programozási segédlet

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

Programozási alapismeretek. 1. előadás. A problémamegoldás lépései. A programkészítés folyamata. Az algoritmus fogalma. Nyelvi szintek.

Algoritmizálás, adatmodellezés tanítása 11. előadás. (Horváth Gyula előadása alapján)

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

Kombinatorikai algoritmusok. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)

Informatikai tehetséggondozás:

Rekurzió. Működése, programtranszformációk. Programozás II. előadás. Szénási Sándor.

Szerző Lővei Péter LOPSAAI.ELTE IP-08PAEG/25 Daiki Tennó

Problémamegoldási stratégiák

Algoritmizálás és adatmodellezés tanítása 4. előadás

Kombinatorikai algoritmusok

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs

Szerző. Természetesen aktualizálandó adatok.

Rekurzió. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)

A félév során előkerülő témakörök

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

PROGRAMOZÁSI NYELVEK (GYAKORLAT)

Feladatmegoldási stratégiák

Adatbázis és szoftverfejlesztés elmélet. Programozási tételek

Erdélyi Magyar TudományEgyetem (EMTE

Átírás:

Algoritmizálás, adatmodellezés tanítása 1. előadás

Specifikáció A specifikáció elemei bemenet mit ismerünk? kimenet mire vagyunk kíváncsiak? előfeltétel mit tudunk az ismertekről? utófeltétel mi az összefüggés az ismertek és az ismeretlenek között? 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 2/24

Specifikáció A bemenet és a kimenet leírása Típusként N: Egész, X: Tömb(1..N,Egész) Halmazelemként (ha az egész típus a fentiekben természetes számot takart) NN, XN N (N *, ha az elemszám nem ismert) azaz általánosan a be- és kimenetet halmazokkal adjuk meg, ami a típusfogalomnál általánosabb: változó: típus változóhalmaz 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 3/24

Specifikáció Specifikáció és algoritmus kapcsolata y=f(g(x)) f y g x x ha egyébként p x z:=g(x); y:=f(z) Ha p(x) akkor y:=f(x) különben y:=g(x) y=f * (x) y:=f 0 Ciklus... y:=f ' (y,x) Ciklus vége 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 4/24

Sorozatszámítás Bemenet: NN, XH N, F:H N H, f:hxh H, F 0 H F(X 1,...,X N )=f(f(x 1,...,X N-1 ),X N ), F()=F 0 Kimenet: SH Előfeltétel: Utófeltétel: S=F(X 1,...,X N ) Megjegyzés: F sokszor, átlag, szórás, skalárszorzat,,,,,, egymás után írás, Max, Min. 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 5/24

Sorozatszámítás Sorozatszámítás(N,X,S): S:=F 0 Ciklus i=1-től N-ig S:=f(S,X(i)) Ciklus vége Eljárás vége. 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 6/24

Sorozatszámítás műveletre Bemenet: NN, XH N, T:H L, vagy:lxl L, F 0 L F(X 1,...,X N )=i(1 i N): T(X i ) i(1 i N): T(X i ) = i(1 i N-1): T(X i ) vagy T(X N ), F()=F 0 =hamis Kimenet: VanL Előfeltétel: Utófeltétel: Van=i(1 i N) T(X i ) 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 7/24

Sorozatszámítás műveletre Sorozatszámítás(N,X,S): Van:=hamis Ciklus i=1-től N-ig Van:=Van vagy T(X(i)) Ciklus vége Eljárás vége. Megjegyzés: S a ciklus során a következőképpen változhat: hamis,..., hamis, igaz,..., igaz hamis,..., hamis azaz az igazzá válás után meg lehetne állni! 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 8/24

Eldöntés Bemenet: NN, XH N, T:H L Kimenet: VanL Előfeltétel: Utófeltétel: Van=i(1 i N) T(X i ) 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 9/24

Eldöntés Eldöntés(N,X,Van): i:=1 Ciklus amíg i N és nem T(X(i)) i:=i+1 Ciklus vége Van:=(i N) Eljárás vége. 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 10/24

Eldöntés () Bemenet: NN, XH N, T:H L Kimenet: MindL Előfeltétel: Utófeltétel: Mind=i(1 i N) T(X i ) Mind=nem i(1 i N) nem T(X i ) 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 11/24

Eldöntés Eldöntés(N,X,Van): i:=1 Ciklus amíg i N és nem (nem T(X(i))) T(X(i)) i:=i+1 Ciklus vége Van:=nem(i N) (i>n) Eljárás vége. 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 12/24

Eldöntés vizsgálata Az eldöntés ciklusa befejezésekor az i változó értéke: egy T tulajdonságú elem sorszáma, ha tudjuk hogy van ilyen Kiválasztás tétel egy T tulajdonságú elem sorszáma, ha nem lépett túl a sorozat végén N+1, ha túl lépett a sorozat végén Keresés tétel 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 13/24

Kiválasztás Bemenet: NN, XH N, T:H L, Kimenet: SN Előfeltétel: i(1 i N) T(X i ) Utófeltétel: 1 S N és T(X S ) 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 14/24

Kiválasztás Kiválasztás(N,X,S): i:=1 Ciklus amíg i N és nem T(X(i)) i:=i+1 Ciklus vége S:=i Eljárás vége. 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 15/24

Keresés Bemenet: NN, XH N, T:H L, Kimenet: VanL,SN Előfeltétel: Utófeltétel: Van=i(1 i N) T(X i ) és Van 1 S N és T(X S ) 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 16/24

Keresés Keresés(N,X,Van,S): i:=1 Ciklus amíg i N és nem T(X(i)) i:=i+1 Ciklus vége Van:=(i N) Ha Van akkor S:=i Eljárás vége. 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 17/24

Sorozatszámítás T tulajdonságú elemek számára Megszámolás Bemenet: NN, XH N, F:H N N, f:nxn N, F 0 N F X F( )=0 Kimenet: DbN 1,..., Előfeltétel: X N Utófeltétel: Db=F(X 1,...,X N ) F F X 1,..., X N 1 1 ha T X N X,..., X egyébként 1 N 1 Db T i1 N X i 1 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 18/24

Megszámolás Megszámolás(N,X,S): Db:=0 Ciklus i=1-től N-ig Db:=f(Db,X(i)) Ha T(X(i)) akkor Db:=Db+1 Ciklus vége Eljárás vége. 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 19/24

Sorozatszámítás (maximális elem sorszáma) Maximumkiválasztás Bemenet: NN, XH N, F:H N N, f:hxh N, F 1 N F X 1,..., X N Kimenet: MaxIndN Előfeltétel: N>0 F Utófeltétel: MaxInd=F(X 1,...,X N ) X 1 N,..., X N 1 ha egyébként X N F X 1,..., X N 1 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 20/24

Sorozatszámítás (maximális elem sorszáma) Maximumkiválasztás Megszámolás(N,X,MaxInd): MaxInd:=1 Ciklus i=2-től N-ig MaxInd:=max*(MaxInd,i) Ciklus vége Eljárás vége. Ha X(i)>X(MaxInd) akkor MaxInd:=i 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 21/24

Sorozatszámítás (maximális elem értéke) Maximumkiválasztás Bemenet: NN, XH N, F:H N H, max:hxh H, F 1 H F(X 1,...,X N )=max(f(x 1,...,X N-1 ),X N ), F(X 1 )=X 1 Kimenet: MaxÉrtH Előfeltétel: N>0 Utófeltétel: Maxért=F(X 1,...,X N ) 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 22/24

Sorozatszámítás (maximális elem értéke) Maximumkiválasztás Maximumkiválasztás(N,X,MaxÉrt): MaxÉrt:=X(1) Ciklus i=2-től N-ig MaxÉrt:=max(MaxÉrt,X(i)) Ciklus vége Eljárás vége. Ha X(i)>Maxért akkor Maxért:=X(i) 2015.09.08. 10:33 Zsakó László: Algoritmizálás, adatmodellezés tanítása 23/24

Algoritmizálás, adatmodellezés tanítása 1. előadás vége