ELTE Szlávi - Zsakó: Programozási alapismeretek 5.1/ Sorozatszámítás Specifikáció (a végleges) : Bemenet: N:Egész, X:Tömb[1..N:Valami] Kimenet: S:Valami Előfeltétel: N 0 Utófeltétel: S=F(X[1..N]) Definíció:
ELTE Szlávi - Zsakó: Programozási alapismeretek 5.2/ Sorozatszámítás Algoritmus: esetén: S:=F 0 i=1..N S:=f(S,X[i]) S:=0 i=1..N S:=S+ S[ i] Szum(X[1..N]):=
ELTE Szlávi - Zsakó: Programozási alapismeretek 5.3/ Eldöntés Specifikáció: Bemenet: N:Egész, X:Tömb[1..N:Valami] Kimenet: Van:Logikai Előfeltétel: N 0 Utófeltétel: Van= i(1 i N): T(X[i]) Megjegyzés: A T tulajdonság egy logikai függvényként adható meg. Minden elemről megvizsgálható, hogy ren- delkezik-e az adott tulajdonsággal.
ELTE Szlávi - Zsakó: Programozási alapismeretek 5.4/ Eldöntés Algoritmus 1 : Algoritmus 2 : i:=1 i N és nem T(X[i]) i:=i+1 Van:=i N i:=0 Van:=Hamis i<N és nem Van i:=i+1 Van:=T(X[i])
ELTE Szlávi - Zsakó: Programozási alapismeretek 5.5/ Kiválasztás Specifikáció: Bemenet: N:Egész, X:Tömb[1..N:Valami] Kimenet: S:Egész Előfeltétel: N>0 és i (1 i N): T(X[i]) Utófeltétel: 1 S N és T(X[S]) Megjegyzés: A T tulajdonság egy logikai függvényként adható meg, minden elemről megtudható, hogy rendelke- zik-e az adott tulajdonsággal.
ELTE Szlávi - Zsakó: Programozási alapismeretek 5.6/ Kiválasztás Algoritmus: Megjegyzés: Többlet tudás: a megoldás az első adott tulajdon- ságú elemet adja meg – a program tudhat többet annál, mint amit várunk tőle. Hogy kellene az utolsót megadni? i:=1 nem T(X[i]) i:=i+1 S:=i