Top Banner
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

Jan 14, 2016

Download

Documents

cyma

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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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