|
e-ΜΑΘΗΜΑΤΑ |
|
Λύσεις ασκήσεων από θέματα Πανελλαδικών εξετάσεων |
ΠΡΟΓΡΑΜΜΑ ιππικό_τρίαθλο
!Ε2006-Θ4
!Στους προκριματικούς αγώνες ιππικού τριάθλου συμμετέχουν 16
!αθλητές.
! Τα αγωνίσματα είναι: ιππική δεξιοτεχνία, υπερπήδηση εμποδίων
!και ελεύθερη ιππασία. Ο κάθε αθλητής βαθμολογείται ξεχωριστά
!σε κάθε ένα από τα τρία αγωνίσματα.
!
!Να σχεδιάσετε αλγόριθμο ο οποίος:
!α) καταχωρίζει σε πίνακα τις ονομασίες των τριών αγωνισμάτων,
! όπως αυτές δίνονται παραπάνω.
!β) διαβάζει για κάθε αθλητή όνομα, επίθετο, όνομα αλόγου με το
! οποίο αγωνίζεται και τους βαθμούς του σε κάθε αγώνισμα και
! θα καταχωρίζει τα στοιχεία σε πίνακες.
!γ) διαβάζει το όνομα και το επίθετο ενός αθλητή και θα
! εμφανίζει το όνομα του αλόγου με το οποίο αγωνίστηκε
! και τη συνολική του βαθμολογία στα τρία αγωνίσματα.
! Αν δεν υπάρχει ο αθλητής, θα εμφανίζει κατάλληλα
! διαμορφωμένο μήνυμα.
!δ) εμφανίζει την ονομασία του αγωνίσματος (ή των αγωνισμάτων)
! με το μεγαλύτερο «άνοιγμα βαθμολογίας».
! Ως «άνοιγμα βαθμολογίας» να θεωρήσετε τη διαφορά ανάμεσα
! στην καλύτερη και στη χειρότερη βαθμολογία του αγωνίσματος.
ΣΤΑΘΕΡΕΣ
Ν = 16
ΜΕΤΑΒΛΗΤΕΣ
ΧΑΡΑΚΤΗΡΕΣ: ονομασία_αγωνισμάτος[3]
ΧΑΡΑΚΤΗΡΕΣ: όνομα[Ν], επίθετο[Ν], άλογο[Ν], ΟΝ, ΕΠ
ΠΡΑΓΜΑΤΙΚΕΣ: βαθμολογία[Ν, 3]
ΑΚΕΡΑΙΕΣ: i, j
ΛΟΓΙΚΕΣ: done
ΠΡΑΓΜΑΤΙΚΕΣ: μεγαλύτερο_άνοιγμα, max[3], min[3]
ΑΡΧΗ
!α) καταχωρίζει σε πίνακα τις ονομασίες των τριών αγωνισμάτων,
! όπως αυτές δίνονται παραπάνω.
ονομασία_αγωνισμάτος[1] <- 'ιππική δεξιοτεχνία'
ονομασία_αγωνισμάτος[2] <- 'υπερπήδηση εμποδίων'
ονομασία_αγωνισμάτος[3] <- 'ελεύθερη ιππασία'
!β) διαβάζει για κάθε αθλητή όνομα, επίθετο, όνομα αλόγου με το
! οποίο αγωνίζεται και τους βαθμούς του σε κάθε αγώνισμα και
! θα καταχωρίζει τα στοιχεία σε πίνακες.
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
ΓΡΑΨΕ 'Δώσε όνομα ', i, 'ου αθλητή : '
ΔΙΑΒΑΣΕ όνομα[i]
ΓΡΑΨΕ 'Δώσε επίθετο ', i, 'ου αθλητή : '
ΔΙΑΒΑΣΕ επίθετο[i]
ΓΡΑΨΕ 'Δώσε όνομα ', i, 'ου αλόγου : '
ΔΙΑΒΑΣΕ άλογο[i]
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
ΓΡΑΨΕ 'Δώσε βαθμολογία στο ', j, 'ο αγώνισμα (', ονομασία_αγωνισμάτος[j], '): '
ΔΙΑΒΑΣΕ βαθμολογία[i, j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
!γ) διαβάζει το όνομα και το επίθετο ενός αθλητή και θα
! εμφανίζει το όνομα του αλόγου με το οποίο αγωνίστηκε
! και τη συνολική του βαθμολογία στα τρία αγωνίσματα.
! Αν δεν υπάρχει ο αθλητής, θα εμφανίζει κατάλληλα
! διαμορφωμένο μήνυμα.
ΓΡΑΨΕ 'Δώσε όνομα αθλητή για αναζήτηση : '
ΔΙΑΒΑΣΕ ΟΝ
ΓΡΑΨΕ 'Δώσε επίθετο αθλητή για αναζήτηση : '
ΔΙΑΒΑΣΕ ΕΠ
done <- ΨΕΥΔΗΣ
i <- 1
ΟΣΟ (done = ΨΕΥΔΗΣ) ΚΑΙ (i <= Ν) ΕΠΑΝΑΛΑΒΕ
ΑΝ όνομα[i] = ΟΝ ΚΑΙ επίθετο[i] = ΕΠ ΤΟΤΕ
done <- ΑΛΗΘΗΣ
ΓΡΑΨΕ 'Όνομα αλόγου : ', άλογο[i]
ΓΡΑΨΕ 'Συνολική βαθμολογία :', βαθμολογία[i, 1] + βαθμολογία[i, 2] + βαθμολογία[i, 3]
ΑΛΛΙΩΣ
i <- i + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ (done = ΨΕΥΔΗΣ) ΤΟΤΕ
ΓΡΑΨΕ 'Δεν υπάρχει ο αθλητής : ', ΕΠ, ' ', ΟΝ
ΤΕΛΟΣ_ΑΝ
!δ) εμφανίζει την ονομασία του αγωνίσματος (ή των αγωνισμάτων)
! με το μεγαλύτερο «άνοιγμα βαθμολογίας».
! Ως «άνοιγμα βαθμολογίας» να θεωρήσετε τη διαφορά ανάμεσα
! στην καλύτερη και στη χειρότερη βαθμολογία του αγωνίσματος.
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
max[j] <- βαθμολογία[1, j]
min[j] <- βαθμολογία[1, j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
ΑΝ max[j] < βαθμολογία[i, j] ΤΟΤΕ
max[j] <- βαθμολογία[i, j]
ΤΕΛΟΣ_ΑΝ
ΑΝ min[j] > βαθμολογία[i, j] ΤΟΤΕ
min[j] <- βαθμολογία[i, j]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
μεγαλύτερο_άνοιγμα <- max[1] - min[1]
ΓΙΑ j ΑΠΟ 2 ΜΕΧΡΙ 3
ΑΝ μεγαλύτερο_άνοιγμα < (max[j] - min[j]) ΤΟΤΕ
μεγαλύτερο_άνοιγμα <- max[j] - min[j]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
ΑΝ max[j] - min[j] = μεγαλύτερο_άνοιγμα ΤΟΤΕ
ΓΡΑΨΕ 'Mεγαλύτερο άνοιγμα το άθλημα :', ονομασία_αγωνισμάτος[j]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
|
|