ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ"

Transcript

1 ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΚΑΡΛΟΒΑΣΙΩΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ομάδας Προσανατολισμού Σπουδών Οικονομίας & Πληροφορικής Γ Λυκείου ΣΧΟΛΙΚΟ ΕΤΟΣ

2 Πίνακας Περιεχομένων Εξεταστέα Ύλη Κεφάλαιο 2 ο Βασικές έννοιες αλγορίθμων(7 ο, 8 ο )... 5 Ερωτήσεις θεωρίας (με απαντήσεις) Τι είναι αλγόριθμος Περιγραφή και αναπαράσταση αλγορίθμων Το αλφάβητο της Γλώσσας Τύποι δεδομένων Σταθερές 7.4 Μεταβλητές Αριθμητικοί τελεστές Συναρτήσεις Αριθμητικές εκφράσεις Εντολή εκχώρησης Εντολές Εισόδου Εξόδου Δομή προγράμματος... 8 Δομή επιλογής (2.4.2, 2.4.3, 2.4.4, 8.1, 8.1.1)... 8 Δομή επανάληψης (2.4.5, 8.2, 8.2.1, 8.2.2, 8.2.3) Ερωτήσεις θεωρίας Ορισμός και κριτήρια αλγορίθμου Περιγραφή και αναπαράσταση αλγορίθμων Δεδομένα Αριθμητικοί τελεστές και εκφράσεις Εκχώρηση Είσοδος Έξοδος Δομή Προγράμματος Δομή ακολουθίας Συγκριτικοί και λογικοί τελεστές Δομή επιλογής Δομή επανάληψης Ισοδύναμες δομές επανάληψης Αριθμός επαναλήψεων Ολίσθηση Συμπλήρωση κενών Διαγράμματα ροής Πίνακες τιμών Ασκήσεις Δομή ακολουθίας Δομή επιλογής Δομή επανάληψης Κεφάλαιο 3 ο - Δομές Δεδομένων και αλγόριθμοι (9 ο ) Ερωτήσεις θεωρίας (με απαντήσεις) Αλγόριθμοι + Δομές Δεδομένων = Προγράμματα Πίνακες 9.1 Μονοδιάστατοι πίνακες Αναζήτηση Ταξινόμηση Στοίβα Ουρά Άλλες δομές δεδομένων Πότε πρέπει να χρησιμοποιούνται πίνακες Τυπικές επεξεργασίες πινάκων Ερωτήσεις θεωρίας Δομές δεδομένων Πίνακες Στοίβα - Ουρά Αναζήτηση - Ταξινόμηση

3 Χρήση και τυπικές επεξεργασίες πινάκων Άλλες Δομές δεδομένων Συμπλήρωση κενών Πίνακες τιμών Ασκήσεις Μονοδιάστατοι πίνακες Αναζήτηση Ταξινόμηση Στοίβες Δισδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων Υπολογισμός αθροισμάτων στοιχείων του πίνακα Εύρεση του μέγιστου (ή του ελάχιστου) στοιχείου Αναζήτηση ενός στοιχείου του πίνακα Ταξινόμηση των στοιχείων του πίνακα Συγχώνευση δύο πινάκων Κεφάλαιο5ο Ανάλυση Αλγορίθμων Ερωτήσεις θεωρίας (με απαντήσεις) Επίδοση αλγορίθμων Πολυπλοκότητα αλγορίθμων Ερωτήσεις θεωρίας Επίδοση αλγορίθμων Χειρότερη περίπτωση Χρόνος εκτέλεσης αλγορίθμου - αποδοτικότητα Κεφάλαιο 6ο Εισαγωγή στον Προγραμματισμό Ερωτήσεις θεωρίας (με απαντήσεις) Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Προγραμματιστικά περιβάλλοντα Ερωτήσεις θεωρίας Φυσικές και τεχνητές γλώσσες Τεχνικές Σχεδίασης Προγραμμάτων Προγραμματιστικά περιβάλλοντα Κεφάλαιο 10 ο - Υποπρογράμματα Ερωτήσεις θεωρίας (με απαντήσεις) Τμηματικός προγραμματισμός Χαρακτηριστικά των υποπρογραμμάτων Πλεονεκτήματα του τμηματικού προγραμματισμού Παράμετροι Διαδικασίες και συναρτήσεις Εμβέλεια μεταβλητών-σταθερών Ώθηση - Απώθηση Ερωτήσεις θεωρίας Τμηματικός προγραμματισμός, χαρακτηριστικά και πλεονεκτήματα Παράμετροι Διαδικασίες και συναρτήσεις Εμβέλεια Πίνακες τιμών Ασκήσεις

4 Εξεταστέα Ύλη Από το βιβλίο «Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον» της Γ τάξης Γενικού Λυκείου των Α. Βακάλη, Η. Γιαννόπουλου, Ν. Ιωαννίδη, Χ. Κοίλια, Κ. Μάλαμα, Ι. Μανωλόπουλου, Π. Πολίτη, έκδοση (Ι.Τ.Υ.Ε.) "Διόφαντος". (ΦΕΚ Β 1186/ ) 2. Βασικές Έννοιες Αλγορίθμων 2.1 Τι είναι αλγόριθμος. 2.3 Περιγραφή και αναπαράσταση αλγορίθμων. 2.4 Βασικές συνιστώσες/ εντολές ενός αλγορίθμου Δομή ακολουθίας Δομή Επιλογής Διαδικασίες πολλαπλών επιλογών (αφαιρείται η εντολή πολλαπλής επιλογής "Επίλεξε") Εμφωλευμένες Διαδικασίες Δομή Επανάληψης. 3. Δομές Δεδομένων και Αλγόριθμοι 3.2 Αλγόριθμοι + Δομές Δεδομένων =Προγράμματα 3.3 Πίνακες 3.4 Στοίβα 3.5 Ουρά 3.6 Αναζήτηση 3.7 Ταξινόμηση 3.9 Άλλες δομές δεδομένων 7. Βασικά στοιχεία προγραμματισμού. 7.1 Το αλφάβητο της ΓΛΩΣΣΑΣ. 7.2 Τύποι δεδομένων. 7.3 Σταθερές. 7.4 Μεταβλητές. 7.5 Αριθμητικοί τελεστές. 7.6 Συναρτήσεις. 7.7 Αριθμητικές εκφράσεις. 7.8 Εντολή εκχώρησης. 7.9 Εντολές εισόδου εξόδου Δομή προγράμματος. 8. Επιλογή και επανάληψη 8.1 Εντολές Επιλογής Εντολή ΑΝ 8.2 Εντολές επανάληψης Εντολή ΟΣΟ...ΕΠΑΝΑΛΑΒΕ Εντολή ΜΕΧΡΙΣ_ΟΤΟΥ Εντολή ΓΙΑ..ΑΠΟ...ΜΕΧΡΙ 5. Ανάλυση Αλγορίθμων 5.1 Επίδοση αλγορίθμων Χειρότερη περίπτωση ενός αλγορίθμου Μέγεθος εισόδου ενός αλγορίθμου Χρόνος εκτέλεσης προγράμματος ενός αλγορίθμου Αποδοτικότητα αλγορίθμων 5.3 Πολυπλοκότητα αλγορίθμων 6. Εισαγωγή στον προγραμματισμό 6.3 Φυσικές και τεχνητές γλώσσες. 6.4 Τεχνικές σχεδίασης προγραμμάτων Ιεραρχική σχεδίαση προγράμματος Τμηματικός προγραμματισμός Δομημένος προγραμματισμός. 6.7 Προγραμματιστικά περιβάλλοντα. 9. Πίνακες 9.1 Μονοδιάστατοι πίνακες. 9.2 Πότε πρέπει να χρησιμοποιούνται πίνακες. 9.3 Πολυδιάστατοι πίνακες. 9.4 Τυπικές επεξεργασίες πινάκων. 10. Υποπρογράμματα 10.1 Τμηματικός προγραμματισμός Χαρακτηριστικά των υποπρογραμμάτων Πλεονεκτήματα του τμηματικού προγραμματισμού Παράμετροι Διαδικασίες και συναρτήσεις Ορισμός και κλήση συναρτήσεων Ορισμός και κλήση διαδικασιών Πραγματικές και τυπικές παράμετροι Εμβέλεια μεταβλητών σταθερών Οι δυναμικές δομές της ενότητας 3.9(λίστες, δένδρα, γράφοι) εξετάζονται μόνο ως θεωρία. Σημειώσεις: 1. Οι αλγόριθμοι να υλοποιούνται σε αμιγώς προγραμματιστικό περιβάλλον και συγκεκριμένα αυτό της ΓΛΩΣΣΑΣ 2. Οι δυναμικές δομές της ενότητας 3.9 (λίστες, δέντρα, γράφοι) να διδαχθούν αποκλειστικά ως θεωρία. 3. Στο κεφάλαιο 5 η έννοια της επίδοσης να εξεταστεί με αναφορά στους αλγορίθμους αναζήτησης και ταξινόμησης. Η πολυπλοκότητα αλγορίθμων θα διδαχθεί θεωρητικά με παραδείγματα και σε σύνδεση με την επίδοση χωρίς οι μαθητές να εμπλακούν σε ασκήσεις υπολογισμού της τάξης Oενός αλγορίθμου. 4

5 Κεφάλαιο 2 ο Βασικές έννοιες αλγορίθμων(7 ο, 8 ο ) Ερωτήσεις θεωρίας (με απαντήσεις) 2.1 Τι είναι αλγόριθμος 2.1. Δώστε τον ορισμό του αλγορίθμου. (Εσπερινού Μονάδες 10, Επαναληπτικές Εσπερινού 2006 Μονάδες 4) Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος Να αναφέρετε ονομαστικά τα κριτήρια που πρέπει απαραίτητα να ικανοποιεί ένας αλγόριθμος. ( Μονάδες 5, Επαναληπτικές Εσπερινού 2004 Μονάδες 5) Κάθε αλγόριθμος πρέπει απαραίτητα να ικανοποιεί τα επόμενα κριτήρια Είσοδος (input). Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδοι στον αλγόριθμο. Η περίπτωση που δεν δίνονται τιμές δεδομένων εμφανίζεται, όταν ο αλγόριθμος δημιουργεί και επεξεργάζεται κάποιες πρωτογενείς τιμές με τη βοήθεια συναρτήσεων παραγωγής τυχαίων αριθμών ή με τη βοήθεια άλλων απλών εντολών. Έξοδος (output). Ο αλγόριθμος πρέπει να δημιουργεί τουλάχιστον μία τιμή δεδομένων ως αποτέλεσμα προς το χρήστη ή προς έναν άλλο αλγόριθμο. Καθοριστικότητα (definiteness). Κάθε εντολή πρέπει να καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσής της. Λόγου χάριν, μια εντολή διαίρεσης πρέπει να θεωρεί και την περίπτωση, όπου ο διαιρέτης λαμβάνει μηδενική τιμή. Περατότητα (finiteness). Ο αλγόριθμος να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του. Μια διαδικασία που δεν τελειώνει μετά από ένα συγκεκριμένο αριθμό βημάτων δεν αποτελεί αλγόριθμο, αλλά λέγεται απλά υπολογιστική διαδικασία (computational procedure). Αποτελεσματικότητα (effectiveness). Κάθε μεμονωμένη εντολή του αλγορίθμου να είναι απλή. Αυτό σημαίνει ότι μια εντολή δεν αρκεί να έχει ορισθεί, άλλα πρέπει να είναι και εκτελέσιμη. 2.3 Περιγραφή και αναπαράσταση αλγορίθμων 2.3. Να αναφέρετε ονομαστικά ποιοι είναι οι εναλλακτικοί τρόποι παρουσίασης (αναπαράστασης) ενός αλγορίθμου. (Να περιγράψετε τα προβλήματα που είναι δυνατόν να παρουσιαστούν κατά την αναπαράσταση ενός αλγορίθμου, αν χρησιμοποιηθεί ελεύθερο κείμενο και φυσική γλώσσα κατά βήματα. - Επαναληπτικές 2012 Μονάδες 5) ( Μονάδες 8, Επαναληπτικές Εσπερινού 2006 Μονάδες 4) Με ελεύθερο κείμενο (free text), που αποτελεί τον πιο ανεπεξέργαστο και αδόμητο τρόπο παρουσίασης αλγορίθμου. Μπορεί εύκολα να οδηγήσει σε μη εκτελέσιμη παρουσίαση παραβιάζοντας ένα από τα κριτήρια του αλγορίθμου, την αποτελεσματικότητα. Με διαγραμματικές τεχνικές (diagramming techniques), που συνιστούν ένα γραφικό τρόπο παρουσίασης του αλγορίθμου. Η πιο γνωστή τέτοια τεχνική είναι το διάγραμμα ροής, τεχνική που όμως χρησιμοποιείται όλο και σπανιότερα στη βιβλιογραφία και στην πράξη. Με φυσική γλώσσα (natural language) κατά βήματα. Στην περίπτωση αυτή χρειάζεται προσοχή γιατί μπορεί να παραβιασθεί το κριτήριο της καθοριστικότητας. Με κωδικοποίηση (coding), δηλαδή με ένα πρόγραμμα που όταν εκτελεστεί θα δώσει τα ίδια αποτελέσματα με τον αλγόριθμο Ποια είναι τα κυριότερα χρησιμοποιούμενα γεωμετρικά σχήματα σε ένα διάγραμμα ροής και τι ενέργεια ή λειτουργία δηλώνει το καθένα; (Εσπερινού 2008 Μονάδες 8) Ένα διάγραμμα ροής αποτελείται από ένα σύνολο γεωμετρικών σχημάτων, όπου το καθένα δηλώνει μία συγκεκριμένη ενέργεια ή λειτουργία. Τα γεωμετρικά σχήματα ενώνονται μεταξύ τους με βέλη, που δηλώνουν τη σειρά εκτέλεσης των ενεργειών αυτών. Τα κυριότερα χρησιμοποιούμενα γεωμετρικά σχήματα είναι τα εξής: Έλλειψη, που δηλώνει την αρχή και το τέλος κάθε αλγορίθμου 5

6 Ορθογώνιο, που δηλώνει την εκτέλεση μίας ή περισσότερων πράξεων. Πλάγιο παραλληλόγραμμο, που δηλώνει είσοδο ή έξοδο στοιχείων. Πολλές φορές το σχήμα αυτό μπορεί να διαφοροποιείται προκειμένου να προσδιορίζεται και το είδος της συσκευής από όπου γίνεται η είσοδος ή έξοδος (π.χ. εκτυπωτής, οθόνη κ.τ.λ.) Ρόμβος, που δηλώνει μία ερώτηση με δύο η περισσότερες εξόδους για απάντηση. 7.1 Το αλφάβητο της Γλώσσας 2.5. Από ποιους χαρακτήρες αποτελείται το αλφάβητο της γλώσσας; Το αλφάβητο της ΓΛΩΣΣΑΣ αποτελείται από τα γράμματα του ελληνικού και του λατινικού αλφαβήτου, τα ψηφία, καθώς και από ειδικά σύμβολα, που χρησιμοποιούνται για προκαθορισμένες ενέργειες. Συγκεκριμένα: Γράμματα Κεφαλαία ελληνικού αλφαβήτου (Α-Ω) Πεζά ελληνικού αλφαβήτου (α-ω) Κεφαλαία λατινικού αλφαβήτου (Α-Ζ) Πεζά λατινικού αλφαβήτου (a-z) Ψηφία 0-9 Ειδικοί χαρακτήρες + - * / = ( ).,! & κενός χαρακτήρας ^ 7.2 Τύποι δεδομένων 2.6. Να περιγράψετε τους τύπους δεδομένων που υποστηρίζει η ΓΛΩΣΣΑ. (Εσπερινού 2006 Μονάδες 8, Επαναληπτικές Εσπερινού 2004 Μονάδες 8) Ανάλογα με το είδος της τιμής που μπορούν να λάβουν οι σταθερές και μεταβλητές διακρίνονται σε: Αριθμητικές οι οποίες περιλαμβάνουν τους ακέραιους και πραγματικούς 1. Ακέραιος τύπος. Ο τύπος αυτός περιλαμβάνει τους ακέραιους που είναι γνωστοί από τα μαθηματικά. Οι ακέραιοι μπορεί να είναι θετικοί αρνητικοί ή μηδέν. Παραδείγματα ακεραίων είναι οι αριθμοί 1, 3409, 0, Πραγματικός τύπος. Ο τύπος αυτός περιλαμβάνει τους πραγματικούς αριθμούς που γνωρίζουμε από τα μαθηματικά. Και οι πραγματικοί αριθμοί μπορούν να είναι θετικοί αρνητικοί ή μηδέν. Παραδείγματα πραγματικών είναι οι , , , 0.45 Αλφαριθμητικός ή χαρακτήρας. Ο τύπος αυτός αναφέρεται τόσο σε έναν χαρακτήρα όσο και σε μια σειρά χαρακτήρων. Τα δεδομένα αυτού του τύπου μπορούν να περιέχουν οποιοδήποτε χαρακτήρα παράγεται από το πληκτρολόγιο. Παραδείγματα είναι τα Κ, Κώστας, σήμερα είναι Τετάρτη, Τα πολλαπλάσια του 15 είναι. Οι χαρακτήρες πρέπει υποχρεωτικά να βρίσκονται μέσα σε απλά εισαγωγικά. Τα δεδομένα αυτού του τύπου επειδή περιέχουν τόσο αλφαβητικούς όσο και αριθμητικούς χαρακτήρες, ονομάζονται συχνά αλφαριθμητικά. Λογικός τύπος. Αυτός ο τύπος δέχεται μόνο δύο τιμές ΑΛΗΘΗΣ και ΨΕΥΔΗΣ. Οι τιμές αντιπροσωπεύουν αληθείς η ψευδείς συνθήκες Περιγράψτε με ποιον τρόπο καταχωρούνται τα δεδομένα στην μνήμη του υπολογιστή. Στην πραγματικότητα τα δεδομένα καταχωρούνται στη μνήμη του υπολογιστή καταλαμβάνοντας συγκεκριμένο αριθμό θέσεων (bytes).ανάλογα με τον τύπο του δεδομένου και το διατιθέμενο αριθμό bytes ποικίλλει και το εύρος τιμών που μπορούν να λάβουν. Έτσι στον υπολογιστή διαθέτουμε ένα υποσύνολο ακεραίων ή πραγματικών αριθμών. Συνήθεις τύποι δεδομένων στις διάφορες γλώσσες προγραμματισμού είναι ο ακέραιος (integer)σε 1, 2 ή 4 bytes και ο πραγματικός (real) σε 4ή 8 bytes. 7.3 Σταθερές 7.4 Μεταβλητές 2.8. Τι είναι σταθερά και τι μεταβλητή; (Εσπερινού 2005 Μονάδες 2) Με τον όρο σταθερά (constant) αναφερόμαστε σε προκαθορισμένες τιμές που παραμένουν αμετάβλητες σε όλη τη διάρκεια εκτέλεσης ενός αλγορίθμου. Με τον όρο μεταβλητή (variable) εννοούμε ένα γλωσσικό αντικείμενο που χρησιμοποιείται για να παραστήσει ένα στοιχείο δεδομένου. Οι μεταβλητές που χρησιμοποιούνται σε ένα πρόγραμμα αντιστοιχούνται 6

7 από το μεταγλωττιστή σε συγκεκριμένες θέσεις μνήμης του υπολογιστή. Στη μεταβλητή εκχωρείται μια τιμή, η οποία μπορεί να αλλάξει κατά τη διάρκεια εκτέλεσης ενός αλγορίθμου. Αυτό που μένει υποχρεωτικά αναλλοίωτο είναι ο τύπος της μεταβλητής Ποια ονόματα προγραμμάτων, σταθερών και μεταβλητών είναι έγκυρα στη γλώσσα Γλώσσα; Ποιες λέξεις καλούνται δεσμευμένες; Τα ονόματα μπορούν να αποτελούνται από γράμματα, πεζά ή κεφαλαία είτε του λατινικού είτε του ελληνικού αλφαβήτου (Α-Ω, α-ω, A-Z, a-z), ψηφία (0 9) και τον χαρακτήρα κάτω παύλα (underscore). Πρέπει υποχρεωτικά όμως να ξεκινούν με γράμμα. Κάποιες λέξεις χρησιμοποιούνται από την ίδια την Γλώσσα και δεν μπορούν να χρησιμοποιηθούν σαν ονόματα. Τέτοιες λέξεις είναι οι ΠΡΟΓΡΑΜΜΑ, ΑΝ, ΑΚΕΡΑΙΕΣ κ.ο.κ. Οι λέξεις αυτές αποκαλούνται δεσμευμένες. 7.5 Αριθμητικοί τελεστές Ποιοι αριθμητικοί τελεστές υποστηρίζονται από τη ΓΛΩΣΣΑ. Ποια η χρήση τους; Αριθμητικός τελεστής Πράξη + Πρόσθεση - Αφαίρεση * Πολλαπλασιασμός / Διαίρεση ^ Ύψωση σε δύναμη DIV Ακέραια διαίρεση MOD Υπόλοιπο ακέραιας διαίρεσης Ο τελεστής div χρησιμοποιείται για τον υπολογισμό του πηλίκου μιας διαίρεσης ακεραίων αριθμών, ενώ ο τελεστής mod για το υπόλοιπο. Π.χ. 7 div 2 = 3 και 7 mod 2 = Συναρτήσεις Ποιες συναρτήσεις περιέχονται στη ΓΛΩΣΣΑ και ποια η λειτουργία τους; ΗΜ(Χ) Υπολογισμός ημίτονου ΣΥΝ(Χ) Υπολογισμός συνημίτονου ΕΦ(Χ) Υπολογισμός εφαπτομένης Τ_Ρ(Χ) Υπολογισμός τετραγωνικής ρίζας ΛΟΓ(Χ) Υπολογισμός φυσικού λογαρίθμου Ε(Χ) Υπολογισμός του e^x Α_Μ(Χ) Ακέραιο μέρος του Χ Α_Τ(Χ) Απόλυτη τιμή του Χ 7.7 Αριθμητικές εκφράσεις Περιγράψτε την λειτουργία των αριθμητικών εκφράσεων σε ένα πρόγραμμα. Όταν μια τιμή προκύπτει από υπολογισμό, τότε αναφερόμαστε σε εκφράσεις (expressions). Για τη σύνταξη μιας αριθμητικής έκφρασης χρησιμοποιούνται αριθμητικές σταθερές, μεταβλητές, συναρτήσεις, αριθμητικοί τελεστές και παρενθέσεις. Οι αριθμητικές εκφράσεις υλοποιούν απλές ή σύνθετες μαθηματικές πράξεις. Κάθε έκφραση παριστάνει μια συγκεκριμένη αριθμητική τιμή, η οποία βρίσκεται μετά την εκτέλεση των πράξεων. Γι' αυτό είναι απαραίτητο όλες οι μεταβλητές που εμφανίζονται σε μια έκφραση να έχουν οριστεί προηγούμενα, δηλαδή να έχουν κάποια τιμή Ποια η σειρά εκτέλεσης των πράξεων σε μία αριθμητική έκφραση; Οι πράξεις που παρουσιάζονται σε μια έκφραση εκτελούνται σύμφωνα με την επόμενη ιεραρχία i. Ύψωση σε δύναμη ii. Πολλαπλασιασμός και διαίρεση (περιλαμβάνονται και οι πράξεις DIVκαι MOD) iii. Πρόσθεση και αφαίρεση. Όταν η ιεραρχία είναι ίδια, τότε οι πράξεις εκτελούνται από τ' αριστερά προς τα δεξιά. Σε πολλές όμως περιπτώσεις είναι απαραίτητο να προηγηθεί μια πράξη χαμηλότερης ιεραρχίας. Αυτό επιτυγχάνεται με την εισαγωγή των παρενθέσεων. Η πράξη που πρέπει να προηγηθεί περικλείεται σε ένα ζεύγος παρενθέσεων, οπότε και εκτελείται πρώτη. Π.χ. η έκφραση2 + 3*4 δίδει ως αποτέλεσμα 14, ενώ η (2 + 3)*4 δίδει 20, διότι εκτελείται πρώτα η πρόσθεση και μετά ο πολλαπλασιασμός. 7

8 7.8 Εντολή εκχώρησης Ποια είναι η σύνταξη της εντολής εκχώρησης στη ΓΛΩΣΣΑ και ποια η λειτουργία της; Παρουσιάστε παραδείγματά της. Σύνταξη Όνομα-μεταβλητής <- έκφραση Παραδείγματα A <- 132 Λειτουργία ΜΗΝΑΣ <- Ιανουάριοςʼ ΕΜΒΑΔΟΝ <- Α*Β Υπολογίζεται η τιμή της έκφρασης στη δεξιά πλευρά και εκχωρείται η τιμή αυτή στη μεταβλητή, που αναφέρεται στην αριστερή πλευρά Υπάρχει αναλογία μεταξύ της εντολής εκχώρησης και μίας εξίσωσης; Μια εντολή εκχώρησης σε καμία περίπτωση δεν πρέπει να εκλαμβάνεται ως εξίσωση. Στην εξίσωση το αριστερό μέλος ισούται με το δεξιό, ενώ στην εντολή εκχώρησης η τιμή του δεξιού μέλους εκχωρείται, μεταβιβάζεται, αποδίδεται στη μεταβλητή του αριστερού μέλους. Για το λόγο αυτό ως τελεστής εκχώρησης χρησιμοποιείται το σύμβολο <- προκειμένου να διαφοροποιείται από το ίσον ( = ). 7.9 Εντολές Εισόδου Εξόδου Να γράψετε τη σύνταξη των εντολών ΓΡΑΨΕ ΔΙΑΒΑΣΕ και να περιγράψετε τη λειτουργία τους. Σύνταξη Λειτουργία ΔΙΑΒΑΣΕ λίστα-μεταβλητών Η εκτέλεση της εντολής οδηγεί στην είσοδο τιμών από το πληκτρολόγιο και την εκχώρησή τους στις μεταβλητές που αναφέρονται. Σύνταξη Ραλίστα-στοιχείων Λειτουργία Χρησιμοποιείται για την εμφάνιση σταθερών τιμών καθώς και των τιμών των μεταβλητών που αναφέρονται στη λίστα Δομή προγράμματος Πως δομείται ένα πρόγραμμα στη γλώσσα Γλώσσα; Κάθε πρόγραμμα ξεκινά με την εντολή ΠΡΟΓΡΑΜΑ ακολουθούμενη από το όνομα του. Ακολουθεί το τμήμα δηλώσεων, πρώτα σταθερών και στη συνέχεια μεταβλητών. Στη συνέχεια ανάμεσα στις λέξεις ΑΡΧΗ και ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ βρίσκονται όλες οι εκτελέσιμες εντολές Ποια η λειτουργία των χαρακτήρων & και!; Κάθε εντολή γράφεται σε ξεχωριστή γραμμή. Αν μία εντολή πρέπει να συνεχιστεί και στην επόμενη γραμμή, τότε ο πρώτος χαρακτήρας αυτής της γραμμής πρέπει να είναι ο χαρακτήρας &. Αν ο πρώτος χαρακτήρας είναι το θαυμαστικό (!), σημαίνει ότι αυτή η γραμμή περιέχει σχόλια και όχι εκτελέσιμες εντολές Να αναφέρετε ονομαστικά τις τρεις βασικές δομές που χρησιμοποιούνται για την ανάπτυξη αλγορίθμων. (Εσπερινού 2000 Μονάδες 10) Η δομή ακολουθίας, η οποία χρησιμοποιείται για την αντιμετώπιση απλών προβλημάτων, όπου είναι δεδομένη η σειρά εκτέλεσης ενός συνόλου ενεργειών. Η δομή επιλογής, η οποία περιλαμβάνει τον έλεγχο κάποιας συνθήκης με δυο δυνατές τιμές (αληθής, ψευδής) και την απόφαση εκτέλεσης κάποιας εντολής ή ενός συνόλου εντολών ανάλογα με την τιμή της. Η δομή επανάληψης, η οποία περιέχει μια εντολή ή ένα σύνολο εντολών που εκτελούνται πολλές φορές μέχρι να ισχύσει (ή να σταματήσει να ισχύει) μια συνθήκη. Δομή επιλογής (2.4.2, 2.4.3, 2.4.4, 8.1, 8.1.1) Ποιοι τελεστές εκτός από τους αριθμητικούς υποστηρίζει η ΓΛΩΣΣΑ; Συγκριτικοί: Συγκριτικός τελεστής Ελεγχόμενη σχέση Παράδειγμα = Ισότητα Αριθμός = 0 <> Ανισότητα Ονομα1 <> Κώστας 8

9 > Μεγαλύτερο από Τιμή > >= Μεγαλύτερο ή ίσο Χ+Υ>= (Α+Β)/Γ < Μικρότερο από Β^2-4*Α*Γ<0 <= Μικρότερο ή ίσο Βάρος <=500 Λογικοί των οποίων το αποτέλεσμα είναι πάντα μια λογική τιμή: ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ: Λογικός Τελεστής Παράδειγμα ΟΧΙ(άρνηση) Χ>=0 ΟΧΙ (Χ<0) ΚΑΙ (σύζευξη) 0<Χ<5 Χ>0 ΚΑΙ Χ<5 Ή (διάζευξη) Χ=1 ή 2 ή 3 Χ=1 Ή Χ=2 Ή Χ= Ποια η ιεραρχία των τελεστών; Με ποια σειρά εκτελούνται οι πράξεις σε μία έκφραση; Όταν πολλοί τελεστές συνδυάζονται σε μια έκφραση πρέπει να βρεθεί ποιος τελεστής εκτελείται πρώτος. Αυτό το ορίζει η ιεραρχία μιας γλώσσας. Στην περίπτωση της ΓΛΩΣΣΑΣ η Ιεραρχία αυτή θα είναι η εξής: 1. Αριθμητικοί τελεστές. i. Ύψωση σε δύναμη ii. Πολλαπλασιασμός και διαίρεση (περιλαμβάνονται και οι πράξεις DIVκαι MOD) iii. Πρόσθεση και αφαίρεση. 2. Συγκριτικοί τελεστές i. =, >, >=, <, <=, <> 3. Λογικοί τελεστές i. Όχι, Και, Ή Όταν η ιεραρχία είναι ίδια, οι πράξεις εκτελούνται από τα αριστερά προς τα δεξιά. Σε πολλές όμως περιπτώσεις είναι απαραίτητο να προηγηθεί μια πράξη χαμηλότερης ιεραρχίας. Αυτό επιτυγχάνεται με τη χρήση παρενθέσεων Ποιες είναι οι λογικές πράξεις μεταξύ συνθηκών; Πότε η κάθε πράξη είναι αληθής; Η λογική πράξη Ή, η οποία είναι αληθής όταν οποιαδήποτε από τις δύο προτάσεις είναι αληθής. Η πράξη ΚΑΙ, η οποία είναι αληθής όταν και οι δύο προτάσεις είναι αληθής Και η πράξη ΌΧΙ, είναι αληθής όταν η πρόταση που την ακολουθεί είναι ψευδής Να συμπληρώσετε τον πίνακα αλήθειας δυο προτάσεων Α, Β και των τριών λογικών πράξεων. Πρόταση Α Πρόταση Β Α ή Β (διάζευξη) Α και Β (σύζευξη) όχι Α (άρνηση) Αληθής Αληθής Αληθής Αληθής Ψευδής Αληθής Ψευδής Αληθής Ψευδής Ψευδής Ψευδής Αληθής Αληθής Ψευδής Αληθής Ψευδής Ψευδής Ψευδής Ψευδής Αληθής (Ιούνιος Μονάδες 6) Να γράψετε τη σύνταξη της εντολής ΑΝ και να περιγράψετε τη λειτουργία της. Σύνταξη Λειτουργία ΑΝ συνθήκη ΤΟΤΕ εντολή-1 εντολή-2... εντολή-ν Αν η συνθήκη ισχύει, τότε εκτελούνται οι εντολές που βρίσκονται μεταξύ των λέξεων ΤΟΤΕ και ΤΕΛΟΣ_ΑΝ, σε αντίθετη περίπτωση οι εντολές αυτές αγνοούνται. Η εκτέλεση του προγράμματος συνεχίζεται με την εντολή που ακολουθεί τη δήλωση ΤΕΛΟΣ_ΑΝ. ΤΕΛΟΣ_ΑΝ Να γράψετε τη σύνταξη της εντολής ΑΝ ΤΟΤΕ ΑΛΛΙΩΣ και να περιγράψετε τη λειτουργία της. Σύνταξη Λειτουργία ΑΝ συνθήκη ΤΟΤΕ Αν η συνθήκη ισχύει, τότε εκτελούνται οι εντολές που εντολές βρίσκονται μεταξύ των λέξεων ΤΟΤΕ και ΑΛΛΙΩΣ, ΑΛΛΙΩΣ διαφορετικά εκτελούνται οι εντολές μεταξύ ΑΛΛΙΩΣ και εντολές ΤΕΛΟΣ_ΑΝ. Η εκτέλεση του προγράμματος συνεχίζεται με ΤΕΛΟΣ_ΑΝ την εντολή που ακολουθεί τη δήλωση ΤΕΛΟΣ_ΑΝ. 9

10 2.26. Να γράψετε τη σύνταξη της εντολής ΑΝ ΤΟΤΕ ΑΛΛΙΩΣ_ΑΝ και να περιγράψετε τη λειτουργία της. Σύνταξη Λειτουργία ΑΝσυνθήκη-1 ΤΟΤΕ Εκτελούνται οι εντολές που βρίσκονται στο αντίστοιχο εντολές τμήμα, όταν η συνθήκη είναι αληθής. ΑΛΛΙΩΣ_ΑΝσυνθήκη-2 ΤΟΤΕ Η εκτέλεση του προγράμματος συνεχίζεται με την εντολή που εντολές ακολουθεί τη δήλωση ΤΕΛΟΣ_ΑΝ. ΑΛΛΙΩΣ εντολές ΤΕΛΟΣ_ΑΝ Δομή επανάληψης (2.4.5, 8.2, 8.2.1, 8.2.2, 8.2.3) Να γράψετε τη σύνταξη της εντολής ΟΣΟ ΕΠΑΝΑΛΑΒΕ και να περιγράψετε τη λειτουργία της. (Επαναληπτικές Μονάδες 1-3) Σύνταξη ΟΣΟ συνθήκη ΕΠΑΝΑΛΑΒΕ εντολή-1 εντολή-2... εντολή-ν ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Λειτουργία Ελέγχεται η συνθήκη και αν είναι Αληθής, εκτελούνται οι εντολές που βρίσκονται ανάμεσα στις ΟΣΟ_ΕΠΑΝΑΛΑΒΕ και ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ. Στη συνέχεια ελέγχεται πάλι η συνθήκη και αν ισχύει, εκτελούνται πάλι οι ίδιες εντολές. Όταν η λογική έκφραση γίνει Ψευδής, τότε σταματάει η επανάληψη και εκτελείται η εντολή μετά το ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Να γράψετε τη σύνταξη της εντολής ΜΕΧΡΙΣ_ΟΤΟΥ και να περιγράψετε τη λειτουργία της. Σύνταξη Λειτουργία ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ εντολή-1 εντολή-2 Εκτελούνται οι εντολές μεταξύ των ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ και ΜΕΧΡΙΣ_ΟΤΟΥ. Στη συνέχεια ελέγχεται η λογική έκφραση και αν δεν ισχύει (είναι ψευδής), τότε οι εντολές που βρίσκονται ανάμεσα στις... ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ και ΜΕΧΡΙΣ_ΟΤΟΥ, εκτελούνται πάλι. εντολή-ν ΜΕΧΡΙΣ_ΟΤΟΥ λογικήέκφραση Ελέγχεται ξανά η λογική έκφραση και αν δεν ισχύει, επαναλαμβάνεται η εκτέλεση των ίδιων εντολών. Όταν η λογική έκφραση γίνει Αληθής, τότε σταματάει η επανάληψη και εκτελείται η εντολή μετά από την ΜΕΧΡΙΣ_ΟΤΟΥ Να γράψετε τη σύνταξη της εντολής ΓΙΑ ΑΠΟ ΜΕΧΡΙ και να περιγράψετε τη λειτουργία της. Σύνταξη ΓΙΑ μεταβλητή ΑΠΟ τιμή1 ΜΕΧΡΙ τιμή2 ΜΕ ΒΗΜΑ τιμή3 εντολή-1 εντολή-2... εντολή-ν ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Λειτουργία Οι εντολές του βρόχου εκτελούνται για όλες τις τιμές της μεταβλητής από την αρχική τιμή μέχρι την τελική τιμή, αυξανόμενες με την τιμή του βήματος. Αν το βήμα είναι ίσο με 1, τότε παραλείπεται Να γράψετε τους κανόνες που πρέπει να ακολουθούνται στη χρήση των εμφωλευμένων βρόχων με εντολές ΓΙΑ (2014 Μονάδες 6) Ο εσωτερικός βρόχος πρέπει να βρίσκεται ολόκληρος μέσα στον εξωτερικό. Ο βρόχος που ξεκινάει τελευταίος, πρέπει να ολοκληρώνεται πρώτος. Η είσοδος σε κάθε βρόχο υποχρεωτικά γίνεται από την αρχή του. Δεν μπορεί να χρησιμοποιηθεί η ίδια μεταβλητή ως μετρητής δύο ή περισσοτέρων βρόχων που ο ένας βρίσκεται στο εσωτερικό του άλλου. 10

11 2.31. Ποιος είναι ο πιο απλός τρόπος για τον υπολογιστή να εκτελέσει πολλαπλασιασμό η ακέραια διαίρεση με το 2; Με ολίσθηση (shift) προς τα αριστερά και προς τα δεξιά αντίστοιχα. Στα κυκλώματα του υπολογιστή τα δεδομένα αποθηκεύονται με δυαδική μορφή, δηλαδή 0 και 1 ανεξάρτητα από το πώς τα ορίζει ο προγραμματιστής. Έτσι ο αριθμός 17 του δεκαδικού συστήματος ισοδυναμεί με τον αριθμό του δυαδικού συστήματος, ο οποίος μπορεί να αποθηκευτεί σε ένα byte.αν μετακινήσουμε τα ψηφία αυτά κατά μια θέση προς τα αριστερά (ολίσθηση προς τα αριστερά), δηλαδή αν προσθέσουμε ένα 0 στο τέλος του αριθμού και αγνοήσουμε το αρχικό 0, τότε προκύπτει ο αριθμός του δυαδικού συστήματος που ισοδυναμεί με τον αριθμό 34 του δεκαδικού συστήματος. Επίσης, με τον ίδιο τρόπο, αν μετακινήσουμε τα ψηφία κατά μια θέση δεξιά (ολίσθηση προς τα δεξιά), δηλαδή αποκόψουμε το τελευταίο ψηφίο 1 και θεωρήσουμε ένα ακόμη αρχικό 0 τότε προκύπτει ο αριθμός του δυαδικού συστήματος που ισοδυναμεί με τον αριθμό 8 του δεκαδικού Με ποιόν τρόπο εκτελείται η πράξη του πολλαπλασιασμό από τον υπολογιστή; Γιατί; Ο υπολογιστής για την πράξη του πολλαπλασιασμού χρησιμοποιεί τη μέθοδο του πολλαπλασιασμού αλλά ρωσικά.χρησιμοποιείται γιατί σε επίπεδο κυκλωμάτων υπολογιστή ο πολλαπλασιασμός επί δύο και η διαίρεση δια δύο μπορούν να υλοποιηθούν ταχύτατα με μια απλή εντολή ολίσθησης (shift), σε αντίθεση με τον πολλαπλασιασμό με οποιοδήποτε ακέραιο που θεωρείται πιο χρονοβόρα διαδικασία. Ερωτήσεις θεωρίας Ορισμός και κριτήρια αλγορίθμου Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση Η περατότητα ενός αλγορίθμου αναφέρεται στο γεγονός ότι καταλήγει στη λύση 1 του προβλήματος μετά από πεπερασμένο αριθμό βημάτων (εντολών). ( Μονάδες 4) 2 Ένας αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών. ( Μονάδες 2) 3 Οι ενέργειες που ορίζει ένας αλγόριθμος είναι αυστηρά καθορισμένες. ( Μονάδες 2) 4 Η έννοια του αλγόριθμου συνδέεται αποκλειστικά με την Πληροφορική. ( Μονάδες 2) 5 Ο αλγόριθμος τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης εντολών. ( Μονάδες 2) 6 Ένας αλγόριθμος στοχεύει στην επίλυση ενός προβλήματος. ( Μονάδες 2) 7 Κάθε εντολή ενός αλγορίθμου πρέπει να καθορίζεται χωρίς αμφιβολία για τον τρόπο εκτέλεσής της. (Εσπερινού Μονάδες 2) 8 Μια υπολογιστική διαδικασία που δεν τελειώνει μετά από συγκεκριμένο αριθμό βημάτων αποτελεί αλγόριθμο.(επαναληπτικές 2008 Μονάδες 2) 9 Ένας αλγόριθμος μπορεί να μην έχει έξοδο.(επαναληπτικές 2012 Μονάδες 1) 10 Η διαίρεση με το 0 παραβιάζει το κριτήριο περατότητας ενός αλγορίθμου.(επαναληπτικές 2012 Μονάδες 1) Να γράψετε στο τετράδιό σας τους αριθμούς της στήλης Α και δίπλα το γράμμα της στήλης Β που αντιστοιχεί στη σωστή αλγοριθμική έννοια. Στήλη Α Χαρακτηριστικά(Κριτήρια) Στήλη Β Αλγοριθμικές Έννοιες 1.Περατότητα 2.Είσοδος 3.Έξοδος Δίνεται η παρακάτω ακολουθία εντολών: ΔΙΑΒΑΣΕ Α, Β, Γ Δ Β^2-4*Α*Γ α. Δεδομένα β. Αποτελέσματα γ. Ακρίβεια στην έκφραση των εντολών δ. Πεπερασμένος χρόνος εκτέλεσης ( Μονάδες 6) 11

12 Ε Τ_Ρ (Δ) ΓΡΑΨΕ Ε Να αναφέρετε ποιο κριτήριο αλγορίθμου δεν ικανοποιείται και να δικαιολογήσετε την απάντησή σας. Σημείωση: Τ_Ρ(x) είναι η συνάρτηση τετραγωνικής ρίζας του πραγματικού αριθμού x. (Επαναληπτικές Εσπερινού 2004 Μονάδες 5) Δίνεται η παρακάτω ακολουθία εντολών: ΕΠΑΝ ΑΛΗΘΗΣ ΟΣΟ ΕΠΑΝ = ΑΛΗΘΗΣΕΠΑΝΑΛΑΒΕ ΔΙΑΒΑΣΕ Α, Β Χ Β/Α ΓΡΑΨΕ Χ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ α. Να αναφέρετε ονομαστικά ποια κριτήρια αλγορίθμου δεν ικανοποιούνται. β. Να αιτιολογήσετε την απάντησή σας. (Επαναληπτικές Εσπερινού 2008 Μονάδες 4-6) Περιγραφή και αναπαράσταση αλγορίθμων Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση 1 Ο πιο δομημένος τρόπος παρουσίασης αλγορίθμων είναι με ελεύθερο κείμενο. ( Μονάδες 2) 2 Το διάγραμμα ροής (flow chart) είναι ένας τρόπος περιγραφής αλγορίθμου. (Εσπερινού Μονάδες 2) 3 Σε ένα διάγραμμα ροής ο ρόμβος δηλώνει την αρχή και το τέλος του αλγόριθμου. (Επαναληπτικές Εσπερινού 2006 Μονάδες 2) 4 Η αναπαράσταση ενός αλγορίθμου με φυσική γλώσσα κατά βήματα μπορεί να παραβιάσει το κριτήριο της καθοριστικότητας.(επαναληπτικές Εσπερινού 2008 Μονάδες 2) 5 Η αναπαράσταση ενός αλγορίθμου με ελεύθερο κείμενο μπορεί να παραβιάσει το κριτήριο της αποτελεσματικότητας. Δεδομένα Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση Ενώ η τιμή μίας μεταβλητής μπορεί να αλλάζει κατά την εκτέλεση του 1 προγράμματος, αυτό που μένει υποχρεωτικά αναλλοίωτο είναι ο τύπος της. (Επαναληπτικές 2006 Μονάδες 2) 2 Σε μια εντολή εκχώρησης δεν μπορεί να χρησιμοποιηθεί η ίδια μεταβλητή τόσο στο αριστερό όσο και στο δεξιό μέλος της. (Εσπερινό 2006 Μονάδες 2) 3 Οι δεσμευμένες λέξεις της ΓΛΩΣΣΑΣ δεν μπορούν να χρησιμοποιηθούν ως 4 ονόματα δεδομένων σε ένα πρόγραμμα.(εσπερινού Μονάδες 2) Οι μεταβλητές που χρησιμοποιούνται σ ένα πρόγραμμα αντιστοιχούνται από το μεταγλωττιστή σε συγκεκριμένες θέσεις μνήμης του υπολογιστή.(παλιό σύστημα 2016 Μονάδες 2) 5 Η δήλωση των μεταβλητών που χρησιμοποιούνται σε ένα πρόγραμμα είναι υποχρεωτική.(τετράδιο μαθητή) Να αντιστοιχίσετε κάθε Δεδομένο της Στήλης Α με το σωστό Τύπο Δεδομένου της Στήλης Β. ΣτήληΑ - Δεδομένα 1. 0,42 2. ΨΕΥΔΗΣ 3. Χ ,0 5. ΑΛΗΘΗΣ Στήλη Β - Τύπος Δεδομένων α. Ακέραιος β. Πραγματικός γ. Χαρακτήρας δ. Λογικός Τα στοιχεία της Στήλης Β μπορείτε να τα χρησιμοποιήσετε καμία, μία ή περισσότερες από μία φορές. ( Μονάδες 5) 12

13 Αριθμητικοί τελεστές και εκφράσεις Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση 1 Η τελική τιμή μιας έκφρασης εξαρτάται από την ιεραρχία των πράξεων και τη χρήση των παρενθέσεων. (Επαναληπτικές παλιού 2016 Μονάδες 2) 2 Ο τελεστής MOD χρησιμοποιείται για τον υπολογισμό του πηλίκου μίας διαίρεσης ακεραίων αριθμών.(εσπερινού Μονάδες 2) 3 Στην αριθμητική έκφραση Α+Β*Γ εκτελείται πρώτα η πρόσθεση και μετά ο πολλαπλασιασμός. (Εσπερινού Μονάδες 2) 4 Για τον υπολογισμό μιας έκφρασης, όλες οι μεταβλητές που εμφανίζονται σ αυτή πρέπει να έχουν οριστεί προηγουμένως, δηλαδή να έχουν κάποια τιμή. (Επαναληπτικές Εσπερινού 2008 Μονάδες 2) 5 Οι εκφράσεις διαμορφώνονται από τους τελεστέους και τους τελεστές. ( Μονάδες 2) Δίνονται οι παρακάτω αριθμητικές εκφράσεις σε ΓΛΩΣΣΑ: 1. ((Α_Τ(x) HM(θ))/(Τ_Ρ((x^2)+5))) 2. (2*x+((3*(x+1))/(y^2+1)) Ε(x)) Λαμβάνοντας υπόψη την ιεραρχία των αριθμητικών πράξεων, να ξαναγράψετε τις εκφράσεις αυτές, παραλείποντας όλες τις παρενθέσεις που δεν είναι απαραίτητες. (Επαναληπτικές Μονάδες 6) Εκχώρηση Είσοδος Έξοδος Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση 1 Σε μία εντολή εκχώρησης δεν μπορεί να υπάρχει αναφορά σε περισσότερες από μία συναρτήσεις. (Επαναληπτικές 2015 Μονάδες 2) 2 Σε μια εντολή εκχώρησης δεν μπορεί να χρησιμοποιηθεί η ίδια μεταβλητή τόσο στο αριστερό όσο και στο δεξιό μέλος της. (Εσπερινού 2006 Μονάδες 2) 3 Το σύμβολο της εντολής εκχώρησης είναι το ίσον =.(τετράδιο μαθητή) Κατά την εκτέλεση της εντολής ΔΙΑΒΑΣΕ, το πρόγραμμα διακόπτει την 4 εκτέλεσή του και περιμένει την εισαγωγή τιμών από το πληκτρολόγιο. (2013 Μονάδες 1) 5 Κάθε μεταβλητή παίρνει τιμή μόνο με εντολή εκχώρησης. (Επαναληπτικές παλιού 2016 Μονάδες 2) Να μεταφέρετε στο τετράδιό σας τον παρακάτω πίνακα συμπληρώνοντάς τον με τον κατάλληλο τύπο και το περιεχόμενο της μεταβλητής. Εντολή Τύπος Περιεχόμενο εκχώρησης μεταβλητής Χ μεταβλητής Χ Χ ΑΛΗΘΗΣ Χ Χ 7>4 Χ ΨΕΥΔΗΣ Χ 4 ( Μονάδες 10) Δίνονται οι παρακάτω εντολές: λ λ+1 λ λ-2 λ λ+3 Να γράψετε στο τετράδιό σας μία εντολή εκχώρησης που παράγει το ίδιο αποτέλεσμα. (2015 Μονάδες 3) Δίνονται οι παρακάτω προτάσεις σε φυσική γλώσσα: 1. Αύξησε το Χ κατά 2. 13

14 2. Εκχώρησε στο Y τον μέσο όρο των Κ, Λ, Μ. 3. Το τελευταίο ψηφίο του Α είναι O Β είναι διψήφιος. Να θεωρήσετε ότι οι Α και Β είναι θετικοί ακέραιοι. Να γράψετε στο τετράδιό σας τον αριθμό της κάθε πρότασης και δίπλα την κωδικοποίησή της σε ΓΛΩΣΣΑ. Δομή Προγράμματος Δομή ακολουθίας Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση (2015 Μονάδες 4) 1 Η ακολουθιακή δομή εντολών χρησιμοποιείται, όταν είναι δεδομένη η σειρά εκτέλεσης ενός συνόλου ενεργειών. (παλιό σύστημα 2016 Μονάδες 2) 2 Σε έναν αλγόριθμο στον οποίο υπάρχει μόνο η δομή ακολουθίας, κάθε εντολή εκτελείται ακριβώς μία φορά. 3 Στη δομή ενός προγράμματος το τμήμα δήλωσης των σταθερών ακολουθεί το τμήμα δήλωσης των μεταβλητών. (Επαναληπτικές Εσπερινού 2007 Μονάδες 2) Συγκριτικοί και λογικοί τελεστές Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση 1 Ο τελεστής ΚΑΙ αντιστοιχεί στη λογική πράξη της σύζευξης. (2009 Μονάδες 2) 2 Η λογική πράξη "ή" μεταξύ δύο προτάσεων είναι ψευδής, όταν οποιαδήποτε από τις δύο προτάσεις είναι ψευδής.(επαναληπτικές 2004 Μονάδες 2) 3 Στην εντολή x α<β, ηx είναι λογική μεταβλητή. 4 Η λογική έκφραση Χ Η (ΟΧΙ Χ) είναι πάντα αληθής για κάθε τιμή της λογικής μεταβλητής Χ.(2011 Μονάδες 2) 5 Η τιμή της έκφρασης ΤΕΤΑΡΤΗ < ΠΕΜΠΤΗ είναι ΑΛΗΘΗΣ.(Εσπερινό 2016 Μονάδες 2) 6 Αν Α=2, Β=3, Γ=4 και Δ=ΑΛΗΘΗΣ, τότε η τιμή της έκφρασης(β Γ>Α+Β) ΚΑΙ (ΟΧΙ(Δ)) είναι ΑΛΗΘΗΣ.(2013 Μονάδες 1) 7 Η λογική έκφραση (Α ή (όχι Α)) και Β) είναι πάντα ίση με Β για κάθε τιμή των λογικών μεταβλητών Α και Β 8 Η λογική έκφραση (Α > Β) Ή ΟΧΙ(Α > Β) είναι πάντα αληθής για οποιεσδήποτε τιμές των αριθμητικών μεταβλητών Α και Β. (Επαναληπτικές 2016 Μονάδες 2) 9 Η λογική έκφραση Α ή ΑΛΗΘΗΣ είναι πάντα αληθής ανεξάρτητα της τιμής της λογικής μεταβλητής Α. Η πράξη της σύζευξης δύο λογικών εκφράσεων δίνει ως αποτέλεσμα την τιμή 10 ΨΕΥΔΗΣ, μόνον όταν και οι δύο εκφράσεις έχουν την τιμή ΨΕΥΔΗΣ.(Επαναληπτικές 2015 Μονάδες 2) Δίνονται οι τιμές των μεταβλητών Χ=8 και Ψ=4 και η παρακάτω έκφραση: (ΟΧΙ (9 mod 5 = 20-4*2^2)) H (X>Ψ ΚΑΙ X > Ψ ) Να υπολογίσετε την τιμή της έκφρασης αναλυτικά, ως εξής: α. Να αντικαταστήσετε τις μεταβλητές με τις τιμές τους.(μονάδα 1) β. Να εκτελέσετε τις αριθμητικές πράξεις. (μονάδα 1) γ. Να αντικαταστήσετε τις συγκρίσεις με την τιμή ΑΛΗΘΗΣ, αν η σύγκριση είναι αληθής, ή με την τιμή ΨΕΥΔΗΣ, αν η σύγκριση είναι ψευδής. (μονάδα 1) δ. Να εκτελέσετε τις λογικές πράξεις, ώστε να υπολογίσετε την τελική τιμή της έκφρασης. (μονάδες 2) ( Μονάδες 5) Δίδονται οι τιμές των μεταβλητών Α=5, Β=7 και Γ= 3. Να χαρακτηρίσετε στο τετράδιό σας κάθε έκφραση που ακολουθεί με το γράμμα Α, αν είναι αληθής, ή με το γράμμα Ψ, αν είναι ψευδής. 1. ΟΧΙ (Α+Β<10) 14

15 2. (Α>=Β) Η (Γ<Β) 3. ((Α>Β) ΚΑΙ (Γ<Α)) Η (Γ>5) 4. (ΟΧΙ(Α<>Β)) ΚΑΙ (Β+Γ<>2*Α) ( Μονάδες 4) Να μεταφέρετε στο τετράδιό σας συμπληρωμένο τον παρακάτω πίνακα αληθείας. Α Β (ΟΧΙ Α) ΚΑΙ (ΟΧΙ Β) ((ΟΧΙ Α) ΚΑΙ Β) Ή (Α ΚΑΙ (ΟΧΙ Β)) (Επαναληπτικές 2008 Μονάδες 8) Δίνεται η εντολή εκχώρησης: Ε ((Α mod 5 >2) ΚΑΙ (C <> Αληθής )) Ή ((Ψευδής) ΚΑΙ (Β > Α/3)) Θεωρώντας ότι οι αριθμητικές μεταβλητές που περιέχονται σε αυτήν παίρνουν θετικές τιμές, να γράψετε στο τετράδιό σας το όνομα κάθε μεταβλητής της εντολής και, δίπλα, τον τύπο που πρέπει να έχει, ώστε η εντολή να είναι συντακτικά σωστή. (Επαναληπτικές παλιό σύστημα Μονάδες 5) Να γράψετε στο τετράδιό σας τους αριθμούς της στήλης Α και, δίπλα, το γράμμα της στήλης που αντιστοιχεί σωστά. (Να θεωρήσετε ότι ο X είναι θετικός ακέραιος). Στήλη Α Στήλη Β 1. X DIV 1000 = 0 α. Βρίσκει την τιμή του ψηφίου των χιλιάδων. 2. X DIV 1000 MOD 10 β. Ελέγχει αν ο αριθμός έχει τουλάχιστον τρία ψηφία. 3. X DIV 100 <> 0 γ. Βρίσκει την τιμή του ψηφίου των εκατοντάδων. 4. X MOD 1000 DIV 100 δ. Ελέγχει αν ο αριθμός έχει το πολύ τρία ψηφία. (Παλιό σύστημα Μονάδες 8) Δομή επιλογής Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση 1 Η ομάδα εντολών που περιέχεται σε μια δομή επιλογής μπορεί να μην εκτελεστεί. (Εσπερινού Μονάδες 2) Εμφωλευμένα ΑΝ ονομάζονται δύο ή περισσότερες εντολές της μορφής ΑΝ... 2 ΤΟΤΕ... ΑΛΛΙΩΣ που περιέχονται η μία μέσα στην άλλη. (Επαναληπτικές Εσπερινού 2007 Μονάδες 2) Σε μια δομή σύνθετης επιλογής, μετά από τις εντολές που βρίσκονται μεταξύ 3 των λέξεων ΤΟΤΕ και ΑΛΛΙΩΣ, εκτελούνται οι εντολές που βρίσκονται μεταξύ των λέξεων ΑΛΛΙΩΣ και ΤΕΛΟΣ_ΑΝ.(2016 Μονάδες 2) 4 Κάθε εντολή ΑΝ περιλαμβάνει υποχρεωτικά και το τμήμα ΑΛΛΙΩΣ Δίνεται το παρακάτω τμήμα αλγορίθμου: Αν Χ>1 τότε Κ Αληθής Αλλιώς Κ Ψευδής Τέλος_αν Να γράψετε στο τετράδιό σας συμπληρωμένη την παρακάτω εντολή εκχώρησης, ώστε να έχει το ίδιο αποτέλεσμα με το παραπάνω τμήμα αλγορίθμου. Κ. (2011 Μονάδες 3) Να μεταφέρετε στο τετράδιό σας το παρακάτω τμήμα αλγορίθμου, έχοντας συμπληρώσει τις γραμμές εντολών 2, και 3 ώστε να εμφανίζει πάντα το μεγαλύτερο από τους δυο αριθμούς που διαβάστηκαν: 1. Διάβασε Α, Β 15

16 2. Αν Α Β τότε Τέλος_αν 5. Εμφάνισε Α Δίνονται τα τμήματα αλγορίθμου Ι και ΙΙ: I Αν Χ>Y και Y 1 τότε Ζ Χ/(Y-1) Εμφάνισε Ζ αλλιώς_αν Χ>Y και Y=1 τότε Ζ Y/X Εμφάνισε Ζ Τέλος_αν II Αν.. τότε Αν τότε αλλιώς... Τέλος_αν Τέλος_αν ( Μονάδες 4) Να γράψετε στο τετράδιό σας το τμήμα αλγορίθμου ΙΙ με συμπληρωμένα τα κενά, ώστε να παράγει το ίδιο αποτέλεσμα με το τμήμα αλγορίθμου Ι. ( Μονάδες 5) Να ξαναγράψετε την παρακάτω εντολή χωρίς τη χρήση λογικών τελεστών. Αν ( Α < Β και C <> D ) και ( B > D ή Β =D ) τότε K 1 Τέλος_αν (Επαναληπτικές Μονάδες 10) Δίνεται το παρακάτω τμήμα αλγορίθμου: Διάβασε Χ Μια εντολή εξόδου στο παραπάνω τμήμα δεν πρόκειται να εκτελεστεί, όποια και αν Αν Χ>15 τότε είναι η τιμή του Χ. Γράψε 1 1. Ποια είναι η εντολή αυτή; αλλιώς_αν Χ>23 τότε 2. Να γράψετε τις εντολές εξόδου που είναι δυνατόν να εκτελεστούν και, δίπλα σε Γράψε 2 καθεμία από αυτές, το διάστημα τιμών του Χ για το οποίο θα εκτελεστεί η εντολή. αλλιώς Γράψε 3 Τέλος_αν (2015 Μονάδες 2 4) Δίνεται το παρακάτω τμήμα αλγορίθμου: Αν x > 0 ή y > 0 τότε Εμφάνισε Ένας τουλάχιστον θετικός αριθμός Αλλιώς_αν x < 0 και y < 0 τότε Εμφάνισε Δύο αρνητικοί αριθμοί Τέλος_αν Να γράψετε στο τετράδιό σας τμήμα αλγορίθμου το οποίο να παράγει το ίδιο αποτέλεσμα με το παραπάνω, χρησιμοποιώντας μόνο τις λογικές συνθήκες x > 0, x < 0, y > 0, y < 0 και χωρίς να χρησιμοποιήσετε λογικούς τελεστές. (Παλιό σύστημα Μονάδες 7) Δομή επανάληψης Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση Οι εντολές που βρίσκονται μέσα σε εντολή επανάληψης «Όσο επανέλαβε» 1 εκτελούνται τουλάχιστον μία φορά.(2012 Μονάδες 1, Επαναληπτικές 2007 Μονάδες 2) 2 Ένα τμήμα αλγορίθμου που εκτελείται επαναληπτικά αποκαλείται βρόχος. (Επαναληπτικές 2007 Μονάδες 2) 3 Η εντολή επανάληψης ΓΙΑ ΑΠΟ ΜΕΧΡΙ ΜΕ_ΒΗΜΑ μπορεί να χρησιμοποιηθεί, όταν έχουμε άγνωστο αριθμό επαναλήψεων. ( Μονάδες 2) 4 Ο βρόχος Για κ από 5 μέχρι 5 εκτελείται μία φορά. ( Μονάδες 2) 16

17 5 Ο βρόχος Για Κ από 5 μέχρι 1 εκτελείται 5 φορές.(επαναληπτικές Εσπερινού 2008 Μονάδες 2) Οι εντολές που βρίσκονται σε μια δομή ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ... 6 ΜΕΧΡΙΣ_ΟΤΟΥ εκτελούνται τουλάχιστον μια φορά.(επαναληπτικές Εσπερινού 2006 Μονάδες 2, Επαναληπτικές 2009 Μονάδες 2) 7 Στην επαναληπτική δομή Για από μέχρι με_βήμα οι τιμές από, μέχρι και με_βήμα δεν είναι απαραίτητο να είναι ακέραιες. (Επαναληπτικές 2005 Μονάδες 2) 8 Στην επαναληπτική δομή Για από μέχρι με_βήμα αν το βήμα είναι μηδέν ο βρόχος εκτελείται άπειρες φορές. 9 Κάθε βρόγχος που υλοποιείται με την εντολή ΟΣΟ- ΕΠΑΝΑΛΑΒΕ μπορεί να γραφεί και με τη χρήση της ΓΙΑ ΑΠΟ ΜΕΧΡΙ.(2007 Μονάδες 2) 10 Όταν υπάρχουν δυο βρόχοι, ο ένας εμφωλευμένος μέσα στον άλλο, αυτός που ξεκινάει τελευταίος πρέπει να ολοκληρώνεται πρώτος. (2013 Μονάδες 1) Να γράψετε στο τετράδιό σας τους αριθμούς της Στήλης Α και δίπλα τα γράμματα της Στήλης Β που αντιστοιχούν σωστά. (Να σημειωθεί ότι στις Εντολές της Στήλης Α αντιστοιχούν περισσότερες από μία Προτάσεις της Στήλης Β). Στήλη Α - Εντολές 1.Όσο συνθήκη επανάλαβε εντολές Τέλος_επανάληψης 2.Αρχή_επανάληψης εντολές Μέχρις_ότου συνθήκη Δίνεται ο παρακάτω πίνακας Εντολή Επανάληψης 1. Όσο επανάλαβε Τέλος_επανάληψης 2. Για από μέχρι με βήμα Τέλος_επανάληψης 3. Αρχή_επανάληψης μέχρις_ότου Στήλη Β - Προτάσεις α. Ο βρόχος επανάληψης τερματίζεται, όταν η συνθήκη είναι αληθής β. Ο βρόχος επανάληψης τερματίζεται, όταν η συνθήκη είναι ψευδής γ. Ο βρόχος επανάληψης εκτελείται οπωσδήποτε μία φορά δ. Ο βρόχος επανάληψης είναι δυνατό να μην εκτελεστεί Καταλληλόλητα Χρήσης ( Μονάδες 8) α. Γνωστός αριθμός επαναλήψεων β. Άγνωστος αριθμός επαναλήψεων γ. Άγνωστος αριθμός επαναλήψεων, αλλά τουλάχιστον μία επανάληψη Να γράψετε στο τετράδιό σας τους αριθμούς της πρώτης στήλης και, δίπλα, το γράμμα της δεύτερης στήλης που αντιστοιχεί σωστά. (Επαναληπτικές Μονάδες 6) Ισοδύναμες δομές επανάληψης Δίνεται η δομή επανάληψης Για i από τιμή1 μέχρι τιμή2με_βήμαβ Εντολές Τέλος_επανάληψης Να μετατρέψετε την παρακάτω δομή σε ισοδύναμη δομή επανάληψης Όσο επανέλαβε. ( Μονάδες 9) Το παρακάτω τμήμα αλγόριθμου να μετατραπεί σε ισοδύναμο με χρήση της δομής Για από μέχρι με_βήμα. Ι 2 Όσο Ι<=10 επανάλαβε Διάβασε Α Εμφάνισε Α Ι Ι+2 Τέλος_επανάληψης (Επαναληπτικές Μονάδες 6) 17

18 2.65. Δίνεται το παρακάτω τμήμα αλγορίθμου, το οποίο εμφανίζει τα τετράγωνα των περιττών αριθμών από το 99 μέχρι το 1 με φθίνουσα σειρά. Για i από 99 μέχρι 1 με_βήμα -2 x i^2 εμφάνισε x Τέλος_επανάληψης α. Να ξαναγράψετε στο τετράδιό σας το παραπάνω τμήμα αλγορίθμου με αποκλειστική χρήση της δομής επανάληψης «Όσο επανέλαβε». β. Να ξαναγράψετε στο τετράδιό σας το παραπάνω τμήμα αλγορίθμου με αποκλειστική χρήση της δομής επανάληψης «Αρχή_επανάληψης Μέχρις_ότου». (2012 Μονάδες 5-5) Δίδεται το παρακάτω τμήμα αλγορίθμου: ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100 ΑΝ i MOD 2=0 ΤΟΤΕ ΕΜΦΑΝΙΣΕ i ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Να γραφούν ισοδύναμα τμήματα αλγορίθμου (δηλαδή να εμφανίζουν τις ίδιες τιμές). α) Με χρήση της εντολής ΓΙΑ, χωρίς την εντολή ΑΝ β) Με χρήση της εντολής ΟΣΟ, χωρίς την εντολή ΑΝ (Εσπερινό Μονάδες 3 4) Δίνεται το παρακάτω τμήμα αλγορίθμου: Ι 1 Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης 1. Να σχεδιάσετε το ισοδύναμο διάγραμμα ροής. 2. Να ξαναγράψετε το παραπάνω τμήμα αλγορίθμου χρησιμοποιώντας την εντολή ΓΙΑ αντί της εντολής ΟΣΟ. (Επαναληπτικές 2007 Μονάδες 4-5) Δίνεται το παρακάτω τμήμα αλγορίθμου, όπου η μεταβλητή x έχει θετική ακέραια τιμή: Αν x>1 τότε α. Να σχεδιάσετε στο τετράδιό σας το ισοδύναμο διάγραμμα ροής. y x β. Να ξαναγράψετε το τμήμα αυτό στο τετράδιό σας, χρησιμοποιώντας Αρχή_επανάληψης την εντολή Για αντί της εντολής Μέχρις_ότου. y y-2 (2015 Μονάδες 6 8) Εμφάνισε y Μέχρις_ότου y 0 Τέλος_αν Αριθμός επαναλήψεων Δίνεται το παρακάτω τμήμα αλγορίθμου: Για K από A μέχρι B με_βήμα Γ Εμφάνισε K Τέλος_επανάληψης Να γράψετε στο τετράδιό σας για καθεμία από τις παρακάτω περιπτώσεις τις τιμές των Α, Β, Γ, έτσι ώστε το αντίστοιχο τμήμα αλγορίθμου να εμφανίζει: 1. όλους τους περιττούς ακεραίους από το 100 μέχρι το όλους τους ακεραίους από το -20 μέχρι και το 10 σε φθίνουσα σειρά. 3. όλα τα πολλαπλάσια του 3 από το 1 μέχρι το 80. (Επαναληπτικές παλιό σύστημα Μονάδες 9) Δίνεται η παρακάτω εντολή: Για Α από Β μέχρι Γ με_βήμα Εμφάνισε "ΚΑΛΗΣΠΕΡΑ" Τέλος_επανάληψης 18

19 Να γράψετε στο τετράδιό σας πόσες φορές εκτελείται η εντολή Εμφάνισε για καθένα από τους παρακάτω συνδυασμούς των τιμών των μεταβλητών Β, Γ και : 1. Β = 2 Γ = 5 = 1 2. Β =-1 Γ = 1 = 0,5 3. Β =-7 Γ =-6 =-5 4. Β = 5 Γ = 5 = 1 (Εσπερινού 2007 Μονάδες 8) Δίνονται τα παρακάτω τμήματα αλγορίθμων. 1. Ι 0 Όσο Ι <= 9 επανάλαβε J I Όσο J <= 9 επανάλαβε Γράψε Α J J + 1 Τέλος_επανάληψης Ι Ι + 1 Τέλος_επανάληψης 2. Ι 0 Όσο Ι < 10 επανάλαβε Γράψε Α Τέλος_επανάληψης 3. Ι 0 Όσο Ι > 0 επανάλαβε Γράψε Α Ι Ι + 1 Τέλος_επανάληψης 4. Για Ι από 0 μέχρι 4 Γράψε Α Για J από 0 μέχρι 6 Γράψε Α Τέλος_επανάληψης Τέλος_επανάληψης Για καθένα από τα τμήματα αλγορίθμων, να γράψετε στο τετράδιό σας τον αριθμό του (1 έως 4) και, δίπλα, πόσες φορές θα εμφανιστεί το γράμμα Α κατά την εκτέλεσή του. (Επαναληπτικές Μονάδες 8) Ολίσθηση Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση 1 Στα κυκλώματα του Η/Υ η ολίσθηση προς τα αριστερά ισοδυναμεί με την ακέραια διαίρεση δια δύο. 2 Στα κυκλώματα του Η/Υ η ολίσθηση προς τα δεξιά ισοδυναμεί με την πράξη mod 2. Σε επίπεδο κυκλωμάτων υπολογιστή ο πολλαπλασιασμός επί δέκα και η 3 διαίρεση δια δέκα μπορούν να υλοποιηθούν ταχύτερα από ότι οι αντίστοιχες πράξεις επί και δία δύο. Εάν ολισθήσουμε δεξιά έναν αριθμό στα κυκλώματα του υπολογιστή και 4 στη συνέχεια τον ολισθήσουμε αριστερά παίρνουμε πάντα τον ίδιο αριθμό. 5 Εάν ολισθήσουμε στα κυκλώματα του Η/Υ έναν αριθμό προς τα αριστερά δύο φορές τετραπλασιάζουμε τον αριθμό. Συμπλήρωση κενών Δίνεται το παρακάτω ημιτελές τμήμα αλγορίθμου: Να ξαναγράψετε στο τετράδιό σας το παραπάνω τμήμα αλγορίθμου με τα κενά συμπληρωμένα, έτσι ώστε να υπολογίζει και να εμφανίζει το άθροισμα των περιττών ακεραίων από το 100 έως το 200. ( Μονάδες 8) Ο αριθμός π εκφράζει το πηλίκο της περιμέτρου ενός κύκλου προς τη διάμετρό του. Η τιμή του μπορεί να παρανομαστής (1). Σ 0 Α... Β... Αρχή_επανάληψης Β... Α... Μέχρις_ότου Α>200 Εμφάνισε Β 19

20 υπολογιστεί, κατά προσέγγιση, από την παρακάτω παράσταση: Ο υπολογισμός της τιμής της παράστασης, για 100 όρους του αθροίσματος, γίνεται από το παρακάτω τμήμα αλγορίθμου που περιλαμβάνει 5 κενά. Να γράψετε στο τετράδιό σας τους αριθμούς 1 έως 5, που αντιστοιχούν στα κενά του αλγορίθμου, και, δίπλα σε κάθε αριθμό, ό,τι πρέπει να συμπληρωθεί, ώστε ο αλγόριθμος να υπολογίζει την τιμή του π όπως περιγράφηκε. πρόσημο 1 Για iαπό 1 μέχρι 100 όρος 1/παρανομαστής όρος (2).* πρόσημο (3). Σ + όρος πρόσημο πρόσημο * ((4). ) παρανομαστής παρανομαστής + 2 Τέλος_επανάληψης π (5). * Σ ( Μονάδες 10) Να γράψετε συμπληρωμένο κατάλληλα στο τετράδιό σας το παρακάτω τμήμα αλγορίθμου, ώστε να εμφανίζει διαδοχικά τις τιμές: 2, 4, 8, 10, 14. Για Ι από μέχρι με_βήμα... Αν και τότε Εμφάνισε Ι Τέλος_αν Τέλος_επανάληψης (Παλιό σύστημα Μονάδες 5) Διαγράμματα ροής Δίνεται ο παρακάτω αλγόριθμος σε μορφή διαγράμματος ροής. Να κατασκευάσετε ισοδύναμο αλγόριθμο σε ψευδογλώσσα Δίνεται ο παρακάτω αλγόριθμος σε διάγραμμα ροής: α. Να κατασκευάσετε ισοδύναμο αλγόριθμο σε ψευδογλώσσα. β. Να εκτελέσετε τον αλγόριθμο για Α = 4. Να γράψετε στο τετράδιό σας τις τιμές που θα εμφανιστούν. (Εσπερινού 2009 Μονάδες 10-10) (Εσπερινό 2006 Μονάδες 10) 20

21 2.78. Δίνεται ο παρακάτω αλγόριθμος. Να κωδικοποιήσετε τον παραπάνω αλγόριθμο σε ψευδογλώσσα. ( Μονάδες 10) Να γράψετε τα τμήματα αλγορίθμου, που αντιστοιχούν στα τμήματα των διαγραμμάτων ροής (α) και (β), που ακολουθούν Δίνεται ο παρακάτω αλγόριθμος: Αλγόριθμος Παράγοντες Διάβασε α k 2 Όσο α>1 επανάλαβε Αν α mod k = 0 τότε Εμφάνισε k α α div k Αλλιώς k k+1 Τέλος_αν Τέλος_επανάληψης Τέλος Παράγοντες Να σχεδιάσετε στο τετράδιό σας το αντίστοιχο διάγραμμα ροής. ( Μονάδες 10) (Εσπερινού 2002 Μονάδες 7-7) Δίνεται ο παρακάτω αλγόριθμος σε ψευδογλώσσα: Αλγόριθμος Μετατροπή Χ 0 Για Κ από 1 μέχρι 10 Διάβασε Λ Αν Λ > 0 τότε Χ Χ + Λ Αλλιώς Χ Χ Λ Τέλος_Αν Τέλος_Επανάληψης Εμφάνισε Χ Τέλος Μετατροπή Να σχεδιάσετε το αντίστοιχο διάγραμμα ροής. (2006 Μονάδες 10) 21

22 Πίνακες τιμών Δίνεται το παρακάτω τμήμα αλγόριθμου: Να γράψετε στο τετράδιό σας τις τιμές που εμφανίζονται κατά την εκτέλεση του παραπάνω τμήματος αλγόριθμου. (Επαναληπτικές Εσπερινού 2007 Μονάδες 10) α 5 β 3 Για Χ από 2 μέχρι 7 με_βήμα 4 Όσο α < =10 επανάλαβε β β + α α α + 4 Τέλος_επανάληψης Εμφάνισε α, β α 4 Τέλος_επανάληψης Εμφάνισε α Δίνεται το παρακάτω τμήμα αλγορίθμου: 1. x κ 1 3. Όσο x<18 επανάλαβε 4. x x + κ 5. Αν x mod 3=0 τότε 6. κ κ + 2 Αλλιώς 7. κ κ + 1 Τέλος Αν Τέλος_Επανάληψης Να μεταφέρετε στο τετράδιό σας τον παρακάτω πίνακα τιμών και να συμπληρώσετε, για κάθε εντολή, την τιμή της αντίστοιχης μεταβλητής ή συνθήκης (έχει συμπληρωθεί ένα στοιχείο). (Εσπερινό 2016 Μονάδες 10) Δίνεται o παρακάτω αλγόριθμος, στον οποίο έχουν αριθμηθεί οι εντολές εκχώρησης: Αλγόριθμος Πολλαπλασιασμός Δεδομένα //α,β// Αν α > β τότε αντιμετάθεσε α,β 1 γ 0 Όσο α > 0 επανάλαβε 2 δ α mod 10 Όσο δ > 0 επανάλαβε 3 δ δ 1 4 γ γ + β Τέλος_επανάληψης 5 α α div 10 6 β β * 10 Τέλος_επανάληψης Αποτελέσματα //γ// Τέλος πολλαπλασιασμός Επίσης δίνεται υπόδειγμα πίνακα (πίνακας τιμών), με συμπληρωμένες τις αρχικές τιμές των μεταβλητών α,β (τιμές εισόδου), καθώς και της εντολής εκχώρησης με αριθμό 1. Α. Να μεταφέρετε στο τετράδιό σας τον πίνακα και να τον συμπληρώσετε, εκτελώντας τον αλγόριθμο με αρχικές τιμές α = 20, β = 50 (που ήδη φαίνονται στον πίνακα). Για κάθε εντολή εκχώρησης που εκτελείται να γράψετε σε νέα γραμμή του πίνακα: α. Τον αριθμό της εντολής που εκτελείται (στην πρώτη στήλη). β. Τη νέα τιμή της μεταβλητής που επηρεάζεται από την εντολή (στην αντίστοιχη στήλη). Β. Να γράψετε τμήμα αλγορίθμου, που θα έχει το ίδιο αποτέλεσμα με την εντολή: Αν α > β τότε αντιμετάθεσε α, β χωρίς να χρησιμοποιήσετε την εντολή αντιμετάθεσε. Γ. Να γράψετε τμήμα αλγορίθμου, που θα έχει το ίδιο αποτέλεσμα με το διπλανό τμήμα χρησιμοποιώντας αντί της εντολής Όσο την εντολή Για. Στο νέο τμήμα αλγορίθμου να χρησιμοποιήσετε μόνο τις μεταβλητές α, β, γ, δ, που χρησιμοποιεί το αρχικό τμήμα. (2009 Μονάδες ) δ α mod 10 Όσο δ > 0 επανάλαβε δ δ 1 γ γ + β Τέλος_επανάληψης 22

23 Ασκήσεις Δομή ακολουθίας Να γραφεί αλγόριθμος ο οποίος θα δέχεται την ακτίνα ενός κύκλου και θα τυπώνει την περίμετρο και τη διάμετρό του Το κατάστημα δίσκων μπλα μπλα έχει δυο υποκαταστήματα, ένα στη Σάμο και ένα στη Καρδίτσα. Οι τιμές που αναγράφονται σε κάθε δίσκο δεν περιλαμβάνουν το ΦΠΑ. Να γραφεί αλγόριθμος ο οποίος θα δέχεται την αναγραφόμενη τιμή ενός δίσκου και θα υπολογίζει την τελική τιμή του στη Σάμο (ΦΠΑ 16%) και στην Καρδίτσα (ΦΠΑ 23 %) Στα παραπάνω κατάστημα εφαρμόζεται η επόμενη ευκολία πληρωμής. Αρχικά μπορεί να πληρωθεί μόνο το 20% μίας αγοράς και το υπόλοιπο σε 12 άτοκες δόσεις. Να γραφεί αλγόριθμος ο οποίος να διαβάζει το συνολικό ποσό που οφείλει ένας πελάτης και να υπολογίζει και να εμφανίζει το ποσό της προκαταβολής αλλά και το ποσό της κάθε δόσης Δημιουργήστε αλγόριθμο ο οποίος θα διαβάζει το πραγματικό και φανταστικό μέρος ενός μιγαδικού αριθμού και θα υπολογίζει και εμφανίζει το μέτρο του. Το μέτρο ενός μιγαδικού αριθμού, όπου α το πραγματικό και β το φανταστικό μέρος δίνεται από τον τύπο: 2 2 z i Να γραφεί αλγόριθμος ο οποίος να δέχεται έναν αριθμό x και να υπολογίζει και να εμφανίζει την 3 x 2 τιμή της επόμενης συνάρτησης στο x f ( x) 4 x Να αναπτύξετε αλγόριθμο που θα διαβάζει δύο αριθμούς, θα τους καταχωρεί σε δύο μεταβλητές a και b και θα αντιμεταθέτει τις τιμές τους Να γραφεί αλγόριθμος ο οποίος θα δέχεται έναν τριψήφιο αριθμό και θα αντιστρέφει τα ψηφία του. Για παράδειγμα, ο 134 να γίνεται Ο ιδιοκτήτης του καταστήματος μπλα μπλα θέλει να δίνει σε έναν υπολογιστή το ποσό από τα ρέστα που οφείλει στον πελάτη (πάντα ακέραια) και ο υπολογιστής να του επιστρέφει τα ρέστα σε 10ευρα, 5ευρα 2ευρα και 1ευρω. Να γραφεί αλγόριθμος που να διαβάζει το ποσό και να εμφανίζει τους αριθμούς των αντίστοιχων χαρτονομισμάτων και κερμάτων που οφείλει. Για παράδειγμα για ένα ποσό 37 Ευρώ θα πρέπει να εμφανίζει τρία 10ευρα, ένα 5ευρω και ένα 2ευρω Να γραφεί αλγόριθμος ο οποίος θα διαβάζει έναν ακέραιο που παριστάνει το σύνολο των δευτερολέπτων ενός χρονικού διαστήματος και θα εμφανίζει πόσες ημέρες, ώρες, λεπτά και δευτερόλεπτα περιλαμβάνει το διάστημα. Για παράδειγμα αν διαβάσει τον ακέραιο η απάντηση θα είναι: 1 ημέρες 3 ώρες 46 λεπτά 40 δευτερόλεπτα, Σημείωση: η ημέρα έχει δευτερόλεπτα. Δομή επιλογής Σε τρεις διαφορετικούς αγώνες πρόκρισης για την ολυμπιάδα του Σύδνεϋ στο άλμα εις μήκος ένας αθλητής πέτυχε τις επιδόσεις a,b,c. Να αναπτύξετε αλγόριθμο ο οποίος: α. να διαβάζει τις τιμές των επιδόσεων a,b,c. (Μονάδες 3) β. να υπολογίζει και να εμφανίζει τη μέση τιμή των παραπάνω τιμών. (Μονάδες 7) γ. να εμφανίζει το μήνυμα «Προκρίθηκε» αν η παραπάνω τιμή είναι μεγαλύτερη των 8 μέτρων. (Μονάδες 10) (2000) Μια οικογένεια κατανάλωσε Χ Κwh (κιλοβατώρες) ημερήσιου ρεύματος και Υ Kwh νυχτερινού ρεύματος. Το κόστος ημερήσιου ρεύματος είναι 30 δρχ. ανά Kwh και του νυχτερινού 15 δρχ. ανά Kwh Να αναπτύξετε έναν αλγόριθμο ο οποίος: α. να διαβάζει τα Χ, Υ (Μονάδες 3) β. να υπολογίζει και να εμφανίζει το συνολικό κόστος της κατανάλωσης ρεύματος της οικογένειας. (Μονάδες 9) γ. να εμφανίζει το μήνυμα ΥΠΕΡΒΟΛΙΚΗ ΚΑΤΑΝΑΛΩΣΗ, αν το συνολικό κόστος είναι μεγαλύτερο από δραχμές.(μονάδες 8) (Επαναληπτικές 2000) Να γραφεί αλγόριθμος ο οποίος θα διαβάζει έναν αριθμό που αντιστοιχεί στον βαθμό ενός μαθητή και θα ελέγχει αν είναι στα αποδεκτά όρια (0 έως και 20) και θα τυπώνει αντίστοιχο μήνυμα. 23

24 2.97. Να γραφεί αλγόριθμος ο οποίος διαβάζει ένα έτος από το πληκτρολόγιο υπολογίζει εάν είναι δίσεκτο και εμφανίζει κατάλληλο μήνυμα. Δίσεκτο είναι ένα έτος όταν: α) Διαιρείται με το 400 β) Διαιρείται με το 4 άλλα όχι με το Στο video-club AZA οι πελάτες πληρώνουν στο τέλος του μήνα για τις κασέτες που νοίκιασαν σύμφωνα με τον διπλανό πίνακα Να γίνει αλγόριθμος που θα δέχεται τον αριθμό των κασετών που νοίκιασε κάποιος πελάτης τον μήνα και θα εμφανίζει τα χρήματα που θα πρέπει να καταβάλει στο video club στις παρακάτω περιπτώσεις: α) Η χρέωση είναι ίδια για όλες τις κασέτες, δηλαδή για 17 κασέτες ο πελάτης θα πληρώσει 17 * 1,3. β) Η χρέωση γίνεται κλιμακωτά, δηλαδή για 17 παράδειγμα κασέτες ο πελάτης θα πληρώσει για τις πρώτες 5 2 τις επόμενες 10 1,5 και τις εναπομείναντες 2 1, Ένας εργαζόμενος σε μια δημόσια υπηρεσία της Σουηδίας, πληρώνει εφορία ανάλογα με το μεικτό του εισόδημα, σύμφωνα με τον παρακάτω πίνακα. Εισόδημα Φόρος που αναλογεί % % > % Να γίνει αλγόριθμος ο οποίος να δέχεται το καθαρό εισόδημα του εργαζομένου και να υπολογίζει και να τυπώνει το φόρο που θα πληρώσει αλλά και τον καθαρό μισθό του για τις επόμενες δύο περιπτώσεις α)ο φόρος που αναλογεί στον μισθωτό ισχύει για όλο το εισόδημα. Έτσι π.χ. αν αυτό είναι 15000, ο φόρος θα υπολογίζεται ως εξής: * (4/100). β) το εισόδημα φορολογείται κλιμακωτά. Έτσι αν το εισόδημα είναι 15000, ο φόρος θα υπολογίζεται ως εξής: 10000*(0/100) *(4/100) Ο Δείκτης Μάζας του ανθρώπινου Σώματος (ΔΜΣ) υπολογίζεται από το βάρος (Β) σε χλγ. και το ύψος (Υ) σε μέτρα με τον τύπο ΔΜΣ=Β/Υ 2. Ο ανωτέρω τύπος ισχύει για άτομα άνω των 18 ετών. Το άτομο ανάλογα με την τιμή του ΔΜΣ χαρακτηρίζεται σύμφωνα με τον παρακάτω πίνακα: Να γράψετε αλγόριθμο ο οποίος: α. να διαβάζει την ηλικία, το βάρος και το ύψος του ατόμου (Μονάδες 3) β. εάν η ηλικία είναι μεγαλύτερη των 18 ετών, τότε 1.να υπολογίζει τον ΔΜΣ (Μονάδες 5) 2.να ελέγχει την τιμή του ΔΜΣ από τον ανωτέρω πίνακα και να εμφανίζει τον αντίστοιχο χαρακτηρισμό (Μονάδες 10) γ. εάν η ηλικία είναι μικρότερη ή ίση των 18 ετών, τότε να εμφανίζει το μήνυμα "δεν ισχύει ο δείκτης ΔΜΣ". (Μονάδες 2) Παρατήρηση: Θεωρήστε ότι το βάρος, το ύψος και η ηλικία είναι θετικοί αριθμοί. (2003) Να γραφεί πρόγραμμα το οποίο να λύνει την δευτεροβάθμια εξίσωση. Θα δέχεται τα α, β και γ της αχ 2 +βχ+γ=0 και όταν υπάρχει διπλή λύση ή δεν υπάρχει λύση να εμφανίζει κατάλληλο μήνυμα. Δομή επανάληψης Να αναπτύξετε πρόγραμμα που να διαβάζει από το πληκτρολόγιο 100 ακεραίους αριθμούς, να υπολογίζει το άθροισμά τους και να το εμφανίζει Να αναπτύξετε αλγόριθμο που να διαβάζει από το πληκτρολόγιο 100 ακεραίους αριθμούς, να υπολογίζει το γινόμενό τους και να το εμφανίζει. (Μονάδες 10) (Εσπερινού 2000) Να γραφούν αντίστοιχα προγράμματα τα οποία θα δέχονται έναν αριθμό ν και θα υπολογίζουν και θα τυπώνουν τα επόμενα αθροίσματα ή γινόμενα: 1. Σ = ν 2. Σ = 1 ν + 2 ν + 3 ν ν 3. Π = 1 ν * 2 ν * 3 ν *... * 10 ν 4. Σ = 1 ν +2 ν-1 +3 ν-2 +.+ν 1 4 Σ = 1!+2!+3!+ +ν!. Όπου: ν!= ν (ν 1) (ν 2) Να υλοποιηθεί πρόγραμμα το οποίο θα εμφανίζει την προπαίδεια όλων των αριθμών από το 1 μέχρι το 10. π.χ. 1 x 1 = 1, 1 x 2 = 2, 1 x 3 = 3κ.ο.κ. 24

25 Να γραφεί πρόγραμμα το οποίο να διαβάζει μία ακολουθία μη μηδενικών αριθμών και να υπολογίζει και να εμφανίζει το μέσο όρο τους. Το τέλος της ακολουθίας των αριθμών θα δίνεται με τον αριθμό Να γραφεί πρόγραμμα το οποίο να διαβάζει μία ακολουθία μη μηδενικών αριθμών και να υπολογίζει και να εμφανίζει τον μεγαλύτερό τους. Το τέλος της ακολουθίας των αριθμών θα δίνεται με τον αριθμό Να γραφεί πρόγραμμα το οποίο θα διαβάζει έναν αριθμό που αντιστοιχεί στον βαθμό ενός μαθητή. Ο βαθμός αυτός θα πρέπει να είναι στα αποδεκτά όρια (0 έως και 20) και θα πρέπει να γίνεται έλεγχος εγκυρότητας δεδομένων γι αυτό. Εάν δεν είναι θα ζητά από τον χρήστη να ξαναδώσει βαθμό μέχρι να δεχτεί αριθμό στα αποδεκτά όρια Στη συνέχεια θα βρίσκει εάν ο μαθητής έχει περάσει τη βάση (βαθμός 9,5) και θα εμφανίζει σχετικό μήνυμα Ο πληθυσμός μιας χώρας είναι 10 εκατομμύρια και παρουσιάζει ετήσια αύξηση 2%. Να γίνει πρόγραμμα που θα υπολογίζει το πληθυσμό της χώρας μετά από 15 χρόνια Ένας μαθητής που τελείωσε το γυμνάσιο με άριστα ζήτησε από τους γονείς του να του αγοράσουν ένα υπολογιστικό σύστημα αξίας δραχμών. Οι γονείς του δήλωσαν ότι μπορούν να του διαθέσουν σταδιακά το ποσό, δίνοντάς του κάθε εβδομάδα ποσό διπλάσιο από την προηγούμενη, αρχίζοντας την πρώτη εβδομάδα με δραχμές. Να αναπτύξετε αλγόριθμο που: 1. να υπολογίζει και να εμφανίζει μετά από πόσες εβδομάδες θα μπορέσει να αγοράσει το υπολογιστικό σύστημα, (Μονάδες 10) 2. να υπολογίζει, να ελέγχει και να εμφανίζει πιθανό περίσσευμα χρημάτων. (Μονάδες 10) (Εσπερινού 2001) Έστω ότι οι δικοί σας έκαναν μία κατάθεση 1000 στη τράπεζα με το που γεννηθήκατε με σκοπό να χρησιμοποιήσετε τα χρήματα στις σπουδές σας. Το ετήσιο επιτόκιο είναι 3%. Να γράψετε αλγόριθμο ο οποίος: α) υπολογίζει κι εμφανίζει πόσο θα γίνει το κεφάλαιό μετά από 18 χρόνια. β) υπολογίζει κι εμφανίζει σε πόσα χρόνια το κεφάλαιό του θα ξεπεράσει τα ευρώ Αναπτύξτε αλγόριθμο που να διαβάζει μια ακολουθία Κ ακεραίων αριθμών και βρίσκει αν οι άρτιοι είναι περισσότεροι από τους περιττούς. Ο αριθμός Κ θα δίνεται από τον χρήστη στην αρχή της εκτέλεσης του προγράμματος. Θα πρέπει αρχικά να ελέγχεται και ότι ο αριθμός Κ είναι θετικός Να γίνει αλγόριθμος ο οποίος θα εμφανίζει όλους τους αριθμούς από το 100 έως το 999, των οποίων το άθροισμα των ψηφίων είναι μεγαλύτερο από 15. Θα εμφανίζει επίσης πόσοι είναι αυτοί οι αριθμοί Να γίνει αλγόριθμος ο οποίος θα δέχεται φυσικό μεγαλύτερο του 1αριθμό και θα εμφανίζει ένα μήνυμα που θα δηλώνει, αν αυτός ο αριθμός είναι πρώτος. Πρώτος είναι ο αριθμός του οποίου μοναδικοί διαιρέτες είναι η μονάδα και ο εαυτός του Να γραφεί πρόγραμμα το οποίο να διαβάζει έναν ακέραιο αριθμό και να βρίσκει εάν αυτός είναι τέλειος ή όχι. Τέλειος είναι ο αριθμός του οποίου το άθροισμα των παραγόντων, δηλαδή των διαιρετών, ισούται με τον ίδιο τον αριθμό. Στο άθροισμα δεν συμπεριλαμβάνεται ο ίδιος ο αριθμός. Παράδειγμα 6 = Να γραφεί πρόγραμμα το οποίο θα δέχεται έναν ακέραιο και θα βρίσκει και θα εμφανίζει τον αριθμό των ψηφίων του Να γραφεί πρόγραμμα το οποίο θα δέχεται έναν φυσικό αριθμό και θα τυπώνει ένα-ένα τα ψηφία του από το τέλος προς την αρχή ως εξής: 1974 Ψηφίο 1: 4, Ψηφίο 2: 7, Ψηφίο 3: 9, Ψηφίο 4: Σε ένα πολυκατάστημα αποφασίστηκε να γίνεται κλιμακωτή έκπτωση στους πελάτες ανάλογα με το ποσό των αγορών τους, με βάση τον διπλανό πίνακα: Να γραφεί αλγόριθμος που: α. για κάθε πελάτη, 1. να διαβάζει το όνομά του και το ποσό των αγορών του. (Μονάδες 2) 2. να υπολογίζει την έκπτωση που δικαιούται. (Μονάδες 7) 3. να εμφανίζει το όνομά του και το ποσό που θα πληρώσει μετά την έκπτωση. (Μονάδες 3) β. να επαναλαμβάνει τη διαδικασία μέχρι να δοθεί ως όνομα πελάτη η λέξη ΤΕΛΟΣ. (Μονάδες 4) γ. να εμφανίζει μετά το τέλος της διαδικασίας τη συνολική έκπτωση που έγινε για όλους τους πελάτες. (Μονάδες 4) (Εσπερινού 2009) 25

26 Μία εταιρεία πληροφορικής προσφέρει υπολογιστές σε τιμές οι οποίες μειώνονται ανάλογα με την ποσότητα της παραγγελίας, όπως φαίνεται στον παρακάτω πίνακα: Να κατασκευάσετε πρόγραμμα το οποίο: Γ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. (Μονάδες 2) Γ2. Να διαβάζει τον αριθμό υπολογιστών που έχει προς πώληση (απόθεμα), ελέγχοντας ότι δίνεται θετικός αριθμός (Μονάδες 2) Γ3. Για κάθε παραγγελία, να διαβάζει την απαιτούμενη ποσότητα και, εφόσον το απόθεμα επαρκεί για την κάλυψη της ποσότητας να εκτελεί την παραγγελία με την ποσότητα που ζητήθηκε. Αν το απόθεμα δεν επαρκεί, διατίθεται στον πελάτη το διαθέσιμο απόθεμα. Η εισαγωγή παραγγελιών τερματίζεται, όταν εξαντληθεί το απόθεμα. (Μονάδες 6) Για κάθε παραγγελία να εμφανίζει: Γ4. το κόστος της παραγγελίας (Μονάδες 4) Γ5. το επιπλέον ποσό που θα κόστιζε η παραγγελία, εάν ο υπολογισμός γινόταν κλιμακωτά με τις τιμές που φαίνονται στον πίνακα. (Μονάδες 6) (2016) Σε κάποια εξεταστική δοκιμασία ένα γραπτό αξιολογείται από δύο βαθμολογητές στη βαθμολογική κλίμακα [0, 100]. Αν η διαφορά μεταξύ των βαθμολογιών του α και του β βαθμολογητή είναι μικρότερη ή ίση των 20 μονάδων της παραπάνω κλίμακας, ο τελικός βαθμός είναι ο μέσος όρος των δύο βαθμολογιών. Αν η διαφορά μεταξύ των βαθμολογιών του α και του β βαθμολογητή είναι μεγαλύτερη από 20 μονάδες, το γραπτό δίνεται για αναβαθμολόγηση σε τρίτο βαθμολογητή. Ο τελικός βαθμός του γραπτού προκύπτει τότε από τον μέσο όρο των τριών βαθμολογιών. Να αναπτύξετε αλγόριθμο ο οποίος, αφού ελέγξει την εγκυρότητα των βαθμών στην βαθμολογική κλίμακα [0, 100], να υλοποιεί την παραπάνω διαδικασία εξαγωγής τελικού βαθμού και να εμφανίζει τον τελικό βαθμό του γραπτού στην εικοσαβάθμια κλίμακα.(μονάδες 20) (Εσπερινού 2001) Ένας μαθητής αγόρασε έναν εξωτερικό δίσκο χωρητικότητας 1000 GB, προκειμένου να αποθηκεύσει σε αυτόν ψηφιακά αρχεία. Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο: Γ1. α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. (Μονάδες 2) β. Για κάθε ψηφιακό αρχείο που θέλει να αποθηκεύσει ο μαθητής στον εξωτερικό δίσκο, να διαβάζει το όνομά του και το μέγεθός του (σε GB) και να ελέγχει, αν επαρκεί η διαθέσιμη χωρητικότητα του εξωτερικού δίσκου. Εφόσον επαρκεί, να εμφανίζει το μήνυμα «Επιτρεπτή αποθήκευση» και να υπολογίζει τη νέα διαθέσιμη χωρητικότητα του εξωτερικού δίσκου. Να τερματίζει τον έλεγχο της αποθήκευσης ψηφιακών αρχείων στον εξωτερικό δίσκο, όταν το μέγεθος του αρχείου που θέλει να αποθηκεύσει ο μαθητής είναι μεγαλύτερο από τη διαθέσιμη χωρητικότητα του εξωτερικού δίσκου. (Μονάδες 6) Γ2. Να υπολογίζει και να εμφανίζει το ποσοστό του αριθμού των αρχείων που αποθηκεύτηκαν και έχουν μέγεθος μεγαλύτερο των 10 GB. (Μονάδες 4) Γ3. Να βρίσκει και να εμφανίζει τα ονόματα των δύο μικρότερων σε μέγεθος αρχείων που αποθηκεύτηκαν στον εξωτερικό δίσκο. (Μονάδες 8) (Παλιό σύστημα 2016) Σε κάποιο σχολικό αγώνα, για το άθλημα «Άλμα εις μήκος» καταγράφεται για κάθε αθλητή η καλύτερη έγκυρη επίδοσή του. Τιμής ένεκεν, πρώτος αγωνίζεται ο περσινός πρωταθλητής. Η Επιτροπή του αγώνα διαχειρίζεται τα στοιχεία των αθλητών που αγωνίστηκαν. Να γράψετε αλγόριθμο ο οποίος: Γ1. Να ζητάει το ρεκόρ αγώνων και να το δέχεται, εφόσον είναι θετικό και μικρότερο των 10 μέτρων.(μονάδες 2) Γ2. Να ζητάει τον συνολικό αριθμό των αγωνιζομένων και για κάθε αθλητή το όνομα και την επίδοσή του σε μέτρα με τη σειρά που αγωνίστηκε.(μονάδες 4) Γ3. Να εμφανίζει το όνομα του αθλητή με τη χειρότερη επίδοση.(μονάδες 4) Γ4. Να εμφανίζει τα ονόματα των αθλητών που κατέρριψαν το ρεκόρ αγώνων. Αν δεν υπάρχουν τέτοιοι αθλητές, να εμφανίζει το πλήθος των αθλητών που πλησίασαν το ρεκόρ αγώνων σε απόσταση όχι μεγαλύτερη των 50 εκατοστών.(μονάδες 6) Γ5. Να βρίσκει και να εμφανίζει τη θέση που κατέλαβε στην τελική κατάταξη ο περσινός πρωταθλητής.(μονάδες 4) Σημείωση: Να θεωρήσετε ότι κάθε αθλητής έχει έγκυρη επίδοση και ότι όλες οι επιδόσεις των αθλητών που καταγράφονται είναι διαφορετικές μεταξύ τους. 26

27 (2010) Δίνεται η εξίσωση Α x+b y+γ z=δ. Να αναπτύξετε αλγόριθμο, ο οποίος, θεωρώντας δεδομένες τις τιμές των Α, Β, Γ και Δ: Γ1. Να εμφανίζει όλες τις λύσεις (τριάδες) της εξίσωσης, εξετάζοντας όλους τους δυνατούς συνδυασμούς ακεραίων τιμών των x, y, z, που είναι μεγαλύτερες από -100 και μικρότερες από 100. Αν δεν υπάρχουν τέτοιες λύσεις, να εμφανίζει κατάλληλο μήνυμα.(μονάδες 8) Εφόσον υπάρχουν τέτοιες λύσεις: Γ2. Να εμφανίζει την πρώτη λύση (τριάδα) για την οποία το άθροισμα των x, y, z έχει τη μεγαλύτερη τιμή.(μονάδες 4) Γ3. Να εμφανίζει το πλήθος των λύσεων της εξίσωσης για τις οποίες τα x, y, z είναι θετικοί άρτιοι αριθμοί.(μονάδες 4) Γ4. Να εμφανίζει το ποσοστό των λύσεων της εξίσωσης για τις οποίες ένα μόνο από τα x, y, z είναι ίσο με μηδέν.(μονάδες 4) (Επαναληπτικές 2014) Ένας πελάτης αγοράζει προϊόντα από ένα κατάστημα. Να αναπτύξετε αλγόριθμο ο οποίος: Γ1. Για κάθε προϊόν που αγοράζει ο πελάτης, να διαβάζει τον κωδικό του, τον αριθμό τεμαχίων που αγοράστηκαν και την τιμή τεμαχίου. Η διαδικασία ανάγνωσης να σταματά, όταν δοθεί ως κωδικός ο αριθμός 0.(Μονάδες 3) Γ2. Αν ο λογαριασμός δεν υπερβαίνει τα 500 ευρώ, να εμφανίζει το μήνυμα «ΠΛΗΡΩΜΗ ΜΕΤΡΗΤΟΙΣ». Διαφορετικά, να υπολογίζει και να εμφανίζει το πλήθος των απαιτούμενων για την εξόφληση δόσεων, όταν η εξόφληση γίνεται με άτοκες μηνιαίες δόσεις, ως εξής: Τον πρώτο μήνα η δόση θα είναι 20 ευρώ και κάθε επόμενο μήνα θα αυξάνεται κατά 5 ευρώ, μέχρι να εξοφληθεί το συνολικό ποσό.(μονάδες 6) Γ3. Να υπολογίζει και να εμφανίζει τον συνολικό αριθμό των τεμαχίων με τιμή τεμαχίου μεγαλύτερη των 10 ευρώ.(μονάδες 5) Γ4. Να υπολογίζει και να εμφανίζει τον συνολικό αριθμό των τεμαχίων με τη μέγιστη τιμή τεμαχίου.(μονάδες 6) (2014) Το κλασικό παιχνίδι «Πέτρα-Ψαλίδι-Χαρτί παίζεται με δύο παίκτες. Σε κάθε γύρο του παιχνιδιού, ο κάθε παίκτης επιλέγει ένα από τα ΠΕΤΡΑ, ΨΑΛΙ Ι, ΧΑΡΤΙ, και παρουσιάζει την επιλογή του ταυτόχρονα με τον αντίπαλό του. Η ΠΕΤΡΑ κερδίζει το ΨΑΛΙ Ι, το ΨΑΛΙ Ι το ΧΑΡΤΙ και το ΧΑΡΤΙ την ΠΕΤΡΑ. Σε περίπτωση που οι δύο παίκτες έχουν την ίδια επιλογή, ο γύρος λήγει ισόπαλος. Το παιχνίδι προχωράει με συνεχόμενους γύρους μέχρι ένας τουλάχιστον από τους παίκτες να αποχωρήσει. Νικητής αναδεικνύεται ο παίκτης με τις περισσότερες νίκες. Αν οι δύο παίκτες έχουν τον ίδιο αριθμό νικών, το παιχνίδι λήγει ισόπαλο. Να αναπτύξετε αλγόριθμο ο οποίος διαβάζει τα ονόματα των δύο παικτών και υλοποιεί το παραπάνω παιχνίδι ως εξής: Α. Για κάθε γύρο του παιχνιδιού: 1. διαβάζει την επιλογή κάθε παίκτη, η οποία μπορεί να είναι μία από τις εξής: ΠΕΤΡΑ, ΨΑΛΙΔΙ, ΧΑΡΤΙ, ΤΕΛΟΣ. (Δεν απαιτείται έλεγχος εγκυρότητας τιμών.) (Μονάδες 2) 2. συγκρίνει τις επιλογές των παικτών και διαπιστώνει το νικητή του γύρου ή την ισοπαλία. (Μονάδες 6) Β. Τερματίζει το παιχνίδι όταν ένας τουλάχιστον από τους δύο παίκτες επιλέξει ΤΕΛΟΣ. (Μονάδες 6) Γ. Εμφανίζει το όνομα του νικητή ή, αν δεν υπάρχει νικητής, το μήνυμα «ΤΟ ΠΑΙΧΝΙΔΙ ΕΛΗΞΕ ΙΣΟΠΑΛΟ». (Μονάδες 6) (Επαναληπτικές 2007) Κατά την εκτόξευση ενός διαστημοπλοίου χρειάζεται να πραγματοποιηθεί αντίστροφη μέτρηση μέχρι που η ένδειξη του μετρητή χρόνου έχει τη μορφή 00:00:00. Να γραφεί αλγόριθμος ο οποίος : i) θα διαβάζει την ώρα έναρξης της αντίστροφης μέτρησης, τα λεπτά και τα δευτερόλεπτα ελέγχοντας την εγκυρότητα τιμών έτσι ώστε η τιμή για τις ώρες είναι θετικός αριθμός από 0-23 και οι τιμές για τα λεπτά και δευτερόλεπτα θετικοί από ii) θα εμφανίζει το χρόνο που απομένει ανά δευτερόλεπτο, συνεχόμενα και κατά φθίνουσα σειρά μέχρι την ένδειξη 00:00:00 που θα προκαλέσει την εκτόξευση. Για παράδειγμα Είσοδος: 12 (ώρες) 25 (λεπτά) 1 (δευτερόλεπτα) Έξοδος: 12:25:01 12:25:00 12:24:59 00:00:01 Εκτόξευση Σημείωση: Δεν είναι ανάγκη να εμφανίζεται το 0 μπροστά σε έναν μονοψήφιο αριθμό, δηλαδή το 12:05:07 μπορείτε να το εμφανίζετε και σαν 12:5:7. 27

28 Κεφάλαιο 3 ο - Δομές Δεδομένων και αλγόριθμοι (9 ο ) Ερωτήσεις θεωρίας (με απαντήσεις) 3.2 Αλγόριθμοι + Δομές Δεδομένων = Προγράμματα 3.1. Να δώσετε τον ορισμό της δομής δεδομένων (Εσπερινού 2007 Μονάδες 3) Η δομή δεδομένων (data structure)είναι ένα σύνολο δεδομένων που υφίστανται επεξεργασία από ένα σύνολο λειτουργιών Αναφέρετε δύο παραδείγματα δομών δεδομένων. Παράδειγμα τέτοιας δομής αποτελεί η εγγραφή (record), που μπορεί να περιγράφει ένα είδος ένα πρόσωπο κ.λπ. Η εγγραφή αποτελείται από τα πεδία (fields)που αποθηκεύουν χαρακτηριστικά (attributes)διαφορετικού τύπου, όπως για παράδειγμα ο κωδικός, η περιγραφή κ.λπ. Άλλο παράδειγμα δομής είναι το αρχείο που αποτελείται από ένα σύνολο εγγραφών. Μία λειτουργία σε ένα αρχείο είναι η σειριακή αναζήτηση όλων των εγγραφών του Να αναφέρετε ονομαστικά τις βασικές λειτουργίες (πράξεις) επί των δομών δεδομένων. ( Μονάδες 8, Εσπερινών 2004 Μονάδες 8) Προσπέλαση (Access) πρόσβαση σε ένα κόμβο με σκοπό την ανάγνωση ή τροποποίηση του περιεχομένου του. Εισαγωγή (Insertion) προσθήκη νέου κόμβου στην υπάρχουσα δομή. Διαγραφή (Deletion) αφαίρεση ενός κόμβου από τη δομή. Αναζήτηση (Searching) προσπελαύνονται οι κόμβοι μίας δομής με σκοπό να εντοπιστεί κάποιος ή κάποιοι που περιέχουν μία δεδομένη ιδιότητα. Ταξινόμηση (Sorting) διάταξη των κόμβων της δομής σε αύξουσα ή φθίνουσα σειρά. Αντιγραφή (Copying) όλοι ή μερικοί κόμβοι της δομής αντιγράφονται σε μία άλλη δομή Συγχώνευση (Merging) δύο ή περισσότερες δομές συνενώνονται σε μία ενιαία δομή. Διαχωρισμός (Separation) μία δομή διασπάται σε δύο ή περισσότερες. Είναι το αντίστροφο της συγχώνευσης 3.4. Περιγράψτε την εξάρτηση μεταξύ των δομών δεδομένων και του αλγορίθμου στα προγράμματα; Συνηθέστατα παρατηρείται το φαινόμενο μία δομή δεδομένων να είναι αποδοτικότερη από μία άλλη με κριτήριο κάποια λειτουργία, για παράδειγμα την αναζήτηση, αλλά λιγότερο αποδοτική για κάποια άλλη, για παράδειγμα την εισαγωγή. Το γεγονός αυτό, εξηγεί αφ ενός την ύπαρξη διαφορετικών δομών, και αφ ετέρου τη σπουδαιότητα της επιλογής της κατάλληλης δομής κάθε φορά. Υπάρχει λοιπόν μεγάλη εξάρτηση μεταξύ της δομής δεδομένων και του αλγορίθμου. Μάλιστα το πρόγραμμα πρέπει να θεωρεί τη δομή δεδομένων και τον αλγόριθμο ως μία αδιάσπαστη ενότητα. Η παρατήρηση αυτή δικαιολογεί την εξίσωση που διατυπώθηκε από τον Wirthπου σχεδίασε και υλοποίησε τη γλώσσα Pascal. Πρόγραμμα = Δομές δεδομένων + Αλγόριθμοι 3.5. Στον προγραμματισμό χρησιμοποιούνται δομές δεδομένων.1. Τι είναι δυναμική δομή δεδομένων;2. Τι είναι στατική δομή δεδομένων; (Εσπερινών Μονάδες 3 3) Στατικές(static): Το ακριβές μέγεθος της απαιτούμενης κύριας μνήμης καθορίζεται κατά τη στιγμή του προγραμματισμού τους και κατά συνέπεια τη στιγμή της μετάφρασής τους και όχι κατά τη στιγμή της εκτέλεσης του προγράμματος. Τα στοιχεία των στατικών δομών αποθηκεύονται σε συνεχόμενες θέσεις μνήμης. Δυναμικές (dynamic): Δεν αποθηκεύονται σε συνεχόμενες θέσεις μνήμης αλλά στηρίζονται στην τεχνική της λεγόμενης δυναμικής παραχώρησης μνήμης (dynamic memory allocation). Οι δομές αυτές δεν έχουν σταθερό μέγεθος, αλλά ο αριθμός των κόμβων τους μεγαλώνει ή μικραίνει καθώς στη δομή εισάγονται νέα δεδομένα ή διαγράφονται κάποια δεδομένα αντίστοιχα Πώς υλοποιούνται οι στατικές δομές δεδομένων; Με ποιόν τρόπο γίνεται η αναφορά στα στοιχεία της; 28

29 Οι στατικές δομές υλοποιούνται με πίνακες, που μπορούμε να τους ορίσουμε σαν μια δομή που περιέχει στοιχεία ίδιου τύπου(π.χ. μόνο ακέραιοι, μόνο πραγματικοί). Γενικά η αναφορά στα στοιχεία ενός πίνακα γίνεται με τη χρήση του συμβολικού ονόματος του πίνακα ακολουθούμενου από την τιμή ενός ή περισσότερων δεικτών (index) σε παρένθεση ή αγκύλη. 3.3 Πίνακες 9.1 Μονοδιάστατοι πίνακες 3.7. Τι ονομάζεται πίνακας στη ΓΛΩΣΣΑ; (Επαναληπτικές 2014 Μονάδες 2) Πίνακας είναι ένα σύνολο αντικειμένων ίδιου τύπου, τα οποία αναφέρονται με ένα κοινό όνομα. Κάθε ένα από τα αντικείμενα που απαρτίζουν τον πίνακα λέγεται στοιχείο του πίνακα. Η αναφορά σε ατομικά στοιχεία του πίνακα γίνεται με το όνομα του πίνακα ακολουθούμενο από ένα δείκτη. 3.6 Αναζήτηση 3.8. Δίνεται μονοδιάστατος μη ταξινομημένος πίνακας Τ με Ν διαφορετικά στοιχεία. Να γράψετε τον αλγόριθμο σειριακής αναζήτησης της τιμής μιας μεταβλητής key στον πίνακα Τ. (Επαναληπτικές Εσπερινών 2006 Μονάδες 10) Αλγόριθμος Σειριακή_αναζήτηση Δεδομένα //N, T, key // done ψευδής position 0 i 1 Όσο (done= ψευδής) και (i<= N) επανάλαβε ΑνT[i] = key τότε done αληθής position i αλλιώς i i +1 τέλος_αν τέλος_επανάληψης Ανdone = αληθής τότε Γράψε "Το στοιχείο ", key," βρέθηκε στη θέση ", position αλλιώς Γράψε "Το στοιχείο ", key," δεν βρέθηκε " τέλος_αν τέλος Σειριακή_αναζήτηση Σημείωση: Για υλοποίηση σε γλώσσα «Γλώσσα» δείτε το παράρτημα Τυπικές επεξεργασίες πινάκων στη συνέχεια του κεφαλαίου Να γράψετε τις περιπτώσεις για τις οποίες δικαιολογείται η χρήση της σειριακής μεθόδου αναζήτησης σε έναν πίνακα. (2013 Μονάδες 3, Επαναληπτικές 2005 Μονάδες 6) Όταν ο πίνακας είναι μη ταξινομημένος Ο πίνακας είναι μικρού μεγέθους (για παράδειγμα n<=20) Η αναζήτηση σε έναν συγκεκριμένο πίνακα γίνεται σπάνια 3.7 Ταξινόμηση Δώστε έναν ορισμό της ταξινόμησης. Δοθέντων των στοιχείων a 1,a 2,...,a n η ταξινόμηση συνίσταται στη μετάθεση (permutation) της θέσης των στοιχείων, ώστε να τοποθετηθούν σε μια σειρά a k1,a k2,...,a kn έτσι ώστε δοθείσης μιας συνάρτησης διάταξης (ordering function), f, να ισχύει: f(a k1) <= f(a k2)<=...<=f(a kn) Δίνεται μονοδιάστατος πίνακας Π, Ν στοιχείων, που είναι ακέραιοι αριθμοί. Να αναπτύξετε αλγόριθμο, ο οποίος να ταξινομεί με τη μέθοδο της φυσαλίδας τα στοιχεία του πίνακα Π. ( Μονάδες 15) Αλγόριθμος Φυσαλίδα 29

30 Δεδομένα // Π, N // Γιαiαπό 2 μέχριn ΓιαjαπόNμέχριIμε_βήμα 1 Αν Π[j-1] >Π[j] τότε temp Π [j-1] Π [j-1] Π [j] Π [j] temp Τέλος_αν Τέλος_επανάληψης Τέλος_επανάληψης Αποτελέσματα // Π // τέλος Φυσαλίδα Σημείωση: Για υλοποίηση σε γλώσσα «Γλώσσα» δείτε το παράρτημα Τυπικές επεξεργασίες πινάκων στη συνέχεια του κεφαλαίου. 3.4 Στοίβα Η «στοίβα» είναι μια δομή δεδομένων.1.να περιγράψετε τη «στοίβα» με ένα παράδειγμα από την καθημερινή ζωή.2.να περιγράψετε τις κύριες λειτουργίες της «στοίβας». (Πώς ονομάζονται οι δύο κύριες λειτουργίες που εκτελούνται σε μία ΣΤΟΙΒΑ δεδομένων; Τι λειτουργία επιτελούν και τι πρέπει να ελέγχεται πριν την εκτέλεσή τους; 2012 Μονάδες 6) (Εσπερινών Μονάδες 6 4) Μία στοίβα δεδομένων μοιάζει με μία στοίβα από πιάτα. Για παράδειγμα κάθε πιάτο που πλένεται τοποθετείται στην κορυφή (top)της στοίβας των πιάτων, ενώ για σκούπισμα λαμβάνεται και πάλι το πιάτο της κορυφής. Έτσι, η στοίβα είναι μια δομή δεδομένων με μια άκρη. Τα δεδομένα εισάγονται στην κορυφή της στοίβας ενώ η αφαίρεση ενός στοιχείου γίνεται πάντα από την κορυφή της στοίβας. Το τελευταίο στοιχείο που εισάγεται είναι το πρώτο που θα εξαχθεί και γι αυτό χρησιμοποιείται η αγγλική συντομογραφία LIFO (Last-In First-Out) Οι βασικές λειτουργίες είναι δύο : Η εισαγωγή-ώθηση (Push) ενός στοιχείου στην κορυφή της στοίβας. Η αφαίρεση-απώθηση (Pop) ενός στοιχείου από την κορυφή της στοίβας. Η διαδικασία της ώθησης πρέπει να ελέγχει αν η στοίβα είναι γεμάτη, οπότε λέμε ότι έχουμε υπερχείλιση(overflow) της στοίβας. Η διαδικασία απώθησης πρέπει να ελέγχει, αν υπάρχει ένα τουλάχιστον στοιχείο στη στοίβα. Στην αντίθετη περίπτωση λέμε ότι έχουμε υποχείλιση (underflow) Να περιγράψετε την υλοποίηση στοίβας με τη βοήθεια μονοδιάστατου πίνακα. (Επαναληπτικές Μονάδες 6) Μια βοηθητική μεταβλητή, έστω top, χρησιμοποιείται για να δείχνει το στοιχείο που τοποθετήθηκε τελευταίο στην κορυφή της στοίβας. Για την εισαγωγή ενός νέου στοιχείου στη στοίβα (ώθηση) αρκεί να αυξηθεί η μεταβλητή top κατά ένα και στη θέση αυτή να εισέλθει το στοιχείο. Αντίθετα για την εξαγωγή ενός στοιχείου από τη στοίβα (απώθηση) εξέρχεται πρώτα το στοιχείο που δείχνει η μεταβλητή top και στη συνέχεια η top μειώνεται κατά ένα για να δείχνει τη νέα κορυφή. top=3 C B A top=2 B A top=3 D B A Αρχική κατάσταση στοίβας Η στοίβα μετά την αφαίρεση Η στοίβα μετά την εισαγωγή του στοιχείου C (απώθηση) του στοιχείου D (ώθηση) Στο παράδειγμα βλέπουμε την υλοποίηση μίας στοίβας με έναν πίνακα πέντε στοιχείων. Η στοίβα αρχικά περιέχει τα στοιχεία A, B, Cκαι στη συνέχεια γίνεται απώθηση του στοιχείου C. Τέλος εισάγεται (ώθηση) στη δομή το στοιχείο D Να υλοποιηθούν τμήματα προγραμμάτων Ώθηση (Push) και Απώθηση (Pop) που εκτελούν τις αντίστοιχες λειτουργίες σε μία στοίβα. Θεωρήστε δεδομένο ότι η στοίβα υλοποιείται με έναν πίνακα, έστω stack, μεγέθους sizeκαι ωθούμε ή απωθούμε το στοιχείο item. Σε περίπτωση που η λειτουργία εκτελεστεί χωρίς 30

31 προβλήματα υπερχείλισης ή υποχείλισης αντίστοιχα μία λογική μεταβλητή, έστω doneνα γίνει ΑΛΗΘΗΣ. Σε διαφορετική περίπτωση ΨΕΥΔΗΣ. Ώθηση Απώθηση ΑΝ top < size ΤΟΤΕ ΑΝ top >= 1 ΤΟΤΕ top <- top + 1 item <- stack[top] stack[top] <- item top <- top - 1 done <- ΑΛΗΘΗΣ done <- ΑΛΗΘΗΣ ΑΛΛΙΩΣ ΑΛΛΙΩΣ done <- ΨΕΥΔΗΣ done <- ΨΕΥΔΗΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ 3.5 Ουρά α. Πόσοι δείκτες απαιτούνται για την υλοποίηση μιας ουράς με μονοδιάστατο πίνακα και τι δείχνει ο καθένας; β. Ποιος δείκτης της ουράς μεταβάλλεται κατά τη λειτουργία της εξαγωγής; ( Μονάδες 6) α. Απαιτούνται δύο δείκτες: ο εμπρός(front) και ο πίσω (rear) δείκτης, που μας δίνουν τη θέση του στοιχείου που σε πρώτη ευκαιρία θα εξαχθεί και τη θέση του στοιχείου που μόλις εισήλθε. β. ο εμπρός (front) Η ουρά είναι μία δομή δεδομένων. 1. Να δώσετε ένα παράδειγμα ουράς από την καθημερινή ζωή. 2. Να αναφέρετε τις λειτουργίες της ουράς και τους δείκτες που απαιτούνται. 3. Σε μία ουρά 10 θέσεων έχουν τοποθετηθεί διαδοχικά τα στοιχεία: Μ, Κ, Δ, Α, Σ στην πρώτη, δεύτερη, τρίτη, τέταρτη και πέμπτη θέση αντίστοιχα. α. Να προσδιορίσετε τις τιμές των δεικτών της παραπάνω ουράς. β. Στη συνέχεια να αφαιρέσετε ένα στοιχείο από την ουρά. Ποιος δείκτης μεταβάλλεται και ποια η νέα του τιμή; γ. Τέλος να τοποθετήσετε το στοιχείο Λ στην ουρά. Ποιος δείκτης μεταβάλλεται και ποια η νέα του τιμή; (Εσπερινών Μονάδες ) Οι ουρές είναι καθημερινό φαινόμενο, Για παράδειγμα ουρές δημιουργούνται όταν άνθρωποι, αυτοκίνητα, εργασίες, προγράμματα κ.λπ. περιμένουν για να εξυπηρετηθούν Η μέθοδος αυτή επεξεργασίας ονομάζεται Πρώτο μέσα, πρώτο έξω ή σε συντομογραφία FIFO (First In First Out). Τα δεδομένα εισάγονται στο πίσω άκρο της ουράς ενώ η εξαγωγή ενός στοιχείου γίνεται πάντα από το μπροστινό άκρο της ουράς (όπως π.χ. σε μία ουρά σε τράπεζα). Οι βασικές λειτουργίες είναι δύο : Η εισαγωγή (enqueue) ενός στοιχείου στο πίσω άκρο της ουράς, και Η εξαγωγή (dequeue) ενός στοιχείου από το εμπρός άκρο της ουράς. Όταν εισάγουμε ένα στοιχείο στην ουρά, πρέπει να ελέγχουμε αν η ουρά είναι γεμάτη (δεν υπάρχει άλλη ελεύθερη θέση στον πίνακα). Όταν εξάγουμε κάποιο στοιχείο, θα πρέπει να γίνεται έλεγχος μήπως η ουρά είναι άδεια (άδειος πίνακας). Η ουρά μπορεί να υλοποιηθεί με μονοδιάστατο πίνακα και χρησιμοποιεί δύο δείκτες, Τον εμπρός (Front) που δείχνει στο εμπρός άκρο της ουράς και τον πίσω (Rear) που δείχνει στο πίσω μέρος της ουράς. Για την εισαγωγή ενός νέου στοιχείου στην ουρά αυξάνεται ο δείκτης rear κατά ένα και στη θέση αυτή αποθηκεύεται το στοιχείο. Για την εξαγωγή εξέρχεται το στοιχείο που δείχνει ο δείκτης front, ο οποίος στη συνέχεια αυξάνει κατά ένα, δείχνοντας το επόμενο προς εξαγωγή στοιχείο. Παράδειγμα : Μ Κ Δ Α Σ Μια ουρά 10 θέσεων με 5 στοιχεία front = 1 rear=5 Κ Δ Α Σ Η ουρά μετά την εξαγωγή ενός στοιχείου από την ουρά front = 2 rear=5 31

32 Κ Δ Α Σ Λ Η ουρά μετά την εισαγωγή του στοιχείου Λ front = 2 rear=6 3.9 Άλλες δομές δεδομένων Αναφέρετε τρεις δομές, οι οποίες δεν είναι απαραίτητο να κατέχουν συνεχόμενες θέσεις στην κύρια μνήμη. 1. Λίστες 2. Δένδρα 3. Γράφοι Παρουσιάστε την δομή ενός κόμβου μίας λίστας. Ποια η λειτουργία του δείκτη (pointer); Κάθε κόμβος αποτελείται από τα δεδομένα, που περιλαμβάνουν μία ή περισσότερες αλφαριθμητικές πληροφορίες και έναν δείκτη ο οποίος δηλώνει μία διεύθυνση στην κύρια μνήμη και χρησιμοποιείται για την σύνδεση των διάφορων στοιχείων της δομής όπως φαίνεται στο επόμενο σχήμα Με ποιον τρόπο γίνεται η εισαγωγή και διαγραφή ενός κόμβου από μία λίστα; Στο επόμενο σχήμα φαίνεται η εισαγωγή ενός νέου κόμβου μεταξύ του δεύτερου και του τρίτου κόμβου. Οι απαιτούμενες ενέργειες για την εισαγωγή (παρεμβολή) είναι α. ο δείκτης του δεύτερου κόμβου να δείχνει τον νέο κόμβο, β. ο δείκτης του νέου κόμβου να δείχνει τον τρίτο κόμβο, δηλαδή να πάρει την τιμή που είχε πριν την εισαγωγή ο δείκτης του δεύτερου κόμβου. Για την διαγραφή ενός κόμβου πρέπει να αλλάξει τιμή ο δείκτης του προηγούμενου κόμβου και να δείχνει τον κόμβο που έδειχνε αυτός που διαγράφηκε, δηλαδή ο επόμενός του Για ποιο λόγο οι δυναμικές δομές δεδομένων είναι πιο ευέλικτες από την στατική δομή του πίνακα; Οι δυναμικές δομές μπορούν να επεκταθούν και να συρρικνωθούν κατά τη διάρκεια εκτέλεσης του προγράμματος σε αντίθεση με τις στατικές δομές όπου το μέγεθός τους καθορίζεται από τη στιγμή προγραμματισμού και κατά συνέπεια κατά τη στιγμή της μετάφρασης τους Εξηγήστε τη λειτουργία της δομής των δένδρων (trees). Πως υλοποιούνται; Τι καλούμε παιδί και τι ρίζα ενός δένδρου; Τα δένδρα (trees) είναι δομές που υλοποιούνται με τη βοήθεια των δεικτών, μπορούν, όμως, να υλοποιηθούν και με στατικές δομές (με πίνακες). Το κύριο χαρακτηριστικό των δένδρων είναι, ότι από έναν κόμβο δεν υπάρχει ένας μόνο επόμενος κόμβος, αλλά περισσότεροι. Υπάρχει ένας μόνο κόμβος, που λέγεται ρίζα, από τον οποίο ξεκινούν όλοι οι άλλοι κόμβοι. Όπως παρατηρούμε και στο σχήμα, από τη ρίζα ξεκινούν δύο κόμβοι. Οι κόμβοι αυτοί λέγονται παιδιά της ρίζας. Με την ίδια λογική, από κάθε 32

33 παιδί της ρίζας ξεκινούν άλλα παιδιά κ.ο.κ. Ακολουθεί περαιτέρω ανάλυση με βάση το έγγραφο /Δ2 του υπουργείου παιδείας. Η έννοια του δέντρου είναι στενά συνδεδεμένη με την έννοια της ιεραρχίας και αποτελεί μια μη γραμμική δομή. Το Δέντρο είναι ένα πεπερασμένο σύνολο κόμβων (ίδιου τύπου) και ακμών που συνδέουν τους κόμβους, με βάση κάποια σχέση που δημιουργεί την ιεραρχική δομή των κόμβων. Ένας από τους κόμβους αποτελεί και τη ρίζα του δέντρου. Στο ανωτέρω σχήμα ρίζα είναι ο κόμβος Α. Όταν αναφερόμαστε σε μια δομή δέντρου, χρησιμοποιούμε πολύ συχνά τους όρους γονέας και παιδιά (ο κόμβος Α είναι γονέας των κόμβων Δ, Μ και Ω, ενώ τα Δ, Μ και Ω λέγονται παιδιά του Α). Οι κόμβοι ενός δέντρου, από τους οποίους δεν αρχίζει κάποιο υποδέντρο (δεν έχουν δηλαδή παιδιά), ονομάζονται φύλλα (leaves). Όλοι οι άλλοι κόμβοι ονομάζονται μητερματικοί ή κλαδιά (branches). Υπάρχουν πολλά είδη δέντρων. Ένα από τα πιο γνωστά είναι το ονομαζόμενο δυαδικό δέντρο (Binary tree), όπου κάθε μη τερματικός κόμβος έχει ακριβώς δύο παιδιά. Ο αριθμός των παιδιών ενός κόμβου ορίζει το βαθμό (degree) του κόμβου. Ο βαθμός ενός δέντρου είναι ο μέγιστος βαθμός από όλους τους βαθμούς των κόμβων του. Τα δυαδικά δέντρα έχουν βαθμό 2. Επίπεδο (level) ενός κόμβου είναι το μήκος της μοναδικής διαδρομές από την ρίζα προς αυτόν τον κόμβο. Η ρίζα κάθε δέντρου βρίσκεται στο μηδενικό επίπεδο. Έννοιες των δέντρων με βάση το σχήμα Διαδρομή από το n2 προς το n9 είναι η ακολουθία n2, n4, n9. Το μήκος της διαδρομής αυτής είναι 2. Φύλλα είναι τα n8, n9, n5, n6 και n7. Το ύψος του δέντρου είναι 3, ενώ το ύψος του κόμβου n2 είναι 2 και του n9 μηδέν. Ο βαθμός του κόμβου n9 είναι μηδέν, ενώ του κόμβου n2 είναι 2. Το επίπεδο του κόμβου n2 είναι ένα και του n9 είναι τρία Εξηγήστε τη λειτουργία της δομής του γράφου (graph). Δώστε ένα παράδειγμα εφαρμογής από την καθημερινή ζωή. Ένας γράφος (graph) αποτελείται από ένα σύνολο κόμβων (ή σημείων ή κορυφών) και ένα σύνολο γραμμών (ή ακμών ή τόξων) που ενώνουν μερικούς ή όλους τους κόμβους. Ο γράφος αποτελεί την πιο γενική δομή δεδομένων, με την έννοια ότι όλες οι προηγούμενες δομές που παρουσιάστηκαν μπορούν να θεωρηθούν περιπτώσεις γράφων. Το γενικότερο χαρακτηριστικό τους είναι ότι δεν υπάρχει κάποια ιεραρχική δομή και κάθε κόμβος μπορεί να συνδέεται με οποιονδήποτε άλλον. Πολλά προβλήματα και καταστάσεις της καθημερινής μας ζωής μπορούν να περιγραφούν με τη βοήθεια γράφων. Για παράδειγμα, τα σημεία ενός γράφου μπορούν να παριστούν πόλεις και οι γραμμές τις οδικές συνδέσεις μεταξύ τους. Λόγω της μεγάλης πληθώρας και ποικιλίας των προβλημάτων που σχετίζονται με γράφους, έχει αναπτυχθεί ομώνυμη θεωρία, η Θεωρία Γράφων. 9.2 Πότε πρέπει να χρησιμοποιούνται πίνακες Εξηγήστε τα μειονεκτήματα από τη χρήση πινάκων Οι πίνακες απαιτούν μνήμη. Κάθε πίνακας δεσμεύει από την αρχή του προγράμματος πολλές θέσεις μνήμης. Σε ένα μεγάλο και σύνθετο πρόγραμμα η άσκοπη χρήση μεγάλων πινάκων μπορεί να οδηγήσει ακόμη και σε αδυναμία εκτέλεσης του προγράμματος. Οι πίνακες περιορίζουν τις δυνατότητες του προγράμματος. Αυτό γιατί οι πίνακες είναι στατικές δομές και το μέγεθος τους πρέπει να δηλώνεται στην αρχή του προγράμματος, ενώ παραμένει υποχρεωτικά σταθερό κατά την εκτέλεση του προγράμματος. 33

34 9.4 Τυπικές επεξεργασίες πινάκων Να αναφέρετε ονομαστικά τις τυπικές επεξεργασίες πινάκων. (Να αναφέρετε τέσσερις τυπικές επεξεργασίες που γίνονται στα στοιχεία των πινάκων Μονάδες 4) (Επαναληπτικές παλιού 2016 Μονάδες 10) Υπολογισμός αθροισμάτων στοιχείων πίνακα Εύρεση του μεγίστου ή ελαχίστου στοιχείου - αν ο πίνακας είναι ταξινομημένος τότε προφανώς το μέγιστο και το ελάχιστο στοιχείο βρίσκονται στα ακριανά στοιχεία του πίνακα Ταξινόμηση των στοιχείων του πίνακα o ευθείας ανταλλαγής ή φυσαλίδας όχι πολύ αποδοτική o ταξινόμηση ευθείας επιλογής- βρίσκει κάθε φορά το ελάχιστο στοιχείο. o ταξινόμηση ευθείας εισαγωγής κατάλληλη για «περίπου» ταξινομημένα δεδομένα. Αναζήτηση ενός στοιχείου του πίνακα o Σειριακή αναζήτηση - πιο απλή αλλά και λιγότερο αποτελεσματική, υποχρεωτική όμως για μη ταξινομημένους πίνακες o Δυαδική αναζήτηση - μόνο σε ταξινομημένους πίνακες, αποδοτικότερη από την σειριακή Συγχώνευση δύο πινάκων - σκοπός της η δημιουργία από δύο ή περισσότερους ταξινομημένους πίνακες, ενός νέου, επίσης ταξινομημένου πίνακα. Ερωτήσεις θεωρίας Δομές δεδομένων Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση 1 Η προσπέλαση είναι μια από τις βασικές πράξεις επί των δομών δεδομένων. (Εσπερινού 2009 Μονάδες 2) 2 Η προσπέλαση, η διαγραφή και η αναζήτηση είναι όλες βασικές λειτουργίες επί των στατικών δομών δεδομένων.(επαναληπτικές 2014 Μονάδες 2) 3 Σε μια δομή δεδομένων η διαγραφή αποτελεί την αντίστροφη πράξη της συγχώνευσης.(επαναληπτικές παλιού 2016 Μονάδες 2) Συνηθέστατα παρατηρείται το φαινόμενο μια δομή δεδομένων να είναι αποδοτικότερη από μια άλλη δομή, με 4 κριτήριο κάποια λειτουργία. (Επαναληπτικές 2015 Μονάδες 2) 5 Με τη λειτουργία της συγχώνευσης, δύο ή περισσότερες δομές δεδομένων συνενώνονται σε μία ενιαία δομή (2007 Μονάδες 2) Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση 1 Ο πίνακας είναι μία στατική δομή δεδομένων. 2 Οι δυναμικές δομές έχουν σταθερό μέγεθος. (Επαναληπτικές Μονάδες 2) 3 Η δυναμική παραχώρηση μνήμης χρησιμοποιείται στις στατικές δομές δεδομένων. (2008 Μονάδες 2) 4 Σε μία δυναμική δομή δεδομένων τα δεδομένα αποθηκεύονται υποχρεωτικά σε συνεχόμενες θέσεις μνήμης. ( Μονάδες 2) Σε μια στατική δομή το ακριβές μέγεθος της απαιτούμενης κύριας μνήμης 5 καθορίζεται κατά την εκτέλεση του προγράμματος. (2009 Μονάδες 2) 6 Η εγγραφή είναι δομή δεδομένων η οποία αποτελείται από πεδία που αποθηκεύουν χαρακτηριστικά. (Επαναληπτικές 2008 Μονάδες 2) 7 Κάθε πεδίο μίας δευτερεύουσας μνήμης αποτελείται από πολλές εγγραφές. 8 Δεν υπάρχουν δομές δεδομένων δευτερεύουσας μνήμης. (2015 Μονάδες 2) 34

35 9 Οι στατικές δομές στηρίζονται στην τεχνική της δυναμικής παραχώρησης μνήμης.(2016 Μονάδες 2) 10 Τα στοιχεία των στατικών δομών δεδομένων αποθηκεύονται σε μη συνεχόμενες θέσεις μνήμης.(παλιό σύστημα 2016 Μονάδες 2) Να γράψετε στο τετράδιό σας τους αριθμούς 1,2,3,4 της Στήλης Α και δίπλα ένα από τα γράμματα α,β,γ,δ,ε,στ της Στήλης Β που αντιστοιχεί στον σωστό ορισμό. Στήλη Α Στήλη Β 1. Προσθήκη νέων κόμβων σε μία υπάρχουσα δομή. α. Προσπέλαση 2. Οι κόμβοι μιας δομής διατάσσονται κατά αύξουσα ή φθίνουσα β. Αντιγραφή σειρά. γ. Διαγραφή 3. Πρόσβαση σε ένα κόμβο με σκοπό να εξετασθεί ή να τροποποιηθεί δ. Αναζήτηση το περιεχόμενό του. ε. Εισαγωγή 4. Όλοι οι κόμβοι ή μερικοί από τους κόμβους μιας δομής στ. Ταξινόμηση αντιγράφονται σε μία άλλη δομή. Σημείωση: Δύο (2) στοιχεία της Στήλης Β δεν χρησιμοποιούνται. (Επαναληπτικές Μονάδες 8) Πίνακες Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση Ο πίνακας που χρησιμοποιεί ένα μόνο δείκτη για την αναφορά των στοιχείων του ονομάζεται μονοδιάστατος. (Επαναληπτικές Μονάδες 2) Οι πίνακες δεν μπορούν να έχουν περισσότερες από δύο διαστάσεις. (2013 Μονάδες 1) Τα στοιχεία ενός πίνακα μπορεί να είναι διαφορετικού τύπου. (Εσπερινού Μονάδες 4, Μονάδες 2, 2011 Μονάδες 2) Ένας πίνακας έχει σταθερό περιεχόμενο αλλά μεταβλητό μέγεθος.( Μονάδες 1) Στο τμήμα δηλώσεων ενός προγράμματος, εκτός από τον τύπο ενός πίνακα, πρέπει να δηλώνεται και ο μεγαλύτερος αριθμός στοιχείων που μπορεί να έχει ο συγκεκριμένος πίνακας.(2016 Μονάδες 2) Έστω πρόβλημα που αναφέρει: «...Να κατασκευάσετε αλγόριθμο που θα ζητάει τις ηλικίες 100 ανθρώπων και να εμφανίζει το μέσο όρο ηλικίας τους...». Δίνονται οι παρακάτω προτάσεις. Για κάθε μία πρόταση να γράψετε στο τετράδιό σας το αντίστοιχο γράμμα και δίπλα τη λέξη ΣΩΣΤΟ ή ΛΑΘΟΣ, αν θεωρείτε ότι η πρόταση είναι σωστή ή λανθασμένη αντίστοιχα. α. Πρέπει να χρησιμοποιηθεί πίνακας. β. Είναι δυνατόν να χρησιμοποιηθεί πίνακας. γ. Είναι δυνατόν να χρησιμοποιηθεί η εντολή Όσο. δ. Είναι δυνατόν να χρησιμοποιηθεί η εντολή Για. ε. Η εντολή Για είναι η καταλληλότερη. Στοίβα - Ουρά Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση ( Μονάδες 10) 1 Η ουρά και η στοίβα μπορούν να υλοποιηθούν με δομή πίνακα. (Επαναληπτικές Μονάδες 2) 2 Η εξαγωγή (dequeue) στοιχείου γίνεται από το εμπρός άκρο της ουράς.(επαναληπτικές Μονάδες 2) 3 Η απώθηση (pop) στοιχείου γίνεται από το πίσω άκρο της στοίβας.(επαναληπτικές Μονάδες 2) 4 Στη στοίβα, ο ίδιος δείκτης μάς δίνει, τόσο τη θέση του στοιχείου που μπορεί να εξαχθεί, όσο και τη θέση εκείνου που εισήλθε τελευταίο.(επαναληπτικές

36 Μονάδες 2) 5 Κατά τη διαδικασία της ώθησης πρέπει να ελέγχεται αν η στοίβα είναι γεμάτη.(επαναληπτικές Μονάδες 2) 6 Η ώθηση (push) στοιχείου είναι μία από τις λειτουργίες της ουράς.(επαναληπτικές Μονάδες 2) 7 Οι λειτουργίες ώθηση και απώθηση είναι οι κύριες λειτουργίες σε μία στοίβα. (Εσπερινού Μονάδες 2) 8 Η μέθοδος επεξεργασίας «πρώτο μέσα πρώτο έξω» (FIFO) εφαρμόζεται στη δομή δεδομένων ΟΥΡΑ. ( Μονάδες 1) 9 Στη δομή της ουράς απαιτείται η ύπαρξη δύο δεικτών. 10 Υπερχείλιση συμβαίνει όταν συμβεί απώθηση σε γεμάτη στοίβα Στον παρακάτω πίνακα η Στήλη Α περιέχει δομές δεδομένων και η Στήλη Β περιέχει λειτουργίες. Να γράψετε στο τετράδιό σας τους αριθμούς της Στήλης Α και δίπλα τα γράμματα της Στήλης Β που αντιστοιχούν σωστά. Ας σημειωθεί ότι σε κάποιες δομές δεδομένων μπορεί να αντιστοιχούν περισσότερες από μία λειτουργίες. Στήλη Α 1.Ουρά 2.Στοίβα Στήλη Β α. Απώθηση β. Εξαγωγή γ. Ώθηση δ. Εισαγωγή ( Μονάδες 4) Δίνεται η παρακάτω ακολουθία αριθμών: 25, 8, 12, 14, 71, 41, 1. Τοποθετούμε τους αριθμούς σε στοίβα και σε ουρά. 1. Ποια λειτουργία θα χρησιμοποιηθεί για την τοποθέτηση των αριθμών στη στοίβα και ποια για την τοποθέτησή τους στην ουρά; 2. Να σχεδιάσετε τις δύο δομές (στοίβα και ουρά) μετά την τοποθέτηση των αριθμών. 3. Ποια λειτουργία θα χρησιμοποιηθεί για την έξοδο αριθμών από τη στοίβα και ποια για την έξοδό τους από την ουρά; 4. Πόσες φορές θα πρέπει να γίνει η παραπάνω λειτουργία στη στοίβα και πόσες στην ουρά για να εξέλθει ο αριθμός 71; (Επαναληπτικές 2006 Μονάδες ) Κατά την είσοδό τους σε μια τράπεζα οι πελάτες παίρνουν διαδοχικούς αριθμούς προτεραιότητας 1, 2, 3 που καθορίζουν τη σειρά τους στην ουρά του μοναδικού ταμείου. Κάθε 2 λεπτά της ώρας προσέρχεται ένας νέος πελάτης και προστίθεται στην ουρά. Ο ταμίας εξυπηρετεί κάθε φορά τον πρώτο πελάτη στην ουρά και η εξυπηρέτησή του διαρκεί 3 λεπτά ακριβώς. Μετά την εξυπηρέτησή του ο πελάτης αποχωρεί από την ουρά. Κατά την αρχή της διαδικασίας (χρόνος 0) στην ουρά μπροστά στο ταμείο υπάρχει ο πελάτης με αριθμό προτεραιότητας 1. Να γράψετε διαδοχικά, σε ξεχωριστές γραμμές, με τη σωστή σειρά, τους αριθμούς προτεραιότητας των πελατών που βρίσκονται στην ουρά του ταμείου αμέσως μετά το 1ο, 2ο, 3ο, 4ο, 5ο και 6ο λεπτό. (2016 Μονάδες 10) Σε μια κενή στοίβα πρόκειται να εισαχθούν τα στοιχεία Μ, Δ, Κ, με αυτή τη σειρά. Δίνονται οι ακόλουθες σειρές διαδοχικών πράξεων (να θεωρήσετε ότι η λειτουργία της ώθησης παριστάνεται με το γράμμα ω και η λειτουργία της απώθησης παριστάνεται με το γράμμα α): 1. ω, ω, ω, α, α, α 2. ω, α, ω, α, ω, α 3. ω, ω, α, α, ω, α 4. ω, ω, α, ω, α, α 5. ω, α, ω, ω, α, α Για καθεμιά από τις παραπάνω σειρές πράξεων να γράψετε στο τετράδιό σας τον αριθμό της (1 έως 5) και, δίπλα, μόνο τα στοιχεία που θα απωθηθούν με τη σειρά απώθησής τους. (Επαναληπτικές Μονάδες 10) 36

37 Αναζήτηση - Ταξινόμηση Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση 1 Ο αλγόριθμος της σειριακής αναζήτησης χρησιμοποιείται αποκλειστικά σε ταξινομημένους πίνακες. (2011 Μονάδες 2)( Μονάδες 2) Η μέθοδος της σειριακής αναζήτησης δικαιολογείται στην περίπτωση που ο 2 πίνακας είναι μη ταξινομημένος και μικρού μεγέθους. (Εσπερινού 2009 Μονάδες 2) 3 Η φυσαλίδα είναι η πιο απλή μέθοδος αναζήτησης. Όταν γίνεται σειριακή αναζήτηση κάποιου στοιχείου σε έναν μη ταξινομημένο 4 πίνακα και το στοιχείο δεν υπάρχει στον πίνακα, τότε υποχρεωτικά προσπελαύνονται όλα τα στοιχεία του πίνακα. (2009 Μονάδες 2) 5 Η ταξινόμηση φυσαλίδας είναι ο πιο απλός και ταυτόχρονα ο πιο γρήγορος αλγόριθμος ταξινόμησης. (Επαναληπτικές 2006 Μονάδες 2) 6 Σκοπός της ταξινόμησης είναι να διευκολυνθεί στη συνέχεια η αναζήτηση των στοιχείων του ταξινομημένου πίνακα. ( Μονάδες 2) Η ταξινόμηση ευθείας ανταλλαγής είναι πολύ αποτελεσματική σε πίνακες που 7 είναι ταξινομημένοι κατά την αντίστροφη φορά σε σχέση με την επιθυμητή (τετ. μαθητή) Χρήση και τυπικές επεξεργασίες πινάκων Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση 1 Οι πίνακες πρέπει να χρησιμοποιούνται πάντα όταν αυτό είναι δυνατό. (τετράδιο μαθητή) 2 Η χρήση των πινάκων σε ένα πρόγραμμα αυξάνει την απαιτούμενη μνήμη. ( Μονάδες 1) 3 Σε ένα μεγάλο και σύνθετο πρόγραμμα, η χρήση πινάκων είναι υποχρεωτική. 4 Για την ταξινόμηση ενός πίνακα 100 στοιχείων μπορεί να χρησιμοποιηθεί μόνο μία μέθοδος. (τετράδιο μαθητή) 5 Ο καλύτερος αλγόριθμος ταξινόμησης είναι ανεξάρτητος από την αρχική διάταξη των στοιχείων του προς ταξινόμηση πίνακα. Άλλες Δομές δεδομένων Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση 1 Στην ρίζα ενός δέντρου δεν καταλήγει καμία ακμή. 2 Σε κάθε κόμβο ενός δέντρου καταλήγει μία ακμή. 3 Σε κάθε κόμβο ενός δέντρου εκτός της ρίζας καταλήγει μία ακμή. 4 Το κύριο χαρακτηριστικό των δένδρων είναι ότι από έναν κόμβο υπάρχει μόνο ένας επόμενος κόμβος.(επαναληπτικές 2016 Μονάδες 2) 5 Η ρίζα ενός δένδρου δεν είναι παιδί κάποιου άλλου κόμβου. (τετ. μαθητή) 6 Η δομή της λίστας και η δομή του δένδρου μπορούν να θεωρηθούν περιπτώσεις γράφων 7 Ένας δείκτης μπορεί να λάβει μόνο ακέραιες ή πραγματικές τιμές. 8 Σε μία δομή που χρησιμοποιεί δείκτη θα πρέπει να γνωρίζουμε εκ των προτέρων τον απαιτούμενο αριθμό κόμβων που θα χρησιμοποιήσουμε. 9 Σε μία δομή λίστας δεν μπορούμε να παρεμβάλουμε ένα στοιχείο ή να διαγράψουμε ένα στοιχείο από τη μέση μίας λίστας. 37

38 10 Σε ένα πίνακα δεν υπάρχει τρόπος διάκρισης της φυσικής σειράς αποθήκευσης από τη λογική αλληλουχία των στοιχείων. (τετ. μαθητή) Δίδεται η λίστα: α. Να περιγράψετε τη διαδικασία για την εισαγωγή του κόμβου με δεδομένα Ε ανάμεσα στον δεύτερο και τρίτο κόμβο της λίστας. β. Να περιγράψετε τη διαδικασία για τη διαγραφή του κόμβου με δεδομένα Κ από την αρχική λίστα. (2016 Μονάδες 3 3) Δίνεται μια λίστα η οποία αποτελείται από 5 κόμβους. Το πρώτο πεδίο του κάθε κόμβου είναι ένα γράμμα και το δεύτερο πεδίο είναι η διεύθυνση του επόμενου κόμβου, όπως φαίνεται στο παρακάτω διάγραμμα, που σχηματίζει τη λέξη ΔΕΚΤΗ: Η λίστα αυτή απεικονίζεται στη μνήμη με τη μορφή που φαίνεται στο παρακάτω σχήμα Ε 25 Δ 16 Κ 30 Η 0 Τ 28 Στον τελευταίο κόμβο, το δεύτερο πεδίο έχει την τιμή 0, η οποία σηματοδοτεί το τέλος της λίστας. α. Να σχεδιάσετε στο τετράδιό σας την απεικόνιση της μνήμης μετά από τη διαγραφή του κατάλληλου κόμβου από την αρχική λίστα, ώστε να σχηματιστεί η λέξη ΔΕΤΗ. β. Να σχεδιάσετε στο τετράδιό σας την απεικόνιση της μνήμης μετά από την εισαγωγή, στην αρχική λίστα, του κόμβου με πρώτο πεδίο το γράμμα Α στη θέση 21, ώστε να σχηματιστεί η λέξη ΔΕΚΑΤΗ. (Επαναληπτικές 2016 Μονάδες 2 4) Συμπλήρωση κενών Σύμφωνα με το βιβλίο σας στο μάθημα γενικής Μαθηματικά & Στοιχεία Στατιστικής η διάμεσος τιμή ορίζεται ως εξής: Διάμεσος ενός δείγματος ν παρατηρήσεων οι οποίες έχουν διαταχθεί σε αύξουσα σειρά ορίζεται ως η μεσαία παρατήρηση, όταν το ν είναι περιττός αριθμός, ή ο μέσος όρος (ημιάθροισμα) των δύο μεσαίων παρατηρήσεων όταν το ν είναι άρτιος. Συμπληρώστε τα κενά του αλγορίθμου ώστε να υπολογίζει τη διάμεσο τιμή των στοιχείων του πίνακα Π, σύμφωνα με τον παραπάνω ορισμό. Τα στοιχεία του πίνακα είναι ταξινομημένα σε αύξουσα σειρά και το πλήθος τους είναι Ν Δίνεται το παρακάτω τμήμα αλγορίθμου, με αριθμημένες τις γραμμές του: α. Τι υπολογίζει αυτό το τμήμα αλγορίθμου; β. Πόσες φορές τουλάχιστον θα εκτελεστεί η εντολή στη γραμμή 4; γ. Πόσες φορές το πολύ θα εκτελεστεί η εντολή στη γραμμή 4; δ. Να αιτιολογήσετε γιατί ο πίνακας Π δεν μπορεί να είναι πίνακας λογικών τιμών Δίνεται η παρακάτω ακολουθία εντολών που στοχεύει στην υλοποίηση ενός αλγορίθμου αναζήτησης κάποιου στοιχείου Χ σε πίνακα Π με Ν στοιχεία: 1. Ποιο αλγοριθμικό κριτήριο δεν ικανοποιεί η παραπάνω ακολουθία εντολών; Αλγόριθμος εύρεση_διαμέσου Δεδομένα // Π, Ν // Αν (1) τότε διάμεσος (2) αλλιώς διάμεσος (3) Τέλος_αν Εμφάνισε διάμεσος Τέλος εύρεση_διαμέσου 1. max Π[1] 2. Για iαπό 2 μέχρι 5 3. Αν Π[i] >maxτότε 4. max Π[i] 5. Τέλος_αν 6. Τέλος_επανάληψης (Επαναληπτικές 2015 Μονάδες ) Αλγόριθμος Αναζήτηση Δεδομένα //Π,Ν,Χ// flag ψευδής Ι 1 Όσο Ι Ν και flag=ψευδής επανάλαβε Αν Π[Ι]=Χ τότε 38

39 2. Να αιτιολογήσετε την απάντησή σας. 3. Να διορθώσετε την παραπάνω ακολουθία εντολών έτσι ώστε να υλοποιεί σωστά την αναζήτηση. (Επαναληπτικές Μονάδες 2 3-3) flag αληθής Τέλος_αν Τέλος_επανάληψης Αποτελέσματα //flag// Τέλος Αναζήτηση Δίνεται πίνακας Π[20] με αριθμητικές τιμές. Στις μονές θέσεις βρίσκονται καταχωρισμένοι θετικοί αριθμοί και στις ζυγές αρνητικοί αριθμοί. Επίσης, δίνεται το παρακάτω τμήμα αλγορίθμου ταξινόμησης τιμών του πίνακα. Να μεταφέρετε στο τετράδιό σας το παραπάνω τμήμα αλγορίθμου συμπληρώνοντας τα κενά με τις κατάλληλες σταθερές, μεταβλητές ή εκφράσεις, ώστε να ταξινομούνται σε αύξουσα σειρά μόνο οι θετικές τιμές του πίνακα. ( Μονάδες 8) Για την ταξινόμηση, σε φθίνουσα σειρά, των στοιχείων ενός μονοδιάστατου πίνακα αριθμών Π[30] μπορεί να ακολουθηθεί η παρακάτω διαδικασία: Αρχικά, ο πίνακας σαρώνεται από την αρχή μέχρι το τέλος του, προκειμένου να βρεθεί το μεγαλύτερο στοιχείο του. Αυτό το στοιχείο τοποθετείται στην αρχή του πίνακα, ανταλλάσσοντας θέσεις με το στοιχείο της πρώτης θέσης του πίνακα. Η σάρωση του πίνακα επαναλαμβάνεται, ξεκινώντας τώρα από το δεύτερο στοιχείο του πίνακα. Το μεγαλύτερο από τα στοιχεία που απέμειναν ανταλλάσσει θέσεις με το στοιχείο της δεύτερης θέσης του πίνακα. Η σάρωση επαναλαμβάνεται, ξεκινώντας από το τρίτο στοιχείο του πίνακα, μετά από το τέταρτο στοιχείο του πίνακα κ.ο.κ. Το παρακάτω ημιτελές τμήμα αλγορίθμου κωδικοποιεί την παραπάνω διαδικασία: Να γράψετε στο τετράδιό σας τους αριθμούς (1) έως (5), που αντιστοιχούν στα κενά του αλγορίθμου και, δίπλα σε κάθε αριθμό, ό,τι πρέπει να συμπληρωθεί, ώστε να γίνεται σωστά η ταξινόμηση. ( Μονάδες 10) Δίνεται το παρακάτω τμήμα αλγορίθμου, το οποίο με δεδομένο έναν μονοδιάστατο πίνακα Α[20]. Ο πίνακας περιέχει άρτιους και περιττούς θετικούς ακεραίους, σε τυχαίες θέσεις. Το τμήμα αλγορίθμου δημιουργεί ένα νέο πίνακα Β[20], στον οποίο υπάρχουν πρώτα οι άρτιοι και μετά ακολουθούν οι περιττοί. Κ 0 Για i από... μέχρι... Αν Α[i] mod 2 = 0 τότε Κ... Β[...] A[i] Τέλος_αν Τέλος_επανάληψης Για i από... μέχρι... Αν Α[i] mod 2 =... τότε Κ... Β[...] A[...] Τέλος_αν Τέλος_επανάληψης (Επαναληπτικές 2012 Μονάδες 10) Να γράψετε συμπληρωμένο στο τετράδιό σας το ΟΣΟ ΚΑΙ ΕΠΑΝΑΛΑΒΕ ακόλουθο τμήμα αλγορίθμου, το οποίο πραγματοποιεί j j + 1 αναζήτηση όλων των στοιχείων του πίνακα W[10] στον ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ ΤΟΤΕ πίνακα S[1000], έτσι ώστε τα στοιχεία του πίνακα F ΑΛΗΘΗΣ W[10] να καταλαμβάνουν συνεχόμενες θέσεις στον ΑΛΛΙΩΣ πίνακα S[1000]. Ο αλγόριθμος βρίσκει τη θέση i του S, i i + 1 απ όπου αρχίζει η πρώτη εμφάνιση των στοιχείων του ΤΕΛΟΣ_ΑΝ W[10]. ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ F ΨΕΥΔΗΣ ΑΝ F = ΑΛΗΘΗΣ TOTE i 1 ΓΡΑΨΕ i ΟΣΟ ΚΑΙ ΕΠΑΝΑΛΑΒΕ ΑΛΛΙΩΣ j 0 ΓΡΑΨΕ ΔΕ ΒΡΕΘΗΚΕ ΤΕΛΟΣ_ΑΝ (Επαναληπτικές Μονάδες 10) Το παρακάτω ημιτελές τμήμα αλγορίθμου εισάγει αριθμητικές τιμές σε πίνακα 100 θέσεων ώστε: α. οι τιμές να είναι διαφορετικές μεταξύ τους, β. οι τιμές να εισάγονται σε αύξουσα σειρά. Εάν κάποια εισαγόμενη τιμή δεν ικανοποιεί τις συνθήκες (α) και Διάβασε Π[(1)... ] Για i από (2)... μέχρι (3)... Αρχή_επανάληψης 39

40 (β), επανεισάγεται. Να γράψετε στο τετράδιό σας τους αριθμούς (1) έως (6), που αντιστοιχούν στα κενά του αλγορίθμου και, δίπλα σε κάθε αριθμό, ό,τι πρέπει να συμπληρωθεί, ώστε το τμήμα αλγορίθμου να επιτελεί τη λειτουργία που περιγράφεται Διάβασε Π[i] Μέχρις_ότου Π[(4)...] (5)...Π[(6)...] Τέλος_επανάληψης (2015 Μονάδες 6) Πίνακες τιμών Έστω ο μονοδιάστατος πίνακας Α. Να σχεδιάσετε τον πίνακα Β[6] μετά την εκτέλεση των παρακάτω εντολών: 1. Β[Α[1] Α[3]] Α[5] 2. Β[Α[7] Α[5]] Α[2] + Α[7] 3. Β[Α[6]] Α[4] 4. Β[Α[1] + Α[4] Α[8]] Α[3] + Α[8] 5. Β[Α[8] DIV 2] A[3] MOD 2 6. B[A[1] MOD A[4]] A[6] + 4 ( Μονάδες 12) Δίδεται πίνακας ΠΙΝ[7] με τις παρακάτω τιμές και το παρακάτω τμήμα αλγορίθμου low 1 high 7 found ΨΕΥΔΗΣ Όσο low high ΚΑΙ found=ψευδησ επανάλαβε mid (low+high) DIV 2 Εμφάνισε ΠΙΝ[mid] Αν ΠΙΝ[mid] <Χ τότε low mid+1 Αλλιώς_αν ΠΙΝ[mid] > Χ τότε high mid-1 Αλλιώς found ΑΛΗΘΗΣ Τέλος_αν Τέλος_Επανάληψης Να γράψετε στο τετράδιό σας τις τιμές οι οποίες θα εμφανιστούν για: α) Χ=22 β) Χ=7 ( Μονάδες 3-3) Δίνεται το παρακάτω τμήμα προγράμματος, το οποίο μετατρέπει έναν ακέραιο αριθμό από το δεκαδικό σύστημα στο δυαδικό. Π 1 Ι 0 α. Για την τιμή Α = 11 : i) Να συμπληρώσετε τον παρακάτω πίνακα τιμών. ΔΙΑΒΑΣΕ Α Π Υ Α Ι ΟΣΟ Π<>0 ΕΠΑΝΑΛΑΒΕ Ι Ι+1 Π Α DIV 2 Y A MOD 2 Δ[I] Y ii) Να γράψετε τον αριθμό Α και δίπλα του, διαδοχικά, τις τιμές που A Π εμφανίζει το τμήμα του προγράμματος (οι αριθμοί αυτοί αποτελούν ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ τη δυαδική αναπαράσταση του αριθμού Α). ΓΙΑ Κ ΑΠΟ Ι ΜΕΧΡΙ 1 ΜΕ ΒΗΜΑ -1 β. Να επαναλάβετε τα ανωτέρω i) και ii) βήματα για την τιμή Α = 8. ΓΡΑΨΕ Δ[Κ] (Επαναληπτικές 2016 Μονάδες ) ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 40

41 Ασκήσεις Μονοδιάστατοι πίνακες Δίνεται ο βαθμός πρόσβασης κάθε μαθητή της Γ τάξης του Λυκείου Καρλοβασίου. Να αναπτύξετε πρόγραμμα που να διαβάζει τους βαθμούς πρόσβασης και θα τους αποθηκεύει στον πίνακα Βαθμός. Στη συνέχεια να βρίσκει τον μέγιστο βαθμό και να τον εμφανίζει. Οι μαθητές της Γ Λυκείου είναι Σε συνέχεια της προηγούμενης άσκησης να διαβάζει επιπλέον και το όνομα κάθε μαθητή. Τα ονόματα θα αποθηκεύονται στον πίνακα Όνομα. Στο τέλος να εμφανίζει το όνομα του μαθητή με τον μεγαλύτερο βαθμό αλλά και τον μέσο βαθμό όλων των μαθητών Δίνονται η έκταση, ο πληθυσμός και το όνομα καθεμιάς από τις 15 χώρες της Ευρωπαϊκής Ένωσης. Να αναπτύξετε πρόγραμμα που α)θα διαβάζει τα παραπάνω δεδομένα,(μονάδες 4) β)θα εμφανίζει τη χώρα με τη μεγαλύτερη έκταση,(μονάδες 6) γ)θα εμφανίζει τη χώρα με το μικρότερο πληθυσμό και(μονάδες 6) δ)θα εμφανίζει το μέσο όρο του πληθυσμού των 15 χωρών της Ευρωπαϊκής Ένωσης.(Μονάδες 4) (Εσπερινού 2002) Να γραφεί πρόγραμμα το οποίο: α) Θα διαβάζει τα ονόματα και τις ετήσιες εισπράξεις 10 καταστημάτων του δισκάδικου «μπλα μπλα» και θα τα αποθηκεύει στους πίνακες ονόματα και εισπράξεις αντίστοιχα. β) Θα εμφανίζει τα ονόματα και το πλήθος των καταστημάτων που έχουν εισπράξεις μικρότερες των ευρώ. γ) Θα εμφανίζει το όνομα του καταστήματος με τις υψηλότερες εισπράξεις Γράψτε πρόγραμμα που: α) Διαβάζει την βροχόπτωση κάθε μέρας του Ιανουαρίου στη λίμνη Πλαστήρα στην Καρδίτσα και αποθηκεύει τις τιμές στον μονοδιάστατο πίνακα βροχοπτώσεις (Σημείωση: Ο Ιανουάριος έχει 31 ημέρες) β) Υπολογίζει και εμφανίζει τη μέση βροχόπτωση του μήνα. γ) Υπολογίζει και εμφανίζει την χαμηλότερη βροχόπτωση του μήνα. δ) Υπολογίζει και εμφανίζει την μέγιστη βροχόπτωση του μήνα. ε) Υπολογίζει και εμφανίζει πόσες ημέρες η βροχόπτωση είναι μεγαλύτερη της μέσης τιμής. στ) Υπολογίζει και εμφανίζει την μέγιστη άνοδο και πτώση της βροχόπτωσης σε δύο διαδοχικές μέρες του μήνα. ζ) Υπολογίζει και εμφανίζει τις μέρες στις οποίες παρουσιάζεται κορυφή της βροχόπτωσης, δηλαδή η βροχόπτωση είναι μεγαλύτερη από την προηγούμενη και την επόμενη μέρα Να γραφεί πρόγραμμα το οποίο: α) θα δέχεται τα ονόματα 30 μαθητών και τους βαθμούς τους από τον χρήστη και αφού γίνεται έλεγχος ότι η βαθμολογία είναι έγκυρη ([0,20]) θα τους αποθηκεύει τα δεδομένα στους πίνακες Μαθητές και Βαθμοί αντίστοιχα. β) Θα υπολογίζει και θα τυπώνει τα ποσοστά των μαθητών που πήραν πάνω ( 9,5)και κάτω από τη βάση επί του συνόλου των μαθητών. γ) Το όνομα των μαθητών με βαθμό μεγαλύτερο του 18 θα αποθηκεύονται σε έναν νέο πίνακα Αριστούχοι_Μαθητές Να γραφεί πρόγραμμα το οποίο θα δέχεται έναν πενταψήφιο αριθμό και αφού ελέγχει ότι πρόκειται για πενταψήφιο θα αποθηκεύει ψηφίο ψηφίο τον αριθμό σε έναν πίνακα 5 θέσεων Έστω πίνακας 10 θέσεων, κάθε θέση του οποίου καταλαμβάνει και ένα ψηφίο δυαδικού αριθμού. Να βρεθεί ο ισοδύναμος αριθμός στο δεκαδικό σύστημα με υλοποίηση κατάλληλου προγράμματος Υλοποιήστε πρόγραμμα που να διαβάζει και να αποθηκεύει 30 αριθμούς σ' έναν πίνακα και να τους αντιμεταθέτει. Δηλαδή, ο 1ος αριθμός να πάει στην 30η θέση, ο 2ος στην 29η θέση κοκ Με δεδομένο έναν πίνακα Ν στοιχείων να ελέγχεται εάν αυτός είναι συμμετρικός, δηλαδή το 1 ο του στοιχείο είναι ίσο με το στοιχείο N, το 2 ο με το στοιχείο N-1 κ.ο.κ Δίνεται πίνακας Α[Ν] ακέραιων και θετικών αριθμών, καθώς και πίνακας Β[Ν-1] πραγματικών και θετικών αριθμών. Να γραφεί αλγόριθμος, ο οποίος να ελέγχει αν κάθε στοιχείο Β[i] είναι ο μέσος όρος των στοιχείων Α[i] και Α[i+1], δηλαδή αν Β[i] = (Α[i] + Α[i+1])/2. Σε περίπτωση που ισχύει, τότε να εμφανίζεται το μήνυμα «Ο πίνακας Β είναι ο τρέχων μέσος του Α», διαφορετικά να εμφανίζεται το μήνυμα «Ο πίνακας Β δεν είναι ο τρέχων μέσος του Α». Για παράδειγμα: 41

42 Έστω ότι τα στοιχεία του πίνακα Α είναι: 1, 3, 5, 10, 15 και ότι τα στοιχεία του πίνακα Β είναι: 2, 4, 7.5, Τότε ο αλγόριθμος θα εμφανίσει το μήνυμα «Ο πίνακας Β είναι ο τρέχων μέσος του Α», διότι 2 = (1+3)/2, 4=(3+5)/2, 7.5= (5+10)/2, 12.5=(10+15)/2. (Μονάδες 20) (2005) Να γραφεί πρόγραμμα το οποίο να διαβάζει 10 ακεραίους αριθμούς και να τους εισάγει σε μονοδιάστατο πίνακα Α. Στη συνέχεια να ολισθαίνει όλα τα μηδενικά δεξιά χωρίς όμως να αλλάζει την σειρά των μη μηδενικών αριθμών όπως φαίνεται στο παρακάτω παράδειγμα. Τέλος να εμφανίζει την τελική μορφή του πίνακα. Αρχικά: Α = [ ] Τελικά Α = [ ] Σημείωση: Δεν απαιτείται έλεγχος εγκυρότητας δεδομένων Να γραφεί πρόγραμμα το οποίο να διαβάζει έναν πίνακα 10 ακεραίων, έστω Α. Στη συνέχεια να βρίσκει εάν όλα τα στοιχεία του πίνακα είναι διαφορετικά ή όχι και να εμφανίζει κατάλληλο μήνυμα. Παράδειγμα: Α = [ ] «Όλα τα στοιχεία διαφορετικά» Α = [ ] «Υπάρχουν ίδια στοιχεία» Σημείωση: Δεν απαιτείται έλεγχος εγκυρότητας δεδομένων Να γραφεί πρόγραμμα το οποίο να διαβάζει έναν πίνακα 10 ακεραίων, έστω Α. Στη συνέχεια να ολισθαίνει τα στοιχεία του πίνακα μία θέση δεξιά συμπληρώνοντας το αριστερότερο στοιχείο με 0 όπως βλέπετε στο επόμενο παράδειγμα. Αρχικός Πίνακας Α = [ ] Τελικός Πίνακας Α = [ ] Τροποποιήστε το πρόγραμμα ώστε ο πίνακας να ολισθαίνει κυκλικά, αντί δηλαδή το αριστερότερο στοιχείο να γίνεται μηδέν, να παίρνει την τιμή του δεξιότερου στοιχείου όπως στο παράδειγμα. Τελικός Πίνακας Α = [ ] Σε μια διαδρομή τρένου υπάρχουν 20 σταθμοί (σε αυτούς περιλαμβάνονται η αφετηρία και ο τερματικός σταθμός). Το τρένο σταματά σε όλους τους σταθμούς. Σε κάθε σταθμό επιβιβάζονται και αποβιβάζονται επιβάτες. Οι πρώτοι επιβάτες επιβιβάζονται στην αφετηρία και στον τερματικό σταθμό αποβιβάζονται όλοι οι επιβάτες. Να κατασκευάσετε αλγόριθμο, ο οποίος να διαχειρίζεται την κίνηση των επιβατών. Συγκεκριμένα: α. Να ζητάει από το χρήστη τον αριθμό των ατόμων που επιβιβάστηκαν σε κάθε σταθμό, εκτός από τον τερματικό, και να τον εισάγει σε πίνακα ΕΠΙΒ[19]. (Μονάδες 2) β. Να εισάγει σε πίνακα ΑΠΟΒ[19] τον αριθμό των ατόμων που αποβιβάστηκαν σε κάθε σταθμό, εκτός από τον τερματικό, ως εξής: Για την αφετηρία να εισάγει την τιμή μηδέν (0) και για τους υπόλοιπους σταθμούς να ζητάει από τον χρήστη τον αριθμό των ατόμων που αποβιβάστηκαν. (Μονάδες 4) γ. Να δημιουργεί πίνακα ΑΕ[19], στον οποίο να καταχωρίζει τον αριθμό των επιβατών που βρίσκονται στο τρένο, μετά από κάθε αναχώρησή του. (Μονάδες 7) δ. Να βρίσκει και να εμφανίζει τον σταθμό από τον οποίο το τρένο αναχωρεί με τον μεγαλύτερο αριθμό επιβατών. (Να θεωρήσετε ότι από κάθε σταθμό το τρένο αναχωρεί με διαφορετικό αριθμό επιβατών). (Μονάδες 7) (2009) Μία Νομαρχία διοργάνωσε το 2008 σεμινάριο εθελοντικής δασοπυρόσβεσης, το οποίο παρακολούθησαν 500 άτομα. Η Πυροσβεστική Υπηρεσία ζήτησε στοιχεία σχετικά με την ηλικία, το φύλο και το μορφωτικό επίπεδο εκπαίδευσης κάθε εθελοντή, προκειμένου να εξαγάγει στατιστικά στοιχεία. Να γραφεί αλγόριθμος, ο οποίος: α. διαβάζει για κάθε άτομο το ονοματεπώνυμο, το έτος γέννησης (χωρίς να απαιτείται έλεγχος εγκυρότητας), το φύλο, με αποδεκτές τιμές το Α για τους άνδρες και το Γ για τις γυναίκες, το μορφωτικό επίπεδο εκπαίδευσης, με αποδεκτές τιμές Π, Δ ή Τ, που αντιστοιχούν σε Πρωτοβάθμια, Δευτεροβάθμια ή Τριτοβάθμια Εκπαίδευση, και τα καταχωρίζει σε κατάλληλους μονοδιάστατους πίνακες. (Μονάδες 6) β. υπολογίζει και εμφανίζει το πλήθος των ατόμων με ηλικία μικρότερη των 30 ετών. (Μονάδες 4) γ. υπολογίζει και εμφανίζει το ποσοστό των γυναικών με επίπεδο Τριτοβάθμιας Εκπαίδευσης στο σύνολο των εθελοντριών. (Μονάδες 5) δ. εμφανίζει τα ονόματα των ατόμων με τη μεγαλύτερη ηλικία. (Μονάδες 5) (Επαναληπτικές Εσπερινού 2008) 42

43 3.67. Σε ένα πανεπιστημιακό τμήμα εισήχθησαν κατόπιν γενικών εξετάσεων 235 φοιτητές προερχόμενοι από την ΤΕΧΝΟΛΟΓΙΚΗ ή τη ΘΕΤΙΚΗ κατεύθυνση. Να αναπτύξετε αλγόριθμο, ο οποίος: α. Για καθένα από τους 235 φοιτητές διαβάζει: το ονοματεπώνυμό του, τα μόρια εισαγωγής του, την κατεύθυνσή του, η οποία μπορεί να είναι «ΤΕΧΝΟΛΟΓΙΚΗ» ή «ΘΕΤΙΚΗ», ελέγχοντας την εγκυρότητα εισαγωγής της και καταχωρίζει τα δεδομένα αυτά σε τρεις πίνακες. (Μονάδες 4) β. Υπολογίζει και εμφανίζει: 1. το μέσο όρο των μορίων εισαγωγής των φοιτητών που προέρχονται από την ΤΕΧΝΟΛΟΓΙΚΗ κατεύθυνση. (Μονάδες 5) 2. το ποσοστό των φοιτητών, που προέρχονται από την ΤΕΧΝΟΛΟΓΙΚΗ κατεύθυνση. (Μονάδες 2) 3. την κατεύθυνση, από την οποία προέρχεται ο φοιτητής με τα περισσότερα μόρια εισαγωγής (να θεωρήσετε ότι δεν υπάρχει περίπτωση ισοβαθμίας). (Μονάδες 5) 4. τα ονοματεπώνυμα των φοιτητών που προέρχονται από την ΤΕΧΝΟΛΟΓΙΚΗ κατεύθυνση, για τους οποίους τα μόρια εισαγωγής τους είναι περισσότερα από το μέσο όρο των μορίων εισαγωγής των φοιτητών που προέρχονται από την ΤΕΧΝΟΛΟΓΙΚΗ κατεύθυνση. (Μονάδες 4 ) (Εσπερινού 2007) Να γραφεί πρόγραμμα που να διαβάζει 100 ρίψεις ζαριού ελέγχοντας ότι είναι στα αποδεκτά όρια [1,6]. Στη συνέχεια βρίσκει και εμφανίζει τις ζαριές που εμφανίστηκαν πιο σπάνια και πιο συχνά Μια ομάδα παιδιών στέκονται σε μια ευθεία γραμμή, το ένα πίσω από το άλλο, περιμένοντας τη σειρά τους στο κυλικείο του σχολείου. Το πρώτο παιδί προφανώς βλέπει την είσοδο του κυλικείου, όσα παιδιά όμως στέκονται πίσω του δεν είναι σίγουρο ότι και αυτά τη βλέπουν. Για να βλέπει ένα παιδί την είσοδο του κυλικείου πρέπει όλα τα παιδιά που στέκονται μπροστά του να είναι κοντύτερα από αυτό. Στην περίπτωση που ένα παιδί μπροστά του είναι του ίδιου ύψους, το παιδί δεν βλέπει το κυλικείο. Έτσι για τα επόμενα δύο παραδείγματα των εικόνων, στη πρώτη ουρά θα βλέπουν 3 παιδιά, το πρώτο, το δεύτερο και το τέταρτο παιδί, ενώ στη 2 η μόνο ένα, το πρώτο παιδί Έστω ότι το Σχολείο έχει 100 μαθητές, κάτι που σημαίνει ότι στην ουρά θα στέκονται το πολύ 100 μαθητές. Να γραφεί αλγόριθμος ο οποίος Γ1. Αρχικά θα μηδενίζει ολόκληρο τον πίνακα Ουρά 100 θέσεων. (Μονάδες 2) Γ2. Θα διαβάζει τον αριθμό των παιδιών, Ν, που κάθονται στην ουρά, ελέγχοντας ότι είναι στα όρια, [1,100]. Θεωρούμε ότι για να τρέξει ο αλγόριθμος θα είναι τουλάχιστον 1 παιδί στην ουρά. (Μονάδες 2) Γ3. Θα διαβάζει τα ύψη των παιδιών σε εκατοστά, ξεκινώντας από αυτό που κάθεται εμπρός στην ουρά και προς τα πίσω μέχρι και το Ν-οστό παιδί. αποθηκεύοντας τα στον πίνακα Ουρά. Έτσι για τις ουρές των εικόνων, με N=7 και N=4 αντίστοιχα, οι πίνακες μετά το διάβασμά τους θα έχουν ως εξής: (Μονάδες 3) Γ4. Ποιο είναι το μέσο ύψος των παιδιών στην ουρά; (Μονάδες 3) Γ5. Θα βρίσκει και θα εμφανίζει σε ποιο σημείο της ουράς κάθεται το παιδί με το μεγαλύτερο ύψος; Σε περίπτωση που υπάρχει παραπάνω από ένα παιδί με μέγιστο ύψος θα πρέπει να εμφανιστούν όλα τα σημεία. Έτσι για τις ουρές στις εικόνες, στην πρώτη περίπτωση πρέπει να εμφανίσει 4,6 ενώ στη δεύτερη 1. (Μονάδες 5) Γ6. Θα υπολογίζει και θα εμφανίζει πόσα παιδιά βλέπουν την είσοδο του κυλικείου; (Μονάδες 5) Πηγή: 27 ος Πανελλήνιος Διαγωνισμός Πληροφορικής 43

44 Αναζήτηση Ταξινόμηση Σ ένα διαγωνισμό συμμετέχουν 5000 διαγωνιζόμενοι και εξετάζονται σε δύο μαθήματα. Να γράψετε αλγόριθμο που 1. να διαβάζει και να καταχωρίζει σε κατάλληλους πίνακες για κάθε διαγωνιζόμενο τον αριθμό μητρώου, το ονοματεπώνυμο και τους βαθμούς που πήρε στα δύο μαθήματα. Οι αριθμοί μητρώου θεωρούνται μοναδικοί. Η βαθμολογική κλίμακα είναι από 0 έως και 100.(Μονάδες 4) 2. να εμφανίζει κατάσταση επιτυχόντων με την εξής μορφή: Αριθ. Μητρώου Ονοματεπώνυμο Μέσος Όρος Επιτυχών θεωρείται ότι είναι αυτός που έχει μέσο όρο βαθμολογίας μεγαλύτερο ή ίσο του 60.(Μονάδες 4) 3. να διαβάζει έναν αριθμό μητρώου και α) σε περίπτωση που ο αριθμός μητρώου είναι καταχωρισμένος στον πίνακα, να εμφανίζεται ο αριθμός μητρώου, το ονοματεπώνυμο, ο μέσος όρος βαθμολογίας και η ένδειξη «ΕΠΙΤΥΧΩΝ» ή «ΑΠΟΤΥΧΩΝ», ανάλογα με τον μέσο όρο.(μονάδες 8) β) σε περίπτωση που ο αριθμός μητρώου δεν είναι καταχωρισμένος στον πίνακα, να εμφανίζεται το μήνυμα «Ο αριθμός μητρώου δεν αντιστοιχεί σε διαγωνιζόμενο».(μονάδες 4) Σημείωση: Δεν απαιτείται έλεγχος εγκυρότητας καταχώρισης δεδομένων. (Επαναληπτικές Εσπερινού 2004) Να γραφεί πρόγραμμα το οποίο: α) Θα διαβάζει τα ονόματα, τις ετήσιες εισπράξεις και τα έξοδα 10 καταστημάτων του δισκάδικου «μπλα μπλα» και θα τα αποθηκεύει στους πίνακες ονόματα, εισπράξεις και έξοδα αντίστοιχα. β) θα διαβάζει το όνομα ενός καταστήματος και θα εμφανίζει τις εισπράξεις του, τα έξοδα του και το μήνυμα «κερδοφόρο» ή «ζημιογόνο» ανάλογα. Κερδοφόρο θεωρείται ένα κατάστημα εάν έχει εισπράξεις μεγαλύτερες από έξοδα. γ) Εάν το όνομα δεν υπάρχει στη λίστα θα εμφανίζει το μήνυμα «Δεν υπάρχει τέτοιο κατάστημα» Για την εύρεση πόρων προκειμένου οι μαθητές της Δ τάξης Εσπερινού Λυκείου να συμμετάσχουν σε εκδρομή οργανώνεται λαχειοφόρος αγορά. Οι μαθητές του Λυκείου διαθέτουν λαχνούς στα σχολεία της περιοχής τους. Διακόσιοι μαθητές από δεκαπέντε διαφορετικά σχολεία αγόρασαν ο καθένας από έναν μόνο λαχνό. Μετά από κλήρωση ένας μαθητής κερδίζει τον πρώτο λαχνό. Να γίνει τμήμα αλγορίθμου που α) για κάθε μαθητή που αγόρασε λαχνό να εισάγει σε μονοδιάστατο πίνακα Α 200 θέσεων το επώνυμό του και στην αντίστοιχη θέση μονοδιάστατου πίνακα Β 200 θέσεων το όνομα του σχολείου του,(μονάδες 3) β) να εισάγει σε μονοδιάστατο πίνακα Σ 15 θέσεων τα ονόματα όλων των σχολείων της περιοχής και στις αντίστοιχες θέσεις μονοδιάστατου πίνακα M 15 θέσεων τις ηλεκτρονικές διευθύνσεις των σχολείων,(μονάδες 4) γ) να διαβάζει το επώνυμο του μαθητή, που κέρδισε τον πρώτο λαχνό, (Μονάδες 1) δ) χρησιμοποιώντας τον αλγόριθμο της σειριακής αναζήτησης να προσδιορίζει τη θέση του επωνύμου του τυχερού μαθητή στον πίνακα Α. Στη συνέχεια στον πίνακα Β να βρίσκει το όνομα του σχολείου που φοιτά,(μονάδες 5) ε) λαμβάνοντας υπόψη το όνομα του σχολείου που φοιτά ο τυχερός μαθητής και χρησιμοποιώντας τον αλγόριθμο της σειριακής αναζήτησης να προσδιορίζει την θέση του σχολείου στον πίνακα Σ. Στη συνέχεια στον πίνακα M να βρίσκει τη διεύθυνση του ηλεκτρονικού ταχυδρομείου του σχολείου αυτού,(μονάδες 5) στ) να εμφανίζει το επώνυμο του τυχερού μαθητή, το όνομα του σχολείου του και τη διεύθυνση του ηλεκτρονικού ταχυδρομείου του σχολείου του.(μονάδες 2) Σημείωση: Να θεωρήσετε ότι δεν υπάρχουν μαθητές με το ίδιο επώνυμο και ότι κάθε μαθητής αγόρασε έναν μόνο λαχνό. (Εσπερινού 2005) Το Εθνικό Αρχαιολογικό Μουσείο, το οποίο γιορτάζει τα 150 χρόνια από τη θεμελίωσή του, θέλει να αναπτύξει μία εφαρμογή για την προβολή των εκθεμάτων του. Να αναπτύξετε ένα πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο: Δ1. Να περιέχει κατάλληλο τμήμα δηλώσεων. (Μονάδες 2) Δ2. Να διαβάζει ακέραιους κωδικούς εκθεμάτων στον πίνακα ΚΩΔ και ονομασίες εκθεμάτων στον πίνακα ΕΚΘ. (Μονάδες 2) Δ3. Να ταξινομεί, κατά αύξουσα σειρά, τους πίνακες με βάση τον κωδικό του εκθέματος. (Μονάδες 8) Δ4. Να ζητά από τον χρήστη την εισαγωγή ενός κωδικού και, εφόσον αυτός αντιστοιχεί σε έκθεμα, να εμφανίζει την ονομασία του εκθέματος. Εάν το έκθεμα δεν υπάρχει, να εμφανίζει το μήνυμα: «Δεν υπάρχει». Η διαδικασία να ολοκληρώνεται, όταν εισαχθεί ο αριθμός 0. (Μονάδες 8) (Σημείωση: Να θεωρήσετε ότι οι κωδικοί όλων των εκθεμάτων είναι διαφορετικοί μεταξύ τους) 44

45 (Εσπερινό 2016) Σε έναν αγώνα δισκοβολίας συμμετέχουν 20 αθλητές. Κάθε αθλητής έκανε μόνο μία έγκυρη ρίψη που καταχωρείται ως επίδοση του αθλητή και εκφράζεται σε μέτρα. Να αναπτύξετε αλγόριθμο που α. να διαβάζει για κάθε αθλητή το όνομα και την επίδοσή του,(μονάδες 5) β. να ταξινομεί τους αθλητές ως προς την επίδοσή τους,(μονάδες 5) γ. να εμφανίζει τα ονόματα και τις επιδόσεις των τριών πρώτων αθλητών, αρχίζοντας από εκείνον με την καλύτερη επίδοση,(μονάδες 5) δ. να εμφανίζει τα ονόματα και τις επιδόσεις των πέντε τελευταίων αθλητών, αρχίζοντας από εκείνον με την καλύτερη επίδοση.(μονάδες 5) Σημείωση: Να θεωρήσετε ότι δεν υπάρχουν αθλητές με την ίδια ακριβώς επίδοση. (Εσπερινού 2004) Στον Πανελλήνιο Διαγωνισμό Πληροφορικής συμμετείχαν 200 υποψήφιοι. Να γραφεί αλγόριθμος που: α) να διαβάζει και να αποθηκεύει τα αποτελέσματα σε έναν μονοδιάστατο πίνακα Β και τα ονόματα των υποψηφίων σε έναν δεύτερο μονοδιάστατο πίνακα Ο, κατ αντιστοιχία β) να δημιουργεί ένα νέο πίνακα Π με τα ονόματα των 8 υποψηφίων με την καλύτερη βαθμολογία που προκρίνονται στην Ολυμπιάδα Πληροφορικής Κατά την απογραφή του έτους 2001 σε ένα χωριό απογράφηκαν 1800 άτομα. Να γραφεί αλγόριθμος με τον οποίο: α. Θα αποθηκεύεται το έτος γέννησης όλων των ατόμων σε έναν μονοδιάστατο πίνακα και το ονοματεπώνυμο σε άλλον πίνακα με αντιστοιχία θέσεων. β. Θα υπολογίζεται και θα εμφανίζεται το πλήθος των ατόμων κατά ηλικία συνοδευόμενο από τη διπλανή φράση: γ. Θα εμφανίζονται οι ηλικίες των 4 μεγαλύτερων ατόμων. δ. Θα εμφανίζονται τα ονόματα των κατοίκων που έχουν τις 4 μεγαλύτερες ηλικίες Σε έναν αγώνα δισκοβολίας συμμετέχουν 20 αθλητές. Κάθε αθλητής έκανε μόνο μία έγκυρη ρίψη που καταχωρείται ως επίδοση του αθλητή και εκφράζεται σε μέτρα. Να αναπτύξετε αλγόριθμο που α. να διαβάζει για κάθε αθλητή το όνομα και την επίδοσή του,(μονάδες 5) β. να ταξινομεί τους αθλητές ως προς την επίδοσή τους,(μονάδες 5) γ. να εμφανίζει τα ονόματα και τις επιδόσεις των τριών πρώτων αθλητών, αρχίζοντας από εκείνον με την καλύτερη επίδοση,(μονάδες 5) δ. να εμφανίζει τα ονόματα και τις επιδόσεις των πέντε τελευταίων αθλητών, αρχίζοντας από εκείνον με την καλύτερη επίδοση.(μονάδες 5) Σημείωση: Να θεωρήσετε ότι δεν υπάρχουν αθλητές με την ίδια ακριβώς επίδοση. (Εσπερινού 2004) Σε ένα Εσπερινό Γυμνάσιο φοιτούν 80 μαθητές. Να γραφεί αλγόριθμος ο οποίος: α) Διαβάζει για κάθε μαθητή το ονοματεπώνυμό του, την τάξη του και τον τελικό βαθμό του και τα καταχωρεί σε μονοδιάστατους πίνακες, ελέγχοντας την ορθότητα εισαγωγής των δεδομένων σύμφωνα με τα παρακάτω: - Οι τάξεις είναι Α ή Β ή Γ. - Ο τελικός βαθμός είναι από 1 μέχρι και 20. (Μονάδες 5) β) Εμφανίζει τα ονόματα των μαθητών της Β τάξης που έχουν τελικό βαθμό μεγαλύτερο ή ίσο του 18,5. (Μονάδες 2) γ) Υπολογίζει και εμφανίζει το πλήθος των μαθητών κάθε τάξης. (Μονάδες 3) δ) Υπολογίζει και εμφανίζει το μέσο όρο των τελικών βαθμών των μαθητών της Γ τάξης.(μονάδες 3) ε) Εμφανίζει ταξινομημένα κατά αλφαβητική σειρά τα ονοματεπώνυμα και τους αντίστοιχους τελικούς βαθμούς των μαθητών της Α τάξης. (Μονάδες 7) (Επαναληπτικές Εσπερινού 2006) Να αναπτύξετε ένα πρόγραμμα σε Γλώσσα, το οποίο α. Διαβάζει χαρακτήρα, χαρακτήρα μια συμβολοσειρά 100 χαρακτήρων και την αποθηκεύει σε έναν μονοδιάστατο πίνακα, Π 100 θέσεων. β. Με τον ίδιο τρόπο θα εισαγάγει μια δεύτερη συμβολοσειρά σε έναν Πίνακα Κ 20 θέσεων. γ. θα εμφανίζει τη θέση στον αρχικό πίνακα που η τελευταία ξεκινά. Αν δεν υπάρχει, θα εμφανίζει κατάλληλο μήνυμα. Σημείωση: Δεν απαιτείται έλεγχος εγκυρότητας δεδομένων. 45

46 Στοίβες Υλοποιήστε πρόγραμμα το οποίο να διαβάζει μία σειρά από χαρακτήρες μέχρι να διαβάσει τον χαρακτήρα. και να τους τυπώνει σε αντίστροφη σειρά. Για να το επιτύχετε χρησιμοποιήστε μία στοίβα 100 χαρακτήρων. Θα πρέπει να ελέγξετε και την περίπτωση υπερχείλισης κατά το διάβασμα αλλά και την υποχείλιση κατά την εκτύπωση Υλοποιήστε πρόγραμμα το οποίο να διαβάζει έναν ακέραιο θετικό αριθμό και εμφανίζει τα ψηφία του ένα ένα στην σειρά. Για να το πετύχει αυτό θα χρησιμοποιεί την δομή της στοίβας υλοποιημένη με έναν πίνακα, έστω stack 30 ακεραίων όπου θα αποθηκεύεται ένα ένα το ψηφίο από το αριστερότερο και προς τα δεξιά του αριθμού Υλοποιήστε πρόγραμμα το οποίο διαβάζει έναν ακέραιο θετικό αριθμό και εμφανίζει την δυαδική αναπαράσταση του αριθμού. Για να το επιτύχετε πρέπει διαδοχικά να διαιρείτε τον αριθμό ακέραια με το 2 μέχρι να μηδενιστεί και να κρατάτε τα υπόλοιπα σε μία στοίβα, όπως για το 43 στο διπλανό σχήμα. Στο τέλος απωθώντας και εμφανίζοντας ένα ένα τα ψηφία από τη στοίβα παίρνετε τη δυαδική αναπαράσταση. Η στοίβα υλοποιείται με έναν μονοδιάστατο πίνακα, έστω stack, 30 ακεραίων Ο Θανάσης έχει έναν κερματοδέκτη που έχει μόνο μία θέση υποδοχής για όλων των ειδών τα κέρματα. Ο κερματοδέκτης χωράει 50 κέρματα και είναι προφανές ότι αν επιχειρήσει να βγάλει κάποιο κέρμα, αυτό που θα βγάλει είναι το τελευταίο που είχε βάλει σε αυτόν. Την παραμονή πρωτοχρονιάς ο Θανάσης βγήκε για κάλαντα τοποθετώντας στον κερματοδέκτη ότι κέρμα του δόθηκε. Στόχος του ήταν να μαζέψει 50 για να αγοράσει ένα πατίνι. Να γραφεί πρόγραμμα το οποίο: i. Περιέχει τμήμα δηλώσεων μεταβλητών. ii. Διαβάζει την αξία του επόμενου κέρματος του Θανάση, 0.1 για δεκάλεπτο, 0.2 για εικοσάλεπτο κ.ο.κ. και το ωθεί σε μία δομή στοίβας που υλοποιείται με έναν πίνακα stack 50 θέσεων. Η διαδικασία τερματίζει είτε όταν τελειώσει η στοίβα, είτε όταν δοθεί σαν είσοδος το 0.Δεν απαιτείται έλεγχος εγκυρότητας των αξιών που δίνονται για τα κέρματα. iii. Στο τέλος θα απωθούνται ένα ένα τα κέρματα από τον κερματοδέκτη είτε μέχρι να φτάσει το ποσό που απαιτείται για την αγορά του πατινιού (50 ) είτε μέχρι να τελειώσουν τα κέρματα του κερματοδέκτη. Στο τέλος θα εμφανίζει είτε το συνολικό ποσό με το μήνυμα «Δεν επαρκούν τα χρήματα για πατίνι» είτε το μήνυμα «Επαρκούν τα χρήματα» μαζί με τον αριθμό των κερμάτων που απομένουν στον κερματοδέκτη Μία χρήση της δομής της στοίβας είναι ο έλεγχος μίας παράστασης για σωστή χρήση των παρενθέσεων. Έτσι όταν διαβάζεται μία αριστερή παρένθεση πρέπει να εισάγεται στην στοίβα και όταν διαβάζεται μία δεξιά παρένθεση πρέπει μία αριστερή να απωθείται από την στοίβα. Αν η στοίβα είναι κενή στο τέλος της πρότασης, αλλά και δεν επιχειρηθεί να γίνει απώθηση σε κενή στοίβα, περίπτωση υποχείλισης, σημαίνει ότι η πρόταση είναι σωστή συντακτικά όσο αναφορά τον αριθμό των παρενθέσεων. Να γραφεί πρόγραμμα το οποίο: i. Περιέχει τμήμα δηλώσεων μεταβλητών. ii. Διαβάζει χαρακτήρα - χαρακτήρα την παράσταση και την αποθηκεύει στον πίνακα Π[200] μέχρι να διαβάσει τον χαρακτήρα. (τελεία) όπου και θα σταματά το διάβασμα. Οι χαρακτήρες είναι το πολύ 200 και η τελεία δεν περιλαμβάνεται. Έτσι για παράδειγμα η παράσταση ((α+2)*(β-2)> (γ mod 5))ή((x =y)και( y<>0)) θα αποθηκευτεί στον πίνακα Π ως εξής: iii. Προσπελαύνει από την αρχή την παράσταση και κάθε φορά που διαβάζει τον χαρακτήρα ( τον ωθεί σε μία στοίβα, έστω stack, που υλοποιείται με πίνακα 10 θέσεων. Στην περίπτωση που η πρόταση έχει παραπάνω από 10 εμφωλευμένες παρενθέσεις, έχουμε περίπτωση υπερχείλισης η οποία και θα πρέπει να βρίσκεται. Αντίστοιχα, κάθε φορά που διαβάζει τον χαρακτήρα ) απωθεί ένα στοιχείο από την στοίβα ελέγχοντας όμως την περίπτωση της υποχείλισης. Εάν δεν υπάρχουν στοιχεία στη λίστα αυτό σημαίνει ότι έχουμε μία δεξιά παρένθεση χωρίς αντίστοιχη αριστερή και θα πρέπει η διαδικασία να σταματά εκείνη τη στιγμή. iv. Στο τέλος εάν η στοίβα είναι άδεια και όλα πήγαν καλά να εμφανίζει το μήνυμα «Σωστή παράσταση». Εάν η στοίβα δεν είναι άδεια να εμφανίζει το μήνυμα «Ύπαρξη αριστερής παρένθεσης χωρίς αντίστοιχη δεξιά». Εάν επιχειρήθηκε στην παραπάνω διαδικασία να γίνει απώθηση σε άδεια στοίβα να εμφανίζεται το μήνυμα «Ύπαρξη δεξιάς παρένθεσης χωρίς αντίστοιχης αριστερής». Τέλος σε περίπτωση υπερχείλισης θα εμφανίζεται το μήνυμα «Πλέον των 10 εμφωλευμένες παρενθέσεις - Υπερχείλιση στοίβας» 46

47 3.85. Μία επέκταση της παραπάνω υλοποίησης θα μπορούσε να είναι ο επιπλέον έλεγχος της σωστής χρήσης πέρα των παρενθέσεων ( ), των αγκυλών [ ] αλλά και των αγκίστρων { } σε μία παράσταση. Μπορούμε να θεωρήσουμε ότι τα σύμβολα αυτά χρησιμοποιούνται σωστά όταν χρησιμοποιούνται, κατά ζεύγη άνοιγμα/κλείσιμο και είναι σωστά εμφωλευμένα. Δηλαδή, ό,τι ανοίγει να κλείνει, ό,τι κλείνει να έχει ανοίξει, κι όταν κάτι κλείνει, το πιο πρόσφατο άνοιγμα να είναι του ίδιου τύπου. Για να απλοποιήσουμε τη διαδικασία μπορούμε να θεωρήσουμε ότι δεν υπάρχει κάποια ιεραρχία των τύπων των συμβόλων μπορεί δηλαδή για παράδειγμα να υπάρχουν παρενθέσεις μέσα σε αγκύλες, αλλά και αγκύλες μέσα σε παρενθέσεις. Να γραφεί πρόγραμμα το οποίο: i. Περιέχει τμήμα δηλώσεων μεταβλητών. ii. Θα διαβάζει έναν θετικό ακέραιο Ν και στη συνέχεια θα διαβάζει Ν χαρακτήρες της παράστασης iii. Χρησιμοποιώντας μία στοίβα stackπου υλοποιείται με μονοδιάστατο πίνακα, έστω stack, 10 θέσεων κάθε φορά που θα βρίσκει κάποιο από τα σύμβολα (, ), [, ], {, } θα υλοποιεί τις επόμενες ενέργειες: 1. Εάν εμφανιστεί κάποιο από τα σύμβολα ανοίγματος (, [, {, θα ωθεί το στοιχείο στη στοίβα ελέγχοντας όμως την περίπτωση υπερχείλισης. Τότε η διαδικασία θα τερματίζει με το μήνυμα στο τέλος «Υπερχείλιση στοίβας». 2. Στην περίπτωση εμφάνισης συμβόλου κλεισίματος ), ], } θα πρέπει το πιο πρόσφατο που είχε ωθηθεί στη στοίβα να είναι το αντίστοιχο σύμβολο ανοίγματος. Εάν όντως ισχύει αυτό θα πρέπει το σύμβολο αυτό να απωθείται από τη λίστα, εάν όχι η διαδικασία θα τερματίζει με κατάλληλο μήνυμα. Είτε «Λάθος ζεύγος συμβόλων» είτε «Υποχείλιση στοίβας» εάν στην προσπάθεια απώθησης διαπιστωθεί ότι δεν υπήρχε σύμβολο ανοίγματος αποθηκευμένο σε αυτή. iv. Αφού τερματιστεί η διαδικασία είτε θα εμφανίζεται κάποιο μήνυμα από τα παραπάνω είτε θα ελέγχεται η στοίβα η οποία αν δεν είναι άδεια θα εμφανίζεται το μήνυμα «Ύπαρξη ανοιχτών συμβόλων χωρίς να κλείσουν» και αν είναι άδεια το μήνυμα «Σωστή παράσταση» Ένα οχηματαγωγό πλοίο, χωρητικότητας 250 αυτοκινήτων, εκτελεί το δρομολόγιο ΠΕΙΡΑΙΑΣ ΑΙΓΙΝΑ. Τα οχήματα που επιβιβάζονται πρώτα είναι αυτά που θα αποβιβαστούν τελευταία. Στο λιμάνι του Πειραιά προσέρχονται τα αυτοκίνητα για αναχώρηση. Να γίνει πρόγραμμα το οποίο: 1. Να υπάρχει μενού επιλογής: 1. Επιβίβαση 2. Αποβίβαση 3. Έξοδος 2. Στη περίπτωση που επιλεχθεί η Επιβίβαση θα διαβάζει τον αριθμό κυκλοφορίας καθενός από τα αυτοκίνητα που προσέρχονται και ο αριθμός κυκλοφορίας του να καταχωρείται στη στοίβα ΟΧΗΜΑΤΑ. Κάθε φορά που επιβιβάζεται ένα αυτοκίνητο να τυπώνεται το ερώτημα "Υπάρχει άλλο αυτοκίνητο (Ν/Ο); ". Αν ο χρήστης απαντήσει Ν (=ΝΑΙ), επαναλαμβάνεται η διαδικασία επιβίβασης, ενώ αν απαντήσει Ο (=ΟΧΙ), σταματά η διαδικασία επιβίβασης και επιστρέφει το πρόγραμμα στο μενού Επιλογής. 3. Αν το πλοίο γεμίσει η επιβίβαση σταματά εμφανίζεται κατάλληλο μήνυμα και επιστρέφει το πρόγραμμα στο μενού επιλογής. 4. Στη περίπτωση που επιλεχθεί η Αποβίβαση, εξάγει και εμφανίζει από την στοίβα ΟΧΗΜΑΤΑ όλους τους αριθμούς αυτοκινήτων που είχαν επιβιβαστεί στον ΠΕΙΡΑΙΑ, με τη σειρά που αποβιβάζονται. Στο τέλος να τυπώνεται το πλήθος των αυτοκινήτων που αποβιβάστηκαν στο λιμάνι της ΑΙΓΙΝΑΣ. (Οδηγίες /Δ2) Ο αντίστροφος πολωνικός συμβολισμός (reverse polish notation - Jan Lukasiewich) είναι μία μέθοδος αναπαράστασης αριθμητικών παραστάσεων που δεν κάνει χρήση παρενθέσεων. Για να επιτευχθεί αυτό οι τελεστέοι τοποθετούνται πριν τους τελεστές. Για παράδειγμα: αντί για α + β γράφουμε α β + αντί για (α+β)*γ γράφουμε α β + γ * αντί για α + β*γ γράφουμε α β γ * + αντί για α*β + γ*δ γράφουμε α β * γ δ * + Να γραφεί πρόγραμμα το οποίο 1. Περιέχει τμήμα δηλώσεων μεταβλητών. 2. Περιέχει το εξής μενού επιλογής: 1. Τελεστής 2. Τελεστέος 3. Τέλος 3. Εάν η επιλογή είναι 1, διαβάζει 1 αριθμό τον οποίους και τοποθετεί σε μία στοίβα, έστω stackμεγέθους Εάν η επιλογή είναι 2, διαβάζει έναν τελεστή που μπορεί να είναι μόνο *, + και απωθεί δύο στοιχεία από τη στοίβα. Κάνει την πράξη και ωθεί το αποτέλεσμα πίσω στη στοίβα. 5. Η διαδικασία τερματίζει είτε όταν ο χρήστης δώσει την επιλογή 3, όπου και εμφανίζεται ως αποτέλεσμα, αν όλα έχουν πάει καλά το μοναδικό στοιχείο που έχει απομείνει στη στοίβα είτε αν συμβεί υποχείλιση ή υπερχείλιση στη στοίβα όπου εμφανίζεται κατάλληλο μήνυμα. Π.χ. Για την πράξη 20 + (5 + 3) * (4 + 3) η είσοδος θα είναι * +. 47

48 Δισδιάστατοι πίνακες Δίνεται πίνακας Π δύο διαστάσεων, που τα στοιχεία του είναι ακέραιοι αριθμοί με Ν γραμμές και Μ στήλες. Να αναπτύξετε αλγόριθμο που να υπολογίζει το ελάχιστο στοιχείο του πίνακα. (Μονάδες 20) (2001) Γράψτε πρόγραμμα που: α. διαβάζει έναν πίνακα ακεραίων Α 5 γραμμών και 10 στηλών και β. υπολογίζει το μέσο όρο των στοιχείων του γ. το μέγιστο και το ελάχιστο στοιχείο του πίνακα, καθώς και τη θέση στην οποία βρίσκονται τα στοιχεία αυτά Γράψτε ένα πρόγραμμα που γεμίζει έναν πίνακα 10Χ10 με τα στοιχεία της προπαίδειας Γράψτε πρόγραμμα το οποίος θα ζωγραφίζει τα παρακάτω σχήματα σε πίνακες 10Χ10. Σημείωση: Ο πίνακας θα γεμίζει με τον χαρακτήρα * ή με τον κενό χαρακτήρα Να γραφεί πρόγραμμα το οποίο να εξετάζει έναν δεδομένο πίνακα Α διαστάσεων Ν Μ και να βρίσκει αν είναι αραιός ή όχι, εμφανίζοντας σχετικό μήνυμα. Να θεωρήσετε ότι ένας πίνακας είναι αραιός αν περιέχει μηδενικά σε ποσοστό μεγαλύτερο από 80% Να γράψετε πρόγραμμα το οποίο για έναν δεδομένο πίνακα Α 5 6 υπολογίζει το άθροισμα των στοιχείων της 4 ης γραμμής και το μέγιστο στοιχείο της 2 ης στήλης Σε έναν δισδιάστατο πίνακα βρίσκονται οι βροχοπτώσεις πέντε σταθμών μέτρησης βροχοπτώσεων σαν αυτόν της λίμνης Πλαστήρα για το μήνα Ιούνιο. Γράψτε πρόγραμμα το οποίο: α. θα υπολογίζει και θα τυπώνει τη μέση βροχόπτωση για κάθε σταθμό. β. θα εμφανίζει το πλήθος των βροχοπτώσεων κάθε σταθμού που είναι μεγαλύτερες από την μέση βροχόπτωση Μια τάξη ενός σχολείου αποτελείται από 6 τμήματα 15 παιδιών το καθένα. Να γίνει πρόγραμμα που θα δέχεται τον βαθμό του απολυτηρίου κάθε μαθητή κάθε τμήματος και θα εμφανίζει τον μεγαλύτερο και τον μικρότερο βαθμό καθώς και τα τμήματα στα οποία βρισκόταν οι μαθητές αυτοί Να γραφεί πρόγραμμα που: α. Καταχωρεί σ' έναν πίνακα Ε, διαστάσεων 10 Χ 12 οι εισπράξεις των 10 καταστημάτων της αλυσίδας fast food «Ο Γιώτης» για τους 12 μήνες ενός έτους. β. Υπολογίζει και καταχωρεί σ' έναν άλλον μονοδιάστατο πίνακα, ΜΟ, 10 θέσεων ο μέσος όρος των εισπράξεων του κάθε καταστήματος για τους 12 μήνες. γ. Βρίσκει τον μικρότερο μέσο όρο των εισπράξεων καθώς και ποιο ή ποια καταστήματα τον σημείωσαν Σε ένα πίνακα Β υπάρχουν καταχωρισμένες οι βαθμολογίες 10 μαθητών σε 14 μαθήματα και σε έναν δεύτερο πίνακα Ο αντίστοιχα το όνομα των 14 μαθημάτων. Να γραφεί πρόγραμμα που βρίσκει και εμφανίζει τα μαθήματα με τον υψηλότερο και χαμηλότερο μέσο όρο βαθμολογίας του μαθητή Να διαβασθούν σ' έναν πίνακα 20 Χ 6 οι 6 προσπάθειες 20 αθλητών στο άλμα εις μήκος και σε έναν πίνακα 20 θέσεων τα ονόματα των 20 αθλητών. Να τυπωθεί η καλύτερη επίδοση κάθε αθλητή και η προσπάθεια κατά την οποία την πέτυχε. Επίσης να βρεθεί η καλύτερη επίδοση όλων των αθλητών και να τυπωθεί το όνομα του αθλητή που την πέτυχε Η ομάδα μπάσκετ της Καρδίτσας έχει 12 παίκτες και συμμετέχει σε 20 αγώνες της Α ερασιτεχνικής κατηγορίας. Να γραφεί πρόγραμμα που: α. περιλαμβάνει τμήμα δηλώσεων μεταβλητών β. διαβάζει και αποθηκεύει το ονοματεπώνυμο κάθε παίκτη σε έναν πίνακα Ο. γ. διαβάζει και αποθηκεύει τους πόντους που πέτυχε κάθε παίκτης σε κάθε αγώνα, σε έναν δισδιάστατο πίνακα Π. Πρέπει να γίνεται και έλεγχος ότι οι πόντοι είναι μη αρνητικοί. δ. υπολογίζει και να εμφανίζει το ονοματεπώνυμο του παίκτη με το μεγαλύτερο μέσο όρο πόντων. ε. εμφανίζει τα ονοματεπώνυμα των παικτών που έχουν μέσο όρο πόντων μεγαλύτερο από τον μέσο όρο της ομάδας. 48

49 3.99. Το Σχολείο σας θέλει να τυπώσει ελέγχους προόδου Α Τετράμηνου για τους μαθητές της Α Λυκείου του Σχολικού έτους Ο αριθμός των μαθητών είναι 60. Να γραφεί πρόγραμμα το οποίο: α. περιλαμβάνει τμήμα δηλώσεων μεταβλητών β. διαβάζει και αποθηκεύει τα ονοματεπώνυμα των μαθητών σε πίνακα Ο γ. διαβάζει και αποθηκεύει τις ονομασίες των 10 μαθημάτων γενικής παιδείας σε πίνακα Μ. δ. διαβάζει και αποθηκεύει τις βαθμολογίες των μαθητών σε δισδιάστατο πίνακα Β. Σημειώνεται ότι απαιτείται έλεγχος εγκυρότητας για τους βαθμούς που πρέπει να είναι από 0 μέχρι και 20 ε. υπολογίζει και αποθηκεύει σε μονοδιάστατο πίνακα ΜΟ το μέσο όρο της τάξης ανά μάθημα. στ. εμφανίζει το ονοματεπώνυμο του κάθε μαθητή και στη συνέχεια το όνομα κάθε μαθήματος με τον αντίστοιχο βαθμό αλλά και τον μέσο όρο της τάξης στο συγκεκριμένο μάθημα. Στο τέλος εμφανίζει και τον μέσο όρο κάθε μαθητή. ζ. βρίσκει και εμφανίζει τον μαθητή με τον ψηλότερο μέσο όρο βαθμολογίας ώστε να γίνει παραστάτης στην επόμενη παρέλαση του Σχολείου. Σημείωση: Υποθέτουμε ότι όλα τα μαθήματα πιάνονται στον μέσο όρο και ότι δεν υπάρχουν ισοβαθμίες μεταξύ των μαθητών Μια δισκογραφική εταιρεία καταγράφει στοιχεία για ένα έτος για κάθε ένα από τα 20 CDs που κυκλοφόρησε. Τα στοιχεία αυτά είναι ο τίτλος του CD, ο τύπος της μουσικής που περιέχει και οι μηνιαίες του πωλήσεις (ποσά σε ευρώ) στη διάρκεια του έτους. Οι τύποι μουσικής είναι δύο, «ορχηστρική» και «φωνητική». Να αναπτυχθεί αλγόριθμος ο οποίος: α. Για κάθε ένα από τα 20 CDs, να διαβάζει τον τίτλο, τον τύπο της μουσικής και τις πωλήσεις του για κάθε μήνα, ελέγχοντας την έγκυρη καταχώριση του τύπου της μουσικής.(μονάδες 2) β. Να εμφανίζει τον τίτλο ή τους τίτλους των CDs με τις περισσότερες πωλήσεις τον 3ο μήνα του έτους.(μονάδες 6) γ. Να εμφανίζει τους τίτλους των ορχηστικών CDs με ετήσιο σύνολο πωλήσεων τουλάχιστον 5000 ευρώ.(μονάδες 6) δ. Να εμφανίζει πόσα από τα CDs είχαν σύνολο πωλήσεων στο δεύτερο εξάμηνο μεγαλύτερο από ότι στο πρώτο.(μονάδες 6) (2007) Μια αεροπορική εταιρία ταξιδεύει σε 15 προορισμούς του εσωτερικού. Στα πλαίσια της οικονομικής πολιτικής που πρόκειται να εφαρμόσει, κατέγραψε το ποσοστό πληρότητας των πτήσεων για κάθε μήνα του προηγούμενου ημερολογιακού έτους. Η πολιτική έχει ως εξής: Δεν θα γίνει καμία περικοπή σε προορισμούς, στους οποίους το μέσο ετήσιο ποσοστό πληρότητας των πτήσεων είναι μεγαλύτερο του 65. Θα γίνουν περικοπές πτήσεων σε προορισμούς, στους οποίους το μέσο ετήσιο ποσοστό πληρότητας των πτήσεων κυμαίνεται από 40 έως και 65. Οι περικοπές θα γίνουν μόνο σε εκείνους τους μήνες που το ποσοστό πληρότητάς τους είναι μικρότερο του 40. Θα καταργηθούν οι προορισμοί, στους οποίους το μέσο ετήσιο ποσοστό πληρότητας των πτήσεων είναι μικρότερο του 40. Να γραφεί αλγόριθμος ο οποίος: α. Να διαβάζει τα ονόματα των 15 προορισμών και να τα αποθηκεύει σε ένα μονοδιάστατο πίνακα.(μονάδες 2) β. Να διαβάζει τα ποσοστά πληρότητας των πτήσεων των 15 προορισμών για κάθε μήνα και να τα αποθηκεύει σε δισδιάστατο πίνακα κάνοντας έλεγχο στην καταχώριση των δεδομένων, ώστε να καταχωρούνται μόνο οι τιμές που είναι από 0 έως και 100.(Μονάδες 4) γ. Να βρίσκει και να τυπώνει τα ονόματα των προορισμών που δεν θα γίνει καμία περικοπή πτήσεων.(μονάδες 3) δ. Να βρίσκει και να τυπώνει τα ονόματα των προορισμών που θα καταργηθούν.(μονάδες 3) ε. Να βρίσκει και να τυπώνει τα ονόματα των προορισμών, στους οποίους θα γίνουν περικοπές πτήσεων, καθώς και τους μήνες (αύξοντα αριθμό μήνα) που θα γίνουν οι περικοπές.(μονάδες 8) (Επαναληπτικές 2005) Μια επιχείρηση που εμπορεύεται τηλεοράσεις διαθέτει 20 μοντέλα. Να γραφεί αλγόριθμος που: α. να διαβάζει τα ονόματα των μοντέλων και να τα αποθηκεύει σε μονοδιάστατο πίνακα.(μονάδες 3) β. να διαβάζει για κάθε μοντέλο τον αριθμό των συσκευών που πουλήθηκαν κάθε μήνα, για ένα έτος, και να τον αποθηκεύει σε πίνακα δύο διαστάσεων, ελέγχοντας ώστε ο αριθμός αυτός να μην είναι αρνητικός. (Μονάδες 5) γ. να υπολογίζει και να εμφανίζει το σύνολο των ετήσιων πωλήσεων του κάθε μοντέλου. (Μονάδες 5) 49

50 δ. να εμφανίζει κατά αλφαβητική σειρά τα ονόματα των μοντέλων καθώς και τον ετήσιο συνολικό αριθμό των συσκευών που πουλήθηκαν για κάθε μοντέλο. (Μονάδες 7) (Εσπερινού 2009) Κατά τη διάρκεια Διεθνών Αγώνων Στίβου στον ακοντισμό έλαβαν μέρος δέκα (10) αθλητές. Κάθε αθλητής έκανε έξι (6) έγκυρες ρίψεις που καταχωρούνται ως επιδόσεις σε μέτρα. Να αναπτύξετε αλγόριθμο, ο οποίος : α. εισάγει σε πίνακα δύο διαστάσεων τις επιδόσεις όλων των αθλητών(μονάδες 3) β. υπολογίζει και καταχωρεί σε μονοδιάστατο πίνακα την καλύτερη από τις επιδόσεις κάθε αθλητή(μονάδες 5) γ. ταξινομεί τις καλύτερες επιδόσεις των αθλητών που καταχωρήθηκαν στο μονοδιάστατο πίνακα(μονάδες 8) δ. βρίσκει την καλύτερη επίδοση του αθλητή που πήρε το χάλκινο μετάλλιο (τρίτη θέση).(μονάδες 4) Παρατήρηση : Υποθέτουμε ότι όλες οι επιδόσεις είναι μεταξύ τους διαφορετικές. (Επαναληπτικές 2001) Να γραφεί αλγόριθμος για το κατάστημα δίσκων «μπλα μπλα» όπου: α. θα διαβάζονται τα ονόματα 10 καταστημάτων και των εισπράξεων τους ανά μήνα και θα αποθηκεύονται σε αντίστοιχους πίνακες. Πρέπει να γίνεται έλεγχος ότι οι εισπράξεις δεν είναι αρνητικός αριθμός. β. υπολογίζονται και αποθηκεύονται σε κατάλληλους πίνακες οι μέγιστες εισπράξεις κάθε μήνα αλλά και ο μήνας στον οποίο έγινε αυτό για κάθε κατάστημα (Δεν αποθηκεύεται ο μήνας αλλά ο αντίστοιχος αριθμός: Ιανουάριος 1, Φεβρουάριος 2 κ.ο.κ.) γ. Εμφανίζονται τα ονόματα των τριών καταστημάτων με τις μικρότερες μέγιστες εισπράξεις οι εισπράξεις αυτές, καθώς και ο αριθμός του μήνα στον οποίο έγιναν. Σημείωση: Υποθέστε ότι όλες οι εισπράξεις είναι διαφορετικές μεταξύ τους Για την πρώτη φάση της Ολυμπιάδας Πληροφορικής δήλωσαν συμμετοχή 500 μαθητές. Οι μαθητές διαγωνίζονται σε τρεις γραπτές εξετάσεις και βαθμολογούνται με ακέραιους βαθμούς στη βαθμολογική κλίμακα από 0 έως και 100.Να γράψετε αλγόριθμο ο οποίος: α. Να διαβάζει τα ονόματα των μαθητών και να τα αποθηκεύει σε μονοδιάστατο πίνακα.(μονάδες 2) β. Να διαβάζει τους τρεις βαθμούς που έλαβε κάθε μαθητής και να τους αποθηκεύει σε δισδιάστατο πίνακα.(μονάδες 2) γ. Να υπολογίζει το μέσο όρο των βαθμών του κάθε μαθητή.(μονάδες 4) δ. Να εκτυπώνει τα ονόματα των μαθητών και δίπλα τους το μέσο όρο των βαθμών τους ταξινομημένα με βάση τον μέσο όρο κατά φθίνουσα σειρά. Σε περίπτωση ισοβαθμίας η σειρά ταξινόμησης των ονομάτων να είναι αλφαβητική.(μονάδες 7) ε. Να υπολογίζει και να εκτυπώνει το πλήθος των μαθητών με το μεγαλύτερο μέσο όρο.(μονάδες 5) Παρατήρηση: Θεωρείστε ότι οι βαθμοί των μαθητών είναι μεταξύ του 0 και του 100 και ότι τα ονόματα των μαθητών είναι γραμμένα με μικρά γράμματα. (2004) Στην αρχή της ποδοσφαιρικής περιόδου οι 22 παίκτες μιας ομάδας, οι οποίοι αριθμούνται από 1 έως 22, ψηφίζουν για τους 3 αρχηγούς που θα τους εκπροσωπούν. Κάθε παίκτης μπορεί να ψηφίσει όσους συμπαίκτες του θέλει, ακόμα και τον εαυτό του. Τα αποτελέσματα της ψηφοφορίας καταχωρίζονται σε έναν πίνακα ΨΗΦΟΣ με 22 γραμμές και 22 στήλες, έτσι ώστε το στοιχείο ΨΗΦΟΣ[i,j] να έχει την τιμή 1, όταν ο παίκτης με αριθμό i έχει ψηφίσει τον παίκτη με αριθμό j, και τιμή 0 στην αντίθετη περίπτωση. Να γράψετε αλγόριθμο ο οποίος: Δ1. Να διαβάζει τα στοιχεία του πίνακα ΨΗΦΟΣ και να ελέγχει την ορθότητά τους με αποδεκτές τιμές 0 ή 1. (Μονάδες 4) Δ2. Να εμφανίζει το πλήθος των παικτών που δεν ψήφισαν κανέναν. (Μονάδες 4) Δ3. Να εμφανίζει το πλήθος των παικτών που ψήφισαν τον εαυτό τους. (Μονάδες 4) Δ4. Να βρίσκει τους 3 παίκτες που έλαβαν τις περισσότερες ψήφους και να εμφανίζει τους αριθμούς τους και τις ψήφους που έλαβαν. Θεωρήστε ότι δεν υπάρχουν ισοψηφίες. (Μονάδες 8) (2011) Σε κάποιες βουλευτικές εκλογές στην Ελλάδα θα συμμετάσχουν 32 κόμματα σε 56 εκλογικές περιφέρειες. Σας έχει ανατεθεί από το υπουργείο εσωτερικών να φτιάξετε αλγόριθμο που να υλοποιεί τις επόμενες λειτουργίες α. διαβάζει τα ονόματα των κομμάτων και τα καταχωρεί σε μονοδιάστατο πίνακα Κόμματα. β. διαβάζει τα ονόματα των εκλογικών περιφερειών και τα καταχωρεί σε μονοδιάστατο πίνακα Περιφέρειες. 50

51 γ. διαβάζει τις ψήφους κάθε κόμματος σε κάθε εκλογική περιφέρεια και τους καταχωρεί σε πίνακα Ψήφοι[32,56]. Η καταχώριση γίνεται με τη σειρά που τα κόμματα και οι περιφέρειες έχουν αποθηκευτεί στους παραπάνω πίνακες. Θα πρέπει να γίνεται έλεγχος ώστε να μην επιτρέπονται αρνητικός αριθμός ψήφων. δ. Βρείτε το πρώτο κόμμα σε κάθε περιφέρεια και εμφανίστε το όνομα της κάθε περιφέρειας και το κόμμα που πρώτευσε σε αυτήν. ε. Εμφανίστε τα ονόματα των κομμάτων που κατάφεραν να μπουν στη βουλή. Για να γίνει ένα κόμμα δεκτό στη βουλή σύμφωνα με τον εκλογικό νόμο θα πρέπει να έχει τουλάχιστον το 3 τις εκατό του συνόλου των ψήφων. στ. Τα πρώτα τρία κόμματα σε ψήφους έχουν δικαίωμα εντολής σχηματισμού κυβέρνησης. Εμφανίστε τα ονόματα των κομμάτων που έχουν το δικαίωμα αυτό Εταιρεία, που ασχολείται με μετρήσεις τηλεθέασης καταγράφει στοιχεία, ανά ημέρα και για χρονικό διάστημα μίας εβδομάδας, τα οποία αφορούν την τηλεθέαση των κεντρικών δελτίων ειδήσεων που προβάλλονται από πέντε (5) τηλεοπτικούς σταθμούς. Για τη διευκόλυνση της στατιστικής επεξεργασίας των δεδομένων, να αναπτύξετε αλγόριθμο, ο οποίος: Δ1. Για κάθε έναν από τους τηλεοπτικούς σταθμούς να δέχεται το όνομά του και το πλήθος των τηλεθεατών, που παρακολούθησαν το κεντρικό δελτίο ειδήσεων κάθε μέρα της εβδομάδας, από Δευτέρα έως και Κυριακή, χωρίς έλεγχο εγκυρότητας, δηλαδή θεωρήστε ότι οι τιμές που εισάγονται είναι θετικοί αριθμοί και η εισαγωγή των δεδομένων γίνεται χωρίς λάθη.(μονάδες 5) Δ2. Να εμφανίζει τα ονόματα των σταθμών, για τους οποίους ο μέσος όρος τηλεθέασης του Σαββατοκύριακου (2 ημέρες)ήταν τουλάχιστον 10% μεγαλύτερος από το μέσο όρο τηλεθέασης στις καθημερινές (Δευτέρα έως Παρασκευή).(Μονάδες 6) Δ3. Να εμφανίζει τα ονόματα των τηλεοπτικών σταθμών, οι οποίοι κάθε ημέρα από Δευτέρα έως και Κυριακή παρουσιάζουν συνεχώς, δηλαδή από ημέρα σε ημέρα, αύξηση τηλεθέασης. Αν δεν υπάρχουν τέτοιοι σταθμοί, να εμφανίζει το μήνυμα «κανένας σταθμός δεν έχει συνεχή αύξηση τηλεθέασης».(μονάδες 9) (Επαναληπτικές 2012) Στο ευρωπαϊκό πρωτάθλημα ποδοσφαίρου συμμετέχουν 16 ομάδες. Κάθε ομάδα συμμετέχει σε 30 αγώνες. Να γράψετε αλγόριθμο ο οποίος: α. Διαβάζει σε μονοδιάστατο πίνακα ΟΝ[16] τα ονόματα των ομάδων. (Μονάδες 2) β. Διαβάζει σε δισδιάστατο πίνακα ΑΠ[16,30] τα αποτελέσματα σε κάθε αγώνα ως εξής: Τον χαρακτήρα «Ν» για ΝΙΚΗ Τον χαρακτήρα «Ι» για ΙΣΟΠΑΛΙΑ Τον χαρακτήρα «Η» για ΗΤΤΑ και κάνει τον απαραίτητο έλεγχο εγκυρότητας των δεδομένων. (Μονάδες 4) γ. Για κάθε ομάδα υπολογίζει και καταχωρεί σε δισδιάστατο πίνακα ΠΛ[16,3] το πλήθος των νικών στην πρώτη στήλη, το πλήθος των ισοπαλιών στη δεύτερη στήλη, και το πλήθος των ηττών στην τρίτη στήλη του πίνακα. Ο πίνακας αυτός πρέπει προηγουμένως να έχει μηδενισθεί. (Μονάδες 6) δ. Με βάση τα στοιχεία του πίνακα ΠΛ[16,3] υπολογίζει και καταχωρεί σε νέο πίνακα ΒΑΘ[16] τη συνολική βαθμολογία κάθε ομάδας, δεδομένου ότι για κάθε νίκη η ομάδα παίρνει τρεις βαθμούς, για κάθε ισοπαλία έναν βαθμό και για κάθε ήττα κανέναν βαθμό (Μονάδες 3) ε. Εμφανίζει τα ονόματα και τη βαθμολογία των ομάδων ταξινομημένα σε φθίνουσα σειρά με βάση τη βαθμολογία. (Μονάδες 5) (2008) Να γραφεί αλγόριθμος που να συγχωνεύει δύο δεδομένους πίνακες Α και Β διαστάσεων 5 5, σε έναν τρίτο πίνακα διαστάσεων b11 b12 b13 b14 b15 a11 a12 a13 a14 a15 a11 a12 a13 a14 a15 b11 b12 b13 b14 b15 b21 b22 b23 b24 b a a22 a23 a24 a 25 a21 a22 a23 a24 a25 b21 b22 b23 b24 b 25 A a B b31 b32 b33 b34 b 31 a32 a33 a34 a C a31 a32 a33 a34 a35 b31 b32 b33 b34 b 35 a41 a42 a43 a44 a45 b41 b42 b43 b44 b45 a51 a52 a53 a54 a 55 a41 a42 a43 a44 a45 b41 b42 b43 b44 b45 b51 b52 b53 b54 b 55 a51 a52 a53 a54 a55 b51 b52 b53 b54 b Μια εταιρεία έχει δύο υποκαταστήματα, ένα στην Αθήνα και ένα στη Θεσσαλονίκη. Σε κάθε υποκατάστημα εργάζονται 10 πωλητές. Να αναπτύξετε αλγόριθμο σε ψευδογλώσσα, ο οποίος: Δ1. Για καθέναν από τους 20 πωλητές της εταιρείας, να διαβάζει το όνομά του και τον κωδικό του και να τα καταχωρίζει σε κατάλληλο δισδιάστατο πίνακα, έτσι ώστε στις πρώτες 10 γραμμές του πίνακα να υπάρχουν τα στοιχεία των πωλητών του υποκαταστήματος της Αθήνας και στις επόμενες 10 τα στοιχεία των πωλητών της Θεσσαλονίκης. Να θεωρήσετε ότι όλα τα ονόματα και όλοι οι κωδικοί είναι διαφορετικοί μεταξύ τους. (Μονάδες 2) 51

52 Δ2. Για κάθε παραγγελία της εταιρείας στη διάρκεια του προηγούμενου έτους, να διαβάζει τον κωδικό του πωλητή. Αν ο κωδικός ανήκει σε πωλητή της εταιρείας, να διαβάζει το ποσό της αντίστοιχης παραγγελίας που πήρε ο πωλητής (δεν απαιτείται έλεγχος εγκυρότητας) ή, διαφορετικά, να εμφανίζει το μήνυμα «Άγνωστος κωδικός». Η επαναληπτική διαδικασία να τερματίζεται όταν δοθεί, ως κωδικός πωλητή, η τιμή ΤΕΛΟΣ. (Μονάδες 8) Δ3. Να υπολογίζει τις συνολικές πωλήσεις κάθε πωλητή στη διάρκεια του προηγούμενου έτους και να τις εμφανίζει μαζί με το όνομά του. Να θεωρήσετε ότι κάθε πωλητής πήρε παραπάνω από μία παραγγελία στη διάρκεια του προηγούμενου έτους. (Μονάδες 4) Δ4. Για κάθε υποκατάστημα να βρίσκει και να εμφανίζει τα ονόματα των τριών πωλητών με τις μεγαλύτερες συνολικές πωλήσεις στη διάρκεια του προηγούμενου έτους. Να θεωρήσετε ότι οι συνολικές πωλήσεις όλων των πωλητών είναι διαφορετικές μεταξύ τους. (Μονάδες 6) (Επαναληπτικές παλιό σύστημα 2016) H κρυπτογράφηση χρησιμοποιείται για την προστασία των μεταδιδομένων πληροφοριών. Ένας απλός αλγόριθμος κρυπτογράφησης χρησιμοποιεί την αντιστοίχηση κάθε γράμματος ενός κειμένου σε ένα άλλο γράμμα της αλφαβήτου. Για το σκοπό αυτό δίνεται πίνακας ΑΒ[2,24], ο οποίος στην πρώτη γραμμή του περιέχει σε αλφαβητική σειρά τους χαρακτήρες από το Α έως και το Ω. Στη δεύτερη γραμμή του βρίσκονται οι ίδιοι χαρακτήρες, αλλά με διαφορετική σειρά. Κάθε χαρακτήρας της πρώτης γραμμής κρυπτογραφείται στον αντίστοιχο χαρακτήρα της δεύτερης γραμμής, που βρίσκεται στην ίδια στήλη. Επίσης, δίνεται πίνακας ΚΕΙΜ[500], ο οποίος περιέχει αποθηκευμένο με κεφαλαία ελληνικά γράμματα το προς κρυπτογράφηση κείμενο. Κάθε χαρακτήρας του κειμένου βρίσκεται σε ένα κελί του πίνακα ΚΕΙΜ[500]. Οι λέξεις του κειμένου χωρίζονται με έναν χαρακτήρα κενό, ενώ στο τέλος του κειμένου μπορεί να υπάρχουν χαρακτήρες κενό ( ), μέχρι το τέλος του πίνακα. Να αναπτύξετε αλγόριθμο ο οποίος: Γ1. Να εμφανίζει το πλήθος των χαρακτήρων κενό, που υπάρχουν μετά το τέλος του κειμένου στον πίνακα ΚΕΙΜ[500]. Αν δεν υπάρχει χαρακτήρας κενό μετά τον τελευταίο χαρακτήρα του μη κρυπτογραφημένου κειμένου, τότε να εμφανίζεται το μήνυμα: «Το μήκος του κειμένου είναι 500 χαρακτήρες». Θεωρήστε ότι ο πίνακας ΚΕΙΜ[500] έχει τουλάχιστον μία λέξη. (Μονάδες 5) Γ2. Να κρυπτογραφεί τους χαρακτήρες του πίνακα ΚΕΙΜ[500] στον πίνακα ΚΡΥΠ[500], με βάση τον πίνακα ΑΒ[2,24]. Η κρυπτογράφηση να τερματίζεται με το τέλος του κειμένου. Δίνεται ότι κάθε χαρακτήρας κενό, που υπάρχει στον πίνακα ΚΕΙΜ[500], παραμένει χαρακτήρας κενό στον πίνακα ΚΡΥΠ[500]. (Μονάδες 7) Γ3. Να εμφανίζει το πλήθος των λέξεων του κειμένου, καθώς και το πλήθος των χαρακτήρων που έχει η μεγαλύτερη λέξη του κειμένου στον πίνακα ΚΡΥΠ[500]. Θεωρήστε ότι η μεγαλύτερη λέξη είναι μοναδική. (Μονάδες 8) (Επαναληπτικές 2012) Μια εικόνα 128 x 128 εικονοστοιχείων (pixels) αποθηκεύεται σε ένα δισδιάστατο πίνακα Α[128,128]. Ένα pixel με μαύρο χρώμα αντιστοιχεί στην τιμή 0, ενώ ένα pixel με άσπρο χρώμα αντιστοιχεί στην τιμή 255. Συνεπώς, ο πίνακας χρησιμεύει στην αποθήκευση των 256 αποχρώσεων του γκρι, δηλαδή στα κελιά αποθηκεύει τους ακέραιους αριθμούς από 0 έως 255. Ορίζουμε ως «αρνητική» της αρχικής εικόνας, εκείνη που έχει τιμή 0 (μαύρο χρώμα) εκεί όπου η αρχική έχει τιμή 255 (άσπρο χρώμα) και έχει τιμή 1 εκεί όπου η αρχική εικόνα έχει τιμή 254, κ.ο.κ. Επίσης, μια συνήθης διαδικασία επεξεργασίας εικόνων είναι η λεύκανση, κατά την οποία η τιμή ενός χρώματος πολλαπλασιάζεται με συντελεστή μεγαλύτερο ή ίσο του 1. Να αναπτύξετε αλγόριθμο, ο οποίος: Δ1. Να καταχωρίζει στο δισδιάστατο πίνακα Α[128,128] την αρχική εικόνα. (Μονάδες 2) Δ2. Να υπολογίζει το «αρνητικό» της εικόνας σε νέο πίνακα Β[128,128] και να τον εμφανίζει στην οθόνη. (Μονάδες 5) Δ3. Να εκτελεί λεύκανση της αρχικής εικόνας με συντελεστή 1,3 σε πίνακα Γ[128,128] και να τον εμφανίζει στην οθόνη. Σημειώνεται ότι, εάν η νέα τιμή είναι μεγαλύτερη του 255, τότε ως νέα τιμή εκχωρείται το 255. Στην περίπτωση, που η προκύπτουσα τιμή δεν είναι ακέραια, πραγματοποιείται αποκοπή των δεκαδικών ψηφίων. (Μονάδες 6) Δ4. Να εμφανίζει στην οθόνη τις συντεταγμένες i, j των θέσεων (κελιών του πίνακα Α[128,128]), όπου η χρωματική τιμή (ταυτίζεται με την αριθμητική τιμή) είναι μέγιστη. (Μονάδες 7) (Εσπερινών 2013) Μια εταιρεία Πληροφορικής καταγράφει, για δέκα ιστότοπους, τον αριθμό των επισκέψεων που δέχεται ο καθένας, κάθε μέρα, για τέσσερις εβδομάδες. Να αναπτύξετε αλγόριθμο, ο οποίος: Δ1. Για καθένα από τους ιστότοπους να διαβάζει το όνομά του και τον αριθμό των επισκέψεων που δέχθηκε ο ιστότοπος για καθεμιά ημέρα. Δεν απαιτείται έλεγχος εγκυρότητας τιμών. (Μονάδες 2) 52

53 Δ2. Να εμφανίζει το όνομα κάθε ιστοτόπου και τον συνολικό αριθμό των επισκέψεων που δέχθηκε αυτός στο διάστημα των τεσσάρων εβδομάδων. (Μονάδες 3) Δ3. Να εμφανίζει τα ονόματα των ιστοτόπων που κάθε μέρα στο διάστημα των τεσσάρων εβδομάδων δέχθηκαν περισσότερες από 500 επισκέψεις. Αν δεν υπάρχουν τέτοιοι ιστότοποι, να εμφανίζει κατάλληλο μήνυμα. (Μονάδες 6) Δ4. Να διαβάζει το όνομα ενός ιστοτόπου. Αν το όνομα αυτό δεν είναι ένα από τα δέκα ονόματα που έχουν δοθεί, να το ξαναζητά, μέχρι να δοθεί ένα από αυτά τα ονόματα. Να εμφανίζει τους αριθμούς των εβδομάδων (1-4) κατά τη διάρκεια των οποίων ο συνολικός (εβδομαδιαίος) αριθμός επισκέψεων στον ιστότοπο αυτό είχε τη μέγιστη τιμή. (Μονάδες 9) (2014) Ένας διαγωνισμός τραγουδιού διεξάγεται σε δύο φάσεις. Στην πρώτη φάση γίνεται ακρόαση των 45 τραγουδιών που διαγωνίζονται και κάθε μέλος της επταμελούς κριτικής επιτροπής βαθμολογεί το κάθε τραγούδι με βαθμό από 1 έως 10. Στη δεύτερη φάση προκρίνεται κάθε τραγούδι που συγκέντρωσε συνολική βαθμολογία μεγαλύτερη του 50 και το οποίο όλοι οι κριτές έχουν βαθμολογήσει τουλάχιστον με 5. Να γραφεί αλγόριθμος, ο οποίος: Δ1. Για κάθε τραγούδι να διαβάζει τον τίτλο του και τον βαθμό που έδωσε κάθε κριτής. Δεν απαιτείται έλεγχος εγκυρότητας. (Μονάδες 3) Δ2. Να υπολογίζει και να εμφανίζει τη συνολική βαθμολογία του κάθε τραγουδιού, η οποία προκύπτει ως το άθροισμα των βαθμών όλων των κριτών. (Μονάδες 2) Δ3. Να βρίσκει και να εμφανίζει τους τίτλους των τραγουδιών που προκρίνονται στη δεύτερη φάση του διαγωνισμού. Αν κανένα τραγούδι δεν προκρίνεται στη δεύτερη φάση, να εμφανίζει κατάλληλο μήνυμα. (Μονάδες 6) Δ4. Να βρίσκει και να εμφανίζει το πλήθος των κριτών που έδωσαν τον μέγιστο βαθμό τους σε ένα μόνο τραγούδι. (Μονάδες 9) (2015) Στον αρχαιολογικό χώρο της Πύλου διασώθηκαν θραύσματα κεραμικών πινακίδων στα οποία είχαν καταγραφεί σε γραμμές βασικά αγαθά με τις ποσότητες τους, τα οποία είχε συλλέξει η πόλη κατά τη διάρκεια καλλιεργητικών περιόδων. Σε κάθε θραύσμα, αναφέρονται τα πλήρη στοιχεία (όνομα αγαθού, περίοδος, ποσότητα) για ένα ή περισσότερα αγαθά. Βρέθηκαν στοιχεία για δεκαπέντε (15) βασικά αγαθά και πέντε (5) καλλιεργητικές περιόδους. Όλα τα αγαθά υπάρχουν και στις πέντε περιόδους Σε κάθε γραμμή οι πρώτοι δέκα χαρακτήρες αντιστοιχούν στο όνομα του αγαθού, ο ενδέκατος στην καλλιεργητική περίοδο και ο δωδέκατος στην ποσότητα που συλλέχτηκε. Οι πέντε καλλιεργητικές περίοδοι αναπαρίστανται από τους χαρακτήρες Α, Β, Γ, Δ και Ε. Η ποσότητα που συλλέχτηκε αναπαρίσταται από τους χαρακτήρες Ι, Κ, Λ, Μ, Ν, Ξ και Ο. Έχει βρεθεί ότι η ποσότητα που αντιστοιχεί σε αυτούς είναι: Ι = 10, Κ = 50, Λ = 100, Μ = 500, Ν = 1.000, Ξ = και Ο = Συνολικά τα στοιχεία των θραυσμάτων μπορούν να αναπαρασταθούν με ένα δισδιάστατο πίνακα Π[75,12]. Κάθε γραμμή του πίνακα περιέχει τα στοιχεία των αγαθών (όνομα αγαθού, καλλιεργητική περίοδος, ποσότητα). Κάθε στοιχείο του πίνακα περιέχει ένα μόνο χαρακτήρα. Να γράψετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο: Δ1. α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων. (μονάδα 1) β. Να εισάγει σε πίνακα χαρακτήρων Π[75,12] τα στοιχεία των αγαθών που βρέθηκαν στα θραύσματα των πινακίδων. (Μονάδες 2) Δ2. Να ταξινομεί κατά αύξουσα σειρά τον πίνακα Π, με βάση την καλλιεργητική περίοδο, και, για την ίδια καλλιεργητική περίοδο, να ταξινομεί τα αγαθά, με βάση τον πρώτο χαρακτήρα κάθε αγαθού. (Θεωρήστε ότι ο πρώτος χαρακτήρας κάθε αγαθού είναι μοναδικός). (Μονάδες 6) Δ3. α. Να δημιουργεί έναν πίνακα ακεραίων Α[75]. Κάθε στοιχείο του πίνακα Α αντιστοιχεί σε μια γραμμή του ταξινομημένου πίνακα Π και περιέχει την αντίστοιχη ποσότητα του αγαθού που συλλέχτηκε. Η μετατροπή της ποσότητας από χαρακτήρα σε αριθμό να γίνει με βάση την αντιστοιχία που δόθηκε παραπάνω. (μονάδες 2) β. Να βρίσκει και να εμφανίζει για κάθε αγαθό το πρώτο γράμμα του ονόματός του και την καλλιεργητική του περίοδο με τη μέγιστη ποσότητα που συλλέχτηκε. (Θεωρήστε ότι η μέγιστη ποσότητα κάθε αγαθού είναι μοναδική).(μονάδες 4) Δ4. Να δημιουργεί έναν πίνακα ακεραίων Σ[15]. Κάθε στοιχείο του πίνακα Σ αντιστοιχεί σε ένα αγαθό (όπως αυτό εμφανίζεται στις δεκαπέντε πρώτες σειρές του πίνακα Π) και περιέχει την συνολική ποσότητα του αγαθού που συλλέχτηκε στις πέντε καλλιεργητικές περιόδους.(μονάδες 5) (Επαναληπτικές 2016) 53

54 Τυπικές επεξεργασίες πινάκων Σημείωση: Σε όλα τα παρακάτω προγράμματα υποθέτουμε ότι οι πίνακες καθώς και άλλα πιθανά δεδομένα, στοιχείο keyσε αναζητήσεις, ήδη έχουν διαβαστεί και περιέχουν δεδομένα. Οι πίνακες είναι ακέραιοι συγκεκριμένου μεγέθους αλλά φυσικά αυτό μπορεί να γενικευτεί και για άλλους τύπους μεταβλητών και άλλα μεγέθη πινάκων. Υπολογισμός αθροισμάτων στοιχείων του πίνακα ΠΡΟΓΡΑΜΜΑ Αθροισμα_Στοιχείων_Πίνακα ΣΤΑΘΕΡΕΣ Ν = 20 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Π[Ν], i, Άθροισμα ΑΡΧΗ! Στην αρχή το άθροισμα θα είναι μηδέν Άθροισμα <- 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν! Προσθέτουμε στο υπάρχον άθροισμα κάθε στοιχείο του πίνακα Άθροισμα <- Άθροισμα + Π[i] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ 'Το άθροισμα των στοιχείων του πίνακα είναι:', Άθροισμα ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Εύρεση του μέγιστου (ή του ελάχιστου) στοιχείου ΠΡΟΓΡΑΜΜΑ Έυρεση_Μεγίστου_Στοιχείου ΣΤΑΘΕΡΕΣ Ν = 20 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Π[Ν], i, max, pos ΑΡΧΗ! Υποθέτουμε σαν μέγιστο στοιχείο του πίνακα το πρώτο στοιχείο max <- Π[1]! Έτσι η θέση που υποθέτουμε το στοιχείο αυτό αρχικά είναι η πρώτη pos <- 1! Ψάχνουμε τώρα στον υπόλοιπο πίνακα (I ΑΠΟ 2 ΜΕΧΡΙ Ν) για τυχών μικρότερο στοιχείο ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν! Ελέγχουμε αν το τρέχων στοιχείο του πίνακα είναι μεγαλύτερο από αυτό που μέχρι τώρα! είχαμε υποθέσει ΑΝ Π[i] > max ΤΟΤΕ! Βρέθηκε άλλο μέγιστο. Θέτουμε το νέο max max <- Π[i]! καθώς επίσης και τη νέα θέση στον πίνακα pos <- i ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ 'Το μέγιστο στοιχείο είναι το: ', max, ' στη θέση: ', pos ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Αναζήτηση ενός στοιχείου του πίνακα Σειριακή αναζήτηση ΠΡΟΓΡΑΜΜΑ Σειριακή_Αναζήτηση ΣΤΑΘΕΡΕΣ Ν = 40 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Π[Ν], i, key, pos 54

55 ΛΟΓΙΚΕΣ: done ΑΡΧΗ! Πριν αρχίσουμε να ψάχνουμε θέτουμε τη μεταβλητή done ΨΕΥΔΗΣ done <- ΨΕΥΔΗΣ! Το πρώτο στοιχείο του πίνακα που θα ελεγχθεί είναι το πρώτο και άρα i <- 1! Η επανάληψη θα συνεχίζει όσο υπάρχουν ακόμα στοιχεία στον! πίνακα( i< Ν) και όσο δεν έχει βρεθεί το ζητούμενο (done = ΨΕΥΔΗΣ) ΟΣΟ i < Ν ΚΑΙ done = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ!Ελέγχουμε αν βρούμε στοιχείο του πίνακα ίδιο με το στοιχείο που ψάχνουμε (key) ΑΝ Π[i] = key ΤΟΤΕ! και αν το βρούμε θέτουμε τη μεταβλητή done ΑΛΗΘΗΣ για να φύγουμε αμέσως από!την επανάληψη και κρατάμε στη μεταβλητή pos τη θέση που βρήκαμε το στοιχείο done <- ΑΛΗΘΗΣ pos <- i ΑΛΛΙΩΣ! ενώ αν δε το βρούμε πάμε στο επόμενο στοιχείο του πίνακα i <- i + 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ done = ΑΛΗΘΗΣ ΤΟΤΕ ΓΡΑΨΕ 'Το στοιχείο: ', key, ' βρέθηκε στη θέση: ', pos ΑΛΛΙΩΣ ΓΡΑΨΕ 'Το στοιχείο: ', key, ' δεν βρέθηκε' ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Δυαδική αναζήτηση ΠΡΟΓΡΑΜΜΑ Δυαδική_Αναζήτηση ΣΤΑΘΕΡΕΣ Ν = 50 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Π[Ν], i, Key, Left, Right, M ΑΡΧΗ! Στην αρχή το αριστερό στοιχείο του προς μελέτη πίνακα είναι το 1και το δεξί το τελευταίο στοιχείο, εδώ Ν Left <- 1 Right <- Ν! Το μεσαίο στοιχείο το βρίσκουμε με ακέραια διαίρεση των δύο M <- (Left + Right) div 2! Όσο το στοιχείο δεν έχει βρεθεί (Π[M] <> Key) και το αριστερά στοιχείο δεν έχει! γίνει μεγαλύτερο από το δεξιά (Left<= Right) επαναλαμβάνει την διαδικασία ΟΣΟ Left <= Right ΚΑΙ Π[M] <> Key ΕΠΑΝΑΛΑΒΕ! Αν το στοιχείο προς αναζήτηση είναι μικρότερο από το μεσαίο ΑΝ Key < Π[M] ΤΟΤΕ! θέσε το δεξιά στοιχείο σαν το προηγούμενο του μεσαίου Right <- M - 1! ενώ αν είναι μεγαλύτερο ΑΛΛΙΩΣ! θέσε το αριστερά στοιχείο σαν το επόμενο του μεσαίου Left <- M + 1 ΤΕΛΟΣ_ΑΝ 55

56 ! και υπολόγισε ξανά το μεσαίο στοιχείο M <- (Left + Right) div 2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ! Έφυγε από την επανάληψη επειδή βρέθηκε το στοιχείο; ΑΝ Π[M] = Key ΤΟΤΕ ΓΡΑΨΕ 'Το στοιχείο: ', Key, ' βρέθηκε στη θέση: ', M ΑΛΛΙΩΣ ΓΡΑΨΕ 'Το στοιχείο: ', Key, ' δεν βρέθηκε' ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Ταξινόμηση των στοιχείων του πίνακα Ταξινόμηση φυσαλίδας ΠΡΟΓΡΑΜΜΑ Ταξινόμηση_Φυσαλίδας ΣΤΑΘΕΡΕΣ Ν = 40 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Π[Ν], i, j, temp ΑΡΧΗ ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν ΓΙΑ j ΑΠΟ Ν ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1! Ελέγχει αν το j-1 στοιχείο του πίνακα είναι μεγαλύτερο από το j στοιχείο ΑΝ Π[j - 1] > Π[j] ΤΟΤΕ! και αν είναι, κάνει αντιμετάθεση χρησιμοποιώντας την προσωρινή! μεταβλητή temp που είναι φυσικά του ίδιου τύπου με τον πίνακα. temp <- Π[j - 1] Π[j - 1] <- Π[j] Π[j] <- temp ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Ταξινόμηση ευθείας εισαγωγής ΠΡΟΓΡΑΜΜΑ Ταξινόμηση_ευθείας_εισαγωγής ΣΤΑΘΕΡΕΣ Ν = 9 56

57 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Π[Ν], i, j, temp ΛΟΓΙΚΕΣ: στη_σειρά ΑΡΧΗ! Η διαδικασία ξεκινά από το 2ο στοιχείο ώστε αυτό να συγκριθεί με το 1ο ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν! Κρατάμε το i οστό κάθε φορά στοιχείο, την 1η φορά το 2ο της 2η το 3ο κ.ο.κ. temp <- Π[i] j <- i - 1! θέτουμε κατάλληλα την λογική μεταβλητή ώστε να μπει στην επανάληψη στη_σειρά <- ΨΕΥΔΗΣ ΟΣΟ j >= 1 ΚΑΙ στη_σειρά = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ! Αν δεν βρεθεί μικρότερο στοιχείο αριστερά, τότε το στοιχείο έχει μπει στη! σειρά του και η εσωτερική επανάληψη τερματίζει. στη_σειρά <- ΑΛΗΘΗΣ ΑΝ temp < Π[j] ΤΟΤΕ Π[j + 1] <- Π[j] j <- j - 1 στη_σειρά <- ΨΕΥΔΗΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ! Ανάλογα που έχει τερματίσει παραπάνω η επανάληψη, εισάγουμε το i-οστο στοιχείο! που είχαμε κρατήσει. Π[j + 1] <- temp ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Ταξινόμηση ευθείας επιλογής ΠΡΟΓΡΑΜΜΑ Ταξινόμηση_ευθείας_επιλογής ΣΤΑΘΕΡΕΣ Ν = 9 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Π[Ν], i, j, temp, min, pos ΑΡΧΗ ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν! Βρίσκουμε κάθε φορά το μικρότερο στοιχείο και το τοποθετούμε στη θέση i-1! που στην 1η προσπέλαση είναι το 1ο στοιχείο, στην 2η το 2ο κ.ο.κ. min <- Π[i-1] pos <- i ΓΙΑ j ΑΠΟ i ΜΕΧΡΙ Ν ΑΝ Π[j] < min ΤΟΤΕ min <- Π[j] pos <- j ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ! Αντιμεταθέτουμε το στοιχείο i με το ελάχιστο στοιχείο που βρήκαμε temp <- Π[i-1] Π[i-1] <- Π[pos] Π[pos] <- temp ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ 57

58 Συγχώνευση δύο πινάκων ΠΡΟΓΡΑΜΜΑ Συγχώνευση ΣΤΑΘΕΡΕΣ Ν = 20 Μ = 30 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α[Ν], Β[Μ], Γ[Ν + Μ], i, j, k, z ΑΡΧΗ! Στην αρχή όλοι οι πίνακες ξεκινούν από το πρώτο τους στοιχείο. Ακολουθούν οι αντίστοιχοι! μετρητές για τους πίνακες Α, Β και Γ i <- 1 j <- 1 k <- 1! Η διαδικασία επαναλαμβάνεται μέχρι να τελειώσει ένας από τους 2 πίνακες ΟΣΟ i <= Ν ΚΑΙ j <= Μ ΕΠΑΝΑΛΑΒΕ! Θέτουμε στο τρέχων στοιχείο του πίνακα Γ το μικρότερο τρέχων στοιχείο του Α ή Β ΑΝ Α[i] < Β[j] ΤΟΤΕ Γ[k] <- Α[i]! Έχουμε ήδη θέσει το τρέχων στοιχείο του Α στο Γ. Προχωράμε στο επόμενο i <- i + 1 ΑΛΛΙΩΣ Γ[k] <- Β[j]! Αντίστοιχα προχωράμε στο επόμενο στοιχείο του Β j <- j + 1 ΤΕΛΟΣ_ΑΝ! Ότι και να θέσουμε στον Γ σίγουρα θα πρέπει να τον προχωρήσουμε κατά ένα στοιχείο. k <- k + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ! Βγήκαμε από την επανάληψη, άρα ένα από τους πίνακες Α, Β τελείωσε ΑΝ i > Ν ΤΟΤΕ! Τελείωσε ο Α. Θα γεμίσουμε τα υπόλοιπα στοιχεία του πίνακα Γ με τα υπόλοιπα! στοιχεία του Β ΓΙΑ z ΑΠΟ k ΜΕΧΡΙ Ν + Μ Γ[z] <- Β[j] j <- j + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΛΛΙΩΣ! Τελείωσε ο Β. Θα γεμίσουμε τα υπόλοιπα στοιχεία του πίνακα Γ με τα υπόλοιπα! στοιχεία του Α ΓΙΑ z ΑΠΟ k ΜΕΧΡΙ Ν + Μ Γ[z] <- Α[i] i <- i + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ 58

59 Κεφάλαιο5ο Ανάλυση Αλγορίθμων Ερωτήσεις θεωρίας (με απαντήσεις) 5.1 Επίδοση αλγορίθμων 5.1. Ποια πρωταρχικά ερωτήματα προκύπτουν κατά την κατανόηση της επίδοσης ενός αλγορίθμου; 1. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 2. Πως μπορούν να συγκριθούν μεταξύ τους οι διάφοροι αλγόριθμοι; 3. Πως μπορεί να γνωρίζει κανείς αν ένας αλγόριθμος είναι βέλτιστος; 5.2. Δώστε παραδείγματα βασικών πράξεων αλγορίθμων που θα έπρεπε να μετρηθούν κατά τον υπολογισμό του κόστους εκτέλεσης ενός αλγορίθμου. ανάθεση τιμής σύγκριση μεταξύ δύο μεταβλητών οποιαδήποτε αριθμητική πράξη μεταξύ δύο μεταβλητών 5.3. Τι αντιπροσωπεύει η χειρότερη περίπτωση ενός αλγορίθμου; Ποια η χειρότερη περίπτωση για τον αλγόριθμο που ακολουθεί; Αλγόριθμος Παράδειγμα1 n 10 Αρχή_επανάληψης Διάβασε m n n - 1 Μέχρις_ότου (m = 0) ή (n = 0) Εκτύπωσε m Τέλος Παράδειγμα1 Η χειρότερη περίπτωση αντιπροσωπεύει τις τιμές εκείνες, που, όταν δίνονται ως είσοδος στον αλγόριθμο, οδηγούν στην εκτέλεση μέγιστου αριθμού βασικών πράξεων. Είναι προφανές ότι η χειρότερη περίπτωση για αυτόν τον αλγόριθμο προκύπτει όταν γίνουν 10 επαναλήψεις (δηλαδή μέχρι να ισχύει το n=0) Για τις κατηγορίες προβλημάτων που ακολουθούν στον πίνακα προσδιορίστε το μέγεθος εισόδου τους και τις βασικές πράξεις τους. Αλγόριθμος Μέγεθος εισόδου αλγορίθμου (n) Βασική Πράξη Ταξινόμηση Το πλήθος των αντικειμένων που θα Σύγκριση ταξινομηθούν Πολλαπλασιασμός Το πλήθος των ψηφίων των αριθμών που Αριθμητικές πράξεις θα πολλαπλασιαστούν Αναζήτηση Το πλήθος των στοιχείων του πίνακα σύγκριση 5.5. Έστω ότι έχουμε το παρακάτω πρόγραμμα υλοποίησης ενός αλγορίθμου: Αλγόριθμος Ελεγχος_εκτέλεσης a 1 b 2 Για i από 1 μέχρι 100 a i b a* i Τέλος_επανάληψης Εκτύπωσε a Εκτύπωσε b Τέλος Ελεγχος_εκτέλεσης Να υπολογισθεί η επίδοσή του με βάση τον αριθμό των πράξεων που θα εκτελεσθούν. Εντολή αλγορίθμου Αριθμός πράξεων ανάθεση τιμών στα a και b 2 Βρόχος επανάληψης (τετράδιο μαθητή) Με δεδομένο ότι ο βρόχος του προγράμματος θα εκτελεσθεί 100 φορές προκύπτει η διπλανή ανάλυση, η οποία αποτελεί εκτίμηση και του χρόνου εκτέλεσης του 59

60 αρχική τιμή i 1 έλεγχος i 101 αύξηση i 100 ανάθεση τιμών στο a 100 ανάθεση τιμών στο b (2x100) 200 Εκτύπωση α,β 2 προγράμματος. Στην ανάθεση τιμής στην μεταβλητή bυπάρχει επιπλέον και μία πράξη πολλαπλασιασμού. ΣΥΝΟΛΟ Έστω ότι έχουμε τον παρακάτω αλγόριθμο ανάγνωσης και άμεσης εκτύπωσης των στοιχείων ενός δισδιάστατου πίνακα Α: Αλγόριθμος Ανάγνωση_Εκτύπωση_Πίνακα Δεδομένα // n // Για i από 1 μέχρι n Για j από 1 μέχρι n ΔιάβασεA[i, j] ΕκτύπωσεA[i, j] Τέλος_επανάληψης Τέλος_επανάληψης Τέλος Ανάγνωση_Εκτύπωση_Πίνακα Να υπολογισθεί ο χρόνος εκτέλεσης του αλγορίθμου αυτού και να σχολιασθεί η βαρύτητα των πράξεων επανάληψης σε σχέση με την απόφαση για την πολυπλοκότητα των αλγορίθμων. (τετράδιο μαθητή) Από ό,τι παρατηρούμε υπάρχουν δύο βρόχοι επανάληψης (ένας βρόχος για κάθε διάσταση του πίνακα). Για κάθε στιγμή επανάληψης μέσα στο εσωτερικό των δύο βρόχων γίνονται δύο απλές πράξεις (ανάγνωση και εκτύπωση) μοναδιαίου κόστους n καθεμία. Επομένως η πολυπλοκότητα του παραπάνω αλγορίθμου θα εκφράζεται με n * n * 2, δηλαδή ο αλγόριθμος είναι τετραγωνικός. Είναι φανερό ότι οι βρόχοι επανάληψης είναι εκείνοι που καθορίζουν την επιβάρυνση στο κόστος εκτέλεσης του αλγορίθμου Σε ποιες περιπτώσεις ένας αλγόριθμος Α χαρακτηρίζεται αποδοτικότερος από ένα αλγόριθμο Β; Να θεωρήσετε ότι η σύγκριση γίνεται κάτω από τις ίδιες ακριβώς συνθήκες (ίδια δεδομένα, ίδιος υπολογιστής, ίδια γλώσσα προγραμματισμού). (Επαναληπτικές 2016 Μονάδες 2) Αν ο αλγόριθμος Α έχει το ίδιο αποτέλεσμα με τον αλγόριθμο Β, αλλά δίνει τα αποτελέσματα σε λιγότερο χρόνο, τότε είναι αποδοτικότερος του Β. Με παρόμοιο τρόπο όταν ο αλγόριθμος Α έχει το ίδιο αποτέλεσμα με έναν αλγόριθμο Β, αλλά έχει τα αποτελέσματα με χρήση λιγότερης μνήμης, τότε είναι αποδοτικότερος του Β Από ποιους παράγοντες εξαρτάται ο χρόνος εκτέλεσης ενός αλγορίθμου; Τύπος ηλεκτρονικού υπολογιστή που θα εκτελέσει το πρόγραμμα του αλγορίθμου, Γλώσσα προγραμματισμού που θα χρησιμοποιηθεί, Δομή προγράμματος και δομές δεδομένων που χρησιμοποιούνται, Χρόνος για πρόσβαση στο δίσκο και στις ενέργειες εισόδου-εξόδου, Είδος συστήματος, ενός χρήστη ή πολλών χρηστών Ποιες προϋποθέσεις πρέπει να ικανοποιούνται για να έχει έννοια κάθε σύγκριση μεταξύ δύο προγραμμάτων αλγορίθμων; και τα δύο προγράμματα να έχουν συνταχθεί στην ίδια γλώσσα προγραμματισμού, να έχει χρησιμοποιηθεί ο ίδιος μεταφραστής της γλώσσας προγραμματισμού, να χρησιμοποιείται η ίδια υπολογιστική πλατφόρμα, ακριβώς τα ίδια δεδομένα να αποτελούν είσοδο κατά τον έλεγχο των δύο αλγορίθμων. 5.3 Πολυπλοκότητα αλγορίθμων Ποιος είναι ο απλούστερος τρόπος μέτρησης της επίδοσης ενός αλγορίθμου; Ποια είναι τα δύο κύρια μειονεκτήματά του; Ο απλούστερος τρόπος μέτρησης της επίδοσης ενός αλγορίθμου είναι ο εμπειρικός (empirical) ή αλλιώς ο λεγόμενος εκ των υστέρων (a posteriori). Δηλαδή, ο αλγόριθμος υλοποιείται και εφαρμόζεται σε ένα σύνολο 60

61 δεδομένων, ώστε να υπολογισθεί ο απαιτούμενος χρόνος επεξεργασίας (processing time) και η χωρητικότητα μνήμης (memory space). Ο τρόπος όμως αυτός παρουσιάζει δύο κύρια μειονεκτήματα: 1. με τη μέθοδο αυτή είναι δύσκολο να προβλεφθεί η συμπεριφορά του αλγορίθμου για κάποιο άλλο σύνολο δεδομένων, 2. ο χρόνος επεξεργασίας εξαρτάται από το υλικό, τη γλώσσα προγραμματισμού και το μεταφραστή και προ πάντων από τη δεινότητα του προγραμματιστή Με ποιο τρόπο λειτουργεί ο θεωρητικός (theoretical) ή εκ τον προτέρων (apriori) τρόπος εκτίμησης της επίδοσης ενός αλγορίθμου; Για την θεωρητική εκτίμηση επίδοσης ενός αλγορίθμου εισάγεται μία μεταβλητή n, που εκφράζει το μέγεθος (size) του προβλήματος, ώστε η μέτρηση της αποδοτικότητας του αλγορίθμου να ισχύει για οποιοδήποτε σύνολο δεδομένων και ανεξάρτητα από υποκειμενικούς παράγοντες. Η σημασία της μεταβλητής αυτής εξαρτάται από το πρόβλημα, που πρόκειται να επιλυθεί. Για παράδειγμα, αν το πρόβλημα είναι η ταξινόμηση k στοιχείων τότε n=k. Στη συνέχεια ο χρόνος επεξεργασίας και ο απαιτούμενος χώρος μνήμης εκτιμώνται με τη βοήθεια μίας συνάρτησης f(n) που εκφράζει τη χρονική πολυπλοκότητα (time complexity) ή την πολυπλοκότητα χώρου (space complexity). Σε πολλές περιπτώσεις όμως δεν ενδιαφέρουν οι επακριβείς τιμές αλλά μόνο η γενική συμπεριφορά των αλγορίθμων, δηλαδή η τάξη του αλγορίθμου. Ερωτήσεις θεωρίας Επίδοση αλγορίθμων Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση 1 Οι βρόχοι επανάληψης δεν αποτελούν σημαντικό κριτήριο για τον χαρακτηρισμό επίδοσης ενός αλγορίθμου Για να έχει έννοια κάθε σύγκριση μεταξύ δύο προγραμμάτων αλγορίθμων θα 2 πρέπει και τα δύο προγράμματα να έχουν συνταχθεί στην ίδια γλώσσα προγραμματισμού και να χρησιμοποιείται η ίδια υπολογιστική πλατφόρμα 3 O χρόνος εκτέλεσης κάθε αλγορίθμου εξαρτάται από τη Γλώσσα προγραμματισμού που θα χρησιμοποιηθεί. (2016 Μονάδες 2) 4 Κατά την εντολή a<- x + y εκτελείται μία βασική πράξη σε έναν υπολογιστή. 5 Η έκφραση x>0 ή x=0 απαιτεί την εκτέλεση τριών βασικών πράξεων. Χειρότερη περίπτωση Ποια η χειρότερη περίπτωση για τους αλγορίθμους που ακολουθούν; Εύρεση Πρώτου Σειριακή Αναζήτηση πρώτος Αληθής done<- Ψευδής i 2 i<- 1 Όσο i (α - 1) και πρώτος επανάλαβε Όσο i< Ν και done = Ψευδής επανάλαβε Αν α mod i = 0 τότε Αν Π[i] = keyτότε πρώτος Ψευδής done <- Αληθής Τέλος_αν pos <- i i i + 1 ΑΛΛΙΩΣ Τέλος_επανάληψης i<- i + 1 Τέλος_αν Τέλος_επανάληψης Χρόνος εκτέλεσης αλγορίθμου - αποδοτικότητα Στον αλγόριθμο της 5.6 υπολογίστε πόσες βασικές πράξεις θα εκτελεστούν Έστω ότι έχουμε τους επόμενους αλγορίθμους εύρεσης μέγιστου κοινού διαιρέτη: Αλγόριθμος Ευκλείδης Αλγόριθμος ΜΚΔ Διάβασε x, y Διάβασε x, y z y Όσο x y επανάλαβε Όσο z 0 επανάλαβε Αν x > y τότε 61

62 z x mod y x y y z Τέλος_επανάληψης Εμφάνισε x Τέλος Ευκλείδης x x - y αλλιώς y y - x Τέλος_αν Τέλος_επανάληψης Εμφάνισε x Τέλος Να υπολογισθούν οι επιδόσεις τους με βάση τον αριθμό των πράξεων που θα εκτελεσθούν αν δοθούν ως είσοδοι οι αριθμοί 27 και 78. Ποιος είναι αποδοτικότερος; Δύο μαθητές της Γ Λυκείου του ΓΕΛ Καρλοβάσου έφτιαξαν τα παρακάτω προγράμματα προκειμένου να υπολογίσουν ανάμεσα στους 20 μαθητές του προσανατολισμού Οικονομίας και Πληροφορικής πόσοι πέτυχαν τον καλύτερο βαθμό Α τετραμήνου στο μάθημα της ανάπτυξης εφαρμογών. ΠΡΟΓΡΑΜΜΑ πλήθος_μεγίστων_α ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, max, β, πλ ΑΡΧΗ ΔΙΑΒΑΣΕ β max <- β πλ <- 1 ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 20 ΔΙΑΒΑΣΕ β ΑΝ β > max ΤΟΤΕ max <- β πλ <- 1 ΑΛΛΙΩΣ_ΑΝ β = max ΤΟΤΕ πλ <- πλ + 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ πλ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΠΡΟΓΡΑΜΜΑ πλήθος_μεγίστων_β ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, max, β[20], πλ ΑΡΧΗ ΔΙΑΒΑΣΕ β[1] max <- β[1] πλ <- 1 ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 20 ΔΙΑΒΑΣΕ β[i] ΑΝ β[i] > max ΤΟΤΕ max <- β[i] πλ <- 1 ΑΛΛΙΩΣ_ΑΝ β[i] = max ΤΟΤΕ πλ <- πλ + 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ πλ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Ποιος από τα παραπάνω προγράμματα είναι το πιο αποδοτικό; Αιτιολογήστε Δίνεται το επόμενο τμήμα προγράμματος το οποία υπολογίζει το άθροισμα των στοιχείων της κύριας και της δευτερεύουσας διαγωνίου ενός τετραγωνικού πίνακα. αθρ1 <- 0 αθρ2 <- 0 αθρ <- αθρ1 + αθρ2 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ N ΑΝ N mod 2 = 1 ΤΟΤΕ ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ N ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ N αθρ <- αθρ - Α[N div 2, N div 2] ΑΝ i = j ΤΟΤΕ ΑΝ i + j = N + 1 ΤΟΤΕ ΤΕΛΟΣ_ΑΝ αθρ1 <- αθρ1 + Α[i, j] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ αθρ2 <- αθρ2 + Α[i, j] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Υπολογίστε τον αριθμό των πράξεων που θα χρειαστούν για την παραπάνω διαδικασία. Τροποποιήστε κατάλληλα ώστε να μειώσετε την πολυπλοκότητα. Ποιος ο αριθμός των πράξεων στο νέο τμήμα προγράμματος Τα επόμενα τμήματα προγράμματος υλοποιούν την αναζήτηση σε πίνακα Π[N] ενός στοιχείου key.υπολογίστε τον αριθμό των πράξεων στην χειρότερη περίπτωση και για τα δύο τμήματα. ΟΣΟ i < Ν ΚΑΙ done = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ Left <- 1 ΑΝ Π[i] = key ΤΟΤΕ Right <- Ν done <- ΑΛΗΘΗΣ M <-(Left + Right) div 2 pos <- i ΟΣΟ Left <= Right ΚΑΙ Π[M] <> Key ΕΠΑΝΑΛΑΒΕ ΑΛΛΙΩΣ ΑΝ Key < Π[M] ΤΟΤΕ i <- i + 1 Right <- M - 1 ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Left <- M + 1 ΤΕΛΟΣ_ΑΝ M <-(Left + Right) div 2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 62

63 Κεφάλαιο 6ο Εισαγωγή στον Προγραμματισμό Ερωτήσεις θεωρίας (με απαντήσεις) 6.3 Φυσικές και τεχνητές γλώσσες 6.1. i. Τι καλείται αλφάβητο μιας γλώσσας;ii. Από τι αποτελείται το λεξιλόγιο μιας γλώσσας;iii. Τι είναι το τυπικό μιας γλώσσας;iv. Τι είναι το συντακτικό μιας γλώσσας; (Επαναληπτικές 2004 Μονάδες 8) Μια γλώσσα προσδιορίζεται από: Το αλφάβητο: το σύνολο των στοιχείων που χρησιμοποιείται από τη γλώσσα π.χ. η ελληνική γλώσσα περιέχει τα γράμματα του αλφαβήτου, πεζά και κεφαλαία (Α-Ω, α-ω) τα ψηφία (0-9) και τα σημεία στίξης. Το λεξιλόγιο: υποσύνολο των ακολουθιών που δημιουργούνται από τα στοιχεία του αλφάβητου, το σύνολο των αποδεκτών λέξεων της γλώσσας. Π.χ. η λέξη ΑΒΓΑ είναι αποδεκτή λέξη της ελληνικής γλώσσας ενώ η λέξη ΑΒΓΔΑ δεν είναι. Τη γραμματική: αποτελείται από το τυπικό ή τυπολογικό (accidence) και το συντακτικό (syntax). o Τυπικό είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή. Π.χ. στην ελληνική, η λέξεις γλώσσα, γλώσσας, γλώσσες είναι δεκτές, ενώ η λέξη γλώσσατ δεν είναι. o Συντακτικό είναι το σύνολο των κανόνων που καθορίζει τη νομιμότητα της διάταξης και της σύνδεσης των λέξεων της γλώσσας για τη δημιουργία προτάσεων Τι καλούμε σημασιολογία μιας γλώσσας; Η σημασιολογία (semantics): το σύνολο των κανόνων που καθορίζει το νόημα των λέξεων και κατά επέκταση των εκφράσεων και προτάσεων που χρησιμοποιούνται σε μια γλώσσα Για ποιο λόγο αναπτύχθηκαν και χρησιμοποιούνται οι γλώσσες προγραμματισμού; Οι γλώσσες προγραμματισμού αναπτύχθηκαν, για να μπορεί ο προγραμματιστής να δίνει τις εντολές που πρέπει να εκτελέσει ο υπολογιστής. Χρησιμοποιούνται δηλαδή για την επικοινωνία του ανθρώπου και της μηχανής, όπως αντίστοιχα οι φυσικές γλώσσες χρησιμοποιούνται για την επικοινωνία μεταξύ των ανθρώπων Τι χαρακτηρίζουμε ως φυσικές και ως τεχνικές γλώσσες; Ποια η βασική τους διαφορά; Οι γλώσσες προγραμματισμού που είναι τεχνητές γλώσσες, ακολουθούν τις βασικές έννοιες και αρχές της γλωσσολογίας, επιστήμη που μελετά τις φυσικές γλώσσες. Βασική διαφορά φυσικών και τεχνητών γλωσσών είναι η δυνατότητα εξέλιξής τους. Οι φυσικές γλώσσες εξελίσσονται συνεχώς ενώ οι τεχνητές χαρακτηρίζονται από στασιμότητα. Συχνά όμως και αυτές βελτιώνονται και μεταβάλλονται με σκοπό να διορθώσουν αδυναμίες ή να ακολουθήσουν τις νέες εξελίξεις και να καλύψουν μεγαλύτερο εύρος εφαρμογών. 6.4 Τεχνικές σχεδίασης προγραμμάτων 6.5. Αναφέρετε τις τεχνικές σχεδίασης προγραμμάτων. Ιεραρχική σχεδίαση (top-down program design). Τμηματικός προγραμματισμός. Δομημένος προγραμματισμός(structured programming) Ποιος είναι ο σκοπός της ιεραρχικής σχεδίασης ενός προγράμματος και πως γίνεται η παράστασή της; Ονομάζεται συχνά και διαδικασία σχεδίασης «από επάνω προς τα κάτω»(top-down program design). Περιλαμβάνει τον καθορισμό των βασικών λειτουργιών ενός προγράμματος σε ανώτερο επίπεδο. Χρησιμοποιεί τη στρατηγική της συνεχούς διαίρεσης του προβλήματος σε πιο εύκολα στην επίλυσή τους υποπροβλήματα. Για την υποβοήθηση της ιεραρχικής σχεδίασης χρησιμοποιούνται διαγραμματικές τεχνικές Με ποιόν τρόπο υλοποιείται η ιεραρχική σχεδίαση; Ποια τα πλεονεκτήματα της υλοποίησης αυτής; 63

64 Η ιεραρχική σχεδίαση υλοποιείται με τον τμηματικό προγραμματισμό. Μετά την ανάλυση του προβλήματος σε υποπροβλήματα, κάθε ένα αποτελεί ανεξάρτητη ενότητα (module), που γράφεται ξεχωριστά από τα υπόλοιπα τμήματα προγράμματος. Ο τμηματικός προγραμματισμός: διευκολύνει την δημιουργία του προγράμματος μειώνει τα λάθη επιτρέπει την ευκολότερη παρακολούθηση, κατανόηση και συντήρηση των προγραμμάτων από τρίτους 6.8. Σε ποιες στοιχειώδεις λογικές δομές στηρίζεται ο δομημένος προγραμματισμός; (Επαναληπτικές Μονάδες 3) Ο δομημένος προγραμματισμός στηρίζεται στη χρήση τριών και μόνο στοιχειωδών λογικών δομών, τη δομή της ακολουθίας, τη δομή της επιλογής και τη δομή της επανάληψης. Όλα τα προγράμματα μπορούν να γραφούν χρησιμοποιώντας μόνο αυτές τις τρεις δομές καθώς και συνδυασμό τους. Κάθε πρόγραμμα όπως και κάθε ενότητα προγράμματος έχει μόνο μια είσοδο και μόνο μια έξοδο Ποια είναι τα πλεονεκτήματα του δομημένου προγραμματισμού; (Εσπερινού 2001 Μονάδες 5, Επαναληπτικές 2003 Μονάδες 4, παλιό σύστημα 2016 Μονάδες 10) Επιγραμματικά μπορούμε να αναφέρουμε τα εξής πλεονεκτήματα του δομημένου προγραμματισμού Δημιουργία απλούστερων προγραμμάτων Άμεση μεταφορά των αλγορίθμων σε προγράμματα Διευκόλυνση ανάλυσης του προγράμματος σε τμήματα Περιορισμός των λαθών κατά την ανάπτυξη του προγράμματος Διευκόλυνση στην ανάγνωση και κατανόηση του προγράμματος από τρίτους Ευκολότερη διόρθωση και συντήρηση. 6.7 Προγραμματιστικά περιβάλλοντα Ποιες είναι οι διαφορές μεταξύ μεταγλωττιστή (compiler) και διερμηνευτή (interpreter). (Επαναληπτικές 2002 μονάδες 10, 2008 Μονάδες 6) Ο μεταγλωττιστής(compiler) δέχεται στην είσοδο ένα πρόγραμμα γραμμένο σε μια γλώσσα υψηλού επιπέδου και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής. Το τελευταίο μπορεί να εκτελείται οποτεδήποτε από τον υπολογιστή και είναι τελείως ανεξάρτητο από το αρχικό πρόγραμμα. Αντιθέτως ο διερμηνευτής διαβάζει μία προς μια τις εντολές του αρχικού προγράμματος και για κάθε μια εκτελεί αμέσως μια ισοδύναμη ακολουθία εντολών μηχανής. Η χρήση μεταγλωττιστή έχει το μειονέκτημα, ότι προτού χρησιμοποιηθεί ένα πρόγραμμα, πρέπει να περάσει από τη διαδικασία της μεταγλώττισης και σύνδεσης. Από την άλλη μεριά η χρήση διερμηνευτή έχει το πλεονέκτημα της άμεσης εκτέλεσης και συνεπώς και της άμεσης διόρθωσης. Όμως η εκτέλεση του προγράμματος καθίσταται πιο αργή, σημαντικά μερικές φορές, από εκείνη του ισοδύναμου εκτελέσιμου προγράμματος που παράγει ο μεταγλωττιστής. Πάντως τα σύγχρονα προγραμματιστικά περιβάλλοντα παρουσιάζονται συνήθως με μεικτές υλοποιήσεις, όπου χρησιμοποιείται διερμηνευτής κατά τη φάση δημιουργίας του προγράμματος και μεταγλωττιστής για την τελική έκδοση του προγράμματος Να περιγράψετε τη διαδικασία για τη μετατροπή με μεταγλωττιστή ενός πηγαίου προγράμματος σε εκτελέσιμο πρόγραμμα, συμπεριλαμβανομένης της ανίχνευσης και διόρθωσης λαθών. (2002 Μονάδες 18) (Ποιος είναι ο ρόλος του συνδέτη-φορτωτή σε ένα προγραμματιστικό περιβάλλον; Ποιος είναι ο ρόλος του μεταγλωττιστή σε ένα προγραμματιστικό περιβάλλον; ( μονάδες 2 2)) Κάθε πρόγραμμα σε οποιαδήποτε γλώσσα προγραμματισμού, πρέπει να μετατραπεί σε μορφή αναγνωρίσιμη και εκτελέσιμη από τον υπολογιστή, δηλαδή σε εντολές γλώσσας μηχανής. 64

65 Η μετατροπή αυτή επιτυγχάνεται με τη χρήση ειδικών μεταφραστικών προγραμμάτων: Το αρχικό πρόγραμμα λέγεται πηγαίο πρόγραμμα (source), ενώ το πρόγραμμα που παράγεται από το μεταγλωττιστή λέγεται αντικείμενο πρόγραμμα (object). Το αντικείμενο πρόγραμμα είναι κατανοητό από τον υπολογιστή (σε μορφή δυαδικού συστήματος) αλλά δεν είναι σε θέση να εκτελεστεί. Είναι απαραίτητο να συμπληρωθεί και να συνδεθεί με άλλα τμήματα προγράμματος απαραίτητα για την εκτέλεσή του, τμήματα που υπάρχουν είτε στις βιβλιοθήκες(libraries) γλώσσας είτε τα έχει γράψει ο προγραμματιστής. Αυτή τη λειτουργία την αναλαμβάνει ο συνδέτης-φορτωτής (linker-loader) Το αποτέλεσμά του είναι το τελικό εκτελέσιμο (executable) πρόγραμμα Πότε εμφανίζονται τα συντακτικά λάθη ενός προγράμματος και πότε τα λογικά; (2009 Μονάδες 2) Το εκτελέσιμο πρόγραμμα δημιουργείται μόνο αν το αρχικό πρόγραμμα δεν περιέχει συντακτικά λάθη. Αν υπάρχουν, μηνύματα μας βοηθούν να τα διορθώσουμε. Τα λάθη γενικά, είναι δυο ειδών, τα λογικά και τα συντακτικά. Τα λογικά λάθη μπορεί κανείς να τα δει μόνο κατά την εκτέλεση ενώ τα συντακτικά στο στάδιο της μεταγλώττισης Ποιος είναι ο ρόλος του συντάκτη σε ένα προγραμματιστικό περιβάλλον; (2014 Μονάδες 2) Για την αρχική σύνταξη των προγραμμάτων και τη διόρθωσή τους στη συνέχεια χρησιμοποιείται ένα ειδικό πρόγραμμα που ονομάζεται συντάκτης (editor), Ο συντάκτης είναι ουσιαστικά ένας μικρός επεξεργαστής κειμένου, με δυνατότητες όμως που διευκολύνουν τη γρήγορη γραφή των εντολών των προγραμμάτων Ποια είναι τα προγράμματα και τα εργαλεία που περιέχει ένα προγραμματιστικό περιβάλλον; Τα σύγχρονα ολοκληρωμένα προγραμματιστικά περιβάλλοντα δεν παρέχουν απλώς ένα μεταφραστή μιας γλώσσας προγραμματισμού. Περιέχουν όλα τα προγράμματα και τα εργαλεία που απαιτούνται και βοηθούν τη συγγραφή, την εκτέλεση και κύρια τη διόρθωση των προγραμμάτων. Το κάθε προγραμματιστικό περιβάλλον έχει φυσικά διαφορετικά εργαλεία και ιδιότητες. Για παράδειγμα ένα περιβάλλον οπτικού(visual) προγραμματισμού πρέπει να περιέχει οπωσδήποτε και ειδικό συντάκτη που να διευκολύνει τη δημιουργία γραφικών αντικειμένων (για παράδειγμα φόρμες, λίστες, παράθυρα διαλόγου) παρέχοντας στον προγραμματιστή τα αντίστοιχα γραφικά εργαλεία. Ερωτήσεις θεωρίας Φυσικές και τεχνητές γλώσσες Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση 1 Μία ουσιαστική διαφορά μεταξύ των φυσικών και τεχνητών γλωσσών είναι ο τρόπος εξέλιξής τους. 2 Λεξιλόγιο μιας γλώσσας είναι όλες οι ακολουθίες που δημιουργούνται από τα στοιχεία του αλφαβήτου της γλώσσας. 3 Το αλφάβητο της γλώσσας μηχανής αποτελείται μόνο από τα ψηφία 0 και 1. 4 Συντακτικό είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μία λέξη είναι αποδεκτή. 5 Οι τεχνητές γλώσσες μπορούν να μεταβληθούν από τους δημιουργούς τους για να εξυπηρετήσουν κάποιος σκοπούς. Τεχνικές Σχεδίασης Προγραμμάτων Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση Ο ιεραρχικός προγραμματισμός χρησιμοποιεί τη στρατηγική της συνεχούς 1 διαίρεσης του προβλήματος σε υποπροβλήματα.(επαναληπτικές 2015 Μονάδες 2) 2 Η εντολή GOTO που αλλάζει τη ροή εκτέλεσης ενός προγράμματος είναι απαραίτητη στο δομημένο προγραμματισμό.(επαναληπτικές 2004 Μονάδες 2) 65

66 3 Ο τμηματικός προγραμματισμός υλοποιεί την φιλοσοφία της ιεραρχικής σχεδίασης. 4 Ο δομημένος προγραμματισμός εξασφαλίζει τη δημιουργία σωστών προγραμμάτων.(τετράδιο μαθητή) 5 Ο δομημένος προγραμματισμός στηρίζεται στη χρήση τριών και μόνο στοιχειωδών λογικών δομών, τη δομή της ακολουθίας, τη δομή της επιλογής και τη δομή της επανάληψης Δίνεται το παρακάτω τμήμα αλγορίθμου σε φυσική γλώσσα κατά βήματα: Βήμα 1: Αν Α>0 τότε πήγαινε στο Βήμα 5 Βήμα 2: Αν Α=0 τότε πήγαινε στο Βήμα 7 Βήμα 3: Τύπωσε Αρνητικός Βήμα 4: Πήγαινε στο Βήμα 8 Βήμα 5: Τύπωσε Θετικός Βήμα 6: Πήγαινε στο Βήμα 8 Βήμα 7: Τύπωσε Μηδέν Βήμα 8: Τύπωσε Τέλος Να σχεδιάσετε το ισοδύναμο διάγραμμα ροής Να κωδικοποιήσετε τον αλγόριθμο σε ψευδογλώσσα σύμφωνα με τις αρχές του δομημένου προγραμματισμού. ( Μονάδες 6 5) Οι παρακάτω ακολουθίες εντολών αποτελούν τμήματα μη δομημένων προγραμμάτων. Να γράψετε αντίστοιχα τμήματα προγραμμάτων σχεδιασμένα με τις αρχές του δομημένου προγραμματισμού, που να εκτελούν τις ίδιες λειτουργίες. α)αρχη εντολή1 ΑΝ συνθήκη1 ΤΟΤΕ εντολή2 ΠΗΓΑΙΝΕ ΣΤΗΝ εντολή4 ΤΕΛΟΣ_ΑΝ εντολή3 εντολή4 ΤΕΛΟΣ β)αρχη εντολή1 εντολή2 εντολή3 ΑΝ συνθήκη1 ΤΟΤΕ πήγαινε στην εντολή2 ΤΕΛΟΣ_ΑΝ εντολή4 ΤΕΛΟΣ γ)αρχη εντολή1 αρχή: ΑΝ συνθήκη1 ΤΟΤΕ ΠΗΓΑΙΝΕ ΣΤΟ τέλος ΤΕΛΟΣ_ΑΝ εντολή2 εντολή3 εντολή4 ΠΗΓΑΙΝΕ ΣΤΗΝ αρχή τέλος: εντολή5 ΤΕΛΟΣ Δίνεται ο αλγόριθμος του πολλαπλασιασμού αλά Ρωσικά σε φυσική γλώσσα κατά βήματα. Να γραφεί σε ψευδογλώσσα χρησιμοποιώντας τις αρχές του δομημένου προγραμματισμού: Οι παρακάτω ακολουθίες εντολών αποτελούν τμήματα μη δομημένων προγραμμάτων. Να γράψετε αντίστοιχα τμήματα προγραμμάτων σχεδιασμένα με τις αρχές του δομημένου προγραμματισμού, που να εκτελούν τις ίδιες λειτουργίες. ΑΡΧΗ ΟΣΟ συνθήκη1 ΕΠΑΝΑΛΑΒΕ Εντολή 2 ΑΝ συνθήκη3 ΤΟΤΕ Εντολή4 ΑΡΧΗ ΑΝ συνθήκη1 ΤΟΤΕ Εντολή1 ΑΝ συνθήκη2 ΤΟΤΕ Εντολή2 66

67 Πήγαινε στο Τέλος ΑΛΛΙΩΣ Εντολή5 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ Εντολή3 Πήγαινε στην Εντολή5 ΤΕΛΟΣ_ΑΝ Εντολή4 Εντολή5 Πήγαινε στην Αρχή ΤΕΛΟΣ_ΑΝ Εντολή6 ΤΕΛΟΣ (Τετράδιο μαθητή) Προγραμματιστικά περιβάλλοντα Δίνονται οι παρακάτω λανθασμένες εντολές για τον υπολογισμό του μέσου όρου δύο αριθμών: 1. Γ Α + Β / 2 2. Γ (Α + Β / 2 3. Γ (Α + Β / 2) 4. Γ (Α + Β) : 2 Να γράψετε στο τετράδιό σας τον αριθμό της κάθε εντολής (1, 2, 3, 4) και δίπλα τη λέξη συντακτικό ή τη λέξη λογικό, ανάλογα με το είδος του λάθους. (2009 Μονάδες 4) Στο διπλανό πλαίσιο δίνεται ένα τμήμα προγράμματος στόχος του οποίου είναι να διαβάσει 30 θερμοκρασίες του μήνα Οκτωβρίου στο Καρλόβασι και να υπολογίζει και να εμφανίζει τη μέση θερμοκρασία. Σημειώστε τον αριθμό της γραμμής και εξηγήστε το είδος του λάθους που υπάρχει 1. συν 1 2. ΔΙΑΒΑΣΕ θερμ 3. ΓΙΑiΑΠΟ 1 ΜΕΧΡΙ συν = συν + θερμ 5. ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 6. μ ο συν/ Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λανθασμένη. Σωστή Λάθος Πρόταση Ο μεταγλωττιστής δέχεται στην είσοδό του ένα πρόγραμμα γραμμένο σε μια 1 γλώσσα υψηλού επιπέδου και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής. (2004 Μονάδες 2) 2 Το πηγαίο πρόγραμμα εκτελείται από τον υπολογιστή χωρίς μεταγλώττιση.( Μονάδες 2) Ο διερμηνευτής διαβάζει μία προς μία τις εντολές του πηγαίου προγράμματος και για κάθε μια εκτελεί αμέσως μια ισοδύναμη ακολουθία εντολών μηχανής.(2004 Μονάδες 2) 4 Το πρόγραμμα που παράγεται από το μεταγλωττιστή λέγεται εκτελέσιμο. (Επαναληπτικές 2006 Μονάδες 2) 5 Το πρόγραμμα Συντάκτης εντοπίζει τα συντακτικά λάθη του προγράμματος. (2016 Μονάδες 2) Δίνονται οι παρακάτω προτάσεις: Π1.Ο συνδέτης - φορτωτής μετατρέπει το πρόγραμμα σε πρόγραμμα. Π2. Ο συντάκτης χρησιμοποιείται για να δημιουργηθεί το πρόγραμμα Π3. Ο μεταγλωττιστής μετατρέπει το πρόγραμμα σε πρόγραμμα Και οι παρακάτω λέξεις: α. αντικείμενο β. εκτελέσιμο γ. πηγαίο 1. Να γράψετε στο τετράδιό σας τους αριθμούς (1-5) των κενών διαστημάτων των προτάσεων και δίπλα το γράμμα της λέξης (α, β, γ) που αντιστοιχεί σωστά. Σημείωση: Κάποιες από τις λέξεις χρησιμοποιούνται περισσότερες φορές από μία. 2. Κατά την ανάπτυξη ενός προγράμματος σε ένα προγραμματιστικό περιβάλλον, με ποια χρονική σειρά πραγματοποιούνται τα βήματα που περιγράφουν οι παραπάνω προτάσεις; Να απαντήσετε γράφοντας τα Π1, Π2, Π3 με τη σωστή σειρά. ( Μονάδες 5-3) 67

68 Κεφάλαιο 10 ο - Υποπρογράμματα Ερωτήσεις θεωρίας (με απαντήσεις) 10.1 Τμηματικός προγραμματισμός Τι ονομάζεται τμηματικός προγραμματισμός; (2011 Μονάδες 4) Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα σύνολο από απλούστερα τμήματα προγραμμάτων Τι λέγεται υποπρόγραμμα; (2011 Μονάδες 4) Όταν ένα τμήμα προγράμματος επιτελεί ένα αυτόνομο έργο και έχει γραφεί χωριστά από το υπόλοιπο πρόγραμμα, τότε αναφερόμαστε σε υποπρόγραμμα (subprogram) Χαρακτηριστικά των υποπρογραμμάτων Να αναπτύξετε τρία χαρακτηριστικά των υποπρογραμμάτων. (Αναφέρετε τις ιδιότητες που πρέπει να διακρίνουν τα υποπρογράμματα, Επαναληπτικές 2005,Επαναληπτικές 2009 Μονάδες 3) (Επαναληπτικές 2003 Μονάδες 9) Κάθε υποπρόγραμμα έχει μόνο μια είσοδο και μια έξοδο. Στην πραγματικότητα κάθε υποπρόγραμμα ενεργοποιείται με την είσοδο σε αυτό που γίνεται πάντοτε από την αρχή του, εκτελεί ορισμένες ενέργειες, και απενεργοποιείται με την έξοδο από αυτό που γίνεται πάντοτε από το τέλος του. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα. Αυτό σημαίνει ότι κάθε υποπρόγραμμα μπορεί να σχεδιαστεί, να αναπτυχθεί και να συντηρηθεί αυτόνομα χωρίς να επηρεαστούν άλλα υποπρογράμματα. Στην πράξη βέβαια η απόλυτη ανεξαρτησία είναι δύσκολο να επιτευχθεί. Κάθε υποπρόγραμμα πρέπει να μην είναι πολύ μεγάλο. Η έννοια του μεγάλου προγράμματος είναι υποκειμενική, αλλά πρέπει κάθε υποπρόγραμμα να είναι τόσο, ώστε να είναι εύκολα κατανοητό για να μπορεί να ελέγχεται. Γενικά κάθε υποπρόγραμμα πρέπει να εκτελεί μόνο μια λειτουργία. Αν εκτελεί περισσότερες λειτουργίες, τότε συνήθως μπορεί και πρέπει να διασπαστεί σε ακόμη μικρότερα υποπρογράμματα Πλεονεκτήματα του τμηματικού προγραμματισμού Να αναφέρετε τέσσερα πλεονεκτήματα του τμηματικού προγραμματισμού. Να αναπτύξετε δύο από τα παραπάνω πλεονεκτήματα του τμηματικού προγραμματισμού.(να αιτιολογήσετε γιατί ένα από τα πλεονεκτήματα του τμηματικού προγραμματισμού είναι το ότι απαιτεί λιγότερο χρόνο και προσπάθεια στη συγγραφή του προγράμματος Επαναληπτικές 2015 Μονάδες 2) (2004 Μονάδες 4-6) Διευκολύνει την ανάπτυξη του αλγορίθμου και του αντίστοιχου προγράμματος. Επιτρέπει την εξέταση και την επίλυση απλών προβλημάτων και όχι στην αντιμετώπιση του συνολικού προβλήματος. Με τη σταδιακή επίλυση των υποπροβλημάτων και τη δημιουργία των αντίστοιχων υποπρογραμμάτων τελικά επιλύεται το συνολικό πρόβλημα. Διευκολύνει την κατανόηση και διόρθωση του προγράμματος. Ο χωρισμός του προγράμματος σε μικρότερα αυτοτελή τμήματα επιτρέπει τη γρήγορη διόρθωση ενός συγκεκριμένου τμήματος του χωρίς οι αλλαγές αυτές να επηρεάσουν όλο το υπόλοιπο πρόγραμμα. Επίσης διευκολύνει οποιονδήποτε χρειαστεί να διαβάσει και να κατανοήσει τον τρόπο που λειτουργεί το πρόγραμμα. Αυτό είναι σημαντικό γιατί ένα μεγάλο πρόγραμμα στον κύκλο της ζωής του χρειάζεται να συντηρηθεί από διαφορετικούς προγραμματιστές. Απαιτεί λιγότερο χρόνο και προσπάθεια στη συγγραφή του προγράμματος Πολύ συχνά χρειάζεται η ίδια λειτουργία σε διαφορετικά σημεία ενός προγράμματος. Από τη στιγμή που ένα υποπρόγραμμα έχει γραφεί, μπορεί το ίδιο να καλείται από πολλά σημεία του προγράμματος. Έτσι μειώνουμε το μέγεθος του προγράμματος, ο χρόνος που απαιτείται για τη συγγραφή του και οι πιθανότητες λάθους, ενώ ταυτόχρονα το πρόγραμμα γίνεται πιο εύληπτο και κατανοητό. Επεκτείνει τις δυνατότητες των γλωσσών προγραμματισμού. Ένα υποπρόγραμμα που έχει γραφεί μπορεί να χρησιμοποιηθεί πολύ εύκολα και σε άλλα προγράμματα. Από τη στιγμή που έχει δημιουργηθεί, η χρήση του δεν διαφέρει από τη χρήση των ενσωματωμένων συναρτήσεων που παρέχει 68

69 η γλώσσα προγραμματισμού. Η συγγραφή πολλών υποπρογραμμάτων και η δημιουργία βιβλιοθηκών με αυτά ουσιαστικά επεκτείνουν την ίδια τη γλώσσα προγραμματισμού Παράμετροι Τι ονομάζεται παράμετρος ενός υποπρογράμματος; (2011 Μονάδες 4) Μια παράμετρος είναι μια μεταβλητή που επιτρέπει το πέρασμα της τιμής της από ένα τμήμα προγράμματος σε ένα άλλο Ποια η διαφορά μεταξύ μεταβλητών και παραμέτρων; (Επαναληπτικές 2007 Μονάδες 3) Οι μεταβλητές χρησιμοποιούνται για να παραστήσουν οποιαδήποτε ποσότητα που η τιμή μπορεί να μεταβάλλεται. Οι παράμετροι είναι κι αυτές μεταβλητές με τη διαφορά ότι χρησιμοποιούνται για να περνούν τιμές στα υποπρογράμματα Διαδικασίες και συναρτήσεις Τι είναι συνάρτηση (σε προγραμματιστικό περιβάλλον); Τι είναι διαδικασία (σε προγραμματιστικό περιβάλλον); (2003 Μονάδες 4-4) Η συνάρτηση είναι ένας τύπος υποπρογράμματος που υπολογίζει και επιστρέφει μόνο μία τιμή με το όνομα της (όπως οι μαθηματικές συναρτήσεις) Η διαδικασία είναι ένας τύπος υποπρογράμματος που μπορεί να εκτελεί όλες τις λειτουργίες ενός προγράμματος Ποιά η δομή των συναρτήσεων Κάθε συνάρτηση έχει την ακόλουθη δομή. ΣΥΝΑΡΤΗΣΗ όνομα (λίστα παραμέτρων) : τύπος συνάρτησης Τμήμα δηλώσεων ΑΡΧΗ. Όνομα <- έκφραση.. ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ Το όνομα της συνάρτησης είναι οποιοδήποτε έγκυρο όνομα της ΓΛΩΣΣΑΣ. Η λίστα παραμέτρων είναι μια λίστα μεταβλητών, των οποίων οι τιμές μεταβιβάζονται στη συνάρτηση κατά την κλήση. Μια συνάρτηση μπορεί να επιστρέφει όλους του τύπους δεδομένων της γλώσσας, δηλαδή μπορεί να είναι ΠΡΑΓΜΑΤΙΚΗ, ΑΚΕΡΑΙΑ, ΧΑΡΑΚΤΗΡΑΣ, ΛΟΓΙΚΗ. Στις εντολές του σώματος της συνάρτησης πρέπει υποχρεωτικά να υπάρχει μια εντολή εκχώρησης τιμής στο όνομα της συνάρτησης Ποιός ο τρόπος εκτέλεσης και κλήσης μιας συνάρτησης. Κάθε συνάρτηση εκτελείται, όπως ακριβώς εκτελούνται οι ενσωματωμένες συναρτήσεις της γλώσσας. Απλώς αναφέρεται το όνομά της σε μια έκφραση ή σε μια εντολή και επιστρέφεται η τιμή της. Π.χ. Ε <- Εμβαδό_κύκλου(R). Αυτό επιτυγχάνεται ως εξής. Το κύριο πρόγραμμα πριν την κλήση της συνάρτησης γνωρίζει την τιμή της μεταβλητής R. Κατά την κλήση μεταβιβάζεται αυτή η τιμή στην αντίστοιχη μεταβλητή R της συνάρτησης. Η συνάρτηση υπολογίζει το εμβαδό του κύκλου και το αποτέλεσμα αυτό εκχωρείται στο όνομα της συνάρτησης. Με το τέλος της συνάρτησης γίνεται επιστροφή στο κύριο πρόγραμμα, όπου η τιμή του εμβαδού εκχωρείται στη μεταβλητή E Περιγράψτε τη δομή των διαδικασιών Κάθε διαδικασία έχει την ακόλουθη δομή ΔΙΑΔΙΚΑΣΙΑ Όνομα (λίστα παραμέτρων) Τμήμα δηλώσεων ΑΡΧΗ Εντολές ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ Το όνομα της διαδικασίας είναι οποιοδήποτε έγκυρο όνομα της ΓΛΩΣΣΑΣ. Η λίστα παραμέτρων είναι μια λίστα μεταβλητών, των οποίων οι τιμές μεταβιβάζονται προς τη διαδικασία κατά την κλήση ή/και 69

70 επιστρέφονται στο κύριο πρόγραμμα μετά το τέλος της διαδικασίας. Στο σώμα της διαδικασίας μπορούν να υπάρχουν οποιεσδήποτε εντολές της γλώσσας Περιγράψτε τον τρόπο κλήσης μιας διαδικασίας Κάθε διαδικασία εκτελείται όταν καλείται από το κύριο πρόγραμμα ή άλλη διαδικασία. Η κλήση σε διαδικασία πραγματοποιείται με την εντολή ΚΑΛΕΣΕ, που ακολουθείται από το όνομα της διαδικασίας συνοδευόμενο μέσα σε παρενθέσεις με τη λίστα παραμέτρων. Η γενική μορφή της εντολής ΚΑΛΕΣΕ είναι ΚΑΛΕΣΕ όνομα-διαδικασίας (λίστα-παραμέτρων) Παράδειγμα ΚΑΛΕΣΕ Πράξεις(Α, Β, Διαφορά) Η εκτέλεση του προγράμματος διακόπτεται και εκτελούνται οι εντολές της διαδικασίας που καλείται. Μετά το τέλος της διαδικασίας η εκτέλεση του προγράμματος συνεχίζεται από την εντολή που ακολουθεί. Η λίστα των παραμέτρων ορίζει τις τιμές που περνούν στη διαδικασία και τις τιμές που αυτή επιστρέφει. Η λίστα παραμέτρων δεν είναι υποχρεωτική Ποια η διαφορά μεταξύ τυπικών και πραγματικών παραμέτρων; (Επαναληπτικές 2007 Μονάδες 3) Η λίστα των τυπικών παραμέτρων (formal parameter list) καθορίζει τις παραμέτρους στη δήλωση του υποπρογράμματος. Η λίστα των πραγματικών παραμέτρων (actual parameter list) καθορίζει τις παραμέτρους στη κλήση του υποπρογράμματος Εξηγήστε δίνοντας ένα παράδειγμα τη διαφορά μεταξύ πραγματικών και τυπικών παραμέτρων; Δίνεται το επόμενο πρόγραμμα το οποίο δέχεται στην είσοδο δύο τιμές και υπολογίζει και επιστρέφει το άθροισμα και τη διαφορά τους. ΠΡΟΓΡΑΜΜΑ Παράδειγμα_3 Α <-5 Β<-7 ΚΑΛΕΣΕ Πράξεις (Α, Β, Διαφ1, Αθρ1) Α<-9 Β<-6 ΚΑΛΕΣΕ Πράξεις(Α, Β, Διαφ2, Αθρ2) ΔΙΑΔΙΚΑΣΙΑ Πράξεις(Χ, Υ, Διαφορά, Άθροισμα) ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ : Χ, Υ, Διαφορά, Άθροισμα ΑΡΧΗ Διαφορά <- Χ-Υ Άθροισμα <- Χ+Υ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ Οι μεταβλητές Α, Β, Διαφ1, Αθρ1, Α, Β, Διαφ2, Αθρ2 είναι μεταβλητές του προγράμματος Παράδειγμα_3 και αποτελούν τις πραγματικές παραμέτρους, ενώ οι μεταβλητές Χ, Υ, Διαφορά, Άθροισμα είναι μεταβλητές της διαδικασίας Πράξεις και ονομάζονται τυπικές παράμετροι. Πρέπει να σημειωθεί εδώ ότι πολλές γλώσσες ονομάζουν ορίσματα τις τυπικές παραμέτρους και απλά παραμέτρους τις πραγματικές παραμέτρους Οι μεταβλητές X,Y, Διαφ1 καθώς και όλες οι μεταβλητές του προγράμματος Παράδειγμα_3 δεν είναι γνωστές στη διαδικασία Πράξεις και αντίστοιχα όλες οι μεταβλητές της διαδικασίας Πράξεις είναι άγνωστες στο πρόγραμμα Παράδειγμα_3. Τα ονόματα των τυπικών και των πραγματικών παραμέτρων μπορούν να είναι οποιαδήποτε. Αφού είναι ονόματα μεταβλητών σε διαφορετικά τμήματα προγράμματος είναι υποχρεωτικά διαφορετικές μεταβλητές, άσχετα αν έχουν το ίδιο όνομα. Α Β Διαφ1 Άθρ1 (α) 5 7 Α Β Διαφ1 Άθρ1 5 7 (β) 5 7 Χ Υ Διαφορά Άθροισμα Χ Υ Διαφορά Άθροισμα (γ) Α Β Διαφ1 Άθρ (γ) Χ Υ Διαφορά Άθροισμα 70

71 Πέρασμα παραμέτρων κατά την κλήση διαδικασιών. (α) Κατάσταση πριν την κλήση (β) Μεταβίβαση τιμών των μεταβλητών Α και Β στις Χ και Υ αντίστοιχα (γ) Στη διαδικασία εκχωρούνται τιμές στις μεταβλητές Διαφορά και Άθροισμα. (δ) Οι τιμές των τελευταίων επιστρέφονται στις Διαφ1 και Αθρ1 μετά το τέλος της διαδικασίας Να αναφέρετε τους κανόνες που πρέπει να ακολουθούν οι λίστες των παραμέτρων κατά την κλήση ενός υποπρογράμματος. ( Μονάδες 9) Οι λίστες των παραμέτρων πρέπει να ακολουθούν τους εξής κανόνες: Ο αριθμός των πραγματικών και των τυπικών παραμέτρων πρέπει να είναι ίδιος. Κάθε πραγματική παράμετρος αντιστοιχεί στη τυπική παράμετρο που βρίσκεται στην αντίστοιχη θέση. Η τυπική παράμετρος και η αντίστοιχή της πραγματική πρέπει να είναι του ίδιου τύπου Όταν καλείται ένα υποπρόγραμμα, η διεύθυνση επιστροφής αποθηκεύεται σε μια στοίβα. Να εξηγήσετε γιατί απαιτείται η χρήση στοίβας και όχι ουράς. (Επαναληπτικές 2014 Μονάδες 4) Η έννοια της στοίβας είναι πολύ χρήσιμη στο ίδιο το λογισμικό των γλωσσών προγραμματισμού. Όταν μία διαδικασία ή συνάρτηση καλείται από το κύριο πρόγραμμα, τότε η αμέσως επόμενη διεύθυνση του κύριου προγράμματος, που ονομάζεται διεύθυνση επιστροφής (return address), αποθηκεύεται από το μεταφραστή σε μία στοίβα που ονομάζεται στοίβα χρόνου εκτέλεσης (execution time stack). Μετά την εκτέλεση της διαδικασίας ή της συνάρτησης η διεύθυνση επιστροφής απωθείται από τη στοίβα και έτσι ο έλεγχος του προγράμματος μεταφέρεται και πάλι στο κύριο πρόγραμμα. Η τεχνική αυτή εφαρμόζεται και γενικότερα, δηλαδή οποτεδήποτε μία διαδικασία ή συνάρτηση καλεί μία διαδικασία ή συνάρτηση. Για παράδειγμα, έστω ότι μία διαδικασία a καλεί τη διαδικασία b, που με τη σειρά της καλεί τη διαδικασία c κοκ. Στην περίπτωση αυτή οι διευθύνσεις επιστροφής εμφανίζονται στη στοίβα με σειρά c, b, a. Μετά την εκτέλεση κάθε διαδικασίας, η διεύθυνση επιστροφής απωθείται από τη στοίβα και ο έλεγχος μεταβιβάζεται στη διεύθυνση αυτή. Το παράδειγμα αυτό δείχνει μία από τις πολλές χρησιμότητες της LIFO ιδιότητας της στοίβας Εμβέλεια μεταβλητών-σταθερών Τι καλείται εμβέλεια (scope) μίας μεταβλητής; Το τμήμα του προγράμματος που ισχύουν οι μεταβλητές λέγεται εμβέλεια (scope) μεταβλητών α. Ποιες μεταβλητές ονομάζονται καθολικές; β. Η χρήση καθολικών μεταβλητών σε ένα πρόγραμμα καταστρατηγεί μία από τις βασικές αρχές του τμηματικού προγραμματισμού (ιδιότητες που πρέπει να διακρίνουν τα υποπρογράμματα). Να αναφέρετε ποια είναι αυτή η ιδιότητα και να εξηγήσετε γιατί καταστρατηγείται. (2016 Μονάδες 2 4) Σύμφωνα με την αρχή της απεριόριστης εμβέλειας όλες οι μεταβλητές και όλες οι σταθερές είναι γνωστές και μπορούν να χρησιμοποιούνται σε οποιοδήποτε τμήμα του προγράμματος, άσχετα που δηλώθηκαν. Όλες οι μεταβλητές είναι καθολικές. Μειονέκτημά της η καταστρατήγηση της αρχής της αυτονομίας των υποπρογραμμάτων, δημιουργεί πολλά προβλήματα και τελικά είναι αδύνατη για μεγάλα προγράμματα με πολλά υποπρογράμματα, αφού ο καθένας που γράφει κάποιο υποπρόγραμμα πρέπει να γνωρίζει τα ονόματα όλων των μεταβλητών που χρησιμοποιούνται στα υπόλοιπα υποπρογράμματα Προσδιορίστε την περιοχή εμβέλειας στην περίπτωση περιορισμένης εμβέλειας. Ποιο το πλεονέκτημα της μεθόδου αυτής σε σχέση με την υλοποίηση υποπρογραμμάτων και την αυτονομία τους. 71

72 Η περιορισμένη εμβέλεια υποχρεώνει όλες τις μεταβλητές που χρησιμοποιούνται σε ένα τμήμα προγράμματος, να δηλώνονται σε αυτό το τμήμα. Όλες οι μεταβλητές είναι τοπικές, ισχύουν δηλαδή για το υποπρόγραμμα στο οποίο δηλώθηκαν. Τα πλεονεκτήματα της περιορισμένης εμβέλειας είναι η απόλυτη αυτονομία όλων των υποπρογραμμάτων και η δυνατότητα να χρησιμοποιείται οποιοδήποτε όνομα, χωρίς να ενδιαφέρει αν το ίδιο χρησιμοποιείται σε άλλο υποπρόγραμμα Ποια προσέγγιση χρησιμοποιεί η Γλώσσα; Στη ΓΛΩΣΣΑ έχουμε περιορισμένη εμβέλεια Προσδιορίστε την περιοχή εμβέλειας στην περίπτωση μερικώς περιορισμένης εμβέλειας. Σύμφωνα με την αρχή της μερικώς περιορισμένης εμβέλειας, άλλες μεταβλητές είναι τοπικές και άλλες καθολικές. Κάθε γλώσσα προγραμματισμού έχει τους δικούς της κανόνες και μηχανισμούς για τον τρόπο και τις προϋποθέσεις που ορίζονται οι μεταβλητές ως τοπικές ή καθολικές. Προσφέρει μερικά πλεονεκτήματα στον πεπειραμένο προγραμματιστή, αλλά για τον αρχάριο περιπλέκει το πρόγραμμα δυσκολεύοντας την ανάπτυξή του. Ώθηση - Απώθηση Να υλοποιηθούν τα υποπρογράμματα Ώθηση (Push) και Απώθηση (Pop) που εκτελούν τις αντίστοιχες λειτουργίες σε μία στοίβα. Παράμετροι στα υποπρογράμματα θα είναι μία λογική μεταβλητή, έστω done που επιστρέφει τιμή ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ αναλόγως αν έγινε η ώθηση ή η απώθηση στη στοίβα ο πίνακας, έστω Α, που θα υλοποιεί η στοίβα, το ίδιο το στοιχείο αλλά και ο δείκτης topπου δείχνει στην κορυφή της στοίβας. Το μέγεθος Ν του πίνακα να δηλωθεί ως συμβολική σταθερά για να μπορεί να αλλαχθεί ανάλογα με το πρόβλημα. ΔΙΑΔΙΚΑΣΙΑ ΩΘΗΣΗ (Α, στοιχείο, top, done) ΣΤΑΘΕΡΕΣ Ν = 10 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: top ΧΑΡΑΚΤΗΡΕΣ: στοιχείο, Α[Ν] ΛΟΓΙΚΕΣ: done ΑΡΧΗ ΑΝ top < Ν ΤΟΤΕ top <- top + 1 Α[top] <- στοιχείο done <- ΑΛΗΘΗΣ ΑΛΛΙΩΣ done <- ΨΕΥΔΗΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ Ερωτήσεις θεωρίας ΔΙΑΔΙΚΑΣΙΑ ΑΠΩΘΗΣΗ (Α, στοιχείο, top, done) ΣΤΑΘΕΡΕΣ Ν = 10 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: top ΧΑΡΑΚΤΗΡΕΣ: στοιχείο, Α[Ν] ΛΟΓΙΚΕΣ: done ΑΡΧΗ ΑΝ top >= 1 ΤΟΤΕ στοιχείο <- Α[top] top <- top - 1 done <- ΑΛΗΘΗΣ ΑΛΛΙΩΣ done <- ΨΕΥΔΗΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ Τμηματικός προγραμματισμός, χαρακτηριστικά και πλεονεκτήματα Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λάθος Σωστή Λάθος Πρόταση 1 Το κυρίως πρόγραμμα πρέπει να είναι πολύ μεγαλύτερο από τα υποπρογράμματα. 2 Όταν ένα τμήμα προγράμματος επιτελεί ένα αυτόνομο έργο και έχει γραφεί χωριστά από το υπόλοιπο πρόγραμμα, τότε αναφερόμαστε σε υποπρόγραμμα. 3 Χαρακτηριστικό κάθε υποπρογράμματος της ΓΛΩΣΣΑΣ είναι ότι μπορεί να έχει μόνο μία είσοδο με την οποία ενεργοποιείται αλλά πολλές εξόδους από τις οποίες απενεργοποιείται. 4 Πλεονέκτημα του τμηματικού προγραμματισμού αποτελεί το γεγονός ότι τα προγράμματα που κάνουν χρήση του απαιτούν λιγότερο χρόνο εκτέλεσης. 72

73 5 Από τη στιγμή που ένα υποπρόγραμμα έχει γραφεί, μπορεί το ίδιο να καλείται από πολλά σημεία του προγράμματος. Παράμετροι Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λάθος Σωστή Λάθος Πρόταση Κατά την κλήση ενός υποπρογράμματος, κάθε πραγματική παράμετρος και η 1 αντίστοιχή της τυπική πρέπει να είναι του ίδιου τύπου. (Επαναληπτικές 2014 Μονάδες 2) 2 Η λίστα των πραγματικών παραμέτρων καθορίζει τις παραμέτρους στην κλήση του υποπρογράμματος. ( Μονάδες 2) 3 Στη διαδικασία η λίστα παραμέτρων είναι υποχρεωτική. ( Μονάδες 2) 4 Κατά την κλήση ενός υποπρογράμματος η πραγματική παράμετρος και η αντίστοιχη τυπική της είναι δυνατόν να έχουν το ίδιο όνομα. ( Μονάδες 2) 5 Όταν ένα υποπρόγραμμα καλείται από διαφορετικά σημεία του προγράμματος, οι πραγματικές παράμετροι πρέπει να είναι οι ίδιες. ( Μονάδες 2) Διαδικασίες και συναρτήσεις Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λάθος Σωστή Λάθος Πρόταση 1 Ένα υποπρόγραμμα μπορεί να καλείται μόνο από το κύριο πρόγραμμα. ( Μονάδες 2) 2 Μια συνάρτηση υπολογίζει και επιστρέφει παραπάνω από μία τιμές με το όνομά της. (Επαναληπτικές Μονάδες 2) 3 Μεταξύ των εντολών του σώματος μιας συνάρτησης πρέπει υποχρεωτικά να υπάρχει τουλάχιστον μία εντολή εκχώρησης τιμής στο όνομα της συνάρτησης.(2014 Μονάδες 2) 4 Οι διαδικασίες επιτρέπεται να μεταβάλλουν τις τιμές των παραμέτρων που δέχονται από το κυρίως πρόγραμμα 5 Η λειτουργία των διαδικασιών είναι πιο περιορισμένη από τη λειτουργία των συναρτήσεων Για ποιες από τις παρακάτω περιπτώσεις μπορεί να χρησιμοποιηθεί συνάρτηση; α. Εισαγωγή ενός δεδομένου β. Υπολογισμός του μικρότερου από πέντε ακεραίους γ. Υπολογισμός των δύο μικρότερων από πέντε ακεραίους δ. Έλεγχος αν δυο αριθμοί είναι ίσοι ε. Ταξινόμηση πέντε αριθμών στ. Έλεγχος αν ένας χαρακτήρας είναι φωνήεν ή σύμφωνο Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λάθος Σωστή Λάθος Πρόταση ( Μονάδες 6) 1 Όταν ένα υποπρόγραμμα καλείται από το κύριο πρόγραμμα, η διεύθυνση επιστροφής αποθηκεύεται από το μεταφραστή σε μια ουρά. (Επαναληπτικές Μονάδες 2) 2 Μία διαδικασία μπορεί να καλέσει το κυρίως πρόγραμμα. 3 Όταν ένα υποπρόγραμμα καλείται από το κύριο πρόγραμμα, η διεύθυνση επιστροφής αποθηκεύεται από το μεταφραστή σε μια στοίβα. 4 Όταν ένα υποπρόγραμμα καλείται από το κύριο πρόγραμμα, η διεύθυνση επιστροφής είναι η αμέσως προηγούμενη διεύθυνση του κυρίου προγράμματος, από αυτή του υποπρογράμματος. 5 Κατά την εκτέλεση ενός προγράμματος, αν η στοίβα χρόνου εκτέλεσης περιέχει δύο τιμές, αυτό σημαίνει ότι ένα υποπρόγραμμα που έχει κληθεί από το κύριο πρόγραμμα έχει καλέσει με τη σειρά του ένα άλλο υποπρόγραμμα. (το στέκι) 73

74 Εμβέλεια Σημειώστε αντίστοιχα δίπλα από κάθε πρόταση αν είναι σωστή ή λάθος Σωστή Λάθος Πρόταση 1 Στη ΓΛΩΣΣΑ έχουμε απεριόριστη εμβέλεια. Στην απεριόριστη εμβέλεια όλες οι μεταβλητές και όλες οι σταθερές είναι 2 γνωστές και μπορούν να χρησιμοποιούνται σε οποιοδήποτε τμήμα του προγράμματος, άσχετα που δηλώθηκαν. 3 Οι μεταβλητές καλούνται τοπικές όταν ισχύουν για το υποπρόγραμμα στο οποίο δηλώθηκαν και σε όσα υποπρογράμματα καλέστηκαν από αυτό. Στην απεριόριστη εμβέλεια μπορούμε να χρησιμοποιήσουμε οποιοδήποτε όνομα 4 μεταβλητής χωρίς να χρειάζεται να γνωρίζουμε όλα τα ονόματα των μεταβλητών που χρησιμοποιούνται στα υπόλοιπα υποπρογράμματα. Όταν ένα υποπρόγραμμα καλείται από το κύριο πρόγραμμα, η διεύθυνση 5 επιστροφής αποθηκεύεται από το μεταφραστή σε μια ουρά. (Επαναληπτικές Μονάδες 2) Πίνακες τιμών Δίνεται το παρακάτω πρόγραμμα το οποίο διαβάζει τις θερμοκρασίες διαφόρων ημερών του μήνα, έστω 30, και υπολογίζει τη μέση θερμοκρασία του μήνα. ΠΡΟΓΡΑΜΜΑ Θερμοκρασίες ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Θερμοκρασία [30], Μέση, Σύνολο ΑΚΕΡΑΙΕΣ: i ΑΡΧΗ Σύνολο 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 30 ΓΡΑΨΕ Δώσε τη θερμοκρασία ΔΙΑΒΑΣΕ Θερμοκρασία [i] Σύνολο Σύνολο + Θερμοκρασία [i] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Μέση Σύνολο/30 ΓΡΑΨΕ Μέση Θερμοκρασία:, Μέση ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ A. Να γραφεί αντίστοιχο πρόγραμμα (που να κάνει τους ίδιους υπολογισμούς) χωρίς τη χρήση πίνακα. B. Έστω ότι οι τιμές των θερμοκρασιών έχουν δοθεί στην κλίμακα Κελσίου. Να τροποποιηθεί το πρόγραμμα που δόθηκε έτσι, ώστε κάνοντας χρήση συνάρτησης να μετατρέπονται οι θερμοκρασίες από την κλίμακα Κελσίου σε κλίμακα Φαρενάιτ. Ο τύπος μετατροπής από Κελσίου σε Φαρενάιτ είναι: 9* ί ά 32 5 (Επαναληπτικές 2005 Μονάδες 10-10) Δίνεται παρακάτω ένα πρόγραμμα με ένα υποπρόγραμμα ΠΡΟΓΡΑΜΜΑ Υπολογισμοί ΣΥΝΑΡΤΗΣΗ Πράξη(χ,ψ):ΠΡΑΓΜΑΤΙΚΗ ΜΕΤΑΒΛΗΤΕΣ ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: α, β, γ ΠΡΑΓΜΑΤΙΚΕΣ: χ,ψ ΑΡΧΗ ΑΡΧΗ ΔΙΑΒΑΣΕ α, β ΑΝ χ>=ψ ΤΟΤΕ γ α+ Πράξη(α, β) Πράξη χ-ψ ΓΡΑΨΕ γ ΑΛΛΙΩΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Υπολογισμοί Πράξη χ+ψ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ α. Να ξαναγράψετε το πρόγραμμα, ώστε να επιτελεί την ίδια λειτουργία χρησιμοποιώντας διαδικασία αντί συνάρτησης. β. Να ξαναγράψετε το πρόγραμμα που δόθηκε αρχικά, ώστε να επιτελεί την ίδια λειτουργία χωρίς τη χρήση υποπρογράμματος. 74

75 γ. Να γράψετε στο τετράδιό σας τις τιμές που θα εμφανιστούν κατά την εκτέλεση του αρχικού προγράμματος που δόθηκε, αν ως τιμές εισόδου δοθούν οι αριθμοί: i. α=10 β=5ii. α= 5 β=5iii.α=3 β=5 (2007 Μονάδες 7 7-6) Δίνεται το παρακάτω πρόγραμμα και υποπρογράμματα: ΠΡΟΓΡΑΜΜΑ Κλ_Υπ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: α, β, χ ΑΡΧΗ α 1 β 2 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ α<= 4 ΤΟΤΕ ΚΑΛΕΣΕ Διαδ1(α, β, χ) ΑΛΛΙΩΣ χ Συν1(α, β) ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ α, β, χ ΜΕΧΡΙΣ_ΟΤΟΥ χ>11 ΓΡΑΨΕ χ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ Διαδ1 (λ, κ, μ) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: κ, λ, μ ΑΡΧΗ κ κ+1 λ λ+3 μ κ+λ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΣΥΝΑΡΤΗΣΗ Συν1(ε, ζ): ΑΚΕΡΑΙΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: ε, ζ ΑΡΧΗ ζ ζ+2 ε ε*2 Συν1 ε+ζ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ Να γράψετε στο τετράδιό σας τις τιμές που θα εμφανιστούν κατά την εκτέλεση του προγράμματος. (Επαναληπτικές Μονάδες 20) Δίνεται το παρακάτω πρόγραμμα: Πρόγραμμα Κλήση_Υποπρογραμμά Μεταβλητές Ακέραιες: α, β, γ, π Αρχή Διάβασε α β γ Φ(α,β) α α+γ Αν α>20 τότε γ Φ(β,α) Αλλιώς γ Φ(γ,α) Τέλος_αν π Όσο γ mod 10=0 επανάλαβε π π γ γ div Τέλος_επανάληψης Γράψε γ,π Τέλος_προγράμματος Συνάρτηση Φ(μ, λ): Ακέραια Μεταβλητές Ακέραιες: κ, λ, μ Αρχή κ λ+μ Φ κ^μ Τέλος_συνάρτησης Αριθμός Γραμμής Έξοδος Συνθήκη α β γ π Για την παρακολούθηση της εκτέλεσης του προγράμματος με τιμή εισόδου α=2, δίνεται το παρακάτω υπόδειγμα πίνακα τιμών, μερικώς συμπληρωμένο ως εξής: Στη στήλη με τίτλο «αριθμός γραμμής» καταγράφεται ο αριθμός γραμμής της εντολής που εκτελείται. Στη στήλη με τίτλο «έξοδος» καταγράφεται η τιμή εξόδου, εφόσον η εντολή που εκτελείται είναι εντολή εξόδου. Στη στήλη με τίτλο «συνθήκη» καταγράφεται η λογική τιμή ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ, εφόσον η εντολή που εκτελείται περιλαμβάνει συνθήκη. Οι υπόλοιπες στήλες του πίνακα αντιστοιχούν στις μεταβλητές του κυρίου προγράμματος. Σε όποια σημεία καλείται υποπρόγραμμα και κατά τη διάρκεια της εκτέλεσής του, ο πίνακας επεκτείνεται με μια στήλη για κάθε μεταβλητή του υποπρογράμματος. Να μεταφέρετε τον πίνακα στο τετράδιό σας και να προσθέσετε τις γραμμές που χρειάζονται, συνεχίζοντας την εκτέλεση του προγράμματος, ως εξής: Για κάθε εντολή που εκτελείται, να γράψετε τον αριθμό της γραμμής της εντολής σε νέα γραμμή του πίνακα και το αποτέλεσμα της εκτέλεσης της εντολής στην αντίστοιχη στήλη Φ κ λ μ

76 Δίνεται το παρακάτω τμήμα προγράμματος και συνάρτηση: Να γράψετε στο τετράδιό σας τις τιμές των μεταβλητών L, A, X, όπως αυτές εκτυπώνονται σε κάθε επανάληψη, όταν για είσοδο δώσουμε την τιμή 10. (2005 Μονάδες 20) (Επαναληπτικές Μονάδες 20) Διάβασε Κ L 2 A 1 Όσο Α < 8 επανάλαβε Αν Κ MOD L = 0 τότε Χ Fun(A, L) αλλιώς Χ Α + L Τέλος_αν ΕμφάνισεL,A,X A A + 2 L L + 1 Tέλος_επανάληψης Συνάρτηση Fun(Β, Δ) : Ακέραια Μεταβλητές Ακέραιες: Β, Δ Αρχή Fun (B + Δ) DIV 2 Tέλος_συνάρτησης Δίνεται το παρακάτω πρόγραμμα και υποπρόγραμμα τα οποία έχουν κενά: ΠΡΟΓΡΑΜΜΑ ΤΑΔΕ ΜΕΤΑΒΛΗΤΕΣ (Θέση1) ΑΡΧΗ ΔΙΑΒΑΣΕ χ, y (Θέση2) ( χ, y) ΓΡΑΨΕ ΤΟ ΑΠΟΤΕΛΕΣΜΑ ΕΙΝΑΙ, κ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ (Θέση3) Πράξη ( ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: α, β, χ ΑΡΧΗ χ 0 ΟΣΟ α >=β ΕΠΑΝΑΛΑΒΕ α α - β χ χ + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Πράξη χ (Θέση4) 1. Να συμπληρώσετε στο κυρίως πρόγραμμα : Το τμήμα δηλώσεων (Θέση1) Την εντολή κλήσης του υποπρογράμματος (Θέση2) 2. Να συμπληρώσετε στο υποπρόγραμμα : Τη γραμμή δήλωσης του υποπρογράμματος με τις μεταβλητές-παραμέτρους που δέχεται και επιστρέφει. (Θέση3) Τη δήλωση που ολοκληρώνει το υποπρόγραμμα (Θέση4) 3. Να γράψετε τι ακριβώς υπολογίζει το παραπάνω υποπρόγραμμα;(μονάδες 2) (πηγή το στέκι) 76

77 Ασκήσεις Να γραφούν κατάλληλα υποπρογράμματα που θα υλοποιούν τις επόμενες λειτουργίες 1) θα δέχεται έναν ακέραιο αριθμό και θα επιστρέφει το τετράγωνό του. 2) θα ελέγχει αν ένας αριθμός είναι θετικός διψήφιος και θα επιστρέφει ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ. 3) θα διαβάζει ένα σύνολο πραγματικών αριθμών από το πληκτρολόγιο και θα εμφανίζει το άθροισμά τους. 4) θα δέχεται τις συντεταγμένες ενός σημείου του διπλανού σχήματος και θα επιστρέφει Αληθής εάν το σημείο είναι μέσα στην γκρίζα περιοχή ή Ψευδής σε διαφορετική περίπτωση. Σημειώνεται ότι αν το σημείο είναι εκτός της περιοχής που φαίνεται στο σχήμα θα πρέπει επίσης να επιστρέφεται ψευδής. 5) θα υπολογίζει και θα επιστρέφει το μέσο όρο ενός πίνακα ακεραίων 100 θέσεων. 6) θα υπολογίζει και θα επιστρέφει το μέγιστο και το ελάχιστο ενός πίνακα ακεραίων 100 θέσεων. 7) Θα ελέγχει αν ένας ακέραιος αριθμός είναι άρτιος και θα επιστρέφει ΑΛΗΘΗΣ στην περίπτωση αυτή και ΨΕΥΔΗΣ στην περίπτωση που είναι περιττός. 8) θα δέχεται έναν ακέραιο αριθμό και θα επιστρέφει το άθροισμα των ψηφίων του. 9) θα δέχεται την μάζα και την ταχύτητα ενός σώματος που κινείται ευθύγραμμα και ομαλά και να υπολογίζει και να επιστρέφει την κινητική του ενέργεια. Δίνεται ο διπλανός τύπος. 10) θα δέχεται έναν πραγματικό αριθμό x και να επιστρέφει την τιμή της διπλανής συνάρτησης για το δεδομένο x. 2 11) θα βρίσκει αν ένας πίνακας χαρακτήρων μεγέθους 50 θέσεων είναι ταξινομημένος σε αύξουσα σειρά ή όχι. Θα επιστρέφει ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ αντίστοιχα. 12) θα δέχεται έναν πραγματικό αριθμό και να επιστρέφει τον πλησιέστερο ακέραιο. Υποθέστε ότι ο πλησιέστερος ακέραιος π.χ. του 2.5 είναι ο 3 κ.ο.κ. Υπενθύμιση: Α_Μ(Χ): ακέραιο μέρος του Χ. Υποθέστε ότι ο αριθμός είναι θετικός Ο υπολογισμός του e x γίνεται με προσεγγιστικό, αριθμητικό τρόπο στους υπολογιστές με την επόμενη ακολουθία N x x x x x e 1 x... 2! 3! 4! N! Το Ν! είναι το παραγοντικό ενός αριθμού και ισούται με: N! N 1 N. Έτσι για παράδειγμα: 5! Να γραφεί υποπρόγραμμα που θα δέχεται το πλήθος των όρων της ακολουθίας και θα επιστρέφει την προσεγγιστική τιμή του e x Να γραφεί πρόγραμμα το οποίο: α. Θα διαβάζει δυο πραγματικούς αριθμούς β. Θα καλεί μια συνάρτηση η οποία θα συγκρίνει τους δύο αριθμούς και στη συνέχεια θα επιστρέφει: i. το μήνυμα «είναι ίσοι» σε περίπτωση που οι δύο αριθμοί είναι ίσοι ή ii. το μήνυμα «ο πρώτος είναι μεγαλύτερος», στην περίπτωση όπου ο πρώτος αριθμός είναι μεγαλύτερος ή iii. το μήνυμα «ο δεύτερος είναι μεγαλύτερος», στην περίπτωση όπου ο δεύτερος αριθμός ήταν μεγαλύτερος του πρώτου γ. Να τυπώνει το μήνυμα το οποίο θα επιστρέφει η συνάρτηση. δ. Να υλοποιεί την συνάρτηση του ερωτήματος β Να γραφεί πρόγραμμα το οποίο αφού διαβάσει 100 πραγματικούς αριθμούς θα τους ταξινομεί σε αύξουσα σειρά. Για να γίνει αυτό θα πρέπει να καλείται υποπρόγραμμα το οποίο θα δέχεται δυο πραγματικούς αριθμούς και θα αντιμεταθέτει τις τιμές τους. Πρέπει να υλοποιηθεί και το υποπρόγραμμα Να γραφεί υποπρόγραμμα το οποίο θα δέχεται τον αρχικό πληθυσμό μίας πόλης το ετήσιο ποσοστό αύξησης (ή μείωσης) του πληθυσμού και έναν αριθμό χρόνων και θα επιστρέφει τον πληθυσμό μετά από τα χρόνια αυτά. Να γραφεί κυρίως πρόγραμμα που να συγκρίνει τον πληθυσμό μετά από 15 χρόνια του τόπου Α όπου ο αρχικός πληθυσμός είναι και το ετήσιο ποσοστό αύξησης είναι 3% (0.03) με τον τόπο Β με αρχικό πληθυσμό και ετήσια αύξηση 2% (0.02) και να εμφανίζει ανάλογο μήνυμα Να γραφεί πρόγραμμα το οποίο διαβάζει και αποθηκεύει σε έναν πίνακα χαρακτήρα, χαρακτήρα τα γράμματα μιας λέξης ή μιας φράσης (μέχρι 50 χαρακτήρες) με τελευταίο χαρακτήρα την τελεία.. Στη 77 f 1 E m u 2 x 2 ( x 8) 2

Πρόβλημα 29 / σελίδα 28

Πρόβλημα 29 / σελίδα 28 Πρόβλημα 29 / σελίδα 28 Πρόβλημα 30 / σελίδα 28 Αντιμετάθεση / σελίδα 10 Να γράψετε αλγόριθμο, οποίος θα διαβάζει τα περιεχόμενα δύο μεταβλητών Α και Β, στη συνέχεια να αντιμεταθέτει τα περιεχόμενά τους

Διαβάστε περισσότερα

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

Διαβάστε περισσότερα

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ ) Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ. 25 48) Τι είναι αλγόριθμος; Γ ΛΥΚΕΙΟΥ Αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρονικό διάστημα,

Διαβάστε περισσότερα

1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα.

1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα. 1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα. ΑΠΑΝΤΗΣΗ Ορισμός: Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός

Διαβάστε περισσότερα

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ ) Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ. 147 159) Για τις γλώσσες προγραμματισμού πρέπει να έχουμε υπόψη ότι: Κάθε γλώσσα προγραμματισμού σχεδιάζεται για συγκεκριμένο σκοπό, δίνοντας ιδιαίτερη

Διαβάστε περισσότερα

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο Εισαγωγή - Βασικές έννοιες Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος 2012-13 A Εξάμηνο Αλγόριθμος Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων

Διαβάστε περισσότερα

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με: Αλγόριθμοι 2.2.1. Ορισμός: Αλγόριθμος είναι μια πεπερασμένη σειρά εντολών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Τα κυριότερα χρησιμοποιούμενα

Διαβάστε περισσότερα

θέμα των Πανελλαδικών Εξετάσεων

θέμα των Πανελλαδικών Εξετάσεων Θέμα 2000. 1. Σωστό (Σ) Λάθος (Λ). i. Η περατότητα ενός αλγορίθμου αναφέρεται στο γεγονός ότι καταλήγει στη λύση του προβλήματος μετά από πεπερασμένο αριθμό βημάτων (εντολών). Μονάδες 4 ii. Για να αναπαραστήσουμε

Διαβάστε περισσότερα

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Α2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών Α3. Ο αλγόριθμος

Διαβάστε περισσότερα

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ Κεφαλαία και μικρά γράμματα ελληνικού αλφαβήτου: Α Ω και α ω Κεφαλαία και μικρά γράμματα λατινικού αλφαβήτου: A Z και a z Αριθμητικά ψηφία: 0 9 Ειδικοί χαρακτήρες: + - * / =. ( ),! & κενός

Διαβάστε περισσότερα

Ενδεικτικές Ερωτήσεις Θεωρίας

Ενδεικτικές Ερωτήσεις Θεωρίας Ενδεικτικές Ερωτήσεις Θεωρίας Κεφάλαιο 2 1. Τι καλούμε αλγόριθμο; 2. Ποια κριτήρια πρέπει οπωσδήποτε να ικανοποιεί ένας αλγόριθμος; 3. Πώς ονομάζεται μια διαδικασία που δεν περατώνεται μετά από συγκεκριμένο

Διαβάστε περισσότερα

! Δεν μπορούν να λυθούν όλα τα προβλήματα κάνοντας χρήση του παρ/λου προγ/σμου ΑΡΧΗ ΝΑΙ Διάβα σε a Εκτύπ ωσε a > a 0 ΟΧΙ ΤΕΛΟΣ Σύμβολα διαγράμματος ροής 1 Ακέραιος τύπος 14 0-67 2 Πραγματικός τύπος

Διαβάστε περισσότερα

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων Πληροφορικής 2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών 3. Ο αλγόριθμος

Διαβάστε περισσότερα

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

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. AeppAcademy.com facebook.com/aeppacademy Γεια. Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. Καλή Ανάγνωση & Καλή Επιτυχία

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα. ΚΕΦΑΛΑΙΟ 7 ο 1. Επιλογή της κατάλληλης γλώσσας προγραµµατισµού Εκατοντάδες γλώσσες προγραµµατισµού χρησιµοποιούνται όπως αναφέρθηκε σήµερα για την επίλυση των προβληµάτων µε τον υπολογιστή, τη δηµιουργία

Διαβάστε περισσότερα

επιµέλεια Θοδωρής Πιερράτος

επιµέλεια Θοδωρής Πιερράτος Βασικές έννοιες προγραµµατισµού Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως,

Διαβάστε περισσότερα

Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος

Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος Ενότητες βιβλίου: 6.3, 7.1-7.6, 7.10, 8.1 Ώρες διδασκαλίας: 2 Φυσικές

Διαβάστε περισσότερα

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Γ Λυκείου Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον ΜΕΡΟΣ I. ΑΛΓΟΡΙΘΜΟΣ ΦΥΣΙΚΕΣ & ΤΕΧΝΗΤΕΣ ΓΛΩΣΣΕΣ ΑΚΟΛΟΥΘΙΑ Περιεχόμενα Κεφάλαιο 2: 2.1-2.3 2.4.1 Κεφάλαιο6: 6.3 Κεφάλαιο 7: όλο Κατηφόρης Παναγιώτης

Διαβάστε περισσότερα

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία:

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία: Επικοινωνία: spzygouris@gmail.com Να δοθεί ο ορισμός του Αλγορίθμου. Αλγόριθμος, σύμφωνα με το βιβλίο, είναι μια πεπερασμένη σειρά ενεργειών (όχι άπειρες), αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο

Διαβάστε περισσότερα

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός Δομές Ακολουθίας- Επιλογής - Επανάληψης Δομημένος Προγραμματισμός 1 Βασικές Έννοιες αλγορίθμων Σταθερές Μεταβλητές Εκφράσεις Πράξεις Εντολές 2 Βασικές Έννοιες Αλγορίθμων Σταθερά: Μια ποσότητα που έχει

Διαβάστε περισσότερα

Πληροφορική ΙΙ. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Πληροφορική ΙΙ. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Πληροφορική ΙΙ Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Πληροφορική ΙΙ», 2015-2016 Μάθημα 1: Εισαγωγή στους Αλγόριθμους Αλγόριθμος είναι μια πεπερασμένη

Διαβάστε περισσότερα

Μάριος Αγγελίδης

Μάριος Αγγελίδης Δομή Επανάληψης Ενότητες βιβλίου: 2.4.5, 8.2, 8.2.1, 8.2.2, 8.2.3 Ώρες διδασκαλίας: 5 Η δομή επανάληψης χρησιμοποιείται όταν έχουμε μία ομάδα εντολών που θέλουμε να εκτελεστούν πολλές φορές. Υπάρχουν τρείς

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ ΘΕΩΡΙΑ

ΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ ΘΕΩΡΙΑ ΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ ΘΕΩΡΙΑ Ερωτήσεις Σωστό / Λάθος 1. Η έννοια του αλγορίθμου συνδέεται αποκλειστικά και μόνο με προβλήματα της Πληροφορικής (ΕΞΕΤΑΣΕΙΣ 2003, 2007) 2. Ο αλγόριθμος μπορεί

Διαβάστε περισσότερα

Παλλατίδειο ΓΕΛ Σιδηροκάστρου

Παλλατίδειο ΓΕΛ Σιδηροκάστρου Δομή Επανάληψης 2000 Θέμα 2 ο Έστω τμήμα αλγορίθμου με μεταβλητές A, B, C, D, X και Υ. D 2 Για Χ από 2 μέχρι 5 με_βήμα 2 Α 10 * Χ Β 5 * Χ + 10 C Α + Β (5 * Χ) D 3 * D - 5 Υ A + B C + D Να βρείτε τις τιμές

Διαβάστε περισσότερα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΚΕΦΑΛΑΙΟ 2 2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου 2.4.1 Δομή ακολουθίας ΚΕΦΑΛΑΙΟ 7 7.1 7.9 Σταθερές (constants): Προκαθορισμένες τιμές που παραμένουν

Διαβάστε περισσότερα

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Βασικές έννοιες αλγορίθμων Εισαγωγή Αρχικά εξηγείται ο όρος αλγόριθμος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληροί κάθε

Διαβάστε περισσότερα

Πρόβλημα 37 / σελίδα 207

Πρόβλημα 37 / σελίδα 207 Πρόβλημα 37 / σελίδα 207 2.5. Ôåóô áõôïáîéïëüãçóçò Δίνονται οι παρακάτω ομάδες προτάσεων. Σε κάθε μία από αυτές, να κάνετε τις απαραίτητες διορθώσεις ώστε να ισχύουν οι προτάσεις 1. Η αναπαράσταση

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005 ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ 1ο Α. 1. Να αναφέρετε ονοµαστικά τα κριτήρια που πρέπει απαραίτητα

Διαβάστε περισσότερα

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης

Διαβάστε περισσότερα

Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια

Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια Είσοδος:

Διαβάστε περισσότερα

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ 1. Έστω ότι ο καθηγητής σας δίνει δύο αριθμούς και σας ζητάει να του πείτε πόσο είναι το άθροισμά τους. Διατυπώστε

Διαβάστε περισσότερα

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ 1 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ Αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός συγκεκριμένου προβλήματος. Κάθε

Διαβάστε περισσότερα

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: 1ο ΓΕΛ Καστοριάς Βασικές Έννοιες Αλγορίθμων Δομή Ακολουθίας (κεφ. 2 και 7 σχολικού βιβλίου) 1. Οι μεταβλητές αντιστοιχίζονται από τον μεταγλωττιστή κάθε

Διαβάστε περισσότερα

ΑΕΠΠ 2o Επαναληπτικό Διαγώνισμα

ΑΕΠΠ 2o Επαναληπτικό Διαγώνισμα ΑΕΠΠ 2o Επαναληπτικό Διαγώνισμα Ονοματεπώνυμο: ΘΕΜΑ 1 A. Να δώσετε τον ορισμό της καθοριστικότητας και της περατότητας καθώς και ένα παράδειγμα για την κάθε μία. B. Με ποιο τρόπο μπορεί να πάρει τιμή μια

Διαβάστε περισσότερα

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. Κεφάλαιο 2 - Πρόβλημα 2.1.1. Η έννοια του προβλήματος Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. 2.1.2. Κατηγορίες προβλημάτων

Διαβάστε περισσότερα

ΒΙΒΛΙΑ ΒΙΒΛΙΑ

ΒΙΒΛΙΑ ΒΙΒΛΙΑ ΠΑΡΑΡΤΗΜΑ 05 ΠΛΗΡΟΦΟΡΙΚΗ Σύγκριση της Διδακτέας-εξεταστέας ύλης του πανελλαδικώς εξεταζόμενου μαθήματος «ΠΛΗΡΟΦΟΡΙΚΗ» (πρώην Περιβάλλον), της Γ τάξης ημερήσιου Γενικού Λυκείου, μεταξύ του σχολικού έτους

Διαβάστε περισσότερα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Τελευταίο Μάθημα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Τελευταίο Μάθημα Τελευταίο Μάθημα 1. Να χαρακτηρίσετε καθεμία από τις παρακάτω προτάσεις, ως σωστές (Σ) ή λανθασμένες (Λ) Ο χαρακτήρας του κενού ανήκει στο αλφάβητο της γλώσσας. Σ Λ Σε μία αλφαριθμητική τιμή μπορεί να

Διαβάστε περισσότερα

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος Θέμα 1 Δίνονται τα παρακάτω τμήματα αλγορίθμου Α. βαλίτσα Αληθής εισιτήριο Αληθής ταξίδι βαλίτσα και εισιτήριο Τι τιμή θα έχει η λογική μεταβλητή

Διαβάστε περισσότερα

7.1 Αλφάβητο. 7.2 Τύποι δεδομένων. 7.3 Σταθερές. 7.4 Μεταβλητές. 7.5 Αριθμητικοί τελεστές. 7.6 Συναρτήσεις. 7.7 Αριθμητικές εκφράσεις. 7.

7.1 Αλφάβητο. 7.2 Τύποι δεδομένων. 7.3 Σταθερές. 7.4 Μεταβλητές. 7.5 Αριθμητικοί τελεστές. 7.6 Συναρτήσεις. 7.7 Αριθμητικές εκφράσεις. 7. 7.1 Αλφάβητο. 7.2 Τύποι δεδομένων. 7.3 Σταθερές. 7.4 Μεταβλητές. 7.5 Αριθμητικοί τελεστές. 7.6 Συναρτήσεις. 7.7 Αριθμητικές εκφράσεις. 7.8 Εντολή εκχώρησης. 7.1 7.9 Εντολές εισόδου εξόδου. 7.10 Δομή προγράμματος.

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Ερωτήσεις Σωστό - Λάθος 1. Ο αλγόριθµος πρέπει να τερµατίζεται µετά από εκτέλεση πεπερασµένου αριθµού εντολών. 2. Η είσοδος σε έναν αλγόριθµο µπορεί να είναι έξοδος σε έναν άλλο αλγόριθµο. 3. Ένας αλγόριθµος

Διαβάστε περισσότερα

Προτεινόμενα Θέματα ΑΕΠΠ

Προτεινόμενα Θέματα ΑΕΠΠ Προτεινόμενα Θέματα ΑΕΠΠ ΘΕΜΑ Α Α1. Να χαρακτηρίσετε αν κάθε μία από τις παρακάτω προτάσεις είναι σωστή (Σ) ή λανθασμένη (Λ). Αιτιολογήσετε κάθε σας απάντηση 1. Η μερικώς περιορισμένη εμβέλεια προσφέρει

Διαβάστε περισσότερα

ΑΕΠΠ 1o Επαναληπτικό Διαγώνισµα

ΑΕΠΠ 1o Επαναληπτικό Διαγώνισµα ΑΕΠΠ 1o Επαναληπτικό Διαγώνισµα Ονοµατεπώνυµο: ΘΕΜΑ 1 A. Na αναφέρετε τα κριτήρια που πρέπει να πληροί ένας αλγόριθµος (ονοµαστικά) Να αναφέρετε µε τεκµηρίωση ποια από τα κριτήρια δεν πληροί ο παρακάτω

Διαβάστε περισσότερα

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)

Διαβάστε περισσότερα

1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα.

1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα. 1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα. ΑΠΑΝΤΗΣΗ Ορισμός: Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός

Διαβάστε περισσότερα

ΑΕΠΠ 4o Επαναληπτικό Διαγώνισμα

ΑΕΠΠ 4o Επαναληπτικό Διαγώνισμα ΑΕΠΠ 4o Επαναληπτικό Διαγώνισμα Ονοματεπώνυμο: ΘΕΜΑ 1 A. Να γράψετε τους κανόνες που πρέπει να ακολουθούνται στη χρήση των εμφωλευμένων βρόχων. B. Να χαρακτηρίσετε ως σωστή (Σ) ή λάθος (Λ) καθεμία από

Διαβάστε περισσότερα

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΝΟΕΜΒΡΙΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 ΘΕΜΑ Α : Α1

Διαβάστε περισσότερα

ΑΕΠΠ 2o Επαναληπτικό Διαγώνισμα

ΑΕΠΠ 2o Επαναληπτικό Διαγώνισμα ΑΕΠΠ 2o Επαναληπτικό Διαγώνισμα Ονοματεπώνυμο: ΘΕΜΑ 1 A. Να γράψετε τους κανόνες που πρέπει να ακολουθούνται στη χρήση των εμφωλευμένων βρόχων. Β. Na γίνει ο πολλαπλασιασμός 15 * 45 αλά ρώσικα και να γραφεί

Διαβάστε περισσότερα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός... 1 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Διάρκεια 3 ώρες Στοιχεία Μαθητή: Όνομα... Επώνυμο... Βαθμός... 2 Θεμα Α (30%) Α1 ΣΩΣΤΟ - ΛΑΘΟΣ 1. Ένα υποπρόγραμμα δεν μπορεί να κληθεί περισσότερες

Διαβάστε περισσότερα

7. Βασικά στοιχεία προγραµµατισµού.

7. Βασικά στοιχεία προγραµµατισµού. 7. Βασικά στοιχεία προγραµµατισµού. ΗΜ01-Θ1Γ Δίνονται οι παρακάτω έννοιες: 1. Λογικός τύπος δεδοµένων 2. Επιλύσιµο 3. Ακέραιος τύπος δεδοµένων 4. Περατότητα 5. Μεταβλητή 6. Ηµιδοµηµένο 7. Πραγµατικός τύπος

Διαβάστε περισσότερα

ΑΕΠΠ 2o Επαναληπτικό Διαγώνισμα

ΑΕΠΠ 2o Επαναληπτικό Διαγώνισμα ΑΕΠΠ 2o Επαναληπτικό Διαγώνισμα Ονοματεπώνυμο: ΘΕΜΑ 1 A. Na αναφέρετε τα κριτήρια που πρέπει να πληροί ένας αλγόριθμος (ονομαστικά) Να αναφέρετε με τεκμηρίωση ποια από τα κριτήρια δεν πληροί ο παρακάτω

Διαβάστε περισσότερα

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη. 1ΗΣ ΣΕΛΙΔΑΣ ΤΕΛΙΚΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2015 Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) ΣΥΝΟΛΟ

Διαβάστε περισσότερα

ΕΡΩΤΗΣΕΙΣ ΔΙΑΦΟΡΩΝ ΤΥΠΩΝ ΣΤΟ ΚΕΦΑΛΑΙΟ 2.2

ΕΡΩΤΗΣΕΙΣ ΔΙΑΦΟΡΩΝ ΤΥΠΩΝ ΣΤΟ ΚΕΦΑΛΑΙΟ 2.2 1. 1-Σ, 2-Σ, 3-Λ, 4-Σ, 5-Σ 2. 1-α, 2-α, 3-β, 4-β, 5-α, 6-α, 7-α, 8-β, 9-β, 10-β 3. Τι ονομάζουμε αλγόριθμο; Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης

ΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης ΠΕΡΙΕΧΟΜΕΝΑ Εντολές επιλογής Εντολές επανάληψης Εισαγωγή Στο προηγούμενο κεφάλαιο αναπτύξαμε προγράμματα, τα οποία ήταν πολύ απλά και οι εντολές των οποίων εκτελούνται η μία μετά την άλλη. Αυτή η σειριακή

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 1 of 5 10/12/2017, 9:32 PM ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ - ΘΕΜΑΤΑ ΠΑΝΕΛΛΗΝΙΩΝ 1. Να σημειώσετε Σωστό Λάθος στις παρακάτω προτάσεις: 1. Η πράξη της σύζευξης δύο λογικών

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ Κεφάλαια 2, 7, 8

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ Κεφάλαια 2, 7, 8 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ Κεφάλαια 2, 7, 8 1. Δώστε τον ορισμό του αλγόριθμου. Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ Αλφάβητο και τύποι δεδομένων Σταθερές και μεταβλητές Τελεστές, συναρτήσεις και εκφράσεις Εντολή εκχώρησης Εντολές εισόδου - εξόδου Δομή

ΠΕΡΙΕΧΟΜΕΝΑ Αλφάβητο και τύποι δεδομένων Σταθερές και μεταβλητές Τελεστές, συναρτήσεις και εκφράσεις Εντολή εκχώρησης Εντολές εισόδου - εξόδου Δομή ΠΕΡΙΕΧΟΜΕΝΑ Αλφάβητο και τύποι δεδομένων Σταθερές και μεταβλητές Τελεστές, συναρτήσεις και εκφράσεις Εντολή εκχώρησης Εντολές εισόδου - εξόδου Δομή προγράμματος Εισαγωγή Κάθε γλώσσα προγραμματισμού, όπως

Διαβάστε περισσότερα

β. Δομημένα 3. Ο τρόπος λύσης τους μπορεί να επιλεγεί από πλήθος δυνατών λύςεων. γ. Άλυτα

β. Δομημένα 3. Ο τρόπος λύσης τους μπορεί να επιλεγεί από πλήθος δυνατών λύςεων. γ. Άλυτα ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΔΕΥΤΕΡΑ 12 ΙΟΥΝΙΟΥ 2000 Α. Να γράψετε στο τετράδιό σας τον αριθμό κάθε πρότασης και δίπλα το γράμμα «Σ», αν είναι σωστή, ή το γράμμα «Λ», αν είναι λανθασμένη.

Διαβάστε περισσότερα

Ένα περιοδικό για το ΑΕΠΠ Τεύχος Πανελλαδικών Ι

Ένα περιοδικό για το ΑΕΠΠ Τεύχος Πανελλαδικών Ι Ένα περιοδικό για το ΑΕΠΠ Τεύχος Πανελλαδικών Ι Περιλαμβάνει τα πρώτα θέματα όλων των πανελληνίων εξετάσεων από το 2000 μέχρι και σήμερα ΑΠΟΛΥΤΗΡΙΕΣ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ 2000 A. Να γράψετε στο τετράδιό σας

Διαβάστε περισσότερα

! ΘΕΜΑ A Α2. ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΛΥΚΕΙΟΥ. Ονοµατεπώνυµο:

! ΘΕΜΑ A Α2. ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΛΥΚΕΙΟΥ. Ονοµατεπώνυµο: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ Ονοµατεπώνυµο: Καθηγητής: ΒΛΙΣΙΔΗΣ Γ.! ΘΕΜΑ A Α1. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη

Διαβάστε περισσότερα

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

Διαβάστε περισσότερα

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΟΚΤΩΒΡΙΟΥ 2015 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 ΘΕΜΑ Α

Διαβάστε περισσότερα

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ Α) Να γράψετε στο τετράδιό σας τον αριθμό κάθε πρότασης και δίπλα το γράμμα "Σ", αν είναι σωστή, ή το γράμμα "Λ", αν είναι λανθασμένη. (Μονάδες 25) 1. Ένα αδόμητο πρόβλημα είναι ταυτόχρονα και ανοικτό

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο ΚΕΦΑΛΑΙΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο ΚΕΦΑΛΑΙΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 1 ο ΚΕΦΑΛΑΙΟ 1) Τι είναι πρόβλημα (σελ. 3) 2) Τι είναι δεδομένο, πληροφορία, επεξεργασία δεδομένων (σελ. 8) 3) Τι είναι δομή ενός προβλήματος (σελ. 8)

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ 2012

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ 2012 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ 2012 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή,

Διαβάστε περισσότερα

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1 Ενότητα 1 Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1 Τι είναι αλγόριθμος Σύμφωνα με το σχολικό βιβλίο: Ορισμός: Μια πεπερασμένη σειρά ενεργειών, αυστηρά

Διαβάστε περισσότερα

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. ii) Πόσες φορές θα εκτελεστεί η εντολή ΔΙΑΒΑΣΕ Α[μ,λ] στον αλγόριθμο της προηγούμενης ερώτησης; α) 35 β) 12 γ) 20

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. ii) Πόσες φορές θα εκτελεστεί η εντολή ΔΙΑΒΑΣΕ Α[μ,λ] στον αλγόριθμο της προηγούμενης ερώτησης; α) 35 β) 12 γ) 20 ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΙΑΝΟΥΑΡΙΟΣ 2019 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 6 (ΕΞΙ) ΘΕΜΑ Α : A1. Να γράψετε στο φύλλο απαντήσεων τον αριθμό

Διαβάστε περισσότερα

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. ii) Πόσες φορές θα εκτελεστεί η εντολή ΔΙΑΒΑΣΕ Α[μ,λ] στον αλγόριθμο της προηγούμενης ερώτησης; α) 35 β) 12 γ) 20

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. ii) Πόσες φορές θα εκτελεστεί η εντολή ΔΙΑΒΑΣΕ Α[μ,λ] στον αλγόριθμο της προηγούμενης ερώτησης; α) 35 β) 12 γ) 20 ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΙΑΝΟΥΑΡΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 6 (ΕΞΙ) ΘΕΜΑ Α : A1. Να γράψετε στο φύλλο απαντήσεων τον αριθμό

Διαβάστε περισσότερα

ΘΕΜΑΤΑ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 1/12/2013

ΘΕΜΑΤΑ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 1/12/2013 ΘΕΜΑΤΑ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 1/12/2013 ΘΕΜΑ 1 ο Α. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη Σωστό,

Διαβάστε περισσότερα

Για I από 2 μέχρι 10 με_βήμα 0 S S + I. Τέλος_επανάληψης Εμφάνισε S

Για I από 2 μέχρι 10 με_βήμα 0 S S + I. Τέλος_επανάληψης Εμφάνισε S 2005 ΘΕΜΑ 1ο Α. 1. Να αναφέρετε ονομαστικά τα κριτήρια που πρέπει απαραίτητα να ικανοποιεί ένας αλγόριθμος. Μονάδες 5 2. Ποιο κριτήριο δεν ικανοποιεί ο παρακάτω αλγόριθμος και γιατί; Μονάδες 5 S 0 Για

Διαβάστε περισσότερα

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΑΡΑΣΚΕΥΗ 27 ΜΑΪΟΥ 2016 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ

Διαβάστε περισσότερα

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΑΡΑΣΚΕΥΗ 6 ΙΟΥΝΙΟΥ 2014 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

Διαβάστε περισσότερα

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΑΡΑΣΚΕΥΗ 27 ΜΑΪΟΥ 2016 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ

Διαβάστε περισσότερα

Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1. Τι είναι δυναµική δοµή δεδοµένων; Μονάδες 3 2. Τι είναι στατική δοµή δεδοµένων;

Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1. Τι είναι δυναµική δοµή δεδοµένων; Μονάδες 3 2. Τι είναι στατική δοµή δεδοµένων; ΦΡΟΝΤΙΣΤΗΡΙΑΚΟΣ ΟΡΓΑΝΙΣΜΟΣ ΘΕΜΑ Α ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ 01/03/2015 Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1.

Διαβάστε περισσότερα

ΑΕΠΠ 1o Επαναληπτικό Διαγώνισµα

ΑΕΠΠ 1o Επαναληπτικό Διαγώνισµα ΑΕΠΠ 1o Επαναληπτικό Διαγώνισµα Ονοµατεπώνυµο: ΘΕΜΑ 1 A. Na αναφέρετε τα κριτήρια που πρέπει να πληροί ένας αλγόριθµος (ονοµαστικά) Είσοδος, Έξοδος, Περατότητα, Καθοριστικότητα, Αποτελεσµατικότητα Να αναφέρετε

Διαβάστε περισσότερα

Ένα περιοδικό για το ΑΕΠΠ Τεύχος Πανελλαδικών ΙΙ

Ένα περιοδικό για το ΑΕΠΠ Τεύχος Πανελλαδικών ΙΙ Ένα περιοδικό για το ΑΕΠΠ Τεύχος Πανελλαδικών ΙΙ Περιλαμβάνει τα δεύτερα θέματα των πανελληνίων εξετάσεων από το 2000 μέχρι και σήμερα ΑΠΟΛΥΤΗΡΙΕΣ ΓΕΝΙΚΟΥ 2000 Έστω τμήμα αλγορίθμου με μεταβλητές Α, Β,

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ (ΠΕΡΙΛΗΨΗ) ΕΠΙΜΕΛΕΙΑ: ΝΙΚΗΦΟΡΟΣ ΜΑΝΔΗΛΑΡΑΣ ΚΕΦΑΛΑΙΟ 2 ο -ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ 2.1 ΤΙ ΕΙΝΑΙ ΑΛΓΟΡΙΘΜΟΣ ΟΡΙΣΜΟΣ: Αλγόριθμος είναι

Διαβάστε περισσότερα

Αριθμητικές Λογικές - Σύνθετες εκφράσεις, εντολή εκχώρησης, εντολές εισόδου εξόδου, Δομές ακολουθίας/ επιλογής/ επανάληψης

Αριθμητικές Λογικές - Σύνθετες εκφράσεις, εντολή εκχώρησης, εντολές εισόδου εξόδου, Δομές ακολουθίας/ επιλογής/ επανάληψης Αριθμητικές Λογικές - Σύνθετες εκφράσεις, εντολή εκχώρησης, εισόδου εξόδου, Δομές ακολουθίας/ επιλογής/ επανάληψης Ενότητες βιβλίου: 7.7-7.9, 2.4.1 Ώρες διδασκαλίας: 2 Αριθμητικές Λογικές - Σύνθετες εκφράσεις

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2 ο. αποτέλεσµα προς το χρήστη ή προς έναν άλλο αλγόριθµο. 7 ο ΓΕΛ Καλλιθέας Οδηγός Α.Ε.Π.Π.

ΚΕΦΑΛΑΙΟ 2 ο. αποτέλεσµα προς το χρήστη ή προς έναν άλλο αλγόριθµο. 7 ο ΓΕΛ Καλλιθέας Οδηγός Α.Ε.Π.Π. ΚΕΦΑΛΑΙΟ 2 ο 1. Τι είναι αλγόριθµος; Η θεωρία των αλγορίθµων έχει µεγάλη παράδοση και η ηλικία ορισµένων από αυτών είναι µερικών χιλιάδων χρόνων, όπως του Ευκλείδη για τον υπολογισµό του ΜΚ δύο αριθµών

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ ΘΕΜΑΤΑ ΘΕΜΑ A Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-6 και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή, ή τη λέξη ΛΑΘΟΣ, αν

Διαβάστε περισσότερα

Ερωτήσεις Σωστού-Λάθους

Ερωτήσεις Σωστού-Λάθους Τάξη: Γ Λυκείου Τεχνολογική Κατεύθυνση Ενότητες: Εισαγωγή στον προγραμματισμό (7.1-7.8) Ερωτήσεις Σωστού-Λάθους 1. Οι μεταβλητές που χρησιμοποιούνται σ ένα πρόγραμμα αντιστοιχίζονται από το μεταγλωττιστή

Διαβάστε περισσότερα

Γενικές εξετάσεις 2014 Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Τεχνολογική Κατεύθυνση

Γενικές εξετάσεις 2014 Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Τεχνολογική Κατεύθυνση Φροντιστήρια δυαδικό 1 ΦΡΟΝΤΙΣΤΗΡΙΑ δυαδικό Γενικές εξετάσεις 2014 Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Τεχνολογική Κατεύθυνση Τα θέματα επεξεργάστηκαν οι καθηγητές των Φροντιστηρίων «δυαδικό»

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 6/04/2014

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 6/04/2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 6/04/2014 ΘΕΜΑ 1 Ο Α. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη Σωστό, αν είναι

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 Επιμέλεια: Ομάδα Διαγωνισμάτων από το Στέκι των Πληροφορικών Θέμα Α A1. Να γράψετε στο τετράδιό σας τους

Διαβάστε περισσότερα

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ) ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ) ΘΕΜΑ Α : A1. Να γράψετε στο φύλλο απαντήσεων τον αριθμό καθεμιάς

Διαβάστε περισσότερα

Α4. Όσο επανάλαβε Τέλος_επανάληψης Εμφάνισε Για από μέχρι με_βήμα. Όσο επανάλαβε (Μονάδες 5) Α5. Α[10, 5] Π, Για από μέχρι (1) Για από μέχρι (2) Αν

Α4. Όσο επανάλαβε Τέλος_επανάληψης Εμφάνισε Για από μέχρι με_βήμα. Όσο επανάλαβε (Μονάδες 5) Α5. Α[10, 5] Π, Για από μέχρι (1) Για από μέχρι (2) Αν ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΚΥΡΙΑΚΗ 27/03/2016 - ΑΕΠΠ (ΑΠΟΦΟΙΤΟΙ) ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΠΕΝΤΕ (5) ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιο σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις

Διαβάστε περισσότερα

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΑΡΑΣΚΕΥΗ 6 ΙΟΥΝΙΟΥ 2014 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

Διαβάστε περισσότερα

Θέματα Πανελληνίων Εξετάσεων που προέρχονται από την ενότητα «Δομή επιλογής» ( )

Θέματα Πανελληνίων Εξετάσεων που προέρχονται από την ενότητα «Δομή επιλογής» ( ) Θέματα Πανελληνίων Εξετάσεων που προέρχονται από την ενότητα «Δομή επιλογής» (2000-2012) 1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη Σωστό, αν είναι

Διαβάστε περισσότερα

10 Α2. 5 Α3. (ΟΧΙ = 20-4*2^2)) H (X>Ψ ΚΑΙ X > Ψ

10 Α2. 5 Α3. (ΟΧΙ = 20-4*2^2)) H (X>Ψ ΚΑΙ X > Ψ Α Π Α Ν Τ Η Σ Ε Ι Σ Θ Ε Μ Α Τ Ω Ν Π Α Ν Ε Λ Λ Α Δ Ι Κ Ω Ν Ε Ξ Ε Τ Α Σ Ε Ω Ν 2 0 1 4 Α Ν Α Π Τ Υ Ξ Η Ε Φ Α Ρ Μ Ο Γ Ω Ν Σ Ε Π Ρ Ο Γ Ρ Α Μ Μ Α Τ Ι Σ Τ Ι Κ Ο Π Ε Ρ Ι Β Α Λ Λ Ο Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η Σ Κ Α

Διαβάστε περισσότερα

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΤΑΡΤΗ 29 ΜΑΪΟΥ 2013 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

Διαβάστε περισσότερα

ΘΕΜΑ Α. Λύση: 1. Σωστό, 2. Λάθος, 3. Σωστό, 4. Λάθος, 5. Λάθος. Ποια η διαφορά μεταξύ διερμηνευτή και μεταγλωττιστή; Απάντηση:

ΘΕΜΑ Α. Λύση: 1. Σωστό, 2. Λάθος, 3. Σωστό, 4. Λάθος, 5. Λάθος. Ποια η διαφορά μεταξύ διερμηνευτή και μεταγλωττιστή; Απάντηση: ΘΕΜΑ Α Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι λανθασμένη. 1. Η ταξινόμηση είναι μια από τις βασικές

Διαβάστε περισσότερα

10 Α2. 5 Α3. (ΟΧΙ = 20-4*2^2)) H (X>Ψ ΚΑΙ X > Ψ

10 Α2. 5 Α3. (ΟΧΙ = 20-4*2^2)) H (X>Ψ ΚΑΙ X > Ψ Α Π Α Ν Τ Η Σ Ε Ι Σ Θ Ε Μ Α Τ Ω Ν Π Α Ν Ε Λ Λ Α Δ Ι Κ Ω Ν Ε Ξ Ε Τ Α Σ Ε Ω Ν 2 0 1 4 Α Ν Α Π Τ Υ Ξ Η Ε Φ Α Ρ Μ Ο Γ Ω Ν Σ Ε Π Ρ Ο Γ Ρ Α Μ Μ Α Τ Ι Σ Τ Ι Κ Ο Π Ε Ρ Ι Β Α Λ Λ Ο Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η Σ Κ Α

Διαβάστε περισσότερα

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ) ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ) ΘΕΜΑ Α : A1. Να γράψετε στο φύλλο απαντήσεων τον αριθμό καθεμιάς

Διαβάστε περισσότερα

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. Για i από 1 μέχρι Μ Εμφάνισε A[4,i] Τέλος_επανάληψης. (μονάδες 6) ΤΕΛΟΣ 1ης ΑΠΟ 7 ΣΕΛΙΔΕΣ

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. Για i από 1 μέχρι Μ Εμφάνισε A[4,i] Τέλος_επανάληψης. (μονάδες 6) ΤΕΛΟΣ 1ης ΑΠΟ 7 ΣΕΛΙΔΕΣ ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΔΕΚΕΜΒΡΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ) ΘΕΜΑ Α : A1. Να γράψετε στο φύλλο απαντήσεων τον αριθμό

Διαβάστε περισσότερα

Θέμα 1 ο. Επαναληπτικό ΛΥΣΕΙΣ

Θέμα 1 ο. Επαναληπτικό ΛΥΣΕΙΣ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΣΤΡΙΤΣΙΟΥ ΠΑΡΑΣΚΕΥΗ 5 Μαΐου 2014 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ

Διαβάστε περισσότερα

μεταβλητής Χ Χ ΑΛΗΘΗΣ Χ Χ 7 > 4 Χ ΨΕΥ ΗΣ Μονάδες 10

μεταβλητής Χ Χ ΑΛΗΘΗΣ Χ Χ 7 > 4 Χ ΨΕΥ ΗΣ Μονάδες 10 ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ ΠΑΝΕΛΛΗΝΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΑΡΑΣΚΕΥΗ 1 ΙΟΥΝΙΟΥ 2012 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

Διαβάστε περισσότερα

Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Ημερομηνία: Πέμπτη 12 Απριλίου 2018 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Ημερομηνία: Πέμπτη 12 Απριλίου 2018 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ ΑΠΟ ΕΩΣ 02/04/2018 ΕΩΣ 14/04/2018 ΤΑΞΗ: ΜΑΘΗΜΑ: Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ημερομηνία: Πέμπτη 12 Απριλίου 2018 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α Α1. Να

Διαβάστε περισσότερα

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

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη. ΘΕΜΑ 1 ο A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη. 1. Η συνθήκη Χ = Α_Μ (Χ) είναι πάντα αληθής, για

Διαβάστε περισσότερα

ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΜΗΜΑ: ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΗΜΕΡΟΜΗΝΙΑ: 05/01/2012 Θέμα 1 ο Α1) Να γράψετε στο τετράδιό σας τους αριθμούς 1 έως και 4 και δίπλα τα γράμματα Σ ή Λ, ανάλογα

Διαβάστε περισσότερα

Βασικές έννοιες προγραμματισμού

Βασικές έννοιες προγραμματισμού Βασικές έννοιες προγραμματισμού Αλφάβητο Γράμματα Κεφαλαία Ελληνικά ( Α Ω ) Πεζά Ελληνικά ( α ω ) Κεφαλαία Λατινικά ( A Z ) Πεζά Ελληνικά ( a z) Ψηφία 0-9 Ειδικοί χαρακτήρες ( +, -, *,/, =,.,,!, κενό )

Διαβάστε περισσότερα