Σάββατο 4 Σεπτεμβρίου 2010

Άσκηση : Βήμα-βήμα εκτέλεση εντολών (Για+Αν..τότε)

Ποιές είναι οι τελικές τιμές των μεταβλητών μετά την
εκτέλεση των παρακάτω εντολών;
    α <-- 21
    β <-- 32
    γ <-- -12
    Για λ από 23 μέχρι 20 με_βήμα -1
        α <-- α+λ mod 20
        β <-- β-λ div 20
        γ <-- γ+λ
        Αν α+β-γ < 10 τότε
             α <-- α+1
             β <-- β+3
             γ <-- γ-1
        Τέλος_αν
    Τέλος_επανάληψης

Λύση

    α = 21
    β = 32
    γ = -12
    λ = 23
        α = α+λ mod 20 = 21+23 mod 20 = 21+3 = 24
        β = β-λ div 20 = 32-23 div 20 = 32-1 = 31
        γ = γ+λ = -12+23 = 11
        Αφού α+β-γ < 10 = 24+31-11 < 10 = 44 < 10 = Ψευδής,
        η περιεχόμενη ομάδα εντολών της Αν..τότε δεν εκτελείται.            
    λ = 22
        α = α+λ mod 20 = 24+22 mod 20 = 24+2 = 26
        β = β-λ div 20 = 31-22 div 20 = 31-1 = 30
        γ = γ+λ = 11+22 = 33
        Αφού α+β-γ < 10 = 26+30-33 < 10 = 23 < 10 = Ψευδής,
        η περιεχόμενη ομάδα εντολών της Αν..τότε δεν εκτελείται.
    λ = 21
        α = α+λ mod 20 = 26+21 mod 20 = 26+1 = 27
        β = β-λ div 20 = 30-21 div 20 = 30-1 = 29
        γ = γ+λ = 33+21 = 54
        Αφού α+β-γ < 10 = 27+29-54 < 10 = 2 < 10 = Αληθής
             α = α+1 = 27+1 = 28
             β = β+3 = 29+3 = 32
             γ = γ-1 = 54-1 = 53
    λ = 20
        α = α+λ mod 20 = 28+20 mod 20 = 28+0 = 28
        β = β-λ div 20 = 32-20 div 20 = 32-1 = 31
        γ = γ+λ = 53+20 = 73
       Αφού α+β-γ < 10 = 28+31-73 < 10 = -14 < 10 = Αληθής
             α = α+1 = 28+1 = 29
             β = β+3 = 31+3 = 34
             γ = γ-1 = 73-1 = 72   
    Η Για τερματίζεται με λ = 19.
    Κατά συνέπεια οι τελικές τιμές των μεταβλητών
    είναι :
         α = 29, β = 34, γ = 72, λ = 19

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου