algoritmizálás, adatmodellezés tanítása 4. előadás
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 PresentationTRANSCRIPT
Algoritmizálás, adatmodellezéstaní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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Algoritmizálás, adatmodellezéstanítása
4. előadás vége