Algoritmizálás, adatmodellezés tanítása 4. előadás INFOÉRA 2006 2006.11.18 Algoritmizálás, adatmodellezés tanítása 4. előadás Juhász István-Zsakó László: Informatikai képzések a ELTE-n
Programozási tételek listára és szekvenciális fájlra INFOÉRA 2006 2006.11.18 Programozási tételek listára és szekvenciális fájlra Sorozatszámítás Bemenet: 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)>0 Utófeltétel: S=F(X1,...,XN) 2017.04.04. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 2
Programozási tételek listára és szekvenciális fájlra INFOÉRA 2006 2006.11.18 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é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) 2017.04.04. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 3
Programozási tételek listára és szekvenciális fájlra INFOÉRA 2006 2006.11.18 Programozási tételek listára és szekvenciális fájlra Eldöntés Bemenet: XH*, T:H→L Kimenet: VanL Előfeltétel: hossz(X)>0 Utófeltétel: Van=y(yX): T(y) 2017.04.04. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 4
Programozási tételek listára és szekvenciális fájlra INFOÉRA 2006 2006.11.18 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) Van:=T(y); Zár(f) 2017.04.04. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 5
Programozási tételek listára és szekvenciális fájlra INFOÉRA 2006 2006.11.18 Programozási tételek listára és szekvenciális fájlra Kiválasztás Bemenet: 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 2017.04.04. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 6
Programozási tételek listára és szekvenciális fájlra INFOÉRA 2006 2006.11.18 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 E:=y; Zár(f) 2017.04.04. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 7
Programozási tételek listára és szekvenciális fájlra INFOÉRA 2006 2006.11.18 Programozási tételek listára és szekvenciális fájlra Maximumkiválasztás Bemenet: XH* Kimenet: MaxIndN, MaxÉrtH Előfeltétel: hossz(X)>0 Utófeltétel: yX: MaxÉrt≥y és 1≤MaxInd és MaxÉrt=XMaxInd 2017.04.04. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 8
Programozási tételek listára és szekvenciális fájlra INFOÉRA 2006 2006.11.18 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. 2017.04.04. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 9
Programozási tételek listára és szekvenciális fájlra INFOÉRA 2006 2006.11.18 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. 2017.04.04. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 10
Programozási tételek listára és szekvenciális fájlra INFOÉRA 2006 2006.11.18 Programozási tételek listára és szekvenciális fájlra Kiválogatás Bemenet: XH*, T:H→L Kimenet: YH* Előfeltétel: hossz(X)>0 Utófeltétel: YX és y(yY): T(y) és x(xX és xY): nem T(x) 2017.04.04. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 11
Programozási tételek listára és szekvenciális fájlra INFOÉRA 2006 2006.11.18 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. 2017.04.04. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 12
Programozási tételek listára és szekvenciális fájlra INFOÉRA 2006 2006.11.18 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. 2017.04.04. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 13
Programozási tételek listára és szekvenciális fájlra INFOÉRA 2006 2006.11.18 Programozási tételek listára és szekvenciális fájlra Unió rendezett halmazokra – összefuttatás Bemenet: 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) 2017.04.04. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 14
Programozási tételek listára és szekvenciális fájlra INFOÉRA 2006 2006.11.18 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. 2017.04.04. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 15
Programozási tételek listára és szekvenciális fájlra INFOÉRA 2006 2006.11.18 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. 2017.04.04. Zsakó László: Algoritmizálás, adatmodellezés tanítása Juhász István-Zsakó László: Informatikai képzések a ELTE-n 16
Programozási alapismeretek 2006.11.18 Algoritmizálás, adatmodellezés tanítása 4. előadás vége 2008/2009.