Θέμα Δ, 2019, Ιούνιου, Hμερήσια

ΘΕΜΑ Δ
Στην 27η Βαλκανιάδα Πληροφορικής που θα διεξαχθεί στην Αθήνα τον Σεπτέμβριο του 2019, συμμετέχουν 40 μαθητές. Κάθε μαθητής παίρνει έναν  κωδικό από 1 έως και 40, ο οποίος αντιστοιχεί στη σειρά που δήλωσε συμμετοχή. Κάθε μαθητής καλείται να επιλύσει έξι προβλήματα. Για κάθε  πρόβλημα αναπτύσσει τη λύση του σε μία γλώσσα προγραμματισμού και την  υποβάλλει για βαθμολόγηση. Η λύση βαθμολογείται σε ακέραια κλίμακα από 0  έως 100. 
Κατά τη διάρκεια του διαγωνισμού κάθε μαθητής και για κάθε πρόβλημα μπορεί  να υποβάλλει τη λύση του όσες φορές θέλει. 
Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο: 

Δ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. Μονάδες 2 

Δ2. Να διαβάζει επαναληπτικά τα ονόματα των μαθητών και να τα  καταχωρίζει στον Πίνακα ΟΝ[40]. (μονάδα 1) 
Επίσης, να αρχικοποιεί με την τιμή 0 όλα τα στοιχεία του Πίνακα  ΒΑΘ[40,6], ο οποίος θα περιέχει τη βαθμολογία κάθε μαθητή για κάθε  πρόβλημα. (μονάδες 2) 

Μονάδες 3 

Δ3. Κάθε φορά που μία λύση προβλήματος υποβάλλεται και βαθμολογείται,  το πρόγραμμα να διαβάζει τον κωδικό του μαθητή (από 1 έως και 40), τον αριθμό του προβλήματος (από 1 έως και 6) και τη βαθμολογία του  (από 0 έως και 100). (μονάδα 1)  
Η βαθμολογία να καταχωρίζεται στην αντίστοιχη θέση του Πίνακα  ΒΑΘ[40,6] μόνο αν είναι μεγαλύτερη από τη βαθμολογία που είναι ήδη  καταχωρισμένη. (μονάδες 2) 
Για τον τερματισμό της εισαγωγής δεδομένων το πρόγραμμα να  εμφανίζει το μήνυμα «Υπάρχει νέα λύση προβλήματος; ΝΑΙ / ΟΧΙ». Αν  εισαχθεί η τιμή «ΟΧΙ», να τερματίζεται η εισαγωγή δεδομένων. (μονάδες 2) 

Μονάδες 5 

Δ4. Να υπολογίζει και να καταχωρίζει στον Πίνακα ΣΒ[40] τα αθροίσματα των βαθμολογιών κάθε μαθητή στα έξι προβλήματα. Για τον σκοπό αυτό  να καλεί μόνο μια φορά το υποπρόγραμμα με όνομα ΥΣΒ. (μονάδα 1) Να αναπτύξετε το υποπρόγραμμα ΥΣΒ το οποίο να δέχεται ως είσοδο  τον Πίνακα ΒΑΘ[40,6] και να επιστρέφει ως έξοδο συμπληρωμένο τον  Πίνακα ΣΒ[40]. (μονάδες 4) 

 Μονάδες 5 

Δ5. Να εμφανίζει τα ονόματα των μαθητών ταξινομημένων σύμφωνα με τη  συνολική τους βαθμολογία σε φθίνουσα βαθμολογική σειρά. Σε περίπτωση μαθητών με την ίδια βαθμολογία, τα ονόματά τους να  εμφανίζονται με αλφαβητική σειρά. 

Μονάδες 5 

Σημειώσεις 
α) Δεν απαιτούνται έλεγχοι εγκυρότητας τιμών. 
β) Να θεωρήσετε ότι θα δοθεί τουλάχιστον μια λύση προβλήματος από έναν μαθητή. 

ΛΥΣΗ (περισσότερα…)

ΔΤ1, Κεφάλαιο 10, Διάφορα υποπρογράμματα, ύψωση σε δύναμη, άρτιος, ελάχιστος (min), υπολογισμός ΦΠΑ

Τι είδους υποπρόγραμμα, διαδικασία ή συνάρτηση πρέπει να χρησιμοποιήσεις για τα παρακάτω:

Α) Εισαγωγή τριών δεδομένων. ΑΠΑΝΤΗΣΗ: ΔΙΑΔΙΚΑΣΙΑ

Β) Εισαγωγή ενός δεδομένου. ΔΙΑΔΙΚΑΣΙΑ

