e-ΜΑΘΗΜΑΤΑ |
Λύσεις ασκήσεων από τον Οδηγό Μελέτης Μαθητών |
ΠΡΟΓΡΑΜΜΑ Αλμα_εις_μήκος
! ΑΕΠΠ - Οδηγός Μελέτης Μαθητή
! Μη λυμένες ασκήσεις 4.10.19
!
! 19. Στο αγώνισμα του άλματος εις μήκος συμμετέχουν 12 αθλητές οι οποίοι
! κάνουν 6 προσπάθειες ο καθένας. Να γραφεί πρόγραμμα σε "ΓΛΩΣΣΑ", το οποίο να:
! 1) Διαβάζει και να αποθηκεύει τα ονόματα 12 αθλητών σε μονοδιάστατο πίνακα.
! 2) Διαβάζει και να αποθηκεύει σε δισδιάστατο πίνακα τις επιδόσεις του κάθε
! αθλητή στις 6 προσπάθειες που έκανε. Η άκυρη προσπάθεια δίνεται το μηδέν.
! 3) Εμφανίζει για κάθε αθλητή το όνομά του και τις επιδόσεις του ταξινομημένες,
! από την καλύτερη προς την χειρότερη, εκτός από τις άκυρες.
! 4) Εμφανίζει το όνομα του νικητή του αγωνίσματος άλματος εις μήκος.
! Νικητής θεωρείται αυτός με την μεγαλύτερη επίδοση
! Στην περίπτωση ισοβαθμίας, νικητής θεωρείται αυτός που έχει την μεγαλύτερη
! 2η επίδοση.
ΜΕΤΑΒΛΗΤΕΣ
ΧΑΡΑΚΤΗΡΕΣ: όνομα[12], max_on
ΠΡΑΓΜΑΤΙΚΕΣ: επιδόσεις[12, 6], temp, max, max2
ΑΚΕΡΑΙΕΣ: i, j, k
ΑΡΧΗ
! Διάβασμα τιμών
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 12
ΓΡΑΨΕ 'Δώστε όνομα ', i, 'ου αθλητή'
ΔΙΑΒΑΣΕ όνομα[i]
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 6
ΓΡΑΨΕ 'Δώστε ', j, 'η επίδοση'
ΔΙΑΒΑΣΕ επιδόσεις[i, j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! Ταξινόμηση και εμφάνιση επιδόσεων
ΓΙΑ k ΑΠΟ 1 ΜΕΧΡΙ 12
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 6
ΓΙΑ j ΑΠΟ 6 ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
ΑΝ (επιδόσεις[k, j - 1] < επιδόσεις[k, j]) ΤΟΤΕ
temp <- επιδόσεις[k, j]
επιδόσεις[k, j] <- επιδόσεις[k, j - 1]
επιδόσεις[k, j - 1] <- temp
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ όνομα[k]
i <- 1
ΟΣΟ i <= 6 ΚΑΙ επιδόσεις[k, i] > 0 ΕΠΑΝΑΛΑΒΕ
ΓΡΑΨΕ επιδόσεις[k, i], ' '
i <- i + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! εύρεση μέγιστης επίδοσης
max <- επιδόσεις[1, 1]
max2 <- επιδόσεις[1, 2]
max_on <- όνομα[1]
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 12
ΑΝ επιδόσεις[i, 1] > max ΤΟΤΕ
! αρκεί να δούμε την πρώτη επίδοση κάθε αθλητή, αφού έχουμε κάνει ταξινόμηση
max <- επιδόσεις[i, 1]
max_on <- όνομα[i]
max2 <- επιδόσεις[i, 2]
ΑΛΛΙΩΣ_ΑΝ επιδόσεις[i, 1] = max ΚΑΙ επιδόσεις[i, 2] > max2 ΤΟΤΕ
! ελέγχουμε την δεύτερη είδοση των αθλητών που ισοβαθμούν
max <- επιδόσεις[i, 1]
max_on <- όνομα[i]
max2 <- επιδόσεις[i, 2]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'Νικητής : ', max_on, ' με επίδοση : ', max
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
|