Παρασκευή, 9 Ιουλίου 2010

Άσκηση : εξαφανίστε την GOTO

Δίνεται το παρακάτω σύνολο εντολών
         
    3 :  ΔΙΑΒΑΣΕ Χ
          AB <-- 0
          ΑΝ  Χ < 0 ΤΟΤΕ GOTO 4
          AN X < 19 TOTE GOTO 5
          Y <-- Χ-1
          GOTO 6
    4 :  Y <-- A_T(X)
          GOTO 6
    5 :  Y <-- 20*X
    6 :   B <-- 1
    7 :   AN B > Y TOTE GOTO 8
           ΔΙΑΒΑΣΕ Ζ
           ΑΒ <-- ΑΒ+Ζ
           B <-- B+1
           GOTO 7
    8 :  ΓΡΑΨΕ ΑΒ
          ΑΝ ΑΒ < 2356 ΤΟΤΕ GOTO  3

   Λύση

          ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                ΔΙΑΒΑΣΕ Χ
                AB <-- 0
                ΑΝ  Χ < 0 ΤΟΤΕ 
                     Υ <-- Α_Τ(Χ)
                ΑΛΛΙΩΣ_ΑΝ Χ < 19 ΤΟΤΕ
                     Υ <--20*Χ
                ΑΛΛΙΩΣ
                     Υ <-- Χ-1
                ΤΕΛΟΣ_ΑΝ
                Β <-- 1
                ΟΣΟ B <= Y ΕΠΑΝΑΛΑΒΕ
                    ΔΙΑΒΑΣΕ Ζ
                   ΑΒ <-- ΑΒ+Ζ
                   B <-- B+1
               ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
               ΓΡΑΨΕ ΑΒ
          ΜΕΧΡΙΣ_ΟΤΟΥ ΑΒ >= 2356
       

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

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