Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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

Hasonló előadás


Az előadások a következő témára: "Algoritmizálás, adatmodellezés tanítása 4. előadás."— Előadás másolata:

1 Algoritmizálás, adatmodellezés tanítása 4. 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: 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 Utófeltétel: S=F(X 1,...,X N ) 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:=F 0 ; 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:=F 0 ; 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=X S 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=X MaxInd 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

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ége Ha 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)): x i  +  és rendezettE(X) és  i(i  [1..hossz(Y)): y i  +  é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 xy 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és tanítása 4. előadás vége


Letölteni ppt "Algoritmizálás, adatmodellezés tanítása 4. előadás."

Hasonló előadás


Google Hirdetések