Να ξαναγράψεις την άσκηση ΔΣ6 του κεφαλαίου 9, τα αποτελέσματα των αγώνων ομίλου του EuroBasket, χρησιμοποιώντας διαδικασίες και συναρτήσεις.
ΛΥΣΗ
ΠΡΟΓΡΑΜΜΑ Πρωτάθλημα ! Έστω 5 ομάδες στον όμιλο ΜΕΤΑΒΛΗΤΕΣ ΧΑΡΑΚΤΗΡΕΣ : Σ1[5, 5], ΟΜΑΔΑ[5], βοηθητική1 ΑΚΕΡΑΙΕΣ : Π1[5, 5], ΒΑΘΜΟΙ[5], ΔΙΑΦΟΡΑ[5], i, j, βοηθητική2 ΑΡΧΗ ΚΑΛΕΣΕ Αρχικοποίηση_Πίνακα_Ακεραίων(ΒΑΘΜΟΙ) ΚΑΛΕΣΕ Αρχικοποίηση_Πίνακα_Ακεραίων(ΔΙΑΦΟΡΑ) ΚΑΛΕΣΕ Εισαγωγή_Δεδομένων(ΟΜΑΔΑ, Π1, Σ1) ΚΑΛΕΣΕ Υπολογισμός_Βαθμών_Διαφοράς(Π1, Σ1, ΒΑΘΜΟΙ, ΔΙΑΦΟΡΑ) ΚΑΛΕΣΕ Ταξινόμηση_Φθιν_Πίνακα(ΒΑΘΜΟΙ, ΔΙΑΦΟΡΑ, ΟΜΑΔΑ) ΚΑΛΕΣΕ Εμφάνιση_αποτελεσμάτων(ΒΑΘΜΟΙ, ΔΙΑΦΟΡΑ, ΟΜΑΔΑ) ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ Αρχικοποίηση_Πίνακα_Ακεραίων(πίνακας) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: πίνακας[5], Ι ΑΡΧΗ ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 5 πίνακας[Ι]<--0 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΔΙΑΔΙΚΑΣΙΑ Εισαγωγή_Δεδομένων(ΟΜΑΔΑ, Π1, Σ1) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Π1[5,5], i, j ΧΑΡΑΚΤΗΡΕΣ: ΟΜΑΔΑ[5], Σ1[5,5] ΑΡΧΗ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 ΓΡΑΨΕ 'ΔΩΣΕ ΟΝΟΜΑ ΟΜΑΔΑΣ ', i ΔΙΑΒΑΣΕ ΟΜΑΔΑ[i] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ 'Δώστε Nίκη (Ν) /Ήττα (H)' ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 ΓΙΑ j ΑΠΟ i+1 ΜΕΧΡΙ 5 ! Άνω τριγωνικός ΓΡΑΨΕ 'Ομάδα ', ΟΜΑΔΑ [i], 'εναντίον ομάδας ', ΟΜΑΔΑ[j] ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ Σ1[i, j] ΜΕΧΡΙΣ_ΟΤΟΥ (Σ1[i, j] = 'Ν') Η (Σ1[i, j] = 'Η') ΓΡΑΨΕ 'Διαφορά πόντων για τον αγώνα αυτό' ΔΙΑΒΑΣΕ Π1[i, j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΔΙΑΔΙΚΑΣΙΑ Υπολογισμός_Βαθμών_Διαφοράς(π1, σ1, βαθμοί, διαφορά) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, j, π1[5,5], βαθμοί[5], διαφορά[5] ΧΑΡΑΚΤΗΡΕΣ: σ1[5,5] ΑΡΧΗ ! Οι ομάδες, που συμμετέχουν, σε ένα αγώνα, βαθμολογούνται με ! α. δύο βαθμούς (2), στη περίπτωση νίκης ! β. ένα βαθμό (1), στη περίπτωση ήττας. ! H διαφορά πόντων προσμετράται μόνο στον νικητή. ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 ΓΙΑ j ΑΠΟ i+1 ΜΕΧΡΙ 5 ΑΝ (σ1[i, j] = 'N') ΤΟΤΕ βαθμοί[i] <-- βαθμοί[i] + 2 βαθμοί[j] <-- βαθμοί[j] + 1 διαφορά[i] <-- διαφορά[i] + π1[i, j] ΑΛΛΙΩΣ βαθμοί[i] <-- βαθμοί[i] + 1 βαθμοί[j] <-- βαθμοί[j] + 2 διαφορά[j] <-- διαφορά[j] + π1[i, j] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΔΙΑΔΙΚΑΣΙΑ Ταξινόμηση_Φθιν_Πίνακα(βαθμοί, διαφορά, ομάδα) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, j, βαθμοί[5], διαφορά[5], βοηθητική2 ΧΑΡΑΚΤΗΡΕΣ: ομάδα[5], βοηθητική1 ΑΡΧΗ ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 5 ΓΙΑ j ΑΠΟ 5 ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1 ΑΝ (ΒΑΘΜΟΙ[j-1] < ΒΑΘΜΟΙ[j]) ΤΟΤΕ ! φθίνουσα ταξινόμηση ως προς τη βαθμολογία ! αντιμετάθεση πίνακα βαθμολογίας βοηθητική2 <-- βαθμοί[j-1] βαθμοί[j-1] <-- βαθμοί[j] βαθμοί[j] <-- βοηθητική2 ! ταυτόχρονη αντιμετάθεση πίνακα διαφορών βοηθητική2 <-- διαφορά[j-1] διαφορά[j-1] <-- διαφορά[j] διαφορά[j] <-- βοηθητική2 ! ταυτόχρονη αντιμετάθεση πίνακα ονομάτων βοηθητική1 <-- ομάδα[j-1] ομάδα[j-1] <-- ομάδα[j] ομάδα[j] <-- βοηθητική1 ΑΛΛΙΩΣ_ΑΝ (ΒΑΘΜΟΙ[j-1] = ΒΑΘΜΟΙ[j]) ΤΟΤΕ !σε περίπτωση ισοβαθμίας !φθίνουσα ταξινόμηση ως προς τη διαφορά πόντων ! αντιμετάθεση πίνακα διαφορών ΑΝ (διαφορά[j-1] < διαφορά[j]) ΤΟΤΕ βοηθητική2 <-- διαφορά[j-1] διαφορά[j-1] <-- διαφορά[j] διαφορά[j] <-- βοηθητική2 !ταυτόχρονη αντιμετάθεση πίνακα ονομάτων βοηθητική1 <-- ομάδα[j-1] ομάδα[j-1] <-- ομάδα[j] ομάδα[j] <-- βοηθητική1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΔΙΑΔΙΚΑΣΙΑ Εμφάνιση_αποτελεσμάτων(βαθμοί, διαφορά, ομάδα) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, βαθμοί[5], διαφορά[5] ΧΑΡΑΚΤΗΡΕΣ: ομάδα[5] ΑΡΧΗ ΓΡΑΨΕ 'ΤΕΛΙΚΗ ΚΑΤΑΤΑΞΗ:' ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 ΓΡΑΨΕ ομάδα[i], ' ΒΑΘΜΟΙ ', βαθμοί[i], 'ΔΙΑΦΟΡΑ ΠΟΝΤΩΝ ', διαφορά[i] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Πρόσφατα σχόλια