e-ΜΑΘΗΜΑΤΑ |
Λύσεις ασκήσεων από θέματα Πανελλαδικών εξετάσεων |
ΠΡΟΓΡΑΜΜΑ Ολυμπιάδα_Πληροφορικής ! 2004-Θ4 !Για την πρώτη φάση της Ολυμπιάδας Πληροφορικής δήλωσαν συμμετοχή !500 μαθητές. Οι μαθητές διαγωνίζονται σε τρεις γραπτές εξετάσεις !και βαθμολογούνται με ακέραιους βαθμούς στη βαθμολογική κλίμακα !από 0 έως και 100. !Να γράψετε αλγόριθμο ο οποίος: !α. Να διαβάζει τα ονόματα των μαθητών και να τα αποθηκεύει ! σε μονοδιάστατο πίνακα. !β. Να διαβάζει τους τρεις βαθμούς που έλαβε κάθε μαθητής και ! να τους αποθηκεύει σε δισδιάστατο πίνακα. !γ. Να υπολογίζει το μέσο όρο των βαθμών του κάθε μαθητή. !δ. Να εκτυπώνει τα ονόματα των μαθητών και δίπλα τους το μέσο ! όρο των βαθμών τους ταξινομημένα με βάση τον μέσο όρο κατά ! φθίνουσα σειρά. Σε περίπτωση ισοβαθμίας η σειρά ταξινόμησης ! των ονομάτων να είναι αλφαβητική. !ε. Να υπολογίζει και να εκτυπώνει το πλήθος των μαθητών με το ! μεγαλύτερο μέσο όρο. ! !Παρατήρηση: Θεωρείστε ότι οι βαθμοί των μαθητών είναι μεταξύ !του 0 και του 100 και ότι τα ονόματα των μαθητών είναι !γραμμένα με μικρά γράμματα. ΣΤΑΘΕΡΕΣ Ν = 5 ΜΕΤΑΒΛΗΤΕΣ ΧΑΡΑΚΤΗΡΕΣ: ονόματα[Ν], tempON ΑΚΕΡΑΙΕΣ: i, j, βαθμοί[Ν, 3], count ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ[Ν], temp ΑΡΧΗ !α. Να διαβάζει τα ονόματα των μαθητών και να τα αποθηκεύει ! σε μονοδιάστατο πίνακα. ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΓΡΑΨΕ 'Δώσε το ', i, 'ο όνομα' ΔΙΑΒΑΣΕ ονόματα[i] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ !β. Να διαβάζει τους τρεις βαθμούς που έλαβε κάθε μαθητής και ! να τους αποθηκεύει σε δισδιάστατο πίνακα. ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3 ΓΡΑΨΕ 'Μαθητής ', i, ' ', ονόματα[i], '.Δώσε ', j, 'ο βαθμό: ' ΔΙΑΒΑΣΕ βαθμοί[i, j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ !γ. Να υπολογίζει το μέσο όρο των βαθμών του κάθε μαθητή. ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν ΜΟ[i] <- (βαθμοί[i, 1] + βαθμοί[i, 2] + βαθμοί[i, 3])/3 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ !δ. Να εκτυπώνει τα ονόματα των μαθητών και δίπλα τους το μέσο ! όρο των βαθμών τους ταξινομημένα με βάση τον μέσο όρο κατά ! φθίνουσα σειρά. Σε περίπτωση ισοβαθμίας η σειρά ταξινόμησης ! των ονομάτων να είναι αλφαβητική. ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν ΓΙΑ j ΑΠΟ Ν ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1 ΑΝ (ΜΟ[j - 1] < ΜΟ[j]) & Η ((ΜΟ[j - 1] = ΜΟ[j]) ΚΑΙ (ονόματα[j - 1] > ονόματα[j])) ΤΟΤΕ temp <- ΜΟ[j] ΜΟ[j] <- ΜΟ[j - 1] ΜΟ[j - 1] <- temp tempON <- ονόματα[j] ονόματα[j] <- ονόματα[j - 1] ονόματα[j - 1] <- tempON ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ !ε. Να υπολογίζει και να εκτυπώνει το πλήθος των μαθητών με το ! μεγαλύτερο μέσο όρο. count <- 1 i <- 2 ΟΣΟ ΜΟ[i] = ΜΟ[1] ΕΠΑΝΑΛΑΒΕ count <- count + 1 i <- i + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ 'Πλήθος των μαθητών με το μεγαλύτερο μέσο όρο :', count ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Ολυμπιάδα_Πληροφορικής
|