Γ) Υπολογισμός του μικρότερου από πέντε ακεραίους.  ΣΥΝΑΡΤΗΣΗ

Δ) Υπολογισμός των δύο μικρότερων από πέντε ακεραίους. ΔΙΑΔΙΚΑΣΙΑ 

Ε) Έλεγχος αν δύο αριθμοί είναι ίσοι.  ΣΥΝΑΡΤΗΣΗ

Ζ) Να ταξινομεί, και να επιστρέφει ταξινομημένους, πέντε αριθμούς.  ΔΙΑΔΙΚΑΣΙΑ

Η) Έλεγχος αν ένας χαρακτήρας είναι φωνήεν ή σύμφωνο.ΣΥΝΑΡΤΗΣΗ

Παράδειγμα 3.7, Ταξινόμηση ευθείας ανταλλαγής (Φυσαλίδας)

Έστω ότι ο αρχικός πίνακας αποτελείται από εννέα κλειδιά τα εξής: 52, 12, 71, 56, 5, 10, 19, 90 και 45. Η μέθοδος εφαρμοζόμενη σε αυτά τα εννέα κλειδιά εξελίσσεται όπως φαίνεται στο επόμενο σχήμα. Κάθε φορά το ταξινομημένο τμήμα του πίνακα εμφανίζεται με χρώμα, ενώ τα στοιχεία που σαν φυσαλίδες ανέρχονται μέσα στον πίνακα εντοπίζονται με το αντίστοιχο βέλος στα δεξιά τους. Κάθε φορά εμφανίζεται η τάξη της επανάληψης (i).

Σχ.3.7 Ταξινόμηση φυσαλίδας.

Σχ.3.7 Ταξινόμηση φυσαλίδας.

ΛΥΣΗ: (περισσότερα…)

ΔΤ5, Κεφάλαιο 3, Τετράδιο Εργασιών

Έστω ότι η τάξη σας θα συμμετάσχει στην ημερήσια εθελοντική αιμοδοσία που πραγματοποιεί ο Δήμος της πόλης σας. Είναι γνωστό το επίθετο κάθε μαθητή και όλοι οι μαθητές θα συμμετάσχουν στην αιμοδοσία. Να γραφεί αλγόριθμος για τη δημιουργία ουράς των μαθητών έξω από το Κέντρο αιμοδοσίας με δεδομένο ότι η ουρά θα δημιουργηθεί με βάση την αλφαβητική σειρά των επιθέτων των μαθητών.

ΛΥΣΗ:  (περισσότερα…)

ΔΣ3, Κεφάλαιο 3, Τετράδιο Εργασιών, ταξινόμηση ευθείας εισαγωγής (Straight Insertion Sort)

Έστω ότι θέλουμε να διατάξουμε τους μαθητές μίας τάξης κατά φθίνουσα σειρά ύψους. Η τεχνική που θα ακολουθήσουμε είναι η εξής: Αρχικά, τοποθετούμε τους μαθητές σε μία τυχαία σειρά. Κατόπιν συγκρίνουμε το δεύτερο με τον πρώτο και αν χρειασθεί τους αντιμεταθέτουμε ώστε πρώτος να είναι ο ψηλότερος. Στη συνέχεια θεωρούμε τον τρίτο και τον τοποθετούμε στη σωστή σειρά σε σχέση με τον πρώτο και το δεύτερο. Κατ’ αυτόν τον τρόπο συνεχίζουμε μέχρι να τοποθετήσουμε στη σωστή σειρά όλους τους μαθητές. Να σχεδιασθεί ένας αλγόριθμος που να υλοποιεί αυτή τη μέθοδο ταξινόμησης.

ΛΥΣΗ: (περισσότερα…)

Θέμα Δ, 2016, Επαναληπτικές, Ημερήσια, Παλαιό

Μια εταιρεία έχει δύο υποκαταστήματα, ένα στην Αθήνα και ένα στη Θεσσαλονίκη. Σε κάθε υποκατάστημα εργάζονται 10 πωλητές.

Να αναπτύξετε αλγόριθμο σε ψευδογλώσσα, ο οποίος:
Δ1. Για καθέναν από τους 20 πωλητές της εταιρείας, να διαβάζει το όνομά του και τον κωδικό του και να τα καταχωρίζει σε κατάλληλο δισδιάστατο πίνακα, έτσι ώστε στις πρώτες 10 γραμμές του πίνακα να υπάρχουν τα στοιχεία των πωλητών του υποκαταστήματος της Αθήνας και στις επόμενες 10 τα στοιχεία των πωλητών της Θεσσαλονίκης. Να θεωρήσετε ότι όλα τα ονόματα και όλοι οι κωδικοί είναι διαφορετικοί μεταξύ τους. Μονάδες 2

