Άσκηση
62.
Για
την πρώτη φάση της Ολυμπιάδας Πληροφορικής
δήλωσαν συμμετοχή 500μαθητές. Οι μαθητές διαγωνίζονται σε τρεις
γραπτές εξετάσεις και βαθμολογούνται με βαθμούς στη βαθμολογική κλίμακα από 0
έως και 100. Να γράψετε αλγόριθμο ο οποίος:
i. θα διαβάζει τα ονόματα των μαθητών και θα τα αποθηκεύει σε μονοδιάστατο
πίνακα
ii. θα διαβάζει τους τρεις βαθμούς που έλαβε ο κάθε μαθητής και θα τους αποθηκεύει σε
δισδιάστατο πίνακα.
iii. θα υπολογίζει τον μέσο όρο των βαθμών του κάθε
μαθητή.
iv. θα εκτυπώνει τα ονόματα των μαθητών και δίπλα
τους τον μέσο όρο των βαθμών τους, ταξινομημένα με βάση τον μέσο όρο σε
φθίνουσα σειρά. Σε περίπτωση ισοβαθμίας η σειρά ταξινόμησης των ονομάτων θα
είναι αλφαβητική.
v. θα υπολογίζει και θα εκτυπώνει το πλήθος των
μαθητών με τον μεγαλύτερο μέσο όρο.
Παρατήρηση:
Θεωρήστε ότι οι βαθμοί των μαθητών είναι μεταξύ του 0 και του 100 και ότι
τα ονόματα των μαθητών είναι γραμμένα με μικρά γράμματα.
(Εξετάσεις
2004)
Άσκηση
64.
Διαθέτουμε
σε κατάλληλους πίνακες μηνιαίες πωλήσεις των 160 πωλητών της εταιρείας ALPAZARF. Να αναπτύξετε αλγόριθμο ο οποίος:
i. θα εκτυπώνει πόσοι πωλητές έχουν επιτύχει
συνολικό ποσό πωλήσεων μεγαλύτερο από 10.000 € κατά τους μήνες
Ιανουάριο-Φεβρουάριο-Μάρτιο.
ii. θα εκτυπώνει πόσοι πωλητές είχαν τον Απρίλιο
περισσότερες πωλήσεις από τον Οκτώβριο.
iii. θα εκτυπώνει πόσοι πωλητές ήταν καλύτεροι το
4ο τρίμηνο σε σχέση με το 2ο.
iv. θα εκτυπώνει ποιους μήνες ο 45ος πωλητής
πέτυχε πωλήσεις περισσότερες από 4000 €.
v. θα εκτυπώνει ποιον μήνα, με έναρξη τον
Ιανουάριο, ο 50ός πωλητής πέτυχε συγκεντρωτικές πωλήσεις περισσότερες από
23.000 €. Αν δεν ξεπέρασε το όριο αυτό, να εμφανίζεται κατάλληλο μήνυμα.
Άσκηση
65.
Στον
διαγωνισμό ΑΣΕΠ του 2008 οι 3500 διαγωνιζόμενοι
εκπαιδευτικοί κλήθηκαν να απαντήσουν σε 80 ερωτήσεις του τύπου Σωστό-Λάθος. Να
αναπτύξετε αλγόριθμο που:
i. θα διαβάζει τα ονόματα των διαγωνιζομένων και
θα τα καταχωρεί σε πίνακα NAMES. Στη
συνέχεια, για κάθε διαγωνιζόμενο θα διαβάζει τις απαντήσεις του στις ερωτήσεις
(η απάντηση μπορεί να είναι: "Σωστό", "Λάθος" ή "Δεν
ξέρω") και θα τις αποθηκεύει στον πίνακα ANSWERS[3500, 80], πραγματοποιώντας έλεγχο.Θεωρείται
δεδομένος ο πίνακας RIGHT[80], που περιέχει τις ορθές
απαντήσεις σε κάθε ερώτηση (έχει τιμές: "Σωστό", "Λάθος").
ii. για κάθε υποψήφιο θα δημιουργεί τον πίνακα CORRECT, που περιέχει το πλήθος των σωστών απαντήσεων
του. Επίσης, αν κάθε σωστή απάντηση βαθμολογείται με 1 μονάδα, κάθε λανθασμένη
με -0,25 και το
"Δεν ξέρω" με 0 μονάδες, θα δημιουργεί τον πίνακα GRADES[3500], που περιέχει τη βαθμολογία για κάθε
διαγωνιζόμενο.
iii. να εκτυπώνει τους αριθμούς των ερωτήσεων που
τις απάντησαν όλοι οι υποψήφιοι σωστά. Αν δεν υπάρχει καμία, να εκτυπώνεται
κατάλληλο μήνυμα.
iv. θα δημιουργεί νέο πίνακα ΕΠ με τα ονόματα των
επιτυχόντων, αν είναι γνωστό ότι από τον διαγωνισμό διορίζονται 157 άτομα. (Να
θεωρήσετε ότι δεν υπάρχουν ισοβαθμίες.)
Άσκηση
66.
Στο
ευρωπαϊκό πρωτάθλημα ποδοσφαίρου συμμετέχουν 16 ομάδες. Κάθε ομάδα συμμετέχει
σε 30 αγώνες. Να γράψετε αλγόριθμο ο οποίος:
i. διαβάζει σε μονοδιάστατο πίνακα ΟΝ[16] τα
ονόματα των ομάδων.
ii. διαβάζει σε δισδιάστατο πίνακα ΑΠ[ 16,30] τα
αποτελέσματα σε κάθε αγώνα ως εξής: τον χαρακτήρα "Ν" για ΝΙΚΗ, τον
χαρακτήρα "i" για ΙΣΟΠΑΛΙΑ, τον χαρακτήρα "Η" για ΗΤΤΑ και
κάνει τον απαραίτητο έλεγχο εγκυρότητας των δεδομένων.
iii. για κάθε ομάδα υπολογίζει και καταχωρεί σε
δισδιάστατο πίνακα ΠΛ[16,3] το πλήθος των νικών στην πρώτη στήλη, το πλήθος των
ισοπαλιών στη δεύτερη στήλη, και το πλήθος των ηττών στην τρίτη στήλη του
πίνακα. Ο πίνακας αυτός πρέπει προηγουμένως να έχει μηδενιστεί.
iv. με βάση τα στοιχεία του πίνακα ΠΛ[ 16,3]
υπολογίζει και καταχωρεί σε νέο πίνακα ΒΑΘ[16] τη συνολική βαθμολογία κάθε ομάδας,
δεδομένου ότι για κάθε νίκη η ομάδα παίρνει τρεις βαθμούς, για κάθε ισοπαλία
έναν βαθμό και για κάθε ήττα κανέναν βαθμό.
v. εμφανίζει τα ονόματα και τη βαθμολογία των
ομάδων ταξινομημένα σε φθίνουσα σειρά με βάση τη βαθμολογία.
(Εξετάσεις 2008)
Άσκηση
67.
Η
εταιρεία ΑΡΠΑΚΟΛ διαθέτει αλυσίδα 16 υποκαταστημάτων και για τη διαχείριση των
εσόδων της χρησιμοποιεί δισδιάστατο πίνακα Π[16, 360], όπου κάθε γραμμή
αντιστοιχεί σε κάποιο υποκατάστημα και κάθε στήλη σε μια από τις μέρες του
έτους. (Θεωρούμε ότι το έτος έχει 360 μέρες και ότι κάθε μήνας έχει 30 ημέρες).
Να αναπτύξετε αλγόριθμο ο οποίος:
i. θα υπολογίζει και θα εκτυπώνει τα έσοδα
Οκτωβρίου του 9ου καταστήματος.
ii. θα υπολογίζει και θα εκτυπώνει τα έσοδα όλων
των καταστημάτων κατά την εαρινή περίοδο.
iii. θεωρώντας δεδομένο πίνακα ΜΗΝΕΣ[12] που
περιέχει τα ονόματα των μηνών του έτους και πίνακα ΥΠΟΚΑΤ[16] με τα ονόματα των
υποκαταστημάτων, ο αλγόριθμος να διαβάζει το όνομα ενός μήνα και το όνομα ενός
υποκαταστήματος και να εκτυπώνει τις πωλήσεις που επιτεύχθηκαν σ' αυτό κατά
τη διάρκεια του μήνα.
θα δημιουργεί τον πίνακα ΜΗΝ_ΠΩΛ[16,12] με τις
μηνιαίες πωλήσεις κάθε καταστήματος. Ο πίνακας αυτός αποτελεί έξοδο του
αλγορίθμου.
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου