Ασκήσεις

  1. Σε ένα διαγωνισμό του ΑΣΕΠ εξετάζονται 1500 υποψήφιοι. Ως εξεταστικό κέντρο χρησιμοποιείται ένα κτίριο με αίθουσες διαφορετικής χωρητικότητας. Ο αριθμός των επιτηρητών που απαιτούνται ανά αίθουσα καθορίζεται αποκλειστικά με βάση τη χωρητικότητα της αίθουσας ως εξής:
    ΧΩΡΗΤΙΚΟΤΗΤΑ ΑΡΙΘΜΟΣ ΕΠΙΤΗΡΗΤΩΝ
    Μέχρι και 15 θέσεις 1
    Από 16 μέχρι και 23 θέσεις 2
    Πάνω από 23 θέσεις 3
  2. Να γίνει πρόγραμμα σε γλώσσα προγραμματισμού «ΓΛΩΣΣΑ» το οποίο: α. για κάθε αίθουσα να διαβάζει τη χωρητικότητά της, θα υπολογίζει και θα εμφανίζει τον αριθμό των επιτηρητών που χρειάζονται. Ο υπολογισμός του αριθμού των επιτηρητών να γίνεται από συνάρτηση που θα κατασκευάσετε για το σκοπό αυτό. β. θα σταματάει όταν εξασφαλισθεί ο απαιτούμενος συνολικός αριθμός θέσεων. Σημείωση: Να θεωρήσετε ότι η συνολική χωρητικότητα των αιθουσών του κτιρίου επαρκεί για τον αριθμό των υποψηφίων. (2006-Θ3)
    1. Να κατασκευάσετε το υποπρόγραμμα που καλείται στο παραπάνω ερώτημα β) iii. (xxxxxxxxx)
  3. Σε ένα πάρκινγκ η χρέωση γίνεται κλιμακωτά, όπως φαίνεται στον παρακάτω πίνακα:
    ΔΙΑΡΚΕΙΑ ΣΤΑΘΜΕΥΣΗΣ ΚΟΣΤΟΣ ΑΝΑ ΩΡΑ
    Μέχρι και 3 ώρες 2 €
    Πάνω από 3 έως και 5 ώρες 1,5 €
    Πάνω από 5 ώρες 1,3 €
    1. Να κατασκευάσετε πρόγραμμα το οποίο:
    α) περιλαμβάνει τμήμα δηλώσεων. β) για κάθε αυτοκίνητο που στάθμευσε στο πάρκινγκ:
    1. διαβάζει τον αριθμό κυκλοφορίας μέχρι να δοθεί το 0. Να θεωρήσετε ότι ο αριθμός κυκλοφορίας μπορεί να περιέχει τόσο γράμματα όσο και αριθμούς.
    2. διαβάζει τη διάρκεια στάθμευσης σε ώρες και τη δέχεται μόνο εφόσον είναι μεγαλύτερη από το 0.
    • καλεί υποπρόγραμμα για τον υπολογισμό του ποσού που πρέπει να πληρώσει ο κάτοχός του.
    1. εμφανίζει τον αριθμό κυκλοφορίας και το ποσό που αναλογεί.
    γ) εμφανίζει το πλήθος των αυτοκινήτων που έμειναν στο πάρκινγκ μέχρι και δύο ώρες.
    1. Να κατασκευάσετε το υποπρόγραμμα που καλείται στο παραπάνω ερώτημα β) iii.
    (E2006-Θ3)
  4. Μια σύγχρονη πτηνοτροφική μονάδα παρακολουθεί την ημερήσια παραγωγή αυγών και καταγράφει τα στοιχεία σε ηλεκτρονικό αρχείο. Να αναπτύξετε αλγόριθμο ο οποίος θα διαχειρίζεται τα στοιχεία της μονάδας στη διάρκεια ενός έτους. Για το σκοπό αυτό: Α. Να κατασκευάσετε κύριο πρόγραμμα το οποίο:
    1. να ζητάει το έτος παρακολούθησης, ελέγχοντας ότι πρόκειται για έτος του 21ου αιώνα (από 2000 μέχρι και 2099). Ο αλγόριθμος να δημιουργεί πίνακα με τον αριθμό των ημερών για καθέναν από τους δώδεκα μήνες του έτους που δόθηκε. Ο αριθμός των ημερών του μήνα να υπολογίζεται από υποπρόγραμμα το οποίο θα κατασκευάσετε για το σκοπό αυτό. Η λειτουργία του υποπρογράμματος περιγράφεται στο ερώτημα Β.
    2. να ζητάει την ημερήσια παραγωγή (αριθμό αυγών) για κάθε μέρα του έτους και να καταχωρίζει τις τιμές σε πίνακα δύο διαστάσεων, με μια γραμμή για κάθε μήνα.
    3. να εμφανίζει τον πίνακα στον οποίο φαίνονται οι τρεις μήνες που έχουν ο καθένας μέσο όρο ημερήσιας παραγωγής μέχρι και δέκα ποσοστιαίες μονάδες πάνω από τον ετήσιο μέσο όρο. Αν δεν βρεθεί κανένας μήνας, να εμφανίζει κατάλληλο μήνυμα.
    Β. Να κατασκευάσετε υποπρόγραμμα το οποίο θα δέχεται ως παραμέτρους το έτος και τον αριθμό κάποιου μήνα (1 έως 12), και να επιστρέφει τον αριθμό των ημερών του συγκεκριμένου μήνα. Όταν το έτος δεν διαιρείται ακριβώς με το 4, οι ημέρες του Φεβρουαρίου είναι 28. Διαιρείται ακριβώς με το 4, αλλά όχι με το 100, και διαιρείται ακριβώς με το 400. Για τους μήνες από τον Ιανουάριο (1ος) έως και τον Ιούλιο (7ος) οι μονοί μήνες έχουν 31 ημέρες και οι ζυγοί 30. Για τους μήνες μετά τον Ιούλιο, ισχύει το αντίστροφο. (Ε2007-Θ4)
  5. Μια εταιρεία ενοικίασης αυτοκινήτων έχει νοικιάσει 30 αυτοκίνητα τα οποία κατηγοριοποιούνται σε οικολογικά και συμβατικά. Η πολιτική χρέωσης για την ενοικίαση ανά κατηγορία και ανά ημέρα δίνεται στον παρακάτω πίνακα:
    ΗΜΕΡΕΣ ΟΙΚΟΛΟΓΙΚΑ ΣΥΜΒΑΤΙΚΑ
    1-7 30€ ανά ημέρα 40€ ανά ημέρα
    8-16 20€ ανά ημέρα 30€ ανά ημέρα
    από 17 και άνω 10€ ανά ημέρα 20€ ανά ημέρα
    1. Να αναπτύξετε πρόγραμμα το οποίο:
    α. περιλαμβάνει τμήμα δηλώσεων μεταβλητών. β. Για κάθε αυτοκίνητο το οποίο έχει ενοικιαστεί:
    1. Διαβάζει την κατηγορία του («ΟΙΚΟΛΟΓΙΚΑ» ή «ΣΥΜΒΑΤΙΚΑ») και τις ημέρες ενοικίασης.
    2. Καλεί υποπρόγραμμα με είσοδο την κατηγορία του αυτοκινήτου και τις ημέρες ενοικίασης και υπολογίζει με βάση τον παραπάνω πίνακα τη χρέωση.
    iii. Εμφανίζει το μήνυμα “χρέωση” και τη χρέωση που υπολογίστηκε. γ. Υπολογίζει και εμφανίζει το πλήθος των συμβατικών αυτοκινήτων.
    1. Να κατασκευάσετε το κατάλληλο υποπρόγραμμα του ερωτήματος 1.β.ii.
    ΣΗΜΕΙΩΣΗ:
    1. Δεν απαιτείται έλεγχος εγκυρότητας για τα δεδομένα εισόδου και
    2. Ο υπολογισμός της χρέωσης δεν πρέπει να γίνει κλιμακωτά. (2008-Θ3)
  6. Ξενοδοχειακή επιχείρηση διαθέτει 25 δωμάτια. Τα δωμάτια αριθμούνται από το 1 μέχρι το 25. Ο συνολικός αριθμός των υπαλλήλων που απασχολούνται ημερησίως στο ξενοδοχείο εξαρτάται από τα κατειλημμένα δωμάτια και δίνεται από τον παρακάτω πίνακα:
    Αριθμός κατειλημμένων δωματίων Συνολικός αριθμός υπαλλήλων
    από 0 μέχρι 4 3
    από 5 μέχρι 8 4
    από 9 μέχρι 12 5
    πάνω από 12 6
    Η ημερήσια χρέωση για κάθε δωμάτιο είναι 75€ και το ημερομίσθιο κάθε υπαλλήλου 45€. Α. Να κατασκευάσετε κύριο πρόγραμμα το οποίο:
    1. Να περιλαμβάνει τμήμα δηλώσεων.
    2. Να διαβάζει σε πίνακα ΚΡΑΤ[25,7] την κατάσταση κάθε δωματίου για κάθε μέρα της εβδομάδας, ελέγχοντας την ορθή καταχώριση. Το πρόγραμμα να δέχεται μόνο τους χαρακτήρες «Κ» για κατειλημμένο, «Δ» για διαθέσιμο αντίστοιχα.
    3. Να υπολογίζει το έσοδο ή τη συνολική ζημιά κατά τη διάρκεια της εβδομάδας και να εμφανίζει κατάλληλο μήνυμα. Για το σκοπό αυτό να καλέσει το υποπρόγραμμα ΚΕΡΔΟΣ, που περιγράφεται στο ερώτημα Β.
    Β. Να αναπτύξετε το υποπρόγραμμα ΚΕΡΔΟΣ, το οποίο να δέχεται τον πίνακα των κρατήσεων και έναν αριθμό ημέρας (από 1 έως 7). Το υποπρόγραμμα να υπολογίζει και να επιστρέφει το κέρδος της συγκεκριμένης ημέρας. Το κέρδος κάθε ημέρας θα υπολογίζεται ως εξής: θα αφαιρούνται τα ημερομίσθια των υπαλλήλων της συγκεκριμένης ημέρας. Αν τα έσοδα είναι μικρότερα από τα ημερομίσθια, το κέρδος είναι αρνητικό (ζημιά). (2009-Θ4)
  7. Το παιχνίδι τρίλιζα παίζεται με διαδοχικές κινήσεις δύο παικτών σε έναν πίνακα Τ[3,3]. Οι παίκτες συμπληρώνουν εναλλάξ μια θέση του πίνακα, τοποθετώντας ο μεν πρώτος το σύμβολο-χαρακτήρα ‘Χ’, ο δε δεύτερος το σύμβολο-χαρακτήρα ‘Ο’. Νικητής είναι ο παίκτης που θα συμπληρώσει πρώτος μια τριάδα όμοιων συμβόλων σε κάποια γραμμή, στήλη ή διαγώνιο του πίνακα. Αν ο πίνακας συμπληρωθεί χωρίς νικητή, το παιχνίδι θεωρείται ισόπαλο. Α. Να γράψετε πρόγραμμα στη «ΓΛΩΣΣΑ», το οποίο:
    1. Να τοποθετεί σε κάθε θέση του πίνακα Τ τον χαρακτήρα ‘-’.
    2. Για κάθε κίνηση:
    α. Να δέχεται τις συντεταγμένες μιας θέσης του πίνακα Τ και να τοποθετεί στην αντίστοιχη θέση το σύμβολο του παίκτη. Να θεωρήσετε ότι οι τιμές των συντεταγμένων είναι πάντοτε σωστές (1 έως 3) ενώ όμως αποδέκτες, μόνον αν η θέση που προσδιορίζουν δεν περιέχει ήδη ένα σύμβολο. β. Να ελέγχει εάν με την κίνηση του ο παίκτης νίκησε. Για τον σκοπό αυτό, να καλεί τη συνάρτηση ΝΙΚΗΣΕ, που περιγράφεται στο ερώτημα Β.
    1. Να τερματίζει το παιχνίδι, εφόσον εμφανιστεί ισοπαλία ή νικήσει ένας από τους δύο παίκτες.
    2. Να εμφανίζει με κατάλληλο μήνυμα (παίκτης/ δεύτερος παίκτης/ ισοπαλία) το αποτέλεσμα του παιχνιδιού.
    Β. Να κατασκευάσετε τη συνάρτηση ΝΙΚΗΣΕ, η οποία θα δέχεται τον πίνακα Τ και τις συντεταγμένες (Γ, Σ) μιας θέσης του πίνακα και θα επιστρέφει την τιμή ΑΛΗΘΗΣ, αν υπάρχει τρεις φορές το ίδιο σύμβολο, ανεξαρτήτως από τις παρακάτω περιπτώσεις:
    1. Στη γραμμή Γ.
    2. Στη στήλη Σ.
    3. Στην πρώτη διαγώνιο (δηλαδή Γ=Σ).
    4. Στη δευτερεύουσα διαγώνιο (δηλαδή Γ+Σ=4). Σε κάθε άλλη περίπτωση, η συνάρτηση να επιστρέφει την τιμή ΨΕΥΔΗΣ. (Ε2009-Θ4)
  8. Ένας όμιλος αποτελείται από 20 εταιρίες. Να γράψετε πρόγραμμα το οποίο: Δ1. να περιλαμβάνει τμήμα δηλώσεων. Δ2. να διαβάζει τα ονόματα των εταιριών του ομίλου και τα κέρδη τους για κάθε ένα από τα έτη 2001 έως και 2005. (Θεωρήστε ότι τα κέρδη είναι θετικοί αριθμοί.) Δ3. για κάθε εταιρία του ομίλου να καλεί συνάρτηση για τον υπολογισμό του συνολικού κέρδους της εταιρίας στην πενταετία. Στη συνέχεια να υπολογίζει και να εμφανίζει το μέσο ετήσιο κέρδος του ομίλου. Δ4. για κάθε εταιρία να βρίσκει την τριετία με το μεγαλύτερο συνολικό κέρδος και να εμφανίζει το όνομα της εταιρίας και το πρώτο έτος της συγκεκριμένης τριετίας. (Θεωρήστε ότι η τριετία αυτή είναι μοναδική.) Δ5. Να κατασκευάσετε τη συνάρτηση που θα χρησιμοποιήσετε στο ερώτημα Δ3. (Ε2011-Θ Δ)
  9. Εταιρεία που ασχολείται με μετρήσεις τηλεθέασης καταγράφει στοιχεία, ανά ημέρα και για χρονικό διάστημα μιας εβδομάδας, τα οποία αφορούν την τηλεθέαση των κεντρικών δελτίων ειδήσεων που προβάλλονται από πέντε (5) τηλεοπτικούς σταθμούς. Για τη διευκόλυνση της στατιστικής επεξεργασίας των δεδομένων να αναπτύξετε πρόγραμμα το οποίο: Δ1. Να περιλαμβάνει τμήμα δηλώσεων. Δ2. Για κάθε έναν από τους τηλεοπτικούς σταθμούς να δέχεται το όνομά του και το πλήθος των τηλεθεατών που παρακολούθησαν το κεντρικό δελτίο ειδήσεων κάθε μέρα της εβδομάδας, από Δευτέρα έως και Κυριακή. Να μη γίνει έλεγχος εγκυρότητας. Δ3. Να καλεί για κάθε έναν από τους τηλεοπτικούς σταθμούς κατάλληλο υποπρόγραμμα, το οποίο να υπολογίζει και να επιστρέφει το μέσο πλήθος τηλεθεατών, που παρακολούθησαν το κεντρικό δελτίο ειδήσεων του, τη συγκεκριμένη εβδομάδα. Δ4. Να εμφανίζει τα ονόματα των σταθμών για τους οποίους ο μέσος όρος τηλεθέασης του Σαββατοκύριακου (2 ημέρες) ήταν τουλάχιστον 10% μεγαλύτερος από το μέσο όρο τηλεθέασης στις καθημερινές (Δευτέρα έως και Παρασκευή). Δ5. Να εμφανίζει τα ονόματα των τηλεοπτικών σταθμών, οι οποίοι κάθε ημέρα, από Δευτέρα έως και Κυριακή, παρουσίασαν συνεχή, από ημέρα σε ημέρα, αύξηση τηλεθέασης. Αν δεν υπάρχουν τέτοιοι σταθμοί, να εμφανίζει το μήνυμα: «Κανένας σταθμός δεν είχε συνεχή αύξηση τηλεθέασης». (Ε2012-Δ)
  10. Το Πανελλήνιο Σχολικό Δίκτυο παρέχει πρόσβαση στο Διαδίκτυο (Ίντερνετ) σε 150.000 μαθητές και διατηρεί τα στοιχεία τους, καθώς και στατιστικά στοιχεία, σχετικά με την πρόσβασή τους στο Διαδίκτυο. Να κατασκευάσετε πρόγραμμα το οποίο: Δ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. Δ2. Για κάθε μαθητή να διαβάζει: α) τον αλφαβητικό κωδικό του και να τον καταχωρίζει σε μονοδιάστατο πίνακα με όνομα ΚΩΔ β) το φύλο του, «Α» αν είναι αγόρι και «Κ» αν είναι κορίτσι, και να τον καταχωρίζει σε μονοδιάστατο πίνακα με όνομα Φ γ) τον συνολικό χρόνο πρόσβασής του στο Διαδίκτυο ανά μήνα, για ένα έτος, και να τον καταχωρίζει σε δισδιάστατο πίνακα ΧΡ. Δ3. Να υπολογίζει και να καταχωρίζει σε πίνακα ΣΧ τον συνολικό ετήσιο χρόνο πρόσβασης κάθε μαθητή. Δ4. Να εμφανίζει τον κωδικό του αγοριού με το μεγαλύτερο συνολικό χρόνο πρόσβασης και, στη συνέχεια, τον κωδικό του κοριτσιού με το μεγαλύτερο συνολικό χρόνο πρόσβασης, καλώντας τη συνάρτηση ΘΕΣΗ_ΜΑΧ, που περιγράφεται στο ερώτημα Δ5, μία φορά για τα αγόρια και μία για τα κορίτσια. Δ5. Να αναπτύξετε συνάρτηση ΘΕΣΗ_ΜΑΧ η οποία: α) να δέχεται ως παραμέτρους τον πίνακα του συνολικού ετήσιου χρόνου πρόσβασης των μαθητών και τον χαρακτήρα «Α» ή «Κ» που αντιστοιχεί στο φύλο β) να βρίσκει τη θέση με το μέγιστο τιμή συνολικού χρόνου πρόσβασης αγοριών ή κοριτσιών, ανάλογα με την τιμή του χαρακτήρα γ) να επιστρέφει τη θέση της μέγιστης τιμής (Σημείωση: Δεν απαιτείται έλεγχος εγκυρότητας τιμών. Να θεωρήσετε ότι όλες οι εισαγόμενες τιμές είναι μοναδικές) (2016-Δ)
  11. Μια περιβαλλοντική οργάνωση έχει εκπαιδεύσει δέκα (10) εθελοντές οι οποίοι θα ενημερώσουν το κοινό σε θέματα που αφορούν την προστασία του περιβάλλοντος. Να γράψετε πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο: Δ1. α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. β. Για κάθε εθελοντή, να διαβάζει το όνομά του και τον αριθμό των ατόμων που ενημέρωσε κάθε μήνα, στη διάρκεια του προηγούμενου έτους (δεν απαιτείται έλεγχος εγκυρότητας). Δ2. Για κάθε μήνα, να εμφανίζει το συνολικό αριθμό ατόμων που ενημέρωσαν οι δέκα (10) εθελοντές. Ο υπολογισμός του συνολικού αριθμού ατόμων, που ενημέρωσαν κάθε μήνα, να γίνεται με κλήση κατάλληλης συνάρτησης. Δ3. Να εμφανίζει τα ονόματα των τριών εθελοντών που ενημέρωσαν τα περισσότερα άτομα, κατά τη διάρκεια του προηγούμενου έτους. Να θεωρήσετε ότι κάθε εθελοντής ενημέρωσε διαφορετικό συνολικό αριθμό ατόμων κατά τη διάρκεια του έτους. Δ4. Να κατασκευάσετε τη συνάρτηση του ερωτήματος Δ2. Να θεωρήσετε ότι κάθε άτομο ενημερώνεται μόνο από ένα εθελοντή. (Π2016-Δ)
  12. Ένα ξενοδοχείο χρεώνει την ενοικίαση των δωματίων του ανάλογα με τον αριθμό των ημερών ενοικίασης και την τουριστική περίοδο, σύμφωνα με τον παρακάτω πίνακα:
    ΑΡΙΘΜΟΣ ΗΜΕΡΩΝ ΤΟΥΡΙΣΤΙΚΗ ΠΕΡΙΟΔΟΣ
    ΧΑΜΗΛΗ ΥΨΗΛΗ
    1-3 40€ ανά ημέρα 70€ ανά ημέρα
    4-7 30€ ανά ημέρα 55€ ανά ημέρα
    >7 25€ ανά ημέρα 50€ ανά ημέρα
    Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο: Γ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. Γ2. Για κάθε μία από τις 500 κρατήσεις του ξενοδοχείου κατά το προηγούμενο έτος: α. Να διαβάζει τον αριθμό των ημερών ενοικίασης καθώς και την τουριστική περίοδο που έγινε η κράτηση, εξασφαλίζοντας ότι η επιτρεπτή τιμή για την τουριστική περίοδο είναι ΧΑΜΗΛΗ ή ΥΨΗΛΗ. β. Να καλεί υποπρόγραμμα το οποίο να δέχεται τον αριθμό των ημερών ενοικίασης και την τουριστική περίοδο, το οποίο να υπολογίζει, με βάση τον προηγούμενο πίνακα, τη χρέωση της κράτησης. Ο υπολογισμός της χρέωσης δεν γίνεται κλιμακωτά. γ. Να εμφανίζει τη χρέωση της κράτησης. Γ3. Να υπολογίζει και να εμφανίζει τη συνολική χρέωση των κρατήσεων του ξενοδοχείου για κάθε μια τουριστική περίοδο του προηγούμενου έτους. Γ4. Να κατασκευάσετε το υποπρόγραμμα του ερωτήματος Γ2.β.  (ΠΕ2016-Γ)
  13. Σε μια έκθεση αποδήμου ελληνισμού χρησιμοποιείται αίθουσα χωρητικότητας 1000 ατόμων. Στην αίθουσα εγκαταστάθηκε ηλεκτρονικό σύστημα διαχείρισης εισόδου-εξόδου επισκεπτών, το οποίο λειτουργεί ως εξής: Κάθε φορά που γίνεται είσοδος επισκέπτη εισάγεται η τιμή 1, ενώ κάθε φορά που γίνεται έξοδος επισκέπτη εισάγεται η τιμή 2. Για τον τερματισμό της λειτουργίας του συστήματος εισάγεται η τιμή 0. Η είσοδος πραγματοποιείται είτε μεμονωμένα είτε σε ομάδες. Προκειμένου να επιτραπεί η είσοδος, ζητείται ο αριθμός επισκεπτών που θέλουν να εισέλθουν και, εφόσον η ενδεχόμενη είσοδός τους δεν υπερβαίνει τον αριθμό χωρητικότητας της αίθουσας, τότε επιτρέπεται∙ διαφορετικά, απορρίπτεται με κατάλληλο μήνυμα. Η έξοδος πραγματοποιείται μεμονωμένα, δηλαδή ένα άτομο κάθε φορά. Ο τερματισμός επιτρέπεται, όταν η αίθουσα είναι άδεια. Για την υποστήριξη του συστήματος να αναπτύξετε πρόγραμμα το οποίο: Γ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. Γ2. Να διαβάζει τον κωδικό επιθυμητής λειτουργίας (1 για είσοδο, 2 για έξοδο και 0 για τερματισμό), μέχρι τον τερματισμό της λειτουργίας του συστήματος. Γ3. α. Στην περίπτωση που δοθεί ο κωδικός 1, να διαβάζει τον αριθμό των ατόμων και με τη χρήση της λογικής συνάρτησης IN να ελέγχει αν επιτρέπεται η είσοδός τους. Αν η είσοδος τους επιτρέπεται, εισέρχονται στην αίθουσα∙ διαφορετικά, εμφανίζεται το μήνυμα ΔΟΚΙΜΑΣΤΕ ΑΡΓΟΤΕΡΑ. β. Στην περίπτωση που δοθεί ο κωδικός 2, θεωρείται ότι εξέρχεται ένα άτομο. Η εκτέλεση της συγκεκριμένης λειτουργίας να επιτρέπεται, όταν η αίθουσα δεν είναι κενή∙ διαφορετικά, να εμφανίζεται το μήνυμα ΑΔΥΝΑΤΗ ΛΕΙΤΟΥΡΓΙΑ. Γ4. Μετά τον τερματισμό να εμφανίζει τον συνολικό αριθμό των επισκεπτών, καθώς και το πλήθος των ατόμων της μεγαλύτερης ομάδας που απορρίφθηκε, ή να εμφανίζει το μήνυμα ΔΕΝ ΑΠΟΡΡΙΦΘΗΚΕ ΚΑΜΙΑ ΟΜΑΔΑ. Γ5. Να αναπτύξετε τη λογική συνάρτηση IN. (Να θεωρήσετε ότι δεν απαιτείται έλεγχος εγκυρότητας για τις τιμές εισόδου και ότι η αίθουσα είναι αρχικά κενή). (Ε2017-Γ, ΕΞ2017-Γ)
  14. Εκατό (100) υποψήφιοι του ΑΣΕΠ διαγωνίζονται σε τρία μαθήματα για την κάλυψη θέσεων του Δημοσίου. Να γραφεί κύριο πρόγραμμα σε ΓΛΩΣΣΑ που να κάνει τα παρακάτω: α) Διαβάζει τα ονόματα των 100 υποψηφίων του ΑΣΕΠ και τη βαθμολογία καθενός υποψηφίου σε τρία διαφορετικά μαθήματα. (Θεωρήστε ότι η βαθμολογία κάθε μαθήματος είναι από 1 έως 20.) β) Βρίσκει και τυπώνει τον ελάχιστο και τον μέγιστο βαθμό καθενός υποψηφίου στα τρία μαθήματα που εξετάστηκε. γ) Να γραφεί υποπρόγραμμα, το οποίο να καλείται από το κύριο πρόγραμμα, για τον υπολογισμό και την εκτύπωση του μέσου όρου κάθε υποψηφίου στα τρία μαθήματα που διαγωνίστηκε. (Ε2005-Θ3)
  15. Στο άθλημα των 110 μέτρων μετ’ εμποδίων, στους δύο ημιτελικούς αγώνες συμμετέχουν δέκα έξι (16) αθλητές (8 σε κάθε ημιτελικό). Σύμφωνα με τον κανονισμό στον τελικό προκρίνεται ο πρώτος αθλητής κάθε ημιτελικού. Η οκτάδα του τελικού συμπληρώνεται με τους αθλητές που έχουν τους έξι (6) καλύτερους χρόνους απ’ όλους τους υπόλοιπους συμμετέχοντες. Να θεωρήσετε ότι δεν υπάρχουν αθλητές με ίδιους χρόνους.
    1. Να γράψετε πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο
    α. περιλαμβάνει το τμήμα δηλώσεων. β. καλεί τη διαδικασία ΕΙΣΟΔΟΣ για κάθε ημιτελικό ξεχωριστά. Η διαδικασία διαβάζει το όνομα του αθλητή και τον χρόνο του (με ακρίβεια δεκάτου του δευτερολέπτου). γ. καλεί τη διαδικασία ΤΑΞΙΝΟΜΗΣΗ για κάθε ημιτελικό ξεχωριστά. Η διαδικασία ταξινομεί τους αθλητές ως προς τον χρόνο σε αύξουσα σειρά. δ. δημιουργεί τον πίνακα ΟΝ με τα ονόματα και τον πίνακα ΧΡ με τους αντίστοιχους χρόνους των αθλητών που προκρίθηκαν στον τελικό. ε. εμφανίζει τα ονόματα και τους χρόνους των αθλητών που θα λάβουν μέρος στον τελικό.
    1. Να γράψετε
    α. τη διαδικασία ΕΙΣΟΔΟΣ. β. τη διαδικασία ΤΑΞΙΝΟΜΗΣΗ.  (Ε2008-Θ4)
  16. Ένα σύστημα υπολογιστή χρησιμοποιεί για τον έλεγχο πρόσβασης των χρηστών του έναν πίνακα 1000 γραμμών και 3 στηλών με τα στοιχεία τους. Σε κάθε γραμμή του αποθηκεύει, στην πρώτη στήλη το όνομα πρόσβασης του χρήστη, στη δεύτερη στήλη το συνθηματικό του και στην τρίτη έναν από τους χαρακτήρες «Σ» ή «Α». (Ο χαρακτήρας «Σ» δηλώνει ότι το συνθηματικό συνεχίζει να ισχύει, ενώ ο χαρακτήρας «Α» δηλώνει ότι το συνθηματικό πρέπει να αλλάξει.) Θεωρήστε ότι υπάρχει ένα κύριο πρόγραμμα που υλοποιεί τα παραπάνω και καλεί τη διαδικασία ΕΛΕΓΧΟΣ η οποία ελέγχει την πρόσβαση του χρήστη στο σύστημα. Να γράψετε τη διαδικασία ΕΛΕΓΧΟΣ η οποία να περιλαμβάνει:
    1. Τμήμα δηλώσεων. Κύριο τμήμα το οποίο:
    Γ2. Διαβάζει το όνομα και το συνθηματικό του χρήστη. Ελέγχει αν το όνομα πρόσβασης και το συνθηματικό είναι έγκυρα, δηλαδή υπάρχουν στον πίνακα χρηστών και αναφέρονται στον ίδιο χρήστη. Αν υπάρχουν, εμφανίζει το μήνυμα «ΚΑΛΩΣ ΗΡΘΑΤΕ», διαφορετικά εμφανίζει το μήνυμα «ΛΑΘΟΣ ΟΝΟΜΑ ΠΡΟΣΒΑΣΗΣ Ή ΣΥΝΘΗΜΑΤΙΚΟ» και ζητά την εισαγωγή των δύο αυτών στοιχείων (ονόματος πρόσβασης και συνθηματικού) μέχρι να δοθούν έγκυρα στοιχεία. Γ3. Μετά την εμφάνιση του μηνύματος «ΚΑΛΩΣ ΗΡΘΑΤΕ» ελέγχει αν το συνθηματικό χρειάζεται αλλαγή. Αν χρειάζεται, ζητά από τον χρήστη την εισαγωγή νέου συνθηματικού δύο φορές (η δεύτερη ως επιβεβαίωση) μέχρις ότου το συνθηματικό να είναι έγκυρο και η επιβεβαίωση του ταυτιστούν. Όταν ταυτιστούν, η διαδικασία αντικαθιστά το παλιό συνθηματικό με το νέο και τον αντίστοιχο χαρακτήρα «Α» της τρίτης στήλης με το «Σ». (Ε2010-Γ)
  17. Μια εταιρεία ασχολείται με εγκαταστάσεις φωτοβολταϊκών συστημάτων, με τα οποία οι πελάτες της έχουν τη δυνατότητα αφενός να παράγουν ηλεκτρική ενέργεια για να καλύπτουν τις ανάγκες της οικίας τους, αφετέρου να πωλούν την πλεονάζουσα ενέργεια προς 0,55€/kWh, εξασφαλίζοντας επιπλέον έσοδα. Η εταιρεία αποφάσισε να ερευνήσει τις εγκαταστάσεις που πραγματοποίησε την προηγούμενη χρονιά σε δέκα (10) πελάτες που βρίσκονται ο καθένας σε διαφορετική πόλη της Ελλάδας. Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο: Δ1. α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. β. Να διαβάζει για κάθε πελάτη το όνομά του και το όνομα της πόλης στην οποία διαμένει και να τα αποθηκεύει στον δισδιάστατο πίνακα ΟΝ[10,2]. γ. Να διαβάζει το ποσό της ηλεκτρικής ενέργειας σε kWh που παρήγαγαν τα φωτοβολταϊκά συστήματα κάθε πελάτη, καθώς και το ποσό της ηλεκτρικής ενέργειας που κατανάλωσε κάθε πελάτης για κάθε μήνα του έτους, και να τα αποθηκεύει στους πίνακες Π[10,12] για την παραγωγή και Κ[10,12] για την κατανάλωση αντίστοιχα (δεν απαιτείται έλεγχος εγκυρότητας των δεδομένων). Δ2. Να υπολογίζει την ετήσια παραγωγή και κατανάλωση ανά πελάτη καθώς και τα ετήσια έσοδα του σε ευρώ (€). Θεωρήστε ότι για κάθε πελάτη η ετήσια παραγόμενη ηλεκτρική ενέργεια είναι μεγαλύτερη ή ίση της ενέργειας που έχει καταναλώσει. Δ3. Να εμφανίζει το όνομα της πόλης σημειώνοντας η μεγαλύτερη παραγωγή ηλεκτρικού ρεύματος. Δ4. Να καλεί κατάλληλο υποπρόγραμμα με τη βοήθεια του οποίου θα εμφανίζονται τα ετήσια έσοδα κάθε πελάτη κατά φθίνουσα σειρά. Να κατασκευάσετε το υποπρόγραμμα που χρειάζεται για το σκοπό αυτό. Δ5. Να εμφανίζει τον αριθμό των μηνών με τη μικρότερη παραγωγή ηλεκτρικής ενέργειας. Θεωρήστε ότι υπάρχει μόνο ένας τέτοιος μήνας. (2012-Δ)
  18. Σε ένα πρόγραμμα ανταλλαγής μαθητών Comenius συμμετέχουν μαθητές από δυο χώρες: Ελλάδα (EL) και Ισπανία (ES). Οι μαθητές αυτοί καλούνται να απαντήσουν σε μια ερώτηση όπου οι δυνατές απαντήσεις είναι:
    1. Πολύ συχνά 2. Συχνά Αρκετές φορές 4. Σπάνια 5. Ποτέ
    Στην πρώτη φάση επεξεργασίας της ερώτησης πρέπει να καταγραφούν οι απαντήσεις από κάθε χώρα και να μετρήσουν για κάθε αριθμό απάντησης πόσες φορές υπάρχει, με σκοπό να αναφέρουν για κάθε χώρα, ποια απάντηση είχε τα μεγαλύτερα ποσοστά. Για να βοηθήσετε στην επεξεργασία να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο: Δ1. α. Να περιέχει τμήμα δηλώσεων. β. Να δημιουργεί δύο πίνακες EL[5] και ES[5] και να καταχωρίζει σε αυτούς την τιμή 0 σε όλα τα στοιχεία τους. Δ2. Για κάθε μαθητή να διαβάζει το όνομα της χώρας του και τον αριθμό της απάντησής του. Οι δυνατές τιμές για τη χώρα είναι: EL, ES και για την απάντηση 1,2,3,4,5. Η κάθε απάντηση θα πρέπει να προσμετράται σε έναν από τους δύο πίνακες EL[5], ES[5] ανάλογα με τη χώρα και στο αντίστοιχο στοιχείο. Δηλαδή, αν δοθούν για τιμές οι ES και 4, τότε θα πρέπει στο 4ο στοιχείο του πίνακα ES[5] να προστεθεί μια ακόμα καταχώρηση. (Δεν απαιτείται έλεγχος εγκυρότητας τιμών) Δ3. Η προηγούμενη διαδικασία εισαγωγής δεδομένων και καταχώρησης απαντήσεων θα ελέγχεται από την ερώτηση «Για Διακοπή της εισαγωγής απάντησης πληκτρολογήστε Δ ή δ», που θα εμφανίζεται, και ο χρήστης θα πρέπει να δώσει το χαρακτήρα Δ ή δ για να σταματήσει η επαναληπτική διαδικασία. Δ4. Στο τέλος για κάθε χώρα να εμφανίζει τους αριθμούς απάντησης με τη μεγαλύτερο ποσοστό, καθώς και το ποσοστό αυτό. Για την υλοποίηση αυτού να καλέσει το υποπρόγραμμα ΜΕΓ_ΠΟΣ που θα κατασκευάσετε το οποίο θα υπολογίζει και θα επιστρέφει το ποσοστό των απαντήσεων εναντι διαφορετικών μεταξύ τους. Θεωρήστε ότι κάθε χώρα τα ποσοστά των απαντήσεων είναι διαφορετικά μεταξύ τους και δεν υπάρχει περίπτωση ισοβαθμίας. Δ5. Να αναπτύξετε το υποπρόγραμμα ΜΕΓ_ΠΟΣ το οποίο:
    1. Να δέχεται έναν πίνακα ακεραίων 5 θέσεων.
    2. Να βρίσκει το μεγαλύτερο στοιχείο του πίνακα και σε ποια θέση βρίσκεται.
    3. Να βρίσκει το ποσοστό που κατέχει το μεγαλύτερο στοιχείο σε σχέση με το άθροισμα όλων των στοιχείων του πίνακα.
    4. Να επιστρέφει στο κυρίως πρόγραμμα το ποσοστό αυτό, καθώς και τη θέση στην οποία βρίσκεται.
    Θεωρήστε ότι όλες οι τιμές των πινάκων είναι διαφορετικές και ότι για κάθε χώρα υπάρχει τουλάχιστον μια απάντηση στην ερώτηση. (2013-Δ)
  19. Μία εταιρεία μεταφοράς δεμάτων διαθέτει δύο αποθήκες, Α και Β, στο αεροδρόμιο. Κατά την παραλαβή δεμάτων, κάθε δέμα τοποθετείται στην αποθήκη που έχει εκείνη τη στιγμή τον περισσότερο ελεύθερο χώρο. Αν ο ελεύθερος χώρος της αποθήκης Α είναι ίσος με τον ελεύθερο χώρο της αποθήκης Β, το δέμα τοποθετείται στην αποθήκη Α. Όταν όμως το δέμα δεν χωρά σε καμία από τις δύο αποθήκες, προωθείται στις κεντρικές εγκαταστάσεις της εταιρείας, που βρίσκονται εκτός αεροδρομίου. Γ1. Να κατασκευάσετε πρόγραμμα που: α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. β. Να διαβάζει τα μεγέθη ελεύθερου χώρου των αποθηκών Α και Β. γ. Να διαβάζει το μέγεθος κάθε εισερχόμενου δέματος και να εμφανίζει το όνομα της αποθήκης (Α ή Β) στην οποία θα τοποθετηθεί αυτό ή να εμφανίζει το μήνυμα «Προώθηση», όταν το δέμα δεν χωρά σε καμία από τις αποθήκες Α ή Β. Η διαδικασία παραλαβής τερματίζεται, όταν εισαχθεί ως μέγεθος δέματος η τιμή 0. δ. Στη συνέχεια, να καλεί υποπρόγραμμα, το οποίο να βρίσκει και να εμφανίζει το όνομα της αποθήκης (Α ή Β) στην οποία τοποθετήθηκαν τα περισσότερα δέματα, ή το μήνυμα «Ισάριθμα» σε περίπτωση που στις δύο αποθήκες Α και Β τοποθετήθηκαν ισάριθμα δέματα, ή το μήνυμα «Καμία αποθήκευση στο αεροδρόμιο», αν κανένα δέμα δεν τοποθετήθηκε σε οποιαδήποτε από τις αποθήκες Α ή Β. Γ2. Να κατασκευάσετε το υποπρόγραμμα που περιγράφεται στο ερώτημα Γ1.δ. (2015-ΘΓ)
  20. Στο πλαίσιο μιας μελέτης, ένας φιλόλογος θέλει να ελέγξει τη χρήση ενός δείγματος εκατό (100) ναυτικών λέξεων σε σύγχρονα νεοελληνικά κείμενα. Για τον σκοπό αυτό: Γ1. Να κατασκευάσετε υποπρόγραμμα, με όνομα ΑΝΑΖΗΤΗΣΗ, το οποίο να δέχεται
    • ένα μονοδιάστατο πίνακα χαρακτήρων Π[100],
    • μία ακέραια μεταβλητή Ν,
    • μια αλφαριθμητική μεταβλητή Χ
    και να επιστρέφει
    • μια λογική μεταβλητή ΒΡΕΘΗΚΕ και
    • μια ακέραια μεταβλητή ΘΕΣΗ.
    Το υποπρόγραμμα να αναζητά μια λέξη, την τιμή της μεταβλητής Χ στις θέσεις 1 έως Ν του πίνακα Π. Αν βρεθεί η λέξη, το υποπρόγραμμα να επιστρέφει την τιμή ΑΛΗΘΗΣ και τη θέση που βρέθηκε. Αν δεν βρεθεί, να επιστρέφει την τιμή ΨΕΥΔΗΣ και την τιμή 0. Στη συνέχεια να κατασκευάσετε κύριο πρόγραμμα το οποίο: Γ2. Να ζητά 100 ναυτικές λέξεις και να τις καταχωρίζει σε πίνακα ΛΕΞΕΙΣ[100]. Κάθε λέξη που δίνεται να τη δέχεται, μόνο εφόσον ελεγχθεί ότι δεν έχει ήδη καταχωριστεί στον πίνακα. Ο έλεγχος να γίνεται με τη χρήση του υποπρογράμματος ΑΝΑΖΗΤΗΣΗ. Γ3. Να ζητά, με τη σειρά, τις λέξεις ενός νεοελληνικού κειμένου. Η εισαγωγή να τερματίζεται όταν δοθεί ως λέξη η ακολουθία χαρακτήρων «ΤΕΛΟΣ_ΚΕΙΜΕΝΟΥ». Γ4. Να εμφανίζει τις σπανιότερες ναυτικές λέξεις του δείγματος που υπάρχουν στο νεοελληνικό κείμενο, δηλαδή αυτές με τη μικρότερη συχνότητα εμφάνισης, χρησιμοποιώντας κατάλληλα το υποπρόγραμμα ΑΝΑΖΗΤΗΣΗ. (Ε2016-Γ)
  21. Σε ένα σεμινάριο διάρκειας 6 μηνών, τηρούνται απουσίες ανά μήνα για κάθε συμμετέχοντα. Στο σεμινάριο συμμετέχουν 50 επιμορφούμενοι και ο καθένας έχει ένα μοναδικό αλφαριθμητικό κωδικό, που αποθηκεύεται στον πίνακα ΚΩΔ[50]. Οι απουσίες κάθε συμμετέχοντα ανά μήνα σεμινάριο αποθηκεύονται σε δισδιάστατο πίνακα απουσιών ΑΠ[50,6]. Η γραμματεία τηρεί το σύνολο των απουσιών για τα δύο τρίμηνα του εξαμήνου στον πίνακα ΑΠΤΡΙ[50,2], όπου η πρώτη στήλη προσδιορίζει το πρώτο τρίμηνο και η δεύτερη το δεύτερο τρίμηνο για κάθε συμμετέχοντα. Να κατασκευάσετε πρόγραμμα σε ΓΛΩΣΣΑ αποτελούμενο από υποπρογράμματα ως εξής: Δ1. Διαδικασία ΕΙΣ, που διαβάζει τον κωδικό του κάθε επιμορφούμενου, τις απουσίες του ανά μήνα σεμινάριο και ενημερώνει τον πίνακα ΚΩΔ και τον πίνακα ΑΠ κατάλληλα (θεωρείστε ότι τα δεδομένα εισάγονται σωστά). Δ2. Συνάρτηση ΑΝΑΖ, που δέχεται τον κωδικό ενός επιμορφούμενου και τον πίνακα των κωδικών ΚΩΔ και επιστρέφει τον αριθμό της γραμμής που βρίσκεται ο κωδικός που αναζητείται. Αν ο κωδικός δεν βρεθεί, επιστρέφει 0. Δ3. Συνάρτηση ΣΥΝΑΠ, που υπολογίζει το σύνολο απουσιών για έναν επιμορφούμενο σε ένα τρίμηνο. Η συνάρτηση δέχεται τον αριθμό της γραμμής που προσδιορίζει τον επιμορφούμενο στον πίνακα ΑΠ, τον πίνακα των απουσιών και τον αριθμό του πρώτου μήνα του τριμήνου (για παράδειγμα, 1 για το πρώτο τρίμηνο, 4 για το δεύτερο τρίμηνο) και επιστρέφει το σύνολο των απουσιών του τριμήνου. Δ4. Κύριο πρόγραμμα το οποίο: α) περιέχει τμήμα δηλώσεων. β) καλεί τη διαδικασία ΕΙΣ για είσοδο δεδομένων. γ) για κάθε επιμορφούμενο υπολογίζει το σύνολο των απουσιών των δύο τριμήνων καλώντας τη συνάρτηση ΣΥΝΑΠ και ενημερώνει τον πίνακα ΑΠΤΡ. δ) διαβάζει επαναληπτικά έναν κωδικό. Για τον συγκεκριμένο κωδικό καλείται η συνάρτηση ΑΝΑΖ. Αν ο κωδικός αντιστοιχεί σε επιμορφούμενο, να εμφανίζει κατάλληλο μήνυμα δυνατότητας ή μη συμμετοχής του στις εξετάσεις. Στις εξετάσεις δικαιούνται συμμετοχής οι επιμορφούμενοι που έχουν λιγότερες από 10 απουσίες σε καθένα από τα δύο τρίμηνα. Αν ο κωδικός δεν βρεθεί, εμφανίζει μήνυμα «ΔΕΝ ΒΡΕΘΗΚΕ Ο ΚΩΔΙΚΟΣ». Η διαδικασία επαναλαμβάνεται μέχρι να δοθεί ως κωδικός η λέξη ΤΕΛΟΣ. (2017-ΘΔ)
  22. Ο φορέας διαχείρισης μιας περιοχής οικολογικού ενδιαφέροντος, προκειμένου να εκτιμήσει την ποιότητα των υδάτων των ποταμών της περιοχής, πραγματοποιεί μία δειγματοληψία τον μήνα σε κάθε ποταμό στη διάρκεια ενός έτους. Το δείγμα νερού αναλύεται και ανιχνεύονται οι ρύποι. Η επικινδυνότητα ενός ρύπου εκφράζεται με έναν ακέραιο αριθμό από 1 έως και 10. Στην κλίμακα αυτή η μεγαλύτερη τιμή αντιστοιχεί σε υψηλότερη επικινδυνότητα. Ένας δείκτης της επικινδυνότητας των υδάτων είναι η επικινδυνότητα εκείνου του ρύπου που έχει τη μέγιστη τιμή. Να αναπτύξετε κύριο πρόγραμμα σε ΓΛΩΣΣΑ το οποίο: Δ1. α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. β. Να διαβάζει το πλήθος των ποταμών της περιοχής, ελέγχοντας ότι δεν δίνεται τιμή μεγαλύτερη του 20. γ. Να διαβάζει τα ονόματα των ποταμών αυτών και να τα καταχωρίζει σε διαδοχικές θέσεις του πίνακα Π[20]. Δ3. Για κάθε δειγματοληψία: να εμφανίζει το όνομα καθενός ποταμού της περιοχής και να υπολογίζει την επικινδυνότητα του καλώντας το υποπρόγραμμα Υ_Ε (που θα κατασκευάσετε στο ερώτημα Δ5). Την επικινδυνότητα αυτή να την καταχωρίζει κατάλληλα σε πίνακα ΕΠ[20,12]. Δ4. Να εμφανίζει αλφαβητικά τους ποταμούς στους οποίους ο μέσος όρος επικινδυνότητας στη διάρκεια του έτους, κυμαίνεται πάνω από 7. Αν δεν υπάρχει κανένας ποταμός που να ικανοποιεί το κριτήριο αυτό, να εμφανίζεται κατάλληλο μήνυμα. Να αναπτύξετε το υποπρόγραμμα Υ_Ε το οποίο: Δ5. α) να διαβάζει διαδοχικά τις τιμές της επικινδυνότητας κάθε ρύπου που βρέθηκε. Η εισαγωγή να τερματίζεται όταν δοθεί η τιμή 0 (που σημαίνει ότι δεν ανιχνεύθηκε άλλος ρύπος). β) Να επιστρέφει τη μέγιστη τιμή επικινδυνότητας από τις τιμές που διάβασε. Σημείωση α) Δεν απαιτούνται επιπλέον έλεγχοι εγκυρότητας τιμών εκτός από αυτόν που ζητείται στο ερώτημα Δ2.α. β) Να θεωρήσετε ότι υπάρχει τουλάχιστον ένας ρύπος. γ) Να θεωρήσετε ότι σε κάθε δειγματοληψία υπάρχει τουλάχιστον ένας ρύπος. (2018-Δ)
  23. Σε ένα μουσικό φεστιβάλ συμμετέχουν 20 συγκροτήματα. Τα ονόματά τους καταχωρίζονται σε πίνακα ΟΝ[20]. Το φεστιβάλ διαρκεί 5 ημέρες και κάθε ημέρα εμφανίζονται 6 συγκροτήματα. Το πρόγραμμα εμφανίσεων των συγκροτημάτων περιγράφεται με έναν πίνακα ΠΡ[6,5]. Σε κάθε κελί του πίνακα καταχωρίζεται ένας αριθμός (1 έως 20) που αντιστοιχεί στη θέση του συγκροτήματος στον πίνακα ΟΝ. Για παράδειγμα, εάν στο κελί ΠΡ[3,4] υπάρχει η τιμή 19, αυτό δηλώνει ότι την 4η ημέρα, 3ο στη σειρά εμφανίζεται το 19ο συγκρότημα. Κάποια συγκροτήματα εμφανίζονται σε περισσότερες από μία ημέρες και κανένα δεν εμφανίζεται περισσότερες από μία φορά την ημέρα. Να αναπτύξετε πρόγραμμα το οποίο: Δ1. α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. β. Να διαβάζει τα ονόματα των συγκροτημάτων και να τα καταχωρίζει στον πίνακα ΟΝ. Δ2. Για κάθε μία τις 5 ημέρες, να διαβάζει τους αριθμούς των 6 συγκροτημάτων που εμφανίζονται την ημέρα αυτή, με τη σειρά που εμφανίζονται, και να τους καταχωρίζει στις αντίστοιχες θέσεις του πίνακα ΠΡ. Κάθε τιμή που εισάγεται να γίνεται δεκτή μόνο εάν δεν έχει ξαναεισαχθεί την ίδια ημέρα, διαφορετικά να ζητείται ξανά. Ο έλεγχος αυτός να γίνεται από το υποπρόγραμμα ΥΠΑΡΧΕΙ που περιγράφεται στο ερώτημα Δ5. Δ3. Για καθένα από τα 20 συγκροτήματα να ντλανώνει τον κωδικό του και το πρόγραμμα εμφανίσεων του, δηλαδή να γράφει τις ημέρες και τη σειρά κάθε ημέρας που εμφανίζεται. Δ4. Να τυπώνει το όνομα των συγκροτημάτων που εμφανίζονται τις περισσότερες φορές. (* Μόνο στα θέματα Εξετάσεων Εξωτερικού) Δ5. Να αναπτύξετε το υποπρόγραμμα ΥΠΑΡΧΕΙ το οποίο: α) να δέχεται ως είσοδο τις εξής τρεις παραμέτρους:
    • τον πίνακα ΠΡ,
    • τον αριθμό ημέρας και
    • τη σειρά εμφάνισης ενός συγκροτήματος
    β) να ελέγχει εάν το συγκρότημα που αντιστοιχεί στις τιμές αυτές υπάρχει ήδη στην ίδια στήλη σε προηγούμενη γραμμή και γ) να επιστρέφει το αποτέλεσμα του ελέγχου ως λογική τιμή. Σημείωση: Να θεωρήσετε ότι δεν απαιτούνται επιπλέον έλεγχοι εγκυρότητας για τις τιμές εισόδου. (Ε2019-Δ, ΕΞ2019-Δ)
  24. Στην 27η Βαλκανιάδα Πληροφορικής που θα διεξαχθεί στην Αθήνα τον Σεπτέμβριο του 2019, συμμετέχουν 40 μαθητές. Κάθε μαθητής παίρνει έναν κωδικό από 1 έως και 40, ο οποίος αντιστοιχεί στη σειρά που δήλωσε συμμετοχή. Κάθε μαθητής καλείται να επιλύσει έξι προβλήματα. Για κάθε πρόβλημα αναπτύσσει τη λύση του σε μία γλώσσα προγραμματισμού και την υποβάλει για βαθμολόγηση. Η λύση βαθμολογείται σε ακέραια κλίμακα από 0 έως 100. Κατά τη διάρκεια του διαγωνισμού κάθε μαθητής και για κάθε πρόβλημα μπορεί να υποβάλει τη λύση του όσες φορές θέλει. Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο: Δ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. Δ2. Να διαβάζει επαναληπτικά τα ονόματα των μαθητών και να τα καταχωρίζει στον Πίνακα ΟΝ[40]. Επίσης, να αρχικοποιεί με την τιμή 0 όλα τα στοιχεία του Πίνακα ΒΑΘ[40,6], ο οποίος θα περιέχει τη βαθμολογία κάθε μαθητή για κάθε πρόβλημα. Δ3. Κάθε φορά που μία λύση προβλήματος υποβάλλεται και βαθμολογείται, το πρόγραμμα να διαβάζει τον κωδικό του μαθητή (από 1 έως και 40), τον αριθμό του προβλήματος (από 1 έως και 6) και τη βαθμολογία του (από 0 έως και 100). Η βαθμολογία να καταχωρίζεται στην αντίστοιχη θέση του Πίνακα ΒΑΘ[40,6] μόνο αν είναι μεγαλύτερη από τη βαθμολογία που είναι ήδη καταχωρισμένη. Για τον τερματισμό της εισαγωγής δεδομένων το πρόγραμμα να εμφανίζει το μήνυμα «Υπάρχει νέα λύση προβλήματος; ΝΑΙ / ΟΧΙ». Αν εισαχθεί η τιμή «ΟΧΙ», να τερματίζεται η εισαγωγή δεδομένων. Δ4. Να υπολογίζει και να καταχωρίζει στον Πίνακα ΣΒ[40] τα αθροίσματα των βαθμολογιών κάθε μαθητή στα έξι προβλήματα. Για τον σκοπό αυτό να καλέσει μόνο μία φορά το υποπρόγραμμα με όνομα ΥΣΒ. Να αναπτύξετε το υποπρόγραμμα ΥΣΒ το οποίο να δέχεται ως είσοδο τον Πίνακα ΒΑΘ[40,6] και να επιστρέφει ως έξοδο συμπληρωμένο τον Πίνακα ΣΒ[40]. Δ5. Να εμφανίζει τα ονόματα των μαθητών ταξινομημένα σύμφωνα με τη συνολική τους βαθμολογία σε φθίνουσα βαθμολογική σειρά. Σε περίπτωση μαθητών με την ίδια βαθμολογία, τα ονόματά τους να εμφανίζονται με αλφαβητική σειρά. Σημειώσεις α) Δεν απαιτούνται έλεγχοι εγκυρότητας τιμών. β) Να θεωρήσετε ότι θα δοθεί τουλάχιστον μια λύση προβλήματος από έναν μαθητή. (2019-Δ)