! ===============================================
! Κάποιος προγραμματιστής θέλει να αναπτύξει ένα
! πρόγραμμα το οποίο θα ταξινομεί τα στοιχεία
! πινάκων ακεραίων αριθμών. Έτσι σας ζητάει να
! τον βοηθήσετε κατασκευάζοντας γι αυτόν μια
! ΔΙΑΔΙΚΑΣΙΑ με τα εξής χαρακτηριστικά:
! - Όνομα: Ταξινόμησε_πίνακα
! - Παράμετροι:
! - Π: Μονοδιάστατος πίνακας ακεραίων (100
! θέσεων).
! - Ν: Το πλήθος των αριθμών που θα πρέπει να
! ταξινομηθούν (1<=Ν<=100).
! - Α: ΛΟΓΙΚΗ παράμετρος η οποία
! - θα έχει την τιμή ΑΛΗΘΗΣ αν πρέπει να
! γίνει αύξουσα ταξινόμηση
! - θα έχει την τιμή ΨΕΥΔΗΣ αν πρέπει να
! γίνει φθίνουσα ταξινόμηση
! - Αν η παράμετρος Ν είναι μικρότερη του 1 ή
! μεγαλύτερη του 100, η διαδικασία θα πρέπει να
! εμφανίζει το μήνυμα "Λάθος πλήθος στοιχείων"
! χωρίς να πραγματοποιεί καμιά άλλη λειτουργία.
! ===============================================
ΠΡΟΓΡΑΜΜΑ Διαδικασία_ταξινόμησης_πινάκων
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: ΠΙΝ[100], Μ, κ
ΛΟΓΙΚΕΣ: Λ
! Το παρακάτω κύριο πρόγραμμα ελέγχει τη
! λειτουργία της ζητούμενης ΔΙΑΔΙΚΑΣΙΑΣ.
ΑΡΧΗ
Μ <-- 5
Λ <-- ΨΕΥΔΗΣ
ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ Μ
ΓΡΑΨΕ 'Δώσε το ', κ, 'ο στοιχείο του πίνακα:'
ΔΙΑΒΑΣΕ ΠΙΝ[κ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΚΑΛΕΣΕ Ταξινόμησε_πίνακα(ΠΙΝ, Μ, Λ)
ΓΡΑΨΕ 'Ακολουθεί ο πίνακας ταξινομημένος:'
ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ Μ
ΓΡΑΨΕ ΠΙΝ[κ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Διαδικασία_ταξινόμησης_πινάκων
!------------------------------------------------
ΔΙΑΔΙΚΑΣΙΑ Ταξινόμησε_πίνακα(Π, Ν, Α)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Π[100], Ν, i, j, temp
ΛΟΓΙΚΕΣ: Α
ΑΡΧΗ
ΑΝ (Ν>=1) ΚΑΙ (Ν<=100) ΤΟΤΕ
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν
ΓΙΑ j ΑΠΟ Ν ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
ΕΠΙΛΕΞΕ Α
ΠΕΡΙΠΤΩΣΗ ΑΛΗΘΗΣ
ΑΝ Π[j-1] > Π[j] ΤΟΤΕ
temp <-- Π[j]
Π[j] <-- Π[j-1]
Π[j-1] <-- temp
ΤΕΛΟΣ_ΑΝ
ΠΕΡΙΠΤΩΣΗ ΨΕΥΔΗΣ
ΑΝ Π[j-1] < Π[j] ΤΟΤΕ
temp <-- Π[j]
Π[j] <-- Π[j-1]
Π[j-1] <-- temp
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Λάθος πλήθος στοιχείων'
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
!------------------------------------------------