Στο ευρωπαϊκό πρωτάθλημα ποδοσφαίρου συμμετέχουν 16 ομάδες. Κάθε ομάδα συμμετέχει σε 30 αγώνες. Να γράψετε αλγόριθμο ο οποίος:
α. Διαβάζει σε μονοδιάστατο πίνακα ΟΝ[16] τα ονόματα των ομάδων.
Μονάδες 2
β. Διαβάζει σε δισδιάστατο πίνακα ΑΠ[16,30] τα αποτελέσματα σε κάθε αγώνα ως εξής:
Τον χαρακτήρα «Ν» για ΝΙΚΗ
Τον χαρακτήρα «Ι» για ΙΣΟΠΑΛΙΑ
Τον χαρακτήρα «Η» για ΗΤΤΑ
και κάνει τον απαραίτητο έλεγχο εγκυρότητας των δεδομένων.
Μονάδες 4
γ. Για κάθε ομάδα υπολογίζει και καταχωρεί σε δισδιάστατο πίνακα ΠΛ[16,3] το πλήθος των νικών στην πρώτη στήλη, το πλήθος των ισοπαλιών στη δεύτερη
στήλη, και το πλήθος των ηττών στην τρίτη στήλη του πίνακα. Ο πίνακας αυτός πρέπει προηγουμένως να έχει μηδενισθεί.
Μονάδες 6
δ. Με βάση τα στοιχεία του πίνακα ΠΛ[16,3] υπολογίζει και καταχωρεί σε νέο πίνακα ΒΑΘ[16] τη συνολική βαθμολογία κάθε ομάδας, δεδομένου ότι για κάθε νίκη η ομάδα παίρνει τρεις βαθμούς, για κάθε ισοπαλία έναν βαθμό και για κάθε ήττα κανέναν βαθμό.
Μονάδες 3
ε. Εμφανίζει τα ονόματα και τη βαθμολογία των ομάδων ταξινομημένα σε φθίνουσα σειρά με βάση τη βαθμολογία.
Μονάδες 5
Τα θέματα σε pdf, 2008, Μαΐου-Ιουνίου, Ημερήσια
ΛΥΣΗ
! ===============================================================================================
! ΗΜΕΡΗΣΙΟ – ΙΟΥΝΙΟΣ 2008 – ΘΕΜΑ 4
! ===============================================================================================
! Στο ευρωπαϊκό πρωτάθλημα ποδοσφαίρου συμμετέχουν 16 ομάδες. Κάθε ομάδα συμμετέχει σε 30 αγώνες.
! Να γράψετε αλγόριθμο ο οποίος:
! α. Διαβάζει σε μονοδιάστατο πίνακα ΟΝ[16] τα ονόματα των ομάδων.
! β. Διαβάζει σε δισδιάστατο πίνακα ΑΠ[16,30] τα αποτελέσματα σε κάθε αγώνα ως εξής:
! Τον χαρακτήρα “Ν”για ΝΙΚΗ
! Τον χαρακτήρα “Ι” για ΙΣΟΠΑΛΙΑ
! Τον χαρακτήρα “Η” για ΗΤΤΑ
! και κάνει τον απαραίτητο έλεγχο εγκυρότητας των δεδομένων.
! γ. Για κάθε ομάδα υπολογίζει και καταχωρεί σε δισδιάστατο πίνακα ΠΛ[16,3] το πλήθος των νικών
! στην πρώτη στήλη, το πλήθος των ισοπαλιών στη δεύτερη στήλη, και το πλήθος των ηττών στην
! τρίτη στήλη του πίνακα. Ο πίνακας αυτός πρέπει προηγουμένως να έχει μηδενισθεί.
! δ. Με βάση τα στοιχεία του πίνακα ΠΛ[16,3] υπολογίζει και καταχωρεί σε νέο πίνακα ΒΑΘ[16] τη
! συνολική βαθμολογία κάθε ομάδας, δεδομένου ότι για κάθε νίκη η ομάδα παίρνει τρεις βαθμούς,
! για κάθε ισοπαλία έναν βαθμό και για κάθε ήττα κανέναν βαθμό.
! ε. Εμφανίζει τα ονόματα και τη βαθμολογία των ομάδων ταξινομημένα σε φθίνουσα σειρά με βάση τη
! βαθμολογία.
! ===============================================================================================
!
ΠΡΟΓΡΑΜΜΑ θΕΜΑ_Δ_2008_06_4_ΗΜΕΡ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ : πλ[16,3] , βαθ[16] , i , j , temp1
ΧΑΡΑΚΤΗΡΕΣ : ονομ[16] , απ[16,30] , temp2
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
ΓΡΑΨΕ ‘Δώσε το όνομα της ομάδας No :’, i
ΔΙΑΒΑΣΕ ονομ[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 16
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 30
ΓΡΑΨΕ ‘Τι έκανε η ομάδα’ , ονομ[i] , ‘στον αγώνα’ , j
ΓΡΑΨΕ ‘Νίκησε (Ν) , έχασε (Η) ή έφερε ισοπαλία (Ι) ;’
ΔΙΑΒΑΣΕ απ[i,j]
ΟΣΟ απ[i,j] <> ‘Ν’ ΚΑΙ απ[i,j] <> ‘Ι’ ΚΑΙ απ[i,j] <> ‘Η’ ΕΠΑΝΑΛΑΒΕ
ΓΡΑΨΕ ‘Λάθος. Ξαναδώσε Ν ή Ι ή Η’
ΔΙΑΒΑΣΕ απ[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 16
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
πλ[i,j] <– 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
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 16
βαθ[i] <– πλ[i,1]*3 + πλ[i,2]*1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 16
ΓΙΑ j ΑΠΟ 16 ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
ΑΝ βαθ[j-1] < βαθ[j] ΤΟΤΕ
temp1 <– βαθ[j-1]
βαθ[j-1] <– βαθ[j]
βαθ[j] <– temp1
temp2 <– ονομ[j-1]
ονομ[j-1] <– ονομ[j]
ονομ[j] <– temp2
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 16
ΓΡΑΨΕ ονομ[i] , βαθ[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Πρόσφατα σχόλια