|
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
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Ολυμπιάδα_Πληροφορικής
|
|