Algoritmizálás adatmodellezés tanítása 2. előadás
description
Transcript of Algoritmizálás adatmodellezés tanítása 2. előadás
7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás
http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 1/17
Algoritmizálás, adatmodellezéstanítása
4. előadás
7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás
http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 2/17
Programozási tételek listára és
szekvenciális fájlra
Sorozatszámítás
Bemenet: X H *, F:H *→H , f:H xH →H , F0H
F(X 1,...,X N )=f(F(X 1,...,X N-1 ),X N ), F()=F0
Kimenet: SH
Előfeltétel: hossz(X)>0
Utófeltétel: S=F(X 1,...,X N )
2010.10.06. 2Zsakó László: Algoritmizálás, adatmodellezés tanítása
7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás
http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 3/17
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,Elem(L)); Következőre(L)Ciklus vége
S:=f(S,Elem(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égeZár(f)
Eljárás vége.
2010.10.06. 3Zsakó László: Algoritmizálás, adatmodellezés tanítása
7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás
http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 4/17
Programozási tételek listára és
szekvenciális fájlra
Eldöntés
Bemenet: X H *, T:H →L
Kimenet: VanL
Előfeltétel: hossz(X)>0Utófeltétel: Van=y(y X): T(y)
2010.10.06. 4Zsakó László: Algoritmizálás, adatmodellezés tanítása
7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás
http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 5/17
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(Elem(L))
Következőre(L)Ciklus vége
Van:=T(Elem(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égeVan:=T(y); Zár(f)
Eljárás vége.
2010.10.06. 5Zsakó László: Algoritmizálás, adatmodellezés tanítása
7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás
http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 6/17
Programozási tételek listára és
szekvenciális fájlra
Kiválasztás
Bemenet: X H *, T:H →L
Kimenet: EH , SN
Előfeltétel: y(y X): T(y)
Utófeltétel: EX és T(E) és 1≤S és E=X S
2010.10.06. 6Zsakó László: Algoritmizálás, adatmodellezés tanítása
7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás
http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 7/17
Programozási tételek listára és
szekvenciális fájlra
Kiválasztás(L,E,S):Elsőre(L); S:=1Ciklus amíg nem T(Elem(L))
Következőre(L); S:=S+1Ciklus vége
E:=Elem(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égeE:=y; Zár(f)
Eljárás vége.
2010.10.06. 7Zsakó László: Algoritmizálás, adatmodellezés tanítása
7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás
http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 8/17
Programozási tételek listára és
szekvenciális fájlra
Maximumkiválasztás
Bemenet: X H *
Kimenet: MaxIndN , MaxÉrtH
Előfeltétel: hossz(X)>0Utófeltétel: y X: MaxÉrt≥y és
1≤MaxInd és MaxÉrt=X MaxInd
2010.10.06. 8Zsakó László: Algoritmizálás, adatmodellezés tanítása
7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás
http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 9/17
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:=Elem(L); MaxInd:=1Ciklus amíg nem Utolsó?(L)Következőre(L); S:=S+1
Ha MaxÉrt<Elem(L) akkor MaxÉrt:=Elem(L)MaxInd:=S
Ciklus végeEljárás vége.
2010.10.06. 9Zsakó László: Algoritmizálás, adatmodellezés tanítása
7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás
http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 10/17
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:=1Ciklus amíg nem Vége?(f)
Olvas(f,y); S:=S+1Ha MaxÉrt<y akkor MaxÉrt:=y; MaxInd:=SCiklus végeZár(f)
Eljárás vége.
2010.10.06. 10Zsakó László: Algoritmizálás, adatmodellezés tanítása
7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás
http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 11/17
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)>0Utófeltétel: Y X és y(y Y): T(y) és
x(xX és x Y): nem T(x)
2010.10.06. 11Zsakó László: Algoritmizálás, adatmodellezés tanítása
7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás
http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 12/17
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(Elem(L)) akkor Beilleszt(M,Elem(L))
Következőre(L)Ciklus végeHa T(Elem(L)) akkor Beilleszt(M,Elem(L))
Eljárás vége.
2010.10.06. 12Zsakó László: Algoritmizálás, adatmodellezés tanítása
7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás
http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 13/17
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égeZár(f); Zár(g)
Eljárás vége.
2010.10.06. 13Zsakó László: Algoritmizálás, adatmodellezés tanítása
7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás
http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 14/17
Programozási tételek listára és
szekvenciális fájlra
Unió rendezett halmazokra – összefuttatásBemenet: X,Y H *
Kimenet: ZH *
Előfeltétel: halmazE(X) és halmazE(Y) és hossz(X)>0 éshossz(Y)>0 és Utolsó(X)=+ és Utolsó(Y)=+és i(i[1..hossz(X)): xi+ és rendezettE(X)és i(i[1..hossz(Y)): y i+ és rendezettE(Y)
Utófeltétel: z(zZ): zX vagy z Y és halmazE(Z) ésx(xX): xZ és y(y Y): y Z ésUtolsó(Z)=+ és rendezettE(Z)
2010.10.06. 14Zsakó László: Algoritmizálás, adatmodellezés tanítása
7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás
http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 15/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ásElem(L)<Elem(M) esetén Beilleszt(P,Elem(L))
Következőre(L)Elem(L)=Elem(M) esetén Beilleszt(P,Elem(L))
Következőre(L)Következőre(M)
Elem(L)>Elem(M) esetén Beilleszt(P,Elem(M))Következőre(M)
Elágazás végeCiklus végeBeilleszt(P,Elem(L))
Eljárás vége.2010.10.06. 15Zsakó László: Algoritmizálás, adatmodellezés tanítása
7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás
http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 16/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ásx<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égeCiklus végeÍr(h,x); Zár(f); Zár(g); Zár(h)
Eljárás vége.
2010.10.06. 16Zsakó László: Algoritmizálás, adatmodellezés tanítása
7/21/2019 Algoritmizálás adatmodellezés tanítása 2. előadás
http://slidepdf.com/reader/full/algoritmizalas-adatmodellezes-tanitasa-2-eloadas 17/17
Algoritmizálás, adatmodellezés
tanítása
4. előadás vége