Στο ευρωπαϊκό πρωτάθλημα ποδοσφαίρου συμμετέχουν 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]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Αρχικό