Πρόγραμμα Eurobasket
Εκφώνηση
Σε ένα όμιλο ευρωπαϊκού πρωταθλήματος καλαθοσφαίρισης συμμετέχουν 5 χώρες. Κάθε ομάδα παίζει με όλες τις υπόλοιπες μία φορά. Όταν νικά παίρνει 2 πόντους, ενώ όταν χάνει 1 πόντο. Τα αποτελέσματα αποθηκεύονται σε δισδιάστατους πίνακες ΑΠ[5, 5] και ΔΠ[5, 5] που περιέχουν τα αποτελέσματα των αγώνων ομίλου.
Ο πίνακας ΑΠ περιέχει τα αποτελέσματα των αγώνων Ν (νίκη) ή Η (ήττα)), ενώ ο πίνακας ΔΠ τη διαφορά πόντων για κάθε αγώνα, δηλαδή πόσους πόντους περισσότερους είχε ο νικητής.. Τα στοιχεία της κύριας διαγωνίου δεν περιέχουν καμία πληροφορία (καμία ομάδα δεν παίζει με τον εαυτό της). Ο πίνακας περιέχει στοιχεία μόνο πάνω από τη διαγώνιό του, είναι δηλαδή άνω τριγωνικός (κάθε ομάδα παίζει μόνο μία φορά με κάθε αντίπαλο).
Η πρώτη χώρα για παράδειγμα όταν παίζει με την τέταρτη χάνει (ΑΠ[1,4]=Η) με ΔΠ[1,4]=7 πόντους έτσι η πρώτη ομάδα παίρνει 1 πόντο και η συνολική διαφορά πόντων της μειώνεται κατά 7 ενώ η τέταρτη ομάδα παίρνει 2 πόντους και η συνολική της διαφορά πόντων της αυξάνεται κατά 7.
Δ1. Να γραφτεί αλγόριθμος που θα διαβάζει τις πέντε χώρες σε πίνακα Χώρες[5]. Μονάδες 2
Δ2. Να διαβάζει του πίνακες με τα αποτελέσματα των αγώνων (ΑΠ) και τις διαφορές πόντων των αγώνων (ΔΠ). Τα δεδομένα που εισάγονται στον ΑΠ να ελέγχονται για την ορθότητά τους. Μονάδες 4
Δ3. Θα υπολογίζει τη συνολική βαθμολογία των ομάδων σε πίνακα Βαθ[5] και τις συνολικές διαφορές πόντων κάθε ομάδας στον πίνακα ΣΔΠ[5]. Μονάδες 8
Δ4. Θα εκτυπώνει σε φθίνουσα διάταξη την τελική βαθμολογία του ομίλου. Σε περίπτωση ισοβαθμίας προηγείται η ομάδα που έχει την καλύτερη διαφορά πόντων από τις ισόβαθμές της. Μονάδες 6
Λύση
ΠΡΟΓΡΑΜΜΑ ΕΥΡΩΜΠΑΣΚΕΤ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Β[5],ΔΠ[5,5],ΣΔΠ[5],Ι,Ξ,ΤΕΜΠ,ΤΕΜΠ2
ΧΑΡΑΚΤΗΡΕΣ: ΟΜ[5],ΑΠ[5,5],ΤΕΜΠ1
ΑΡΧΗ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 5
ΓΡΑΨΕ ‘ΔΩΣΕ ΧΩΡΑ’
ΔΙΑΒΑΣΕ ΟΜ[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 5
ΓΙΑ Ξ ΑΠΟ 1 ΜΕΧΡΙ 5
ΑΝ Ι<Ξ ΤΟΤΕ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'ΔΩΣΕ ΑΠΟΤΕΛΕΣΜΑ',ΟΜ[Ι],'VS',ΟΜ[Ξ]
ΔΙΑΒΑΣΕ ΑΠ[Ι,Ξ]
ΜΕΧΡΙΣ_ΟΤΟΥ ΑΠ[Ι,Ξ]='Ν' Η ΑΠ[Ι,Ξ]='Η'
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'ΔΩΣΕ ΔΙΑΦΟΡΑ ΠΟΝΤΩΝ ΤΟΥ ΑΓΩΝΑ'
ΔΙΑΒΑΣΕ ΔΠ[Ι,Ξ]
ΜΕΧΡΙΣ_ΟΤΟΥ ΔΠ[Ι,Ξ]>0
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
!ΣΥΜΠΛΗΡΩΣΗ ΠΙΝΑΚΩΝ ΜΕ ΑΝΤΙΣΤΡΟΦΑ ΑΠΟΤΕΛΕΣΜΑΤΑ
!ΚΑΙ ΟΜΟΙΕΣ ΔΙΑΦΟΡΕΣ ΠΟΝΤΩΝ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 5
ΓΙΑ Ξ ΑΠΟ 1 ΜΕΧΡΙ 5
ΑΝ Ι<Ξ ΤΟΤΕ
ΑΝ ΑΠ[Ι,Ξ]='Ν' ΤΟΤΕ
ΑΠ[Ξ,Ι] <-- 'Η'
ΑΛΛΙΩΣ
ΑΠ[Ξ,Ι] <-- 'Ν'
ΤΕΛΟΣ_ΑΝ
ΔΠ[Ξ,Ι] <-- ΔΠ[Ι,Ξ]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
!ΥΠΟΛΟΓΙΣΜΟΙ ΒΑΘΜΩΝ ΚΑΙ ΣΥΝΟΛΙΚΗΣ ΔΙΑΦΟΡΑΣ ΠΟΝΤΩΝ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 5
Β[Ι] <-- 0
ΣΔΠ[Ι] <-- 0
ΓΙΑ Ξ ΑΠΟ 1 ΜΕΧΡΙ 5
ΑΝ Ι<>Ξ ΤΟΤΕ
ΑΝ ΑΠ[Ι,Ξ]=’Ν’ ΤΟΤΕ
Β[Ι] <-- Β[Ι]+2
ΣΔΠ[Ι] <-- ΣΔΠ[Ι]+ΔΠ[Ι,Ξ]
ΑΛΛΙΩΣ
Β[Ι] <-- Β[Ι]+1
ΣΔΠ[Ι] <-- ΣΔΠ[Ι]-ΔΠ[Ι,Ξ]
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ ΟΜ[Ι],Β[Ι],ΣΔΠ[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
!ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΒΑΣΗ ΒΑΘΜΟΥΣ Κ ΣΕ ΙΣΟΒΑΘΜΙΑ ΜΕ ΔΙΑΦΟΡΑ ΠΟΝΤΩΝ
ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 5
ΓΙΑ Ξ ΑΠΟ 5 ΜΕΧΡΙ Ι ΜΕ ΒΗΜΑ -1
ΑΝ Β[Ξ-1]<Β[Ξ] ΤΟΤΕ
ΤΕΜΠ <-- Β[Ξ-1]
Β[Ξ-1] <-- Β[Ξ]
Β[Ξ] <-- ΤΕΜΠ
ΤΕΜΠ1 <-- ΟΜ[Ξ-1]
ΟΜ[Ξ-1] <-- ΟΜ[Ξ]
ΟΜ[Ξ] <-- ΤΕΜΠ1
ΤΕΜΠ2 <-- ΣΔΠ[Ξ-1]
ΣΔΠ[Ξ-1] <-- ΣΔΠ[Ξ]
ΣΔΠ[Ξ] <-- ΤΕΜΠ2
ΑΛΛΙΩΣ_ΑΝ Β[Ξ-1]=Β[Ξ] ΤΟΤΕ
ΑΝ ΣΔΠ[Ξ-1]<ΣΔΠ[Ξ] ΤΟΤΕ
ΤΕΜΠ2 <-- ΣΔΠ[Ξ-1]
ΣΔΠ[Ξ-1] <-- ΣΔΠ[Ξ]
ΣΔΠ[Ξ] <-- ΤΕΜΠ2
ΤΕΜΠ1 <-- ΟΜ[Ξ-1]
ΟΜ[Ξ-1] <-- ΟΜ[Ξ]
ΟΜ[Ξ] <-- ΤΕΜΠ1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
!ΤΕΛΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ
ΓΡΑΨΕ 'ΤΕΛΙΚΗ ΒΑΘΜΟΛΟΓΙΑ'
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 5
ΓΡΑΨΕ ΟΜ[Ι],Β[Ι],ΣΔΠ[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