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