Άσκηση
59.
Σε
έναν αγώνα ακοντισμού συμμετέχουν 12 αθλητές. Κάθε αθλητής έκανε μόνο μία
έγκυρη ρίψη, που καταχωρείται ως επίδοση του αθλητή και εκφράζεται σε μέτρα.
Να αναπτύξετε αλγόριθμο που:
i. θα διαβάζει για κάθε αθλητή το όνομα και την
επίδοση του.
ii. θα ταξινομεί τους αθλητές ως προς την επίδοση
τους.
iii. θα εμφανίζει τα ονόματα και τις επιδόσεις των
τριών πρώτων αθλητών, αρχίζοντας από εκείνον με την καλύτερη επίδοση.
iv. θα εμφανίζει τα ονόματα και τις επιδόσεις των
πέντε τελευταίων αθλητών, αρχίζοντας από εκείνον με την καλύτερη επίδοση.
Σημείωση: Να θεωρήσετε ότι δεν υπάρχουν αθλητές με την
ίδια ακριβώς επίδοση.
(Εξετάσεις 2004)
Άσκηση
60.
Κατά
τη διάρκεια πρωταθλήματος Basket μια ομάδα που αποτελείται από δώδεκα (12) παίκτες έδωσε είκοσι
έξι (26) αγώνες, στους οποίους συμμετείχαν όλοι οι παίκτες. Να αναπτύξετε
αλγόριθμο ο οποίος:
i. θα διαβάζει τα ονόματα των παικτών και θα τα
αποθηκεύει σε μονοδιάστατο πίνακα.
ii. θα διαβάζει τους πόντους που σημείωσε κάθε
παίκτης σε κάθε αγώνα και θα τους αποθηκεύει σε πίνακα δύο διαστάσεων.
iii. θα υπολογίζει για κάθε παίκτη τον συνολικό
αριθμό πόντων του σε όλους τους αγώνες και τον μέσο όρο πόντων ανά αγώνα.
iv. θα εκτυπώνει τα ονόματα των παικτών της ομάδας
και τον μέσο όρο πόντων του κάθε παίκτη, ταξινομημένα με βάση τον μέσο όρο
τους κατά φθίνουσα σειρά.
Παρατήρηση:
Σε περίπτωση ισοβαθμίας, δεν μας
ενδιαφέρει η σχετική σειρά των παικτών.
(Εξετάσεις
2003)
Άσκηση
61.
Σε ένα εσπερινό γυμνάσιο φοιτούν 80 μαθητές. Να γράψετε αλγόριθμο ο οποίος:
i. διαβάζει για κάθε μαθητή το ονοματεπώνυμο
του, την τάξη του και τον τελικό βαθμό του και τα καταχωρεί σε μονοδιάστατους
πίνακες, ελέγχοντας την ορθότητα εισαγωγής των δεδομένων σύμφωνα με τα
παρακάτω:
a.
Οι τάξεις
είναι Α ή Β ή Γ.
b.
Ο τελικός
βαθμός είναι από 1 μέχρι και 20.
ii. εμφανίζει τα ονόματα των μαθητών της Β' τάξης
που έχουν τελικό βαθμό μεγαλύτερο ή ίσο του 18,5.
iii. υπολογίζει και εμφανίζει το πλήθος των μαθητών
κάθε τάξης.
iv. υπολογίζει και εμφανίζει τον μέσο όρο των
τελικών βαθμών των μαθητών της Γ' Τάξης.
v. εμφανίζει ταξινομημένα κατά αλφαβητική σειρά
τα ονοματεπώνυμα και τους αντίστοιχους τελικούς βαθμούς των μαθητών της Α'
Τάξης.
(Εξετάσεις 2006)
Αλγόριθμος ασκ59
Για i από 1 μέχρι 20
Διάβασε Ο[i], ΕΠ[i]
Για i από 1 μέχρι 20
Διάβασε Ο[i], ΕΠ[i]
Τέλος_επανάληψης
Για i από 2 μέχρι 20
Για j από 20 μέχρι i με_βήμα -1
Αν ΕΠ[j-1] < EΠ[j] τότε
Για j από 20 μέχρι i με_βήμα -1
Αν ΕΠ[j-1] < EΠ[j] τότε
Αντιμετάθεσε (ΕΠ[J-1], ΕΠ[J])
Αντιμετάθεσε (O[J-1], O[J])
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 μέχρι 3
Εμφάνισε Ο[i], ΕΠ[i]
Εμφάνισε Ο[i], ΕΠ[i]
Τέλος_επανάληψης
Για i από 20 μέχρι 16 με_βήμα -1
Εμφάνισε Ο[i], ΕΠ[i]
Εμφάνισε Ο[i], ΕΠ[i]
Τέλος_επανάληψης
Τέλος ασκ59
Αλγόριθμος ασκ60
Για i από 1 μέχρι 12
Διάβασε όνομα[i]
Για i από 1 μέχρι 12
Διάβασε όνομα[i]
Για j από 1 μέχρι 26
Διάβασε πόντοι[i,j]
Διάβασε πόντοι[i,j]
Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 μέχρι 12
sum ← 0
Για j από 1 μέχρι 26
sum ← sum + πόντοι[i,j]
sum ← 0
Για j από 1 μέχρι 26
sum ← sum + πόντοι[i,j]
Τέλος_επανάληψης
ΜΟ[i] ← sum/26
Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 2 μέχρι 12
Για j από 12 μέχρι i με_βήμα -1
Αν ΜΟ[j-1] < ΜΟ[j] τότε
Για j από 12 μέχρι i με_βήμα -1
Αν ΜΟ[j-1] < ΜΟ[j] τότε
Αντιμετάθεσε (ΜΟ[j], ΜΟ[j-1])
Αντιμετάθεσε (όνομα[j], όνομα[j-1])
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 μέχρι 12
Eκτύπωσε όνομα[i], ΜΟ[i]
Eκτύπωσε όνομα[i], ΜΟ[i]
Τέλος_επανάληψης
Τέλος ασκ60
Αλγόριθμος ασκ61
Για i από 1 μέχρι 80
Διάβασε Ο[i]
Για i από 1 μέχρι 80
Διάβασε Ο[i]
Αρχή_επανάληψης
Διάβασε Τ[i]
Μέχρις_ότου Τ[i] = 'Α' ή Τ[i] = 'Β' Ή Τ[i] = 'Γ'
Αρχή_επανάληψης
Αρχή_επανάληψης
Διάβασε Β[i]
Μέχρις_ότου Β[i] >= 1 ΚΑΙ Β[i] <=20
Τέλος_επανάληψης MΑ ← 0
MΒ ← 0
MΓ ← 0
Σ ← 0
Για i από 1 μέχρι 80
Αν Τ[i] = 'Β' τότε
Τέλος_επανάληψης MΑ ← 0
MΒ ← 0
MΓ ← 0
Σ ← 0
Για i από 1 μέχρι 80
Αν Τ[i] = 'Β' τότε
Αν Β[i] >= 18.5 τότε
Εμφάνισε Ο[i]
Τέλος_αν
MΒ ← MΒ +1
Αλλιώς_αν Τ[i] = 'Α' τότε
Αλλιώς_αν Τ[i] = 'Α' τότε
MΑ ← MΑ +1
Αλλιώς
Αλλιώς
MΓ ← MΓ + 1
Σ ← Σ+ Β[i]
Σ ← Σ+ Β[i]
Τέλος_αν
Τέλος_επανάληψης
Εμφάνισε MΑ, MΒ, MΓ
Αν MΓ<>0 τότε
Αν MΓ<>0 τότε
ΜΟ_Γ ← Σ/MΓ
Εμφάνισε ΜΟ, 'Γ τάξης'
αλλιώς
Εμφάνισε ΜΟ, 'Γ τάξης'
αλλιώς
Εμφάνισε 'ΚΑΝΕΙΣ ΣΤΗ Γ'
Τέλος_αν
Τέλος_αν
Για i από 2 μέχρι 80
Για j από 80 μέχρι i με_βήμα -1
Αν Ο[j-1] > Ο[j] τότε
Για j από 80 μέχρι i με_βήμα -1
Αν Ο[j-1] > Ο[j] τότε
temp1 ← Τ[j-1]
Τ[j-1] ← Τ[j]
Τ[j] ← temp1
temp2 ← Ο[j-1]
temp2 ← Ο[j-1]
Ο[j-1] ← Ο[j]
Ο[j] ← temp2
temp3 ← Β[j-1]
temp3 ← Β[j-1]
Β[j-1] ← Β[j]
Β[j] ← temp3
Τέλος_αν
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
Για j από 1 μέχρι 80
Αν Τ[i] = 'A' τότε
Αν Τ[i] = 'A' τότε
Εμφάνισε Ο[i], Β[i]
Τέλος_αν
Τέλος_επανάληψης
Τέλος ασκ61
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου