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