| ELTE-OTK-IT jegyzetek

Programozási alapismeretek

Összegzés (SZUM)

Tartalom

Összegzés tétel

Specifikáció

Visszavezetés

Algoritmus

Példa feladatok

További linkek

Források

Összegzés tétel

Elemek összesítése.

Specifikáció


                    Bemenet: elemszám ∈ N, elemek ∈ H[1..elemszám]
                    Kimenet: össz ∈ H
                    Előfeltétel: -
                    Utófeltétel: össz = SZUM(i=1..elemszám, elemek[i])
                

Visszavezetés


                    össz ~
                    1..elemszám ~
                    elemek[i] ~
                

Algoritmus


                    Változó
                        i: Egész
                    össz := 0
                    Ciklus i=1-től elemszám-ig
                        össz := össz + elemek[i]
                    Ciklus vége
                

Példa feladatok

Forrás: 3. előadás 65. o.


                        // SPECIFIKÁCIÓ //

                        Be: honapdb ∈ N, jov ∈ Jovedelem[1..honapdb], Jovedelem=(bevetel:N x kiadas:N)
                        Ki: ossz ∈ Z
                        Ef: -
                        Uf: ossz = SZUM(i=1..honapdb, jov[i].bevetel - jov[i].kiadas)


                        // VISSZAVEZETÉS //
                        
                        1..elemszám ~ 1..honapdb
                        elemek[i] ~ jov[i].bevetel - jov[i].kiadas


                        //ALGORITMUS //
                        
                        Változó
                            i: Egész
                        ossz := 0
                        Ciklus i=1-től honapdb-ig
                            ossz := ossz + (jov[i].bevetel - jov[i].kiadas)
                        Ciklus vége
                    

                        // SPECIFIKÁCIÓ //

                        Be: kordb ∈ N, koridok ∈ N[1..kordb]
                        Ki: atlagido ∈ N
                        Ef: kordb > 0, ∀i ∈ [1..kordb]: (koridok[i] > 0)
                        Uf: atlagido = SZUM(i=1..kordb, koridok[i]) / kordb


                        // VISSZAVEZETÉS //
                        
                        össz ~ atlagido
                        1..elemszám ~ 1..kordb
                        elemek[i] ~ koridok[i]


                        //ALGORITMUS //
                        
                        Változó
                            i: Egész
                        atlagido := 0
                        Ciklus i=1-től kordb-ig
                            atlagido := atlagido + koridok[i]
                        Ciklus vége
                        atlagido = atlagido / kordb
                    

További linkek

Programozási tételek (áttekintés) Gyakorló feladatok programozási tételekkel ELTE specifikáció szerkesztője

Források

Horváth Győző, Horváth Gyula, Szlávi Péter, Törley Gábor: Programozási alapismeretek 3. előadás (Törley Gábor)