Δ2. Για κάθε παραγγελία της εταιρείας στη διάρκεια του προηγούμενου έτους, να διαβάζει τον κωδικό του πωλητή. Αν ο κωδικός ανήκει σε πωλητή της εταιρείας, να διαβάζει το ποσό της αντίστοιχης παραγγελίας που πήρε ο πωλητής (δεν απαιτείται έλεγχος εγκυρότητας) ή, διαφορετικά, να εμφανίζει το μήνυμα «Άγνωστος κωδικός». Η επαναληπτική διαδικασία να τερματίζεται όταν δοθεί, ως κωδικός πωλητή, η τιμή ΤΕΛΟΣ. Μονάδες 8

Δ3. Να υπολογίζει τις συνολικές πωλήσεις κάθε πωλητή στη διάρκεια του προηγούμενου έτους και να τις εμφανίζει μαζί με το όνομά του. Να θεωρήσετε ότι κάθε πωλητής πήρε παραπάνω από μία παραγγελία στη διάρκεια του προηγούμενου έτους. Μονάδες 4

Δ4. Για κάθε υποκατάστημα να βρίσκει και να εμφανίζει τα ονόματα των τριών πωλητών με τις μεγαλύτερες συνολικές πωλήσεις στη διάρκεια του προηγούμενου έτους. Να θεωρήσετε ότι οι συνολικές πωλήσεις όλων των πωλητών είναι διαφορετικές μεταξύ τους. Μονάδες 6

ΦΥΛΛΑΔΙΟ ΘΕΜΑΤΩΝ

ΛΥΣΗ (περισσότερα…)

Θέμα Δ, 2014, Επαναληπτικές, Ημερήσια

Στις πρόσφατες δημοτικές εκλογές, σε κάποιο δήμο της χώρας, χρησιμοποιήθηκαν για την ψηφοφορία 217 αίθουσες (εκλογικά τμήματα), σε 34 δημόσια κτήρια (εκλογικά καταστήματα). Τα τμήματα αριθμήθηκαν με τη σειρά, από το 1 μέχρι το 217, έτσι ώστε οι αριθμοί των εκλογικών τμημάτων κάθε καταστήματος να είναι διαδοχικοί: αριθμήθηκαν πρώτα τα τμήματα του πρώτου καταστήματος, στη συνέχεια τα τμήματα του δεύτερου καταστήματος κ.ο.κ. Το ψηφοδέλτιο ενός από τους συμμετέχοντες συνδυασμούς είχε 65 υποψηφίους. Κάθε ψηφοφόρος ψηφίζει σημειώνοντας σταυρό δίπλα στο όνομα κάθε υποψηφίου που επιλέγει.

Να αναπτύξετε αλγόριθμο, ο οποίος:

Δ1. Να διαβάζει:

α. Το πλήθος των εκλογικών τμημάτων για κάθε εκλογικό κατάστημα. Να γίνεται έλεγχος εγκυρότητας των τιμών που δίνονται, ώστε αυτές να είναι θετικές και το άθροισμά τους να είναι ίσο με 217. (μονάδες 4)

β.   Τα ονόματα των υποψηφίων του συνδυασμού. (μονάδα 1)

γ. Τον αριθμό των σταυρών που έλαβε καθένας από τους 65 υποψηφίους του συνδυασμού, σε κάθε εκλογικό τμήμα. (μονάδα 1)

Μονάδες 6

Δ2. Να εμφανίζει τον συνολικό αριθμό σταυρών που έλαβε κάθε υποψήφιος.

Μονάδες 2

Δ3. Να εμφανίζει τα ονόματα των υποψηφίων που έλαβαν τους περισσότερους συνολικούς σταυρούς στο δεύτερο εκλογικό κατάστημα.

Μονάδες 5

Δ4. Να εμφανίζει, σε αλφαβητική σειρά, τα ονόματα των δέκα πρώτων σε σταυρούς υποψηφίων. Σε περίπτωση που υπάρχουν υποψήφιοι που έλαβαν τον ίδιο συνολικό αριθμό σταυρών με τον δέκατο, να εμφανίζει και τα δικά τους ονόματα.

Μονάδες 7

Τα θέματα σε pdf, 2014, Επαναληπτικές, Ημερήσια

ΛΥΣΗ (περισσότερα…)

Θέμα Δ, 2012, Μαΐου-Ιουνίου, Ημερήσια

