1 / 17

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

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

cyma
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritmizálás, adatmodellezéstanítása4. előadás

  2. Programozási tételek listára és szekvenciális fájlra Sorozatszámítás Bemenet: XH*, F:H*→H, f:HxH→H, F0H F(X1,...,XN)=f(F(X1,...,XN-1),XN), F()=F0 Kimenet: SH Előfeltétel: hossz(X)>0 Utófeltétel: S=F(X1,...,XN) Zsakó László: Algoritmizálás, adatmodellezés tanítása

  3. 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,Érték(L)); Következőre(L) Ciklus végeS:=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. Zsakó László: Algoritmizálás, adatmodellezés tanítása

  4. Programozási tételek listára és szekvenciális fájlra Eldöntés Bemenet: XH*, T:H→L Kimenet: VanL Előfeltétel: hossz(X)>0 Utófeltétel: Van=y(yX): T(y) Zsakó László: Algoritmizálás, adatmodellezés tanítása

  5. 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(É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. Zsakó László: Algoritmizálás, adatmodellezés tanítása

  6. Programozási tételek listára és szekvenciális fájlra Kiválasztás Bemenet: XH*, T:H→L Kimenet: EH, SN Előfeltétel: y(yX): T(y) Utófeltétel: EX és T(E) és 1≤S és E=XS Zsakó László: Algoritmizálás, adatmodellezés tanítása

  7. Programozási tételek listára és szekvenciális fájlra Kivá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. Zsakó László: Algoritmizálás, adatmodellezés tanítása

  8. Programozási tételek listára és szekvenciális fájlra Maximumkiválasztás Bemenet: XH* Kimenet: MaxIndN, MaxÉrtH Előfeltétel: hossz(X)>0 Utófeltétel: yX: MaxÉrt≥y és 1≤MaxInd és MaxÉrt=XMaxInd Zsakó László: Algoritmizálás, adatmodellezés tanítása

  9. 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:=É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ége Eljárás vége. Zsakó László: Algoritmizálás, adatmodellezés tanítása

  10. 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:=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. Zsakó László: Algoritmizálás, adatmodellezés tanítása

  11. 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)>0 Utófeltétel: YX és y(yY): T(y) és x(xX és xY): nem T(x) Zsakó László: Algoritmizálás, adatmodellezés tanítása

  12. 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(Érték(L)) akkor BeszúrMögé(M,Érték(L)) Következőre(L) Ciklus végeHa T(Érték(L)) akkor BeszúrMögé(M,Érték(L)) Eljárás vége. Zsakó László: Algoritmizálás, adatmodellezés tanítása

  13. 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ége Zár(f); Zár(g) Eljárás vége. Zsakó László: Algoritmizálás, adatmodellezés tanítása

  14. Programozási tételek listára és szekvenciális fájlra Unió rendezett halmazokra – összefuttatás Bemenet: X,YH* Kimenet: ZH * 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(zZ): zX vagy zY és halmazE(Z) és x(xX): xZ és y(yY): yZ és Utolsó(Z)=+ és rendezettE(Z) Zsakó László: Algoritmizálás, adatmodellezés tanítása

  15. 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. Zsakó László: Algoritmizálás, adatmodellezés tanítása

  16. 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. Zsakó László: Algoritmizálás, adatmodellezés tanítása

  17. Algoritmizálás, adatmodellezéstanítása4. előadás vége

More Related