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] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
|