Μια εταιρεία ασχολείται με εγκαταστάσεις φωτοβολταϊκών συστημάτων, με τα οποία οι πελάτες της έχουν τη δυνατότητα αφενός να παράγουν ηλεκτρική ενέργεια για να καλύπτουν τις ανάγκες της οικίας τους, αφετέρου να πωλούν την πλεονάζουσα ενέργεια προς 0,55€/kWh, εξασφαλίζοντας επιπλέον έσοδα. Η εταιρεία αποφάσισε να ερευνήσει τις εγκαταστάσεις που πραγματοποίησε την προηγούμενη χρονιά σε δέκα (10) πελάτες που βρίσκονται ο καθένας σε διαφορετική πόλη της Ελλάδας.

Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:

Δ1. α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. (μονάδα 1)

β. Να διαβάζει για κάθε πελάτη το όνομά του και το όνομα της πόλης στην οποία διαμένει και να τα αποθηκεύει στον δισδιάστατο πίνακα ΟΝ[10,2]. (μονάδα 1)

γ. Να διαβάζει το ποσό της ηλεκτρικής ενέργειας σε kWh που παρήγαγαν τα φωτοβολταϊκά συστήματα κάθε πελάτη, καθώς και το ποσό της ηλεκτρικής ενέργειας που κατανάλωσε κάθε πελάτης για κάθε μήνα του έτους, και να τα αποθηκεύει στους πίνακες Π[10,12] για την παραγωγή και Κ[10,12] για την κατανάλωση αντίστοιχα (δεν απαιτείται έλεγχος εγκυρότητας των δεδομένων). (μονάδες 2)

Μονάδες 4

Δ2. Να υπολογίζει την ετήσια παραγωγή και κατανάλωση ανά πελάτη καθώς και τα ετήσια έσοδά του σε ευρώ (€). Θεωρήστε ότι για κάθε πελάτη η ετήσια παραγόμενη ηλεκτρική ενέργεια είναι μεγαλύτερη ή ίση της ενέργειας που έχει καταναλώσει.

Μονάδες 4

Δ3.    Να εμφανίζει το όνομα της πόλης στην οποία σημειώθηκε η μεγαλύτερη παραγωγή ηλεκτρικού ρεύματος.

Μονάδες 3

Δ4.    Να καλεί κατάλληλο υποπρόγραμμα με τη βοήθεια του οποίου θα εμφανίζονται τα ετήσια έσοδα κάθε πελάτη κατά φθίνουσα σειρά.     Να κατασκευάσετε το υποπρόγραμμα που χρειάζεται για το σκοπό αυτό.

Μονάδες 5

Δ5.    Να εμφανίζει τον αριθμό του μήνα με τη μικρότερη παραγωγή ηλεκτρικής ενέργειας. Θεωρήστε ότι υπάρχει μόνο ένας τέτοιος μήνας.

Μονάδες 4

Τα θέματα σε pdf, 2012, Μαΐου-Ιουνίου, Ημερήσια

ΛΥΣΗ (περισσότερα…)

Θέμα Β, Ερώτημα 2, 2013, Μαΐου-Ιουνίου, Ημερήσια

Έστω μονοδιάστατος πίνακας Π[100], του οποίου τα στοιχεία περιέχουν τις λογικές τιμές ΑΛΗΘΗΣ και ΨΕΥΔΗΣ. Να γραφεί τμήμα αλγορίθμου που χωρίς τη χρήση «αλγορίθμων ταξινόμησης» να τοποθετεί στις πρώτες θέσεις του πίνακα την τιμή ΑΛΗΘΗΣ και στις τελευταίες την τιμή ΨΕΥΔΗΣ.

Μονάδες 10

2012, Μαΐου-Ιουνίου, Ημερήσια

Θέμα Δ, 2011, Μαΐου-Ιουνίου, Ημερήσια

Στην αρχή της ποδοσφαιρικής περιόδου οι 22 παίκτες μιας ομάδας, οι οποίοι αριθμούνται από 1 έως 22, ψηφίζουν για τους 3 αρχηγούς που θα τους εκπροσωπούν. Κάθε παίκτης μπορεί να ψηφίσει όσους συμπαίκτες του θέλει, ακόμα και τον εαυτό του. Τα αποτελέσματα της ψηφοφορίας καταχωρίζονται σε έναν πίνακα ΨΗΦΟΣ με 22 γραμμές και 22 στήλες, έτσι ώστε το στοιχείο ΨΗΦΟΣ[i,j] να έχει την τιμή 1, όταν ο παίκτης με αριθμό i έχει ψηφίσει τον παίκτη με αριθμό j, και τιμή 0 στην αντίθετη περίπτωση. Να γράψετε αλγόριθμο ο οποίος:

