Ένας μαθητής έχει μία συλλογή από δίσκους CD και για κάθε CD έχει καταγράψει στον υπολογιστή τον τίτλο και τη χρονιά έκδοσής του. Να ταξινομηθούν τα CD με βάση τη χρονιά τους και να υπολογισθεί ο αριθμός των CD που έχει ο μαθητής με χρονολογία έκδοσης πριν από το 1995.

ΛΥΣΗ:

Μπορούμε να χρησιμοποιήσουμε 2 παράλληλους μονοδιάστατους πίνακες, τίτλος και χρονολογία, όπως φαίνεται και στην παρακάτω υλοποίηση.

!Ο αλγόριθμος υποστηρίζει μέχρι 200 CD.
 Πρόγραμμα Συλλογή
 Μεταβλητές
 Ακέραιες: πλήθος, πλήθος_από_1995, i, j, χρονολογία[250], temp_χρονολογία
 Χαρακτήρες: temp_τίτλος, τίτλος[200]
 Λογικές: found
 Αρχή
 Αρχή_Επανάληψης
 Γράψε 'Δώσε πλήθος CD (1 ως 200)'
 Διάβασε πλήθος
 Μέχρις_ότου πλήθος > 0 και πλήθος < 200    ! έλεγχος εισόδου
 Για i από 1 μέχρι πλήθος
 Διάβασε τίτλος[i], χρονολογία[i]
 Τέλος_επανάληψης
 Για i από 2 μέχρι πλήθος   ! Φυσαλίδα
 Για j από πλήθος μέχρι i με βήμα -1
 Αν χρονολογία[j-1] > χρονολογία[j] τότε
 temp_χρονολογία <-- χρονολογία[j]
 χρονολογία[j] <-- χρονολογία[j-1]
 χρονολογία[j-1] <-- temp_χρονολογία
 temp_τίτλος<- τίτλος[j]
 τίτλος[j] <-- τίτλος[j-1]
 τίτλος[j-1] <-- temp_τίτλος
 Τέλος_αν
 Τέλος_επανάληψης
 Τέλος_επανάληψης
 πλήθος_από_1995 <-- 0  ! Αρχικοποίηση μεταβλητών
 found <-- ψευδής
 i <-- 1
 Όσο found = ψευδής και i <= πλήθος επανάλαβε
 Αν χρονολογία[i] < 1995 τότε
 πλήθος_από_1995 <-- πλήθος_από_1995 + 1
 αλλιώς
 found <-- αληθής
 Τέλος_αν
 i<-- i + 1
 Τέλος_επανάληψης
 Γράψε πλήθος_από_1995
 Τέλος_προγράμματος

Αρχείο Γλώσσομάθειας: ΔΣ4-ΚΕΦ3