Ένας μαθητής έχει μία συλλογή από δίσκους 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
Πρόσφατα σχόλια