Δ1. Να διαβάζει τα στοιχεία του πίνακα ΨΗΦΟΣ και να ελέγχει την ορθότητά τους με αποδεκτές τιμές 0 ή 1.

Μονάδες 4

Δ2. Να εμφανίζει το πλήθος των παικτών που δεν ψήφισαν κανέναν.

Μονάδες 4

Δ3. Να εμφανίζει το πλήθος των παικτών που ψήφισαν τον εαυτό τους.

Μονάδες 4

Δ4. Να βρίσκει τους 3 παίκτες που έλαβαν τις περισσότερες ψήφους και να εμφανίζει τους αριθμούς τους και τις ψήφους που έλαβαν. Θεωρήστε ότι δεν υπάρχουν ισοψηφίες.

Μονάδες 8

 Τα θέματα σε pdf, 2011, Μαΐου-Ιουνίου, Ημερήσια

ΛΥΣΗ (περισσότερα…)

Θέμα Δ, 2010, Μαΐου-Ιουνίου, Ημερήσια

Το ράλλυ Βορείων Σποράδων είναι ένας αγώνας ιστοπλοΐας ανοικτής θάλασσας που γίνεται κάθε χρόνο. Στην τελευταία διοργάνωση συμμετείχαν 35 σκάφη που διαγωνίστηκαν σε διαδρομή συνολικής απόστασης 70 μιλίων. Κάθε σκάφος ανήκει σε μια από τις κατηγορίες C1, C2, C3. Επειδή στον αγώνα συμμετέχουν σκάφη διαφορετικών δυνατοτήτων, η κατάταξη δεν προκύπτει από τον «πραγματικό» χρόνο τερματισμού αλλά από ένα «σχετικό» χρόνο, που υπολογίζεται διαιρώντας τον «πραγματικό» χρόνο του σκάφους με τον «ιδανικό». Ο ιδανικός χρόνος είναι διαφορετικός για κάθε σκάφος και προκύπτει πολλαπλασιάζοντας την απόσταση της διαδρομής με τον δείκτη GPH του σκάφους. Ο δείκτης GPH αντιπροσωπεύει τον ιδανικό χρόνο που χρειάζεται το σκάφος για να καλύψει απόσταση ενός μιλίου. Να κατασκευάσετε αλγόριθμο ο οποίος

Δ1.    Να ζητάει για κάθε σκάφος:

  • το όνομά του
  • την κατηγορία του ελέγχοντας την ορθή καταχώρηση
  • τον χρόνο (σε δευτερόλεπτα) που χρειάστηκε για να τερματίσει
  • τον δείκτη GPH (σε δευτερόλεπτα).

Μονάδες 4

Δ 2.  Να υπολογίζει τον σχετικό χρόνο κάθε σκάφους.

Μονάδες 5

Δ3. Να εμφανίζει την κατηγορία στην οποία ανήκουν τα περισσότερα σκάφη.

Μονάδες 6

Δ4. Να εμφανίζει για κάθε κατηγορία καθώς και για την γενική κατάταξη τα ονόματα των σκαφών που κερδίζουν μετάλλιο. (Μετάλλια απονέμονται στους 3 πρώτους κάθε κατηγορίας και στους 3 πρώτους της γενικής κατάταξης).

Μονάδες 5

Σημείωση: Να θεωρήσετε ότι κάθε κατηγορία έχει διαφορετικό αριθμό σκαφών και τουλάχιστον τρία σκάφη.

ΛΥΣΗ
(περισσότερα…)

Ερώτημα 2, Θέμα Α, 2005, Μαΐου-Ιουνίου, Ημερήσια

Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι λανθασμένη.

  1. Η ταξινόμηση είναι μια από τις βασικές λειτουργίες επί των δομών δεδομένων.
  2. Τα στοιχεία ενός πίνακα μπορούν να αποτελούνται από δεδομένα διαφορετικού τύπου.
  3. Ένα υποπρόγραμμα μπορεί να καλείται από ένα άλλο υποπρόγραμμα ή από το κύριο πρόγραμμα.
  4. Στην επαναληπτική δομή Όσο …   Επανάλαβε δεν γνωρίζουμε εκ των προτέρων το πλήθος των επαναλήψεων.
  5. Κατά την εκτέλεση ενός προγράμματος μπορεί να
    αλλάζει η τιμή και ο τύπος μιας μεταβλητής.

Μονάδες 10

Τα θέματα σε pdf, 2005, Ημερήσια