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

ELTE Szlávi-Zsakó: Programozási alapismeretek 8.1/312014. 07. 21.2014. 07. 21.2014. 07. 21. 8. Kiválogatás Specifikáció:  Bemenet: N:Egész, X:Tömb[1..N:Valami]

Hasonló előadás


Az előadások a következő témára: "ELTE Szlávi-Zsakó: Programozási alapismeretek 8.1/312014. 07. 21.2014. 07. 21.2014. 07. 21. 8. Kiválogatás Specifikáció:  Bemenet: N:Egész, X:Tömb[1..N:Valami]"— Előadás másolata:

1 ELTE Szlávi-Zsakó: Programozási alapismeretek 8.1/ Kiválogatás Specifikáció:  Bemenet: N:Egész, X:Tömb[1..N:Valami]  Kimenet: Db:Egész, Y:Tömb[1..Db:Egész]  Előfeltétel: N  0  Utófeltétel: Db= és  i(1≤i≤Db): T(X[Y[i]]) és Y  (1,2,…,N)  L. Megszámolás tételt!Megszámolás tétel Statikus tömb-deklaráció esetében: N

2 ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/ Kiválogatás Algoritmus: Megjegyzés: A sorszám általánosabb, mint az érték. Ha még- is érték kellene, akkor Y[Db]:=X[i] szerepelne. (Ekkor a specifikációt is módosítani kell!) Db:=0 i=1..N T(X[i]) Db:=Db+1  Y[Db]:=i I N L. Megszámolás tételt!Megszámolás tétel

3 ELTE Szlávi-Zsakó: Programozási alapismeretek 8.3/ Szétválogatás 2 tömbre Specifikáció:  Bemenet: N:Egész, X:Tömb[1..N:Valami]  Kimenet: Db:Egész, Y,Z:Tömb[1..N:Egész]  Előfeltétel: N  0  Utófeltétel: Db= és  i(1≤i≤Db): T(X[Y[i]]) és  i(1≤i≤N – Db): nem T(X[Z[i]]) és Y  (1,2,…,N) és Z  (1,2,…,N)

4 ELTE Szlávi-Zsakó: Programozási alapismeretek 8.4/ Szétválogatás 2 tömbre Algoritmus: Megjegyzés: Itt is szerepelhetne :=i helyett :=X[i], ha csak az értékekre lenne szükségünk. (A specifikáció is módosítandó!) Db:=0 DbZ:=0 i=1..N T(X[i]) Db:=Db+1DbZ:=DbZ+1 Y[Db]:=iZ[DbZ]:=i I N

5 ELTE Szlávi-Zsakó: Programozási alapismeretek 8.5/ Szétválogatás 1 tömbre Permutáció(1,2,...,N):=az 1..N számok összes permutációjának halmaza Probléma: Y-ban és Z-ben együtt csak N darab elem van, azaz elég lenne egyetlen N-elemű tömb. Megoldás:  Bemenet: N:Egész, X:Tömb[1..N:Valami]  Kimenet: Db:Egész, Y:Tömb[1..N:Egész]  Előfeltétel: N  0  Utófeltétel: Db= és  i(1≤i≤Db): T(X[Y[i]]) és  i(Db+1≤i≤N): nem T(X[Y[i]]) és Y  Permutáció(1,2,…,N)

6 ELTE Szlávi-Zsakó: Programozási alapismeretek 8.6/ Szétválogatás 1 tömbre Algoritmus: Db:=0 DbZ:=N+1 i=1..N T(X[i]) Db:=Db+1DbZ:=DbZ–1 Y[Db]:=iY[DbZ]:=i I N


Letölteni ppt "ELTE Szlávi-Zsakó: Programozási alapismeretek 8.1/312014. 07. 21.2014. 07. 21.2014. 07. 21. 8. Kiválogatás Specifikáció:  Bemenet: N:Egész, X:Tömb[1..N:Valami]"

Hasonló előadás


Google Hirdetések