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 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
|