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

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

Upload: cyma

Post on 14-Jan-2016

45 views

Category:

Documents


0 download

DESCRIPTION

Algoritmizálás, adatmodellezés tanítása 4. előadás. Programozási tételek listára és szekvenciális fájlra. Sorozatszámítás Bemenet: X H * , F: H * → H , f: H x H → H , F 0  H F(X 1 ,...,X N )=f(F(X 1 ,...,X N-1 ),X N ), F()=F 0 Kimenet: S  H Előfeltétel: hossz(X)>0 - PowerPoint PPT Presentation

TRANSCRIPT

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

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

4. előadás

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

Programozási tételek listára és szekvenciális

fájlraSorozatszámításBemenet: XH*, F:H*→H, f:HxH→H, F0H

F(X1,...,XN)=f(F(X1,...,XN-1),XN), F()=F0

Kimenet: SH

Előfeltétel: hossz(X)>0Utófeltétel: S=F(X1,...,XN)

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

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

Programozási tételek listára és szekvenciális

fájlraSorozatszámítás(L,S): S:=F0; Elsőre(L) Ciklus amíg nem Utolsó?(L) S:=f(S,Érték(L)); Következőre(L) Ciklus vége S:=f(S,Érték(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ége Zár(f)Eljárás vége.

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

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

Programozási tételek listára és szekvenciális

fájlraEldöntésBemenet: XH*, T:H→L Kimenet: VanL

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

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

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

Programozási tételek listára és szekvenciális

fájlraEldöntés(L,Van): Elsőre(L) Ciklus amíg nem Utolsó?(L) és nem T(Érték(L)) Következőre(L) Ciklus vége Van:=T(Érték(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ége Van:=T(y); Zár(f)Eljárás vége.

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

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

Programozási tételek listára és szekvenciális

fájlraKiválasztásBemenet: XH*, T:H→L

Kimenet: EH, SN

Előfeltétel: y(yX): T(y)Utófeltétel: EX és T(E) és 1≤S és E=XS

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

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

Programozási tételek listára és szekvenciális

fájlraKiválasztás(L,E,S): Elsőre(L); S:=1 Ciklus amíg nem T(Érték(L)) Következőre(L); S:=S+1 Ciklus vége E:=ElemÉrték(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ége E:=y; Zár(f)Eljárás vége.

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

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

Programozási tételek listára és szekvenciális

fájlraMaximumkiválasztásBemenet: XH*

Kimenet: MaxIndN, MaxÉrtHElőfeltétel: hossz(X)>0Utófeltétel: yX: MaxÉrt≥y és 1≤MaxInd és MaxÉrt=XMaxInd

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

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

Programozási tételek listára és szekvenciális

fájlraMaximumkiválasztás(L,MaxÉrt,MaxInd): Elsőre(L); S:=1 MaxÉrt:=Érték(L); MaxInd:=1 Ciklus amíg nem Utolsó?(L) Következőre(L); S:=S+1 Ha MaxÉrt<Érték(L) akkor MaxÉrt:=Érték(L); MaxInd:=S Ciklus végeEljárás vége.

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

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

Programozási tételek listára és szekvenciális

fájlraMaximumkiválasztás(f,MaxÉrt,MaxInd): Nyit(f); Olvas(f,y); S:=1 MaxÉrt:=y; MaxInd:=1 Ciklus amíg nem Vége?(f) Olvas(f,y); S:=S+1 Ha MaxÉrt<y akkor MaxÉrt:=y; MaxInd:=S Ciklus vége Zár(f)Eljárás vége.

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

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

Programozási tételek listára és szekvenciális

fájlraKiválogatásBemenet: XH*, T:H→L

Kimenet: YH*

Előfeltétel: hossz(X)>0Utófeltétel: YX és y(yY): T(y) és x(xX és xY): nem T(x)

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

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

Programozási tételek listára és szekvenciális

fájlraKiválogatás(L,M): Elsőre(L); Üres(M) Ciklus amíg nem Utolsó?(L) Ha T(Érték(L)) akkor BeszúrMögé(M,Érték(L)) Következőre(L) Ciklus vége Ha T(Érték(L)) akkor BeszúrMögé(M,Érték(L))Eljárás vége.

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

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

Programozási tételek listára és szekvenciális

fájlraKivá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ége Zár(f); Zár(g)Eljárás vége.

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

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

Programozási tételek listára és szekvenciális

fájlraUnió rendezett halmazokra – összefuttatásBemenet: X,YH*

Kimenet: ZH *

Előfeltétel: halmazE(X) és halmazE(Y) és hossz(X)>0 és hossz(Y)>0 és Utolsó(X)=+ és Utolsó(Y)=+ és i(i[1..hossz(X)): xi+ és rendezettE(X) és i(i[1..hossz(Y)): yi+ és rendezettE(Y)Utófeltétel: z(zZ): zX vagy zY és halmazE(Z) és x(xX): xZ és y(yY): yZ és Utolsó(Z)=+ és rendezettE(Z)

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

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

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ás Érték(L)<Érték(M) esetén BeszúrMögé(P,Érték(L)) Következőre(L) Érték(L)=Érték(M) esetén BeszúrMögé(P,Érték(L)) Következőre(L) Következőre(M) Érték(L)>Érték(M) esetén BeszúrMögé(P,Érték(M)) Következőre(M) Elágazás vége Ciklus vége BeszúrMögé(P,Érték(L))Eljárás vége.23.04.21. Zsakó László: Algoritmizálás, adatmodellezés tanítása 15/17

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

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ás x<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ége Ciklus vége Ír(h,x); Zár(f); Zár(g); Zár(h)Eljárás vége.

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

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

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

4. előadás vége