Δευτέρα 31 Ιανουαρίου 2011

Άσκηση : συγγραφή διαδικασίας

Γράψτε διαδικασία που δέχεται ως παράμετρο έναν
ακέραιο πίνακα Α[9, 9] και μια αλφαριθμητική τιμή
Χ και ταξινομεί :
* όλες τις γραμμές του πίνακα κατά αύξουσα σειρά,
   αν Χ = 'Γ'΄,
* όλες τις στήλες του πίνακα κατά φθίνουσα σειρά,
   αν Χ = 'Σ',
* τα στοιχεία της 1ης κυρίας διαγωνίου, αν το Χ έχει
   οποιαδήποτε άλλη τιμή.

Λύση

      ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΔ(Α, Χ)
      ΜΕΤΑΒΛΗΤΕΣ
            ΑΚΕΡΑΙΕΣ: Α[9, 9], Κ, Λ, Μ, ΒΟΗΘ
            ΧΑΡΑΚΤΗΡΕΣ: Χ
      ΑΡΧΗ
            ΑΝ Χ = 'Γ' ΤΟΤΕ
                  ΓΙΑ Μ ΑΠΟ 1 ΜΕΧΡΙ 9
                       ΓΙΑ Κ ΑΠΟ 2 ΜΕΧΡΙ 9
                            ΓΙΑ Λ ΑΠΟ 9 ΜΕΧΡΙ Κ ΜΕ_ΒΗΜΑ -1
                                 ΑΝ Α[Μ, Λ-1] > Α[Μ, Λ] ΤΟΤΕ
                                        ΒΟΗΘ <-- Α[Μ, Λ-1]
                                        Α[Μ, Λ-1] <-- Α[Μ, Λ]
                                        Α[Μ, Λ] <-- ΒΟΗΘ
                                 ΤΕΛΟΣ_ΑΝ
                            ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                       ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
            ΑΛΛΙΩΣ_ΑΝ Χ = 'Σ' ΤΟΤΕ
                   ΓΙΑ Μ ΑΠΟ 1 ΜΕΧΡΙ 9
                       ΓΙΑ Κ ΑΠΟ 2 ΜΕΧΡΙ 9
                            ΓΙΑ Λ ΑΠΟ 9 ΜΕΧΡΙ Κ ΜΕ_ΒΗΜΑ -1
                                 ΑΝ Α[Λ-1, Μ] < Α[Λ, Μ] ΤΟΤΕ
                                        ΒΟΗΘ <-- Α[Λ-1, Μ]
                                        Α[Λ-1, Μ] <-- Α[Λ, Μ]
                                        Α[Λ, Μ] <-- ΒΟΗΘ
                                 ΤΕΛΟΣ_ΑΝ
                            ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                       ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ            
            ΑΛΛΙΩΣ
                  ΓΙΑ Κ ΑΠΟ 2 ΜΕΧΡΙ 9
                            ΓΙΑ Λ ΑΠΟ 9 ΜΕΧΡΙ Κ ΜΕ_ΒΗΜΑ -1
                                 ΑΝ Α[Λ-1, Λ-1] > Α[Λ, Λ] ΤΟΤΕ
                                        ΒΟΗΘ <-- Α[Λ-1, Λ-1]
                                        Α[Λ-1, Λ-1] <-- Α[Λ, Λ]
                                        Α[Λ, Λ] <-- ΒΟΗΘ
                                 ΤΕΛΟΣ_ΑΝ
                            ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
            ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

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

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