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

17
7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 1/17  Algoritmizálás, adatmodellezés tanítása 4. előadás

Upload: riddick72

Post on 04-Mar-2016

215 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

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

7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás

http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 1/17

 Algoritmizálás, adatmodellezéstanítása

4. előadás

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

7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás

http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 2/17

Programozási tételek listára és

szekvenciális fájlra

Sorozatszámítás

Bemenet: X H  *, F:H  *→H  , f:H  xH  →H  , F0H  

F(X 1,...,X N )=f(F(X 1,...,X N-1 ),X N ), F()=F0

Kimenet: SH  

Előfeltétel: hossz(X)>0

Utófeltétel: S=F(X 1,...,X N )

2010.10.06. 2Zsakó László: Algoritmizálás, adatmodellezés tanítása

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

7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás

http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 3/17

Programozási tételek listára és

szekvenciális fájlra

Sorozatszámítás(L,S):S:=F0; Elsőre(L)Ciklus amíg nem Utolsó?(L)

S:=f(S,Elem(L)); Következőre(L)Ciklus vége

S:=f(S,Elem(L))

Eljárás vége.

Sorozatszámítás(f,S):S:=F0; Nyit(f)

Ciklus amíg nem Vége?(f)Olvas(f,y); S:=f(S,y)

Ciklus végeZár(f)

Eljárás vége.

2010.10.06. 3Zsakó László: Algoritmizálás, adatmodellezés tanítása

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

7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás

http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 4/17

Programozási tételek listára és

szekvenciális fájlra

Eldöntés

Bemenet: X H  *, T:H  →L

Kimenet: VanL

Előfeltétel: hossz(X)>0Utófeltétel: Van=y(y X): T(y)

2010.10.06. 4Zsakó László: Algoritmizálás, adatmodellezés tanítása

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

7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás

http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 5/17

Programozási tételek listára és

szekvenciális fájlra

Eldöntés(L,Van):Elsőre(L)Ciklus amíg nem Utolsó?(L) és nem T(Elem(L))

Következőre(L)Ciklus vége

Van:=T(Elem(L))Eljárás vége.

Eldöntés(f,Van):Nyit(f); Olvas(f,y)

Ciklus amíg nem Vége?(f) és nem T(y)Olvas(f,y)

Ciklus végeVan:=T(y); Zár(f)

Eljárás vége.

2010.10.06. 5Zsakó László: Algoritmizálás, adatmodellezés tanítása

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

7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás

http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 6/17

Programozási tételek listára és

szekvenciális fájlra

Kiválasztás

Bemenet: X H  *, T:H  →L

Kimenet: EH  , SN  

Előfeltétel: y(y X): T(y)

Utófeltétel: EX és T(E) és 1≤S és E=X S

2010.10.06. 6Zsakó László: Algoritmizálás, adatmodellezés tanítása

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

7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás

http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 7/17

Programozási tételek listára és

szekvenciális fájlra

Kiválasztás(L,E,S):Elsőre(L); S:=1Ciklus amíg nem T(Elem(L))

Következőre(L); S:=S+1Ciklus vége

E:=Elem(L)Eljárás vége.

Kiválasztás(f,E,S):Nyit(f); Olvas(f,y); S:=1

Ciklus amíg nem T(y)Olvas(f,y); S:=S+1

Ciklus végeE:=y; Zár(f)

Eljárás vége.

2010.10.06. 7Zsakó László: Algoritmizálás, adatmodellezés tanítása

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

7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás

http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 8/17

Programozási tételek listára és

szekvenciális fájlra

Maximumkiválasztás

Bemenet: X H  *

Kimenet: MaxIndN  , MaxÉrtH  

Előfeltétel: hossz(X)>0Utófeltétel: y X: MaxÉrt≥y és

1≤MaxInd és MaxÉrt=X MaxInd

2010.10.06. 8Zsakó László: Algoritmizálás, adatmodellezés tanítása

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

7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás

http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 9/17

Programozási tételek listára és

szekvenciális fájlra

Maximumkiválasztás(L,MaxÉrt,MaxInd):Elsőre(L); S:=1; MaxÉrt:=Elem(L); MaxInd:=1Ciklus amíg nem Utolsó?(L)Következőre(L); S:=S+1

Ha MaxÉrt<Elem(L) akkor MaxÉrt:=Elem(L)MaxInd:=S

Ciklus végeEljárás vége.

2010.10.06. 9Zsakó László: Algoritmizálás, adatmodellezés tanítása

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

7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás

http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 10/17

Programozási tételek listára és

szekvenciális fájlra

Maximumkiválasztás(f,MaxÉrt,MaxInd):Nyit(f); Olvas(f,y); S:=1

MaxÉrt:=y; MaxInd:=1Ciklus amíg nem Vége?(f)

Olvas(f,y); S:=S+1Ha MaxÉrt<y akkor MaxÉrt:=y; MaxInd:=SCiklus végeZár(f)

Eljárás vége.

2010.10.06. 10Zsakó László: Algoritmizálás, adatmodellezés tanítása

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

7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás

http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 11/17

Programozási tételek listára és

szekvenciális fájlra

Kiválogatás

Bemenet: X H  *, T:H  →L

Kimenet: Y H  *

Előfeltétel: hossz(X)>0Utófeltétel: Y X és y(y  Y): T(y) és

x(xX és x Y): nem T(x)

2010.10.06. 11Zsakó László: Algoritmizálás, adatmodellezés tanítása

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

7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás

http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 12/17

Programozási tételek listára és

szekvenciális fájlra

Kiválogatás(L,M):Elsőre(L); Üres(M)Ciklus amíg nem Utolsó?(L)Ha T(Elem(L)) akkor Beilleszt(M,Elem(L))

Következőre(L)Ciklus végeHa T(Elem(L)) akkor Beilleszt(M,Elem(L))

Eljárás vége.

2010.10.06. 12Zsakó László: Algoritmizálás, adatmodellezés tanítása

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

7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás

http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 13/17

Programozási tételek listára és

szekvenciális fájlra

Kiválogatás(f,g):Nyit(f); Nyit(g)

Ciklus amíg nem Vége?(f)Olvas(f,y)

Ha T(y) akkor Ír(g,y)Ciklus végeZár(f); Zár(g)

Eljárás vége.

2010.10.06. 13Zsakó László: Algoritmizálás, adatmodellezés tanítása

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

7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás

http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 14/17

Programozási tételek listára és

szekvenciális fájlra

Unió rendezett halmazokra – összefuttatásBemenet: X,Y H  *

Kimenet: ZH  *

Előfeltétel: halmazE(X) és halmazE(Y) és hossz(X)>0 éshossz(Y)>0 és Utolsó(X)=+ és Utolsó(Y)=+és i(i[1..hossz(X)): xi+ és rendezettE(X)és i(i[1..hossz(Y)): y i+ és rendezettE(Y)

Utófeltétel: z(zZ): zX vagy z Y és halmazE(Z) ésx(xX): xZ és y(y  Y): y Z ésUtolsó(Z)=+ és rendezettE(Z)

2010.10.06. 14Zsakó László: Algoritmizálás, adatmodellezés tanítása

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

7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás

http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 15/17

Programozási tételek listára és

szekvenciális fájlra

Összefuttatás(L,M,P):Elsőre(L); Elsőre(M); Üres(P)Ciklus amíg nem Utolsó?(L) vagy nem Utolsó?(M)

ElágazásElem(L)<Elem(M) esetén Beilleszt(P,Elem(L))

Következőre(L)Elem(L)=Elem(M) esetén Beilleszt(P,Elem(L))

Következőre(L)Következőre(M)

Elem(L)>Elem(M) esetén Beilleszt(P,Elem(M))Következőre(M)

Elágazás végeCiklus végeBeilleszt(P,Elem(L))

Eljárás vége.2010.10.06. 15Zsakó László: Algoritmizálás, adatmodellezés tanítása

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

7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás

http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 16/17

Programozási tételek listára és

szekvenciális fájlra

Összefuttatás(f,g,h):Nyit(f); Nyit(g); Nyit(h); Olvas(f,x); Olvas(g,y)

Ciklus amíg nem Vége?(f) vagy nem Vége?(g)Elágazásx<y esetén Ír(h,x); Olvas(f,x)

x=y esetén Ír(h,x); Olvas(f,x); Olvas(g,y)x>y esetén Ír(h,y); Olvas(g,y)

Elágazás végeCiklus végeÍr(h,x); Zár(f); Zár(g); Zár(h)

Eljárás vége.

2010.10.06. 16Zsakó László: Algoritmizálás, adatmodellezés tanítása

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

7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás

http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 17/17

 Algoritmizálás, adatmodellezés

tanítása

4. előadás vége