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

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

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

Transcript

1

2 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ Τεχνολογική Κατεύθυνση Κ Υ Ρ Ι Α Κ Ο Σ Κ. Λ Ε Υ Κ Α Κ Η Σ ΧΙΟΣ, ΙΟΥΝΙΟΣ 2013

3

4 Πρόλογος Το παρόν βοήθημα προτείνεται ως συμπλήρωμα του σχολικού βιβλίου για τη διδασκαλία του μαθήματος, «Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον» της Γ Τάξης Γενικού Λυκείου στην Τεχνολογική κατεύθυνση. Είναι ένα πολύ σημαντικό μάθημα που προετοιμάζει τους μαθητές για τη διδασκαλία των σύγχρονων Γλωσσών Προγραμματισμού μετά την εισαγωγή τους στην τριτοβάθμια εκπαίδευση. Ο σκοπός του μαθήματος είναι να μεταδόσει στους μαθητές τις βασικές αρχές του δομημένου και του τμηματικού προγραμματισμού. Στις σελίδες που ακολουθούν παραθέτονται σημαντικά σημεία της θεωρίας, θεωρητικά ζητήματα και ασκήσεις, όλα προσαρμοσμένα στο πνεύμα των εξετάσεων. Οι πηγές είναι ποικίλου επιπέδου ξεκινούν από σχολικό επίπεδο και φτάνουν έως και πανεπιστημιακό. Σε καμία περίπτωση δεν πρέπει να θεωρηθεί ότι το βιβλίο αυτό αντικαθιστά το σχολικό. Έχει δημιουργηθεί με βάση αυτό και έρχεται να το συμπληρώσει και να το εμπλουτίσει. Ευελπιστώ ότι μια προσεκτική μελέτη του υλικού αποφέρει σχεδόν βέβαια το επιθυμητό αποτέλεσμα με βάση πάντα τις προσδοκίες τους καθενός μαθητή. Επιπλέον περιέχει περιέχει επαναληπτικά θέματα πάνω σε όλη την ύλη της Ανάπτυξης Εφαρμογών σε Προγραμματιστικό Περιβάλλον και αποσκοπεί στη σωστή επανάληψη όλων όσων διδαχθήκατε. Συγκεκριμένα περιέχει τα θέματα που τέθηκαν στις πανελλήνιες εξετάσεις στο μάθημα Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον της Τεχνολογικής κατευθυνσης κατά τη διάρκεια των ετών 2000 έως και Συγκεντρώθηκαν όλα τα θέματα από κάθε τύπο σχολείου και εξεταστικής περιόδου έτσι περιέχει : Θέματα Ημερησίων Λυκείων, θέματα Εσπερινών Λυκείων, θέματα Επαναληπτικών Ημερησίων Λυκείων καθώς και θέματα Επαναληπτικών Εσπερινών Λυκείων. Υπάρχουν διάφορες επαναληπτικές ασκήσεις που έχω συλλέξει από διάφορες πηγές ή έχω δημιουργήσει μόνος μου, καθώς και επαναληπτικά διαγωνίσματα προσομοίωσης που έχουν τεθεί σε υποψήφιους μαθητές προηγουμένων ετών και βοηθούν στο να μπείτε στο κλίμα των θεμάτων. Προτείνεται να λυθούν όλα τα θέματα για σωστή προετοιμασία και επανάληψη. Καλή μελέτη! Καλό Ξεκίνημα Κυριάκος Λευκάκης

5

6 Περιεχόµενα ΠΡΟΛΟΓΟΣ... 4 ΠΕΡΙΕΧΟΜΕΝΑ... 6 ΔΙΔΑΚΤΕΑ ΕΞΕΤΑΣΤΕΑ ΎΛΗ... 8 ΚΕΦΑΛΑΙΟ 1 Ο Η ΈΝΝΟΙΑ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ Α. ΘΕΩΡΙΑ ΟΡΙΣΜΟΣ ΑΝΤΙΜΕΤΩΠΙΣΗ ΠΡΟΒΛΗΜΑΤΟΣ Ορισμός Προβλήματος Αντιμετώπιση ΤΑ ΤΡΙΑ ΣΤΑΔΙΑ ΤΗΣ ΕΠΙΛΥΣΗΣ Κατανόηση Ανάλυση Ορισμός Δομής Προβλήματος Επίλυση Δεδομένα Πληροφορίες Επεξεργασία ΚΑΤΗΓΟΡΙΟΠΟΙΗΣΗ ΠΡΟΒΛΗΜΑΤΩΝ Με κριτήριο τη δυνατότητα επίλυσης Με κριτήριο το βαθμό δόμησης των λύσεων Με κριτήριο το είδος επίλυσης ΠΡΟΒΛΗΜΑ ΆΝΘΡΩΠΟΣ ΥΠΟΛΟΓΙΣΤΗΣ Β. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ Γ. ΘΕΜΑΤΑ ΓΙΑ ΛΥΣΗ ΚΕΦΑΛΑΙΟ 2 Ο - ΑΛΓΟΡΙΘΜΟΙ ΨΕΥΔΟΓΛΩΣΣΑ «ΓΛΩΣΣΑ» - ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ Α. ΘΕΩΡΙΑ O ΑΛΓΟΡΙΘΜΟΣ Ορισμός Αλγορίθμου Κριτήρια ΜΕΘΟΔΟΙ ΑΝΑΠΑΡΑΣΤΑΣΗΣ ΑΛΓΟΡΙΘΜΩΝ Τρόποι Αναπαράστασης Διαγραμματικές Τεχνικές (Διάγραμμα Ροής ή Flowchart) Με κωδικοποίηση ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΓΛΩΣΣΑΣ Ορισμοί Εντολές Δομή Αλγορίθμου Τελεστές Συναρτήσεις Εκφράσεις ΣΤΟΙΧΕΙΑ ΤΟΥ ΠΡOΓΡΑΜΜΑΤΙΣΤΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΤΗΣ «ΓΛΩΣΣΑΣ» Δομή Προγράμματος της «ΓΛΩΣΣΑΣ» Η ΔΟΜΗ ΤΗΣ ΑΚΟΛΟΥΘΙΑΣ Β. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ Γ. ΛΥΜΕΝΑ ΘΕΜΑΤΑ Δ. ΘΕΜΑΤΑ ΓΙΑ ΛΥΣΗ ΚΕΦΑΛΑΙΟ 3 Ο ΔΟΜΗ ΕΠΙΛΟΓΗΣ Α. ΘΕΩΡΙΑ Η Δομή Επιλογής Η ΕΝΤΟΛΗ ΕΠΙΛΟΓΗΣ ΑΝ Απλή επιλογή Τυπική επιλογή Πολλαπλή επιλογή Εμφωλευμένες επιλογές Β. ΕΡΩΤΗΣΕΙΣ Γ. ΛΥΜΕΝΑ ΘΕΜΑΤΑ Δ. ΘΕΜΑΤΑ ΓΙΑ ΛΥΣΗ ΚΕΦΑΛΑΙΟ 4 Ο ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Α. ΘΕΩΡΙΑ... 77

7 4.1 Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Η εντολή Όσο... Επανάλαβε Η εντολή... Μέχρις_οτου Η εντολή Για... από... μέχρι... με_βήμα Β. ΕΡΩΤΗΣΕΙΣ Γ. ΛΥΜΕΝΑ ΘΕΜΑΤΑ Δ. ΘΕΜΑΤΑ ΓΙΑ ΛΥΣΗ ΚΕΦΑΛΑΙΟ 5 Ο ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Α. ΘΕΩΡΙΑ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Σημασία δομών δεδομένων ΟΙ ΚΥΡΙΟΤΕΡΕΣ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Η Στοίβα Η Ουρά Ο Πίνακας ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Δήλωση δεδομένων πινάκων Β. ΕΡΩΤΗΣΕΙΣ Γ. ΛΥΜΕΝΑ ΘΕΜΑΤΑ Δ. ΘΕΜΑΤΑ ΓΙΑ ΛΥΣΗ ΚΕΦΑΛΑΙΟ 6 Ο ΠΙΝΑΚΕΣ ΔΥΟ ΔΙΑΣΤΑΣΕΩΝ Α. ΘΕΩΡΙΑ ΠΙΝΑΚΕΣ ΔΥΟ ΔΙΑΣΤΑΣΕΩΝ Β. ΕΡΩΤΗΣΕΙΣ Γ. ΛΥΜΕΝΑ ΘΕΜΑΤΑ Δ. ΘΕΜΑΤΑ ΓΙΑ ΛΥΣΗ ΚΕΦΑΛΑΙΟ 7 Ο ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Α. ΘΕΩΡΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Β. ΘΕΜΑΤΑ ΓΙΑ ΛΥΣΗ ΚΕΦΑΛΑΙΟ 8 Ο ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Α. ΘΕΩΡΙΑ ΟΡΙΣΜΟΣ ΤΜΗΜΑΤΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιδιότητες και πλεονεκτήματα των υποπρογραμμάτων Είδη υποπρογραμμάτων Παράμετροι ΣΥΝΑΡΤΗΣΕΙΣ ΔΙΑΔΙΚΑΣΙΕΣ Β. ΕΡΩΤΗΣΕΙΣ Γ. ΛΥΜΕΝΑ ΘΕΜΑΤΑ Δ. ΘΕΜΑΤΑ ΓΙΑ ΛΥΣΗ ΚΕΦΑΛΑΙΟ 9 Ο ΘΕΜΑΤΑ ΠΑΝΕΛΛΗΝΙΩΝ ΕΞΕΤΑΣΕΩΝ ΜΕΡΟΣ Α ΕΝΝΟΙΑ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΒΑΣΙΚΕΣ ΑΛΓΟΡΙΘΜΙΚΕΣ ΔΟΜΕΣ ΜΕΡΟΣ Β ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΙΝΑΚΕΣ ΜΕΡΟΣ Γ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΡΟΣ Δ ΘΕΜΑΤΑ ΛΟΙΠΩΝ ΕΝΟΤΗΤΩΝ ΣΥΝΔΥΑΣΤΙΚΑ ΘΕΩΡΙΑΣ ΚΕΦΑΛΑΙΟ 10 Ο ΓΕΝΙΚΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΚΕΦΑΛΑΙΟ 11 Ο ΤΕΛΙΚΕΣ ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΑΣΚΗΣΕΙΣ

8 ιδακτέα Εξεταστέα Ύλη Από το βιβλίο "Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον" των Α. Βακάλη, Η. Γιαννόπουλου, Ν. Ιωαννίδη, Χ. Κοίλια, Κ. Μάλαμα, Ι. Μανωλόπουλου, Π. Πολίτη, έκδοση Παιδαγωγικού Ινστιτούτου. 1. Ανάλυση προβλήματος 1.1 Η έννοια πρόβλημα 1.2 Κατανόηση προβλήματος 1.3 Δομή προβλήματος 1.4 Καθορισμός απαιτήσεων 1.5 Κατηγορίες προβλημάτων 1.6 Πρόβλημα και υπολογιστής 2. Βασικές Έννοιες Αλγορίθμων 2.1 Τι είναι αλγόριθμος 2.3 Περιγραφή και αναπαράσταση αλγορίθμων 2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου Δομή ακολουθίας Δομή επιλογής Διαδικασίες πολλαπλών επιλογών (αφαιρείται η τελευταία πρόταση της σελ. 36 "Αν οι διαφορετικές επιλογές... στο παράδειγμα που ακολουθεί.", που αναφέρεται στην πολλαπλή επιλογή, καθώς και το Παράδειγμα 5. Επιλογή ορίων, σελ. 37) Εμφωλευμένες Διαδικασίες Δομή επανάληψης 3. Δομές Δεδομένων και Αλγόριθμοι 3.1 Δεδομένα 3.2 Αλγόριθμοι + Δομές Δεδομένων =Προγράμματα 3.3 Πίνακες 3.4 Στοίβα 3.5 Ουρά 3.6 Αναζήτηση 3.7 Ταξινόμηση 6. Εισαγωγή στον Προγραμματισμό 6.1 Η έννοια του προγράμματος 6.2 Ιστορική αναδρομή Γλώσσες Μηχανής Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου Γλώσσες υψηλού επιπέδου Γλώσσες 4ης γενιάς 6.3 Φυσικές και τεχνητές γλώσσες 6.4 Τεχνικές σχεδίασης προγραμμάτων Ιεραρχική σχεδίαση προγράμματος Τμηματικός Προγραμματισμός Δομημένος Προγραμματισμός 6.7 Προγραμματιστικά περιβάλλοντα

9 7. Βασικά στοιχεία Προγραμματισμού 7.1 Το αλφάβητο της γλώσσας 7.2 Τύποι Δεδομένων 7.3 Σταθερές 7.4 Μεταβλητές 7.5 Αριθμητικοί τελεστές 7.6 Συναρτήσεις 7.7 Αριθμητικές εκφράσεις 7.8 Εντολή εκχώρησης 7.9 Εντολές εισόδου-εξόδου 7.10 Δομή προγράμματος 8. Επιλογή και επανάληψη 8.1 Εντολές επιλογής Εντολή ΑΝ 8.2 Εντολές επανάληψης Εντολή ΟΣΟ... ΕΠΑΝΑΛΑΒΕ Εντολή ΜΕΧΡΙΣ_ΟΤΟΥ Εντολή ΓΙΑ... ΑΠΟ... ΜΕΧΡΙ 9. Πίνακες 9.1 Μονοδιάστατοι πίνακες 9.2 Πότε πρέπει να χρησιμοποιούνται πίνακες 9.3 Πολυδιάστατοι πίνακες 9.4 Τυπικές επεξεργασίες πινάκων 10. Υποπρογράμματα 10.1 Τμηματικός Προγραμματισμός 10.2 Χαρακτηριστικά των υποπρογραμμάτων 10.3 Πλεονεκτήματα του τμηματικού Προγραμματισμού 10.4 Παράμετροι 10.5 Διαδικασίες και συναρτήσεις Ορισμός και κλήση συναρτήσεων Ορισμός και κλήση διαδικασιών Πραγματικές και τυπικές παράμετροι Οι ενότητες 3.4, 3.5 εξετάζονται μόνο ως θεωρία. ΣΗΜΕΙΩΣΗ: Οι μαθητές θα μπορούν να διατυπώνουν τις λύσεις των ασκήσεων των εξετάσεων είτε σε οποιαδήποτε μορφή παράστασης αλγορίθμου είτε σε «ΓΛΩΣΣΑ», όπως αυτή ορίζεται και χρησιμοποιείται στο διδακτικό εγχειρίδιο. H συγκεκριμένη ύλη εξετάστηκε στις πανελλήνιες του Τυχόν αλλαγές για τις φετινές εξετάσεις θα ανακοινωθούν μετά το άνοιγμα των σχολείων.

10 ΚΕΦΑΛΑΙΟ 1 ο Η ΕΝΝΟΙΑ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ

11

12 Κεφάλαιο 1 ο Η Έννοια του Προβλήµατος Α. Θεωρία 1.1 Ορισμός Αντιμετώπιση Προβλήματος Ορισμός Προβλήματος Με τον όρο πρόβλημα εννοούμε μια κατάσταση που χρήζει αντιμετώπισης (επίλυσης) και η λύση της δεν είναι γνωστή ούτε προφανής Αντιμετώπιση Για να αντιμετωπίσουμε σωστά ένα πρόβλημα χρειάζεται να ακολουθήσουμε με τη σειρά τα παρακάτω στάδια : 1.2 Τα τρία στάδια της αντιμετώπισης ενός προβλήματος Κατανόηση Η σωστή κατανόηση ενός προβλήματος εξαρτάται από δύο παράγοντες : α. Τη σαφή διατύπωση από αυτόν που θέτει το πρόβλημα (να μην αφήνει ασάφειες και παρερμηνείες). β. Τη σωστή ερμηνεία από αυτόν που θα κληθεί να το επιλύσει ( δηλαδή τι ακριβώς έχει καταλάβει κατανοήσει) Ανάλυση Σημαίνει ότι ξεκινάμε να ανακαλύπτουμε τη δομή του προβλήματος, δηλαδή να το χωρίσουμε σε μικρότερα και απλούστερα υποπροβλήματα, καθένα από τα οποία έχει απλούστερη λύση. Ας δούμε όμως τι σημαίνει δομή ενός προβλήματος ; Ορισμός Δομής Προβλήματος Εννοούμε τα συστατικά μέρη από τα οποία συντίθεται ένα πρόβλημα, δηλαδή τα επιμέρους τμήματα που το αποτελούν καθώς και τον τρόπο με τον οποίο συνδέονται μεταξύ τους. Η δομή ενός προβλήματος φαίνεται καλύτερα αν προχωρήσουμε στη διαγραμματική αναπαράσταση του προβλήματος. Συγκεκριμένα για να γίνει αυτή πρέπει να ακολουθηθούν τρεις κανόνες οι οποίοι αναφέρονται πιο κάτω. α. Το αρχικό πρόβλημα αναπαρίσταται από ένα ορθογώνιο παραλληλόγραμμο. β. Καθένα από τα απλούστερα προβλήματα στα οποία αναλύεται ένα πρόβλημα αναπαρίσταται κι αυτό από ένα ορθογώνιο. 11

13 γ. Τα παραλληλόγραμμα που αναπαριστούν τα απλούστερα προβλήματα σχεδιάζονται ένα επίπεδο χαμηλότερα έτσι ώστε σε κάθε κατώτερο επίπεδο δημιουργείται η γραφική αναπαράσταση των προβλημάτων στα οποία αναλύονται τα προβλήματος του αμέσως υψηλότερου επιπέδου Επίλυση Για τη σωστή επίλυση του προβλήματος βασική προϋπόθεση αποτελεί ο καθορισμός των απαιτήσεων. Αυτό σημαίνει α. να προσδιορίσουμε τα δεδομένα που παρέχονται και β. να προσδιορίσουμε τα ζητούμενα, δηλαδή τι αποτελέσματα περιμένουμε Δεδομένα Πληροφορίες Επεξεργασία Δεδομένο είναι οτιδήποτε μπορεί να γίνει αντιληπτό από έναν τουλάχιστον παρατηρητή με μία από τις πέντε αισθήσεις. Πληροφορία είναι γνωσιακό στοιχείο που προκύπτει από επεξεργασία δεδομένων. Επεξεργασία δεδομένων είναι μια διαδικασία κατά την οποία ένας μηχανισμός δέχεται δεδομένα, τα επεξεργάζεται και αποδίδει χρήσιμες πληροφορίες. Για παράδειγμα η μέση θερμοκρασία ενός μήνα (πληροφορία) προκύπτει από τον υπολογισμό (επεξεργασία) των μέσων ημερήσιων θερμοκρασιών του μήνα (δεδομένα). 1.3 Κατηγοριοποίηση Προβλημάτων Με κριτήριο τη δυνατότητα επίλυσης Κατηγορία Επιλύσιμα Ανοικτά Άλυτα Χαρακτηριστικό Η λύση τους είναι γνωστή κι έχει διατυπωθεί. (π.χ. η λύση της δευτεροβάθμιας εξίσωσης). Υπάρχουν όμως προβλήματα που δεν έχουν λυθεί ακόμη αλλά η συνάφεια τους με κάποια άλλα μας οδηγεί στο να θεωρούμε ότι έχουν σίγουρα λύση. Η λύση τους δεν έχει ακόμα βρεθεί αλλά δεν έχει αποκλειστεί η δυνατότητα επίλυσης τους. (π.χ. το πρόβλημα της ενοποίησης των τεσσάρων πεδίων της φυσικής) Έχουμε παραδεχτεί ότι δεν επιδέχονται λύση. (π.χ. Ο τετραγωνισμός του κύκλου) 12

14 1.3.2 Με κριτήριο το βαθμό δόμησης των λύσεων Κατηγορία Δομημένα Ημιδομημένα Αδόμητα Χαρακτηριστικό Η λύση τους είναι μια αυτοματοποιημένη διαδικασία. (π.χ. το σχήμα Horner) Η λύση τους μπορεί να επιλεγεί ανάμεσα από ένα πλήθος πιθανών λύσεων. (π.χ. Το μέσο μεταφοράς που θα επιλέξουμε για να μεταβούμε σε έναν προορισμό) Η λύση τους δεν είναι αυτοματοποιημένη, δηλαδή δεν μπορούμε να βρούμε ένα συγκεκριμένο τρόπο λύσης, αλλά βασιζόμαστε στην ανθρώπινη διαίσθηση και εμπειρία. (π.χ. ο τόπος και ο τρόπος οργάνωσης ενός εφηβικού πάρτι) Με κριτήριο το είδος επίλυσης Κατηγορία Χαρακτηριστικό Απόφασης Η λύση τους είναι του τύπου «ΝΑΙ» ή «ΟΧΙ». (π.χ. το 5 διαιρείται με το 140 ;) Για να τα επιλύσουμε πρέπει να κάνουμε Υπολογιστικά υπολογισμούς. (π.χ. η εύρεση του εμβαδού κυκλικού τμήματος) Βελτιστοποίησης Η λύση που ζητάμε πρέπει να είναι η καλύτερη δυνατή. (π.χ. η φόρτωση ενός φορτηγού ώστε να χωρέσει τα περισσότερα πράγματα) 1.4 Πρόβλημα Άνθρωπος Υπολογιστής Σε πολλούς δημιουργείται η λανθασμένη εντύπωση ότι ο ηλεκτρονικός υπολογιστής είναι μια μηχανή που λύνει τα προβλήματα μας. Σε καμία περίπτωση δεν μπορεί ο υπολογιστής να λύσει κάτι αν δεν υπάρχει ο κατάλληλος χειριστής. Ο υπολογιστής είναι μια μηχανή στην υπηρεσία του κατασκευαστή του. Δεν έχει κρίση, διαίσθηση και φυσική νοημοσύνη. Γι αυτό δεν μπορεί να αντικαταστήσει τον άνθρωπο, παρά μόνο να τον διευκολύνει. Οι λόγοι που καθιστούν τον υπολογιστή πολύ σημαντικό αναφέρονται παρακάτω : Η πολυπλοκότητα των υπολογισμών. Η μεγάλη ταχύτητα εκτέλεσης των πράξεων (Μερικά δισεκατομμύρια πράξεις ανά δευτερόλεπτο). Ο μεγάλος όγκος των δεδομένων. Η επαναληπτικότητα των διαδικασιών. 13

15 1.4.2 Παρόλη την ισχύ που διαθέτουν οι σύγχρονοι υπολογιστές είναι σημαντικό να σημειωθεί ότι τα κυκλώματα τους εκτελούν 3 μόνο λειτουργίες!!! Πρόσθεση. ( Με βάση την πρόσθεση εκτελούνται και όλες οι άλλες αριθμητικές πράξεις ) Σύγκριση. ( Η βάση για όλες τις λογικές πράξεις.) Μεταφορά των δεδομένων Σύγκριση υπολογιστή - ανθρώπου Ο άνθρωπος διαθέτει έμφυτες τις ικανότητες που απαιτούνται για την αντιμετώπιση μιας τεράστιας γκάμας προβλημάτων {ενώ ο υπολογιστής όχι}. Η πολυπλοκότητα συλλογισμών του ανθρώπου είναι εξαιρετικά μεγάλη. Ο υπολογιστής απλά χειρίζεται στοιχεία ενώ ο άνθρωπος σκέπτεται - παράγει ιδέες. Το σημείο αυτό δίνει μία αναμφισβήτητα τεράστια ποιοτική διαφορά. Το σημείο που υπερτερεί αναμφισβήτητα ο Η/Υ είναι η ταχύτητα εκτέλεσης των πράξεων Β. Ερωτήσεις Θεωρίας 1.1 Να δώσετε τους ορισμούς των παρακάτω εννοιών : πρόβλημα, δομή προβλήματος. 1.2 Τι ονομάζεται δεδομένο, τι πληροφορία και τι επεξεργασία δεδομένων ; 1.3 Σε ποιες κατηγορίες και με βάση ποια κριτήρια χωρίζονται τα προβλήματα ; Ποιο είναι το βασικό χαρακτηριστικό των παραπάνω κατηγοριών προβλημάτων; Να αναφέρετε παραδείγματα. 1.4 Ποια είναι τα στάδια που πρέπει να ακολουθούμε για τη σωστή αντιμετώπιση ενός προβλήματος ; Να αναλύσετε το καθένα. 1.5 Ποια η σχέση του ανθρώπου με τον υπολογιστή σε ότι αφορά την επίλυση διαφόρων προβλημάτων ; 1.6 Ποιοι είναι οι κύριοι λόγοι που μας οδηγούν στο να αναθέσουμε την επίλυση ενός προβλήματος στον Η/Υ ; 1.7 Ποιες είναι οι λειτουργίες που μπορεί να εκτελέσει ένας Η/Υ ; 1.8 Να αναφέρετε κάποια σύγχρονα προβλήματα που αντιμετωπίστηκαν ή πρέπει να αντιμετωπιστούν. 14

16 1.9 Ποια μέθοδος χρησιμοποιείται για τη γραφική απεικόνιση της δομής ενός προβλήματος ; Να αναλύσετε τους κανόνες με βάση τους οποίους επιτυγχάνεται. Γ. Θέματα για λύση 1.10 Να χαρακτηρίσετε τις παρακάτω προτάσεις ως σωστές (Σ) ή λάθος (Λ). α. Η επίλυση της πρωτοβάθμιας εξίσωσης αποτελεί αδόμητο πρόβλημα. β. Ένα δομημένο πρόβλημα είναι πάντοτε επιλύσιμο. γ. Ένα επιλύσιμο πρόβλημα είναι πάντοτε δομημένο. δ. Τα άλυτα προβλήματα είναι αυτά που ακόμη δεν έχει βρεθεί η λύση τους. ε. Η ανάλυση ενός προβλήματος σε ένα σύγχρονο υπολογιστικό περιβάλλον, περιλαμβάνει την εισαγωγή και την εξαγωγή δεδομένων Να χαρακτηρίσετε τις παρακάτω προτάσεις ως σωστές (Σ) ή λάθος (Λ). α. Η επίλυση ενός προβλήματος προϋποθέτει την κατανόηση και την ανάλυση. β. Ο υπολογιστής εκτελεί μόνο τρεις λειτουργίες, την πρόσθεση, τον πολλαπλασιασμό και τη μεταφορά δεδομένων. γ. Επιλύσιμο είναι ένα πρόβλημα για το οποίο ξέρουμε ότι έχει λύση, αλλά αυτή δεν έχει βρεθεί ακόμη. δ. Οι ικανότητες του υπολογιστή περιορίζονται σε ποσοτικό και όχι σε ποιοτικό επίπεδο. ε. Όσο προχωράει η ανάλυση ενός προβλήματος τόσο γίνεται πιο σύνθετη η λύση του Να χαρακτηρίσετε τις παρακάτω προτάσεις ως σωστές (Σ) ή λάθος (Λ). α. Ένα πρόβλημα μπορεί να παρασταθεί είτε διαγραμματικά, είτε φραστικά. β. Ένα πρόβλημα μπορεί να αναλυθεί σε επιμέρους προβλήματα. γ. Η κατανόηση ενός προβλήματος ακολουθεί την ανάλυση του. δ. Ο ταχύτερος μηχανισμός επεξεργασίας δεδομένων είναι ο υπολογιστής. ε. Αν ένα πρόβλημα απαιτεί απλούς υπολογισμούς σε μικρό όγκο δεδομένων δεν μπορεί να επιλυθεί σε Η/Υ. 15

17 1.13 Να χαρακτηρίσετε τις παρακάτω προτάσεις ως σωστές (Σ) ή λάθος (Λ). α. Τα προβλήματα για τα οποία δεν μπορούμε να απαντήσουμε ακόμη εαν είναι δυνατόν να λυθούν ονομάζονται μη επιλύσιμα. β. Τα δεδομένα ενός προβλήματος είναι πάντοτε κάποιοι αριθμοί. γ. Η πρόσθεση είναι μια από τις βασικές λειτουργίες που μπορεί να εκτελέσει ένας Η/Υ. δ. Οι επιδόσεις πέντε αθλητών σε ένα αγώνα δρόμου αποτελούν δεδομένα, ενώ το όνομα του νικητή του αγώνα αποτελεί πληροφορία. ε. Με κριτήριο τη δυνατότητα επίλυσης ενός προβλήματος, διακρίνουμε τις κατηγορίες : επιλύσιμα, υπολογιστικά και άλυτα Να συμπληρώσετε τα κενά στις παρακάτω προτάσεις. α. Με τον όρο... εννοείται μια κατάσταση, η οποία απαιτεί... και η οποία δεν είναι... ούτε προφανής β. Με τον όρο... εννοούμε οποιοδήποτε στοιχείο γίνεται... από έναν τουλάχιστον... με μια από τις πέντε... γ. Με τον όρο... δεδομένων εννοούμε ένα... ο οποίος δέχεται..., στη συνέχεια τα... και αποδίδει... δ. Η επίλυση ενός προβλήματος ξεκινά από την... του Να συμπληρώσετε τα κενά στις παρακάτω προτάσεις. α.... είναι το αποτέλεσμα επεξεργασίας δεδομένων. β. Σημαντικός παράγοντας στην κατανόηση ενός προβλήματος είναι η... γ. Με τον όρο... προβλήματος αναφερόμαστε στα συστατικά μέρη που το αποτελούν. δ. Για να μπορέσουμε να επιλύσουμε ένα πρόβλημα θα πρέπει να γίνει ο καθορισμός των Δίνονται οι παρακάτω ομάδες λέξεων. Σε κάθε μια από αυτές, να βάλεις τις λέξεις στη σωστή σειρά. α. Επίλυση, ανάλυση, κατανόηση (αναφορά σε πρόβλημα). β. Επεξεργασία, έλεγχος, έξοδος, είσοδος (αναφορά σε δεδομένα). 16

18 1.17 Να γράψετε από ένα παράδειγμα για τις ακόλουθες κατηγορίες προβλημάτων : α. άλυτο :... β. αδόμητο :... γ. ανοικτό :... δ. επιλύσιμο :... ε. δομημένο : Να γράψετε στο τετράδιό σας τους αριθμούς της στήλης Α και δίπλα το γράμμα της στήλης Β που αντιστοιχεί στο σωστό είδος προβλημάτων. Σε κάθε επιλογή της στήλης Α ενδέχεται να ταιριάζουν περισσότερο από ένα στοιχεία της στήλης Β. Στήλη Α Τύπος Προβλήματος Στήλη Β Παράδειγμα προβλήματος α. Εύρεση του εμβαδού κυκλικού τομέα β. Αγορά ενός συγκεκριμένου αυτοκινήτου 1. Υπολογιστικό 2. Βελτιστοποίησης 3. Απόφασης γ. Ταχύτερη διανομή επιστολών δ. Έλεγχος αν ένας αριθμός διαιρείται με το 5 ε. Πόσοι μαθητές θα περάσουν στις εξετάσεις ζ. Ο μαθητής Σάκης Τζέκος θα πάρει αριστείο 1.19 Να επιλέξετε όσες από τις παρακάτω απαντήσεις θεωρείτε κατάλληλες. α. Οι λόγοι για τους οποίους αναθέτουμε την επίλυση προβλημάτων σε Η/Υ σχετίζονται με : i. την ταχύτητα εκτέλεσης των ii. τον χειρισμό μεγάλου πράξεων όγκου δεδομένων iii.την ικανότητα συγκρίσεων iv. την ικανότητα για ανάλυση δεδομένων 17

19 β. Βασικές λειτουργίες που μπορεί να εκτελέσει ένας Η/Υ είναι : i. ο πολλαπλασιασμός ii. ο χειρισμός μεγάλου όγκου δεδομένων iii. η μεταφορά δεδομένων iv. η σύγκριση v. η ικανότητα για ανάλυση vi. ο υπολογισμός δυνάμεων. δεδομένων γ. Ανάλογα με το είδος της επίλυσης που επιζητούν τα προβλήματα διακρίνονται σε: i. ημιδομημένα ii. απόφασης iii. ανοικτά iv. υπολογιστικά 1.20 Να γράψετε στο τετράδιό σας τους αριθμούς της στήλης Α και δίπλα το γράμμα της στήλης Β που αντιστοιχεί στο σωστό είδος προβλημάτων. Στη στήλη Β περισσεύει ένα στοιχείο. Στήλη Α 1. Η διαδικασία λύσης τους είναι αυτοματοποιημένη. 2. Δεν έχει βρεθεί λύση, αλλά δεν έχει αποδειχθεί και η μη ύπαρξη λύσης. 3. Ο τρόπος λύσης τους μπορεί να επιλεγεί από πλήθος δυνατών λύσεων. 4. Ο τρόπος λύσης προκύπτει βάσει της διαίσθησης και της εμπειρίας. Στήλη Β Α. Ανοικτά Β. Δομημένα Γ. Άλυτα Δ. Ημιδομημένα Ε. Αδόμητα 1.21 Να επιλέξετε τη σωστή απάντηση. α. Τα δεδομένα ενός προβλήματος πρέπει : i. Να είναι δομημένα ii.να έχουν καθοριστεί με σαφήνεια iii.να είναι αριθμητικά β. Η διαδικασία μέσω της οποίας βρίσκουμε το ζητούμενο ενός προβλήματος λέγεται : i. Επίλυση ii. Ανάλυση iii. Αξιολόγηση γ. Τα ημιδομημένα είναι κατηγορία προβλημάτων που διακρινονται με κριτήριο : i. Το είδος επίλυσης ii. Τη δυνατότητα επίλυσης iii. Το βαθμό δόμησης 18

20 ΚΕΦΑΛΑΙΟ 2 ο ΑΛΓΟΡΙΘΜΟΙ ΨΕΥΔΟΓΛΩΣΣΑ - "ΓΛΩΣΣΑ" ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ

21 .

22 ΚΕΦΑΛΑΙΟ 2 ο - ΑΛΓΟΡΙΘΜΟΙ ΨΕΥ ΟΓΛΩΣΣΑ «ΓΛΩΣΣΑ» - ΟΜΗ ΑΚΟΛΟΥΘΙΑΣ Α. Θεωρία 2.1 O Αλγόριθμος Το βασικό μέρος του μαθήματος αποτελείται από ασκήσεις που ζητούν την κατασκευή αλγορίθμων ή άλλες που ζητούν εκτέλεση αλγορίθμων. Η έννοια του αλγορίθμου δεν αποτελεί καθαρά έννοια της πληροφορικής. Προέρχεται από τα μαθηματικά και έχει επικρατήσει στον προγραμματισμό. Αν προσπαθήσουμε να δούμε απλοϊκά την έννοια αλγόριθμος τότε λέμε ότι : «Αλγόριθμος είναι ένα σύνολο ενεργειών που κάνουμε για να πετύχουμε κάτι». Με λίγη περισσότερη αυστηρότητα προκύπτει ο παρακάτω ορισμός Ορισμός Αλγορίθμου Κριτήρια Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Φυσικά, ο παραπάνω ορισμός συνοδεύεται από τα κριτήρια που πρέπει να ικανοποιεί μια δέσμη ενεργειών ώστε να αποτελεί αλγόριθμο. Αυτά είναι : α. Είσοδος β. Έξοδος γ. Καθοριστικότητα δ. Περατότητα ε. Αποτελεσματικότητα 2.2 Μέθοδοι Αναπαράστασης Αλγορίθμων Τρόποι Αναπαράστασης Ένας αλγόριθμος μπορεί να παρασταθεί ισοδύναμα με έναν από τους παρακάτω τρόπους : α. Ελεύθερο κείμενο β. Φυσική γλώσσα με καθορισμό των βημάτων γ. Διαγραμματικές τεχνικές (διάγραμμα ροής ή Flowchart) δ. Με κωδικοποίηση Παρακάτω αναλύουμε τις περιπτώσεις γ. και δ. οι οποίες μας ενδιαφέρουν περισσότερο στις ασκήσεις Διαγραμματικές Τεχνικές (Διάγραμμα Ροής ή Flowchart) Δεδομένης της ύπαρξης ενός προβλήματος χρησιμοποιούμε γεωμετρικά σχήματα (παραλληλόγραμμο, ορθογώνιο, ρόμβο, έλλειψη κ.λ.π.) στα οποία έχουμε αντιστοιχίσει μια ξεχωριστή σημασία. Στο εσωτερικό κάθε σχήματος σημειώνουμε την αντίστοιχη ενέργεια και στη συνέχεια τα ενώνουμε μεταξύ τους με λογικά κριτήρια συνάφειας. Το αποτέλεσμα που παίρνουμε είναι ένας αλγόριθμος και συνεπώς οφείλει να λύνει το πρόβλημα. Φυσικά ο τρόπος αυτός δεν δημιουργεί 21

23 εκτελέσιμη λύση σε υπολογιστή είναι όμως απαραίτητη για μια πρόχειρη δημιουργία λύσης. Ας δούμε τώρα την αντιστοιχία σχημάτων και ενεργειών : α. Έλλειψη Δηλώνει αρχή ή τέλος του αλγορίθμου β. Παραλληλόγραμμο Χρησιμοποιείται για είσοδο ή έξοδο δεδομένων γ. Ορθογώνιο Παραλληλόγραμμο Δηλώνει υπολογισμούς ή ανάθεση τιμής δ. Ρόμβος Χρησιμοποιείται για αλλαγή στη ροή του αλγόριθμου. Υπάρχουν αρκετοί άλλοι συμβολισμοί τους οποίους δεν αναφέρουμε γιατί ξεφεύγουν από τα πλαίσια ενός εισαγωγικού μαθήματος προγραμματισμού Με κωδικοποίηση Η μέθοδος της κωδικοποίησης προϋποθέτει γνώση της ψευδογλώσσας ή κάποιας γλώσσας προγραμματισμού. Στην πρώτη περίπτωση μιλάμε για αλγόριθμο σε ψευδογλώσσα που δεν είναι δυνατό να εκτελεστεί σε Η/Υ ενώ στη δεύτερη μιλάμε για ένα προγραμματιστικό περιβάλλον σε Η/Υ που εκτελεί τις λύσεις που δίνουμε. Στο εξής όταν θα λέμε «Να γραφεί αλγόριθμος...» θα εννοούμε λύση σε ψευδογλώσσα ενώ όταν θα λέμε «Να κατασκευαστεί πρόγραμμα στη ΓΛΩΣΣΑ» θα εννοούμε λύση στο εκπαιδευτικό προγραμματιστικό περιβάλλον «Γλωσσομάθεια» που διατίθεται δωρεάν στο διαδίκτυο. 2.3 Στοιχεία Ψευδογλώσσας Ορισμοί Εντολές Σταθερά : Μέγεθος που διατηρεί σταθερή τιμή καθόλη τη διάρκεια του αλγόριθμου (π.χ. Α = 5, Β = Δευτέρα, X = 3.5 ) Μεταβλητή : Μέγεθος που μπορεί να αλλάζει τιμή σε διάφορα σημεία του αλγόριθμου. Μια μεταβλητή μπορεί να περιέχει ακέραιους αριθμούς ή πραγματικούς ή χαρακτήρες (αλφαριθμητικοί) ή την ένδειξη Αληθής ή Ψευδής (Λογική). Οι παραπάνω κατηγορίες ονομάζονται Τύποι Δεδομένων. Εντολή Εκχώρησης : Χρησιμοποιούμε το σύμβολο προκειμένου να δώσουμε τιμή σε μια μεταβλητή ή να εκτελέσουμε κάποιο υπολογισμό. Αριστερά του βέλους έχουμε το όνομα της μεταβλητής και δεξιά την τιμή που της δίνουμε. Είναι λάθος να θεωρεί κάποιος την εκχώρηση το ίδιο πράγμα με την ισότητα. Ας δούμε λίγο τι συμβαίνει στα κυκλώματα του Η/Υ. Με τη δήλωση μιας μεταβλητής ο υπολογιστής δεσμεύει ένα χώρο μέσα στη κεντρική του μνήμη (RAM), τον ονομάζει και τον κρατάει κενό μέχρι να ζητηθεί να γεμίσει. Η εκχώρηση κάνει αυτή τη δουλειά. Δίνει 22

24 τιμές σ αυτόν το χώρο. Η χωρητικότητα του χώρου αυτού στη μνήμη εξαρτάται από τον τύπο δεδομένων που προορίζουμε να αποθηκεύσουμε. Ο χώρος αυτός κρατιέται στη μνήμη μέχρι να σβήσει ο Η/Υ. Εντολές Εισόδου Εξόδου : Η εντολή Διάβασε ονομάζεται εντολή εισόδου και χρησιμοποιείται για να δώσουμε τιμές σε μεταβλητές κατά την εκτέλεση του αλγορίθμου. Συντάσσεται ως εξής : Διάβασε <Λίστα μεταβλητών> π.χ. Διάβασε x, α Η εντολή Εμφάνισε ονομάζεται εντολή εξόδου και χρησιμοποιείται για να δείξουμε στην οθόνη το περιεχόμενο μεταβλητών ή για να εμφανίσουμε μηνύματα. Συντάσσεται ως εξής : Εμφάνισε <Λίστα μεταβλητών> π.χ. Εμφάνισε x, α Εμφάνισε Το όνομα μου είναι, name. Εναλλακτικά μπορούμε να χρησιμοποιούμε την εντολή Γράψε και κάποιες φορές την εντολή Εκτύπωσε Δομή Αλγορίθμου Κάθε αλγόριθμος είναι απαραίτητο να έχει την παρακάτω δομή : Αλγόριθμος Όνομα Δεδομένα // //... Εντολές... Αποτελέσματα // // Τέλος Όνομα Τα Δεδομένα είναι μια εντολή της ψευδογλώσσας που τοποθετείται αμέσως μετά την εντολή αλγόριθμος και χρησιμοποιείται για να δηλώσει κάτι σταθερό ή δεδομένο. Στους περισσότερους όμως αλγόριθμους δεν θα τη συναντάμε. Η εντολή Αποτελέσματα χρησιμοποιείται πολύ σπάνια και ο σκοπός της είναι να εμφανίσει το περιεχόμενο κάποιων μεταβλητών. Θεωρείται καλύτερο να χρησιμοποιούμε τις εντολές εξόδου που περιγράφτηκαν παραπάνω. Η εντολή! δηλώνει η συγκεκριμένη γραμμή περιέχει σχόλια του προγραμματιστή σχετικά με τον αλγόριθμο δεν εκτελείται και δε λαμβάνεται υπόψη. Παράδειγμα αλγορίθμου σε ψευδογλώσσα Αλγόριθμος Άσκηση_1 Δεδομένα // π = 3.14 //! ρ : ακτίνα κύκλου, Ε : Εμβαδόν! Υπολογισμός εμβαδού κυκλικού δίσκου Εμφάνισε Δώσε ακτίνα να υπολογίσω εμβαδόν Διάβασε ρ Ε πρ 2! Προσοχή σ αυτόν το συμβολισμό Εμφάνισε Ε=,Ε Τέλος Άσκηση_1 23

25 Εξάσκηση σε αλγορίθμους μπορείτε να κάνετε στον ιστοτοπο Σημαντική παρατήρηση!!! Όταν γράφουμε ονόματα σταθερών ή μεταβλητών ή ονόματα αλγορίθμων, πρέπει απαραίτητα να ακολουθούμε κάποιους κανόνες ώστε να είναι ορθά. Συγκεκριμένα μπορούμε να χρησιμοποιούμε ακολουθίες από μικρά ή κεφαλαία γράμματα ελληνικού ή λατινικού αλφαβήτου, σε συνδυασμό με τους αριθμούς (0-9) και το χαρακτήρα _ (underscore). Βέβαια ένα όνομα δεν πρέπει να περιέχει κενά, άλλα σύμβολα και δεν πρέπει να ξεκινά από αριθμό. Επιπλέον, μη αποδεκτά ονόματα αποτελούν οι διάφορες εντολές της Ψευδογλώσσας Τελεστές Συναρτήσεις Εκφράσεις Στο παραπάνω παράδειγμα χρησιμοποιήσαμε την πράξη του πολλαπλασιασμού καθώς επίσης και την ύψωση σε δύναμη. Είναι λοιπόν απαραίτητο να δώσουμε λειτουργίες σε κάποια σύμβολα που τα ονομάζουμε τελεστές, συναρτήσεις τα οποία συνδυάζουμε για να γράψουμε εκφράσεις. Έκφραση είναι μια ακολουθία από μεταβλητές και σταθερές συνδεδεμένες μεταξύ τους με κάποιους από τους παρακάτω τελεστές. Αυτοί είναι : α. Αριθμητικοί τελεστές + Πρόσθεση - Αφαίρεση * Πολλαπλασιασμός / Διαίρεση ^ν Ύψωση εις την νιοστή ^(1/ν) νιοστή ρίζα div Ακέραιο πηλίκο ακεραίων mod Υπόλοιπο της ακεραίας διαίρεσης ακεραίων β. Συγκριτικοί τελεστές γ. Βασικές συναρτήσεις > Μεγαλύτερο < Μικρότερο = Ίσον ή >= Μεγαλύτερο ίσον ή <= Μικρότερο ίσον ή <> Διάφορο ΗΜ(Χ) ΣΥΝ(Χ) ΕΦ(Χ) Τ_Ρ(Χ) ΛΟΓ(Χ) Α_Τ(Χ) Ε(Χ) Α_Μ(Χ) Ημίτονο Συνημίτονο Εφαπτομένη Τετραγωνική ρίζα Λογάριθμος Απόλυτη τιμή Εκθετική συνάρτηση Ακέραιο μέρος αριθμού 24

26 Σημαντικές παρατηρήσεις!!! Το Div είναι πάντα το ακέραιο πηλίκο που προκύπτει αν διαιρέσουμε 2 ακέραιους αριθμούς. Το Mod είναι πάντα το υπόλοιπο της παραπάνω διαίρεσης. Έχουμε για παράδειγμα : 3 Div 2 = 1, 1 Div 2 = 0, 21 Div 3 = 7, 2 Mod 2 = 0 5 Mod 2 = 1, 32 Mod 2 = 0, 0 Div 3 = 0, 3 Div 0 = Αδύνατο, κ.λπ. Στους αλγόριθμους συνιστάμε να αποφεύγετε τη χρήση των συμβόλων,, κ.λπ. καθώς επίσης και χ 2,....Αντίθετα μπορείτε να χρησιμοποιείτε όλους τους παραπάνω τελεστές. δ. Λογικοί τελεστές : Και - Ή - Όχι Χρησιμοποιούνται για να συνδέσουμε 2 ή περισσότερες λογικές εκφράσεις. Το αποτέλεσμα των εκφράσεων που περιέχουν συγκριτικούς τελεστές και λογικούς τελεστές παίρνει μόνο δύο πιθανές τιμές. Την τιμή Αληθής όταν ο ισχυρισμός ισχύει και την τιμή Ψευδής όταν ο ισχυρισμός είναι λανθασμένος. π.χ. 3*5 > 8 Αληθής 5 < -1 Ψευδής. ε. Πίνακες αληθείας και χρήση στις λογικές εκφράσεις Όπως αναφέρθηκε παραπάνω, αν συνδυάσουμε μεταβλητές, σταθερές, τελεστές και συναρτήσεις τότε φτιάχνουμε τις εκφράσεις, που αποτελούν βασικό στοιχείο στον προγραμματισμό. Ας δούμε κάποια παραδείγματα : 2*α - β^2, ΗΜ(2*ε) 5^(1/2) κ.λ.π. Αυτές είναι απλές εκφράσεις. Αν τώρα ενώσουμε 2 ή περισσότερες εκφράσεις με λογικούς τελεστές και χρήση παρενθέσεων τότε φτιάχνουμε σύνθετες εκφράσεις. Ας δούμε κάποια παραδείγματα : (2*α 5 > 3) ΚAI (5*y 8 = 12) ΟΧΙ ( 3 < 5 ) ( Α > Β ) Ή ( 3 Γ >= 5 ) Αληθής = Ψευδής κ.λ.π. Απαγορεύεται η χρήση αγκύλης, αγκίστρου. Ένα σημαντικό πράγμα που πρέπει να γνωρίζουμε για την τέλεση πράξεων μέσα σε εκφράσεις είναι η ιεραρχία. Συγκεκριμένα, η έκφραση εκτελείται από τα αριστερά προς τα δεξιά με τρόπο όπως στα μαθηματικά. Ο παρακάτω πίνακας ονομάζεται πίνακας αληθείας και είναι απαραίτητος για να βρίσκουμε το αποτέλεσμα σύνθετων λογικών εκφράσεων. 25

27 Πρόταση Α Πρόταση Β Α ή Β Α και Β όχι Α (Διάζευξη) (Σύζευξη) (Άρνηση) Ψευδής Ψευδής Ψευδής Ψευδής Αληθής Ψευδής Αληθής Αληθής Ψευδής Αληθής Αληθής Ψευδής Αληθής Ψευδής Ψευδής Αληθής Αληθής Αληθής Αληθής Ψευδής 2.4 Στοιχεία του Πρoγραμματιστικού Περιβάλλοντος της «ΓΛΩΣΣΑΣ» Η «ΓΛΩΣΣΑ» είναι μια απλουστευμένη γλωσσα προγραμματισμού εκπαιδευτικού χαρακτήρα και με τη βοήθεια της μπορούμε να δημιουργούμε κανονικά προγράμματα. Τα προγράμματα έχουμε τη δυνατότητα να τα εκτελέσουμε και να δούμε στην οθόνη του Η/Υ τα αποτελέσματα. Το πιο γνωστό λογισμικό με το οποίο μπορείτε να προγραμματίσετε σε «ΓΛΩΣΣΑ» είναι η Γλωσσόμάθεια που διακινείται ελεύθερα στο διαδίκτυο μέσω του ιστοτόπου Ας δούμε όμως τις διαφοροποιήσεις που υπάρχουν ανάμεσα σε ένα πρόγραμμα της «ΓΛΩΣΣΑΣ» και σε έναν αλγόριθμο σε ψευδογλώσσα Δομή Προγράμματος της «ΓΛΩΣΣΑΣ» Ένα πρόγραμμα στη «ΓΛΩΣΣΑ» έχει πάντα μια συγκεκριμένη δομή η οποία φαίνεται παρακάτω : ΠΡΟΓΡΑΜΜΑ Ονομα_προγράμματος ΤΜΗΜΑ ΔΗΛΩΣΗΣ ΣΤΑΘΕΡΩΝ ΑΡΧΗ ΤΜΗΜΑ ΔΗΛΩΣΗΣ ΜΕΤΑΒΛΗΤΩΝ ΚΥΡΙΟ ΜΕΡΟΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Τμήμα Δήλωσης Σταθερών : ΣΤΑΘΕΡΕΣ ΟΝ1 = ΤΙΜΗ1 ΟΝ2 = ΤΙΜΗ2 26

28 Τμήμα Δήλωσης Μεταβλητών : ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : ΜΕΤ1, ΚΛ ΠΡΑΓΜΑΤΙΚΕΣ : ΜΕΤ2 ΧΑΡΑΚΤΗΡΕΣ : ΑΒΓ ΛΟΓΙΚΕΣ : ΛΟΓ, done Όσα αναφέραμε στην παράγραφο 2.3 ισχύουν και στη «ΓΛΩΣΣΑ» απλά αλλάζει η δομή. Ας δούμε ένα παράδειγμα με αλγόριθμο και με πρόγραμμα. Αλγόριθμος Υπολογισμός Δεδομένα // Σ = 15 // Διάβασε χ, κ Β (χ κ*σ)/2 Εμφάνισε Το αποτέλεσμα είναι :,Β Τέλος Υπολογισμός Μη εκτελέσιμη μορφή σε Η/Υ ΠΡΟΓΡΑΜΜΑ ΥΠΟΛΟΓΙΣΜΟΣ ΣΤΑΘΕΡΕΣ Σ = 15 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : χ, κ ΠΡΑΓΜΑΤΙΚΕΣ : Β ΑΡΧΗ ΔΙΑΒΑΣΕ χ, κ Β (χ κ*σ)/2 ΓΡΑΨΕ Το αποτέλεσμα είναι :, Β ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Εκτελέσιμο Πρόγραμμα στη «ΓΛΩΣΣΑ» Σημαντική παρατηρήση!!! Κάποιοι ισχυρίζονται ότι οι συναρτήσεις που αναφέραμε στην υποπαράγραφο γ. επιτρέπονται μόνο σε Προγράμματα. Αυτό όμως διαψεύδεται από κάποια θέματα εξετάσεων που ζητήθηκαν και περιείχαν τέτοιες συναρτήσεις. Όπως για παράδειγμα στα εσπερινά λύκεια το 2007 στο θέμα 2. Σε κάθε περίπτωση λόγω ασάφεια του βιβλίου πάνω στο συγκεκριμένο ζήτημα, προσπαθήστε να τις αποφεύγετε όσο το δυνατόν σε αλγόριθμους. Απλά κάποια θέματα είναι αδύνατον να λυθούν χωρίς αυτές. Επίσης κάποιοι καθηγητές υποστηρίζουν ότι στους αλγοριθμους δεν επιτρέπεται στους αλγόριθμους η χρήση της εντολής γράψε. Αυτό ξεακαθαρίζεται από το σχολικό βιβλίο στη σελίδα 47 υποπαράγραφος Η δομή της ακολουθίας Η πιο σωστή μέθοδος ανάπτυξης αλγορίθμων και προγραμμάτων είναι ο δομημένος προγραμματισμός. Ο δομημένος πρoγραμματισμός στηρίζεται στη χρήση τριών στοιχειωδών δομών (συνιστωσών ενός αλγορίθμου). Συγκεκριμένα έχουμε α. τη δομή ακολουθίας, β. τη δομή επιλογής και γ. τη δομή επανάληψης. Η δομή ακολουθίας είναι η πιο απλή και βασίζεται στην ιδέα ότι οι εντολές ενός αλγόριθμου ή ενός προγράμματος εκτελούνται η μία μετά την άλλη. Η σειρά τους είναι αδύνατο να αλλάξει, αποκλείεται κάποια να εκτελεστεί περισσότερες από μία φορές και είναι αδύνατον να μην εκτελεστεί μια εντολή. Στο παράδειγμα της παραγράφου 2.4 χρησιμοποιήσαμε τη δομή της ακολουθίας, η οποία στο εξής θεωρείται δεδομένη σε κάθε παράδειγμα. Οι άλλες δύο δομές θα εξεταστούν στα επόμενα κεφάλαια. 27

29 Β. Ερωτήσεις Θεωρίας 2.1 Να δώσετε τον ορισμό της έννοιας του αλγορίθμου. 2.2 Ποια είναι τα κριτήρια που πρέπει να ικανοποιεί ένας αλγόριθμος ; Να περιγράψετε καθένα από αυτά. 2.3 Περιγράψτε συνοπτικά τους τρόπους αναπαράστασης ενός αλγορίθμου. 2.4 Περιγράψτε τις σκοπιές από τις οποίες μελετά η πληροφορική τους αλγόριθμους. 2.5 Τι ονομάζουμε σταθερά, μεταβλητή ; 2.6 Ποιες αρχές διέπουν τα ονόματα μεταβλητών και σταθερών στην ψευδογλώσσα; Να δώσετε τρία παραδείγματα μη δεκτών ονομάτων. 2.7 Ποιες είναι οι βασικές συνιστώσες/ εντολές ενός αλγόριθμου ; 2.8 Δώστε παραδείγματα δηλωτικών και εκτελεστέων εντολών της Ψευδογλώσσας. 2.9 Τι ονομάζουμε τελεστές ; Να αναφέρετε τα είδη τελεστών που χρησιμοποιούμε στην ψευδογλώσσα και στη «ΓΛΩΣΣΑ» Ποιους τύπους δεδομένων υποστηρίζει η «ΓΛΩΣΣΑ» ; Να Δώσετε 2 παραδείγματα για κάθε τύπο Τι γνωρίζετε για τις εκφράσεις ; 2.12 Ποια είναι η τυπική δομή ενός προγράμματος στο προγραμματιστικό περιβάλλον της «ΓΛΩΣΣΑΣ» ; 2.13 Τι γνωρίζετε για την εντολή εκχώρησης ; Ποια είναι η σύνταξη και η λειτουργία της; Αναφέρατε παραδείγματα δεκτών και μη δεκτών περιπτώσεων Ποιος είναι ο σκοπός των εντολών Εισόδου Εξόδου και πως συντάσσονται ; 2.15 Να γράψετε τον πίνακα αληθείας δύο λογικών προτάσεων Τι γνωρίζετε για τους τελεστές div και mod ; Να δώσετε μερικά παραδείγματα Τι γνωρίζετε για τη δομή ακολουθίας στο δομημένο προγραμματισμό ; 28

30 Γ. Λυμένα Θέματα 2.18 Ποιες είναι οι διαφορές ενός αλγόριθμου σε ψευδογλώσσα και ενός προγράμματος στη «ΓΛΩΣΣΑ» ; α. Ο αλγόριθμος δεν εκτελείται σε Η/Υ ενώ το πρόγραμμα εκτελείται. β. Στο πρόγραμμα υπάρχουν τμήματα δήλωσης μεταβλητών και σταθερών, ενώ στον αλγόριθμο δεν είναι απαραίτητες οι δηλώσεις των τύπων δεδομένων. γ. Στο πρόγραμμα γράφουμε τη λέξη ΑΡΧΗ, μετά γράφουμε το κύριο μέρος της λύσης και τελειώνουμε με τις λέξεις ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ. Στον αλγόριθμο απλά στο τέλος γράφουμε Τέλος Όνομα. δ. Στο πρόγραμμα δεν χρησιμοποιούμε τους τελεστές,, ενώ στον αλγόριθμο επιτρέπονται. Φυσικά και στα δύο μπορούμε να χρησιμοποιούμε <=, <>, >=. ε. Στους αλγόριθμους για έξοδο χρησιμοποιούμε εμφάνισε ή γράψε ή εκτύπωσε ενώ στο πρόγραμμα μόνο ΓΡΑΨΕ. Σημαντική παρατήρηση!!! Τόσο στους αλγόριθμους όσο και στα προγράμματα όταν δε μας φτάνει μια γραμμή για να ολοκληρώσουμε μια εντολή, τοποθετούμε το σύμβολο & στην επόμενη γραμμή και συνεχίζουμε κανονικά όπως θα συνεχίζαμε στη προηγούμενη γραμμή Να βρείτε το λάθος που υπάρχει στα παρακάτω στοιχεία ψευδογλώσσας. α. Αλγόριθμος Άσκηση 15 Υπάρχει κενό στο όνομα του αλγορίθμου. β. ΟΝΟΜΑ_13$ Υπάρχει ο χαρακτήρας $. γ. 12ΤΙΜΕ Η μεταβλητή ξεκινάει από αριθμούς. δ. 23 Div 3.2 = 2 Το 3.2 είναι είναι πραγματικός αριθμος και οι τελεστές div και mod λειτουργούν μόνο με ακεραίους. ε. Διάβασε χ Η σωστή σύνταξη είναι Διάβασε χ. Τα εισαγωγικά χρησιμοποιούνται για χαρακτήρες. ζ. α+5 3 Αριστερά της εκχώρησης πρέπει να έχουμε μόνο τη μεταβλητή, όχι έκφραση. 29

31 η. Εμφάνισε Ε 2*χ Μετά το εμφάνισε έχουμε χαρακτήρες σε εισαγωγικά ή μεταβλητές. Δεν γίνεται να έχουμε Να γίνει διάγραμμα ροής για το παρακάτω πρόβλημα : Έχουμε μια σφαίρα ακτίνας ρ που δίνεται από το χρήστη. Να υπολογιστεί το εμβαδό της κυρτής επιφάνειας και ο όγκος της σφαίρας. Στη συνέχεια να γίνει αλγόριθμος και πρόγραμμα στη «ΓΛΩΣΣΑ» (Δίνονται : Ε σφαίρας = 4πρ και V σφαίρας = πρ ). 3 Διάγραμμα Ροής Αλγόριθμος σε Ψευδογλώσσα Αλγόριθμος Στοιχεία_Σφαίρας Δεδομένα // π=3.14 //! ρ η ακτίνα, Ε το Εμβαδόν, Ο όγκος Διάβασε ρ Εμ 4*π*ρ^2 Ο (4/3)*π*ρ^3 Εμφάνισε Εμβαδόν =, Εμ, Όγκος =, Ο Τέλος Στοιχεία_Σφαίρας 30

32 Πρόγραμμα στη «ΓΛΩΣΣΑ» ΠΡΟΓΡΑΜΜΑ ΣΤΟΙΧΕΙΑ_ΣΦΑΙΡΑΣ ΣΤΑΘΕΡΕΣ π=3.14 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : ρ ΠΡΑΓΜΑΤΙΚΕΣ : Εμ, Ο ΑΡΧΗ ΔΙΑΒΑΣΕ ρ Εμ 4*π*ρ^2 Ο (4/3)*π*ρ^3 ΓΡΑΨΕ Εμβαδόν =, Εμ, Ογκος =, Ο ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ 2.21 Δίνεται ένας αλγόριθμος σε ελεύθερο κείμενο : «Μου δίνουν έναν αριθμό. Τον αυξάνω κατά 5. Στη συνέχεια εμφανίζω το αποτέλεσμα. Διαβάζω από το πληκτρολόγιο έναν καινούργιο αριθμό. Εμφανίζω τον κύβο του». Μετατρέψτε τον παραπάνω αλγόριθμο σε διάγραμμα ροής και στη συνέχεια σε αλγόριθμο σε ψευδογλώσσα. Αλγόριθμος Αριθμοί Δεδομένα // Α // Α Α + 5 Εμφάνισε Α Διάβασε Β Εμφάνισε Β^3 Τέλος Αριθμοί 31

33 2.22 Να μετατρέψετε τις παρακάτω μαθηματικές εκφράσεις σε αντίστοιχες της «ΓΛΩΣΣΑΣ» b b 4ac α. a + b β. γ. 28 εφx 3 ηµ + 2a a a e α. (α^2 + b^2)^(1/2) ή ισοδύναμα Τ_Ρ(α^2 + b^2) β. ( b Τ_Ρ(b^2 4*α*c))/(2*a) γ. 28 ΕΦ(x)*(3 (a^5 ΗΜ(a) + E(x 1))) 5 x { ( ) } Να υπολογιστεί η τιμή των παρακάτω παραστάσεων όταν Α=8, Β=5, Γ=3 και Δ = ψευδής. α. ((Α <Β+Γ) ΚΑΙ (Α-Β=Γ ))Ή Δ ((8 < 5+3) ΚΑΙ (8-5=3)) Ή Ψ ((8<8) ΚΑΙ (3=3)) Ή Ψ (Ψ ΚΑΙ Α) Ή Ψ Ψ Ή Ψ Ψ β. (Α>=Β+Γ) ΚΑΙ ((Β*Γ >Α+Β) Ή ΟΧΙ(Δ)) (8>=5+3) ΚΑΙ ((5*3>8+5) Ή ΟΧΙ Ψ (8>=8) ΚΑΙ (15>13) Ή Α Α ΚΑΙ Α Ή Α Α Ή Α Α γ. ((Α<>Β+Γ+1) Η (Α^2=(Β-Γ)^2)) ΚΑΙ ((Α=Β+Γ) Η Δ) ((8<> 5+3+1) Ή (8^2 = (5-3)^2)) ΚΑΙ ((8=5+3) Ή Ψ) ((8<> 9) Ή (64=4)) ΚΑΙ (Α Ή Ψ) (Α Ή Ψ) ΚΑΙ Α Α ΚΑΙ Α Α 32

34 Δ. Θέματα για λύση 1. ΘΕΩΡΗΤΙΚΑ ΘΕΜΑΤΑ 2.24 Για κάθε πρόταση να απαντήσετε αν είναι Σωστή (Σ) ή Λάθος (Λ). α. Ο αλγόριθμος μπορεί να περιέχει και εντολές που δεν είναι σαφείς. β. Κάθε αλγόριθμος πρέπει να διαθέτει έξοδο. γ. Το κριτήριο της καθοριστικότητας απαιτεί κάθε εντολή του αλγόριθμου να είναι απλή και εκτελέσιμη. δ. Λογική έκφραση ονομάζεται μια έκφραση που περιέχει συγκριτικό τελεστή. ε. Η απεικόνιση του αλγόριθμου με φυσική γλώσσα εγκυμονεί τον κίνδυνο της παραβίασης του κριτήριο της καθοριστικότητας Για κάθε πρόταση να απαντήσετε αν είναι Σωστή (Σ) ή Λάθος (Λ). α. Ένα διάγραμμα ροής αποτελείται από ένα σύνολο γεωμετρικών σχημάτων που το καθένα δηλώνει μια ξεχωριστή ενέργεια ή λειτουργία. β. Τα είδη των μεταβλητών που χρησιμοποιούμε είναι οι αριθμητικές, οι αλφαριθμητικές (χαρακτήρες) και οι σταθερές. γ. Η είσοδος σε ένα αλγοριθμικό πρόβλημα είναι ένα σύνολο μεταβλητών που σχετίζονται με τα δεδομένα του. δ. Η τιμή της μεταβλητής δε μπορεί να αλλάξει κατά τη διάρκεια της εκτέλεσης του αλγόριθμου. ε. Μια μεταβλητή μπορεί να αλλάξει τύπο κατά τη διάρκεια της εκτέλεσης ενός προγράμματος Για κάθε πρόταση να απαντήσετε αν είναι Σωστή (Σ) ή Λάθος (Λ). α. Σε μια εντολή εκχώρησης είναι δυνατόν μια παράσταση στο δεξί μέλος να περιέχει τη μεταβλητή που βρίσκεται στο αριστερό μέλος. β. Ο αλγόριθμος ουσιαστικά είναι η περιγραφή ενός προβλήματος με συγκεκριμένα βήματα. γ. Ο τελεστής div υπολογίζει το πηλίκο δύο ακέραιων αριθμών. δ. Μια λογική μεταβλητή μπορεί να πάρει αλφαριθμητικό περιεχόμενο και αντίστροφα μια αλφαριθμητική μπορεί να πάρει λογική τιμή. ε. Στη δομή ακολουθίας μια συγκεκριμένη εντολή μπορεί να εκτελεστεί πολλές φορές. 33

35 2.27 Επιλέξτε τη σωστή απάντηση. α. Ποιό είναι το αποτέλεσμα της πράξης 5 mod 2 * 10 ; i. 10 ii. 5 iii. 0 iv. απροσδιόριστο β. Ποιό από τα παρακάτω αποτελεί εντολή ψευδογλώσσας των αλγορίθμων. i. A + B = 1 ii. A B*5 iii. A + B 23 iv. A 2*B 12 γ. Ποια η τιμή της μεταβλητής Α μετά την εκτέλεση της παρακάτω εντολής. Α (5+4/2*2)*2 (3* )^2 + 9/3 2 i. -53 ii. -37 iii iv. -45 δ. Μετά την εκτέλεση της εντολής Υ 5*(Χ-3) + Χ^3 2 + Ζ, όπου Χ = 5 και Ζ = 1 ποιά είναι η τιμή της Υ; i. 35 ii. 134 iii. 22 iv Επιλέξτε όσες απαντήσεις θεωρείτε κατάλληλες. α. Ποια από τα παρακάτω πρέπει να ικανοποιεί απαραίτητα ένας αλγόριθμος. i. είσοδος/έξοδος iv. καθοριστικότητα ii. ύπαρξη βρόχου v. αποτελεσματικότητα iii. μη περατότητα β. Τα είδη των μεταβλητών που υποστηρίζει ένας αλγόριθμος είναι : i. αριθμητικές iv. λογικές ii. πραγματικές v. αλφαριθμητικές (χαρακτήρες) iii. ημερομηνίες γ. Ποια από τα παρακάτω είναι δεκτά σαν ονόματα σταθερών : i. Α iv. Φύλλο_μαθητή ii. Στοιχείο1 v. Τιμή-Σε- iii. 1Στοιχείο vi. ΤΑΧΥΤΗΤΑ 2.29 Να μετατραπούν οι παρακάτω μαθηματικές εκφράσεις, στις αντίστοιχες της «ΓΛΩΣΣΑΣ». α. x+ 3y x 2y ( ) β. x y z( 5 k) + γ. 2 3x 2x 1 + δ. xy x+ y ε. a a b ζ. X + 2 b b 4ac = η. 2 3 ( 1) 2a 5 x 1 { } A= a e 3 θ. ηµα 2εϕβ ι. κ = x + 5log a 34

36 2.30 Να βρεθεί η τιμή της μεταβλητής Κ σε κάθε μια από τις παρακάτω περιπτώσεις όταν Α = 5, Β = 4, Γ = 2, Δ = 3 Κ (Α*Β) DIV 2 Γ ( Δ ) Κ Β DIV (A+1) + 30 MOD ( Δ) Κ Δ^2 Α*Γ + 1 MOD A Κ ( Β )*Γ Δ 2.31 Να γράψετε στο τετράδιό σας τους αριθμούς της στήλης Α και δίπλα το γράμμα της στήλης Β που αντιστοιχεί στη σωστή αλγοριθμική έννοια. ΣΤΗΛΗ Α ΣΤΗΛΗ Β 1. Περατότητα Α. Δεδομένα 2. Είσοδος Β. Αποτελέσματα 3. Έξοδος Γ. Ακρίβεια στην έκφραση των εντολών 2.32 Δίνονται τα παρακάτω βήματα ενός αλγορίθμου σε φυσική γλώσσα : α. Τέλος β. Διάβασε μεταβλητή χ γ. Εμφάνισε το Τ δ. Αρχή ε. Υπολόγισε Τ = χ Δ. Πεπερασμένος χρόνος εκτέλεσης. Να τοποθετηθούν στη σωστή σειρά με την οποία εμφανίζονται συνήθως σε αλγορίθμους Να αντιστοιχίσετε τα δεδομένα της στήλης Α με τον κατάλληλο τύπο δεδομένων της στήλης Β. ΣΤΗΛΗ Α ΣΤΗΛΗ Β 1. Ύψος κτιρίου Α. Ακέραιος 2. Επώνυμο Εργαζόμενου Β. Πραγματικός 3. Αριθμός επιβατών τραίνου Γ. Λογικός 4. Διαιρετότητα 2 αριθμών Δ. Αλφαριθμητικός- συμβολοσειρά 2.34 Δίνονται οι παρακάτω ομάδες προτάσεων. Σε κάθε μια από αυτές, να βάλετε τις προτάσεις στη σωστή σειρά με την οποία θα πρέπει να γράφονται σε ένα πρόγραμμα 1. α. Δήλωση μεταβλητών γ. Επικεφαλίδα προγράμματος β. Δήλωση σταθερών δ. Εντολή εισόδου ΔΙΑΒΑΣΕ 2. α. ΓΡΑΨΕ Η συνολική τιμή είναι, Τιμή γ. Κοστος Ν * 500 β. ΔΙΑΒΑΣΕ Ν δ. Τιμη Κοστος + Κοστος *

37 2.35 Να βρεθεί η τιμή της λογικής μεταβλητής Λ σε κάθε μια από τις παρακάτω περιπτώσεις όταν Α = 9, Β = 11, Γ = ΑΛΗΘΗΣ, Δ = -3 Λ (Α > (Β-Δ) Ή Γ) ΚΑΙ (Γ Ή (Β < Δ)) Λ (Β DIV (A+1) = 1 Ή (ΟΧΙ Γ)) ΚΑΙ Γ Λ ΟΧΙ (Γ ΚΑΙ (OXI (Α DIV (Δ^2 MOD 4) < 5))) 2.36 Τι τύπου μεταβλητές πρέπει να χρησιμοποιήσετε για τα παρακάτω στοιχεία του μαθητολόγιου του σχολείου μας; Γράψετε το αντίστοιχο τμήμα δηλώσεων. α. Το όνομα ενός μαθητή. β. Ο αριθμός μαθητολογίου του μαθητή. γ. Τη βαθμολογία του μαθητή. δ. Το τηλέφωνο ενός μαθητή. ε. Τη διεύθυνση ενός μαθητή. ζ. Το φύλο ενός μαθητή. (πώς μπορεί να οριστεί με χρήση λογικής μεταβλητής;) 2.37 Η τιμή Α της βαθμολογίας σε ένα θέμα μπορεί να πάρει τιμές από 0 μέχρι 5. (Το 0 και το 5 δεν είναι επιτρεπτές τιμές). Ποια από τις παρακάτω λογικές εκφράσεις ελέγχει αυτή τη συνθήκη ; α. (Α >= 0) ή (Α <= 5) γ. (Α > 0) και (Α < 5) β. (Α > 0) και (Α <= 5) δ. (Α >=0) και (Α< 5) 2.38 Ποιον από τους τύπους δεδομένων της στήλης Β πρέπει να χρησιμοποιήσουμε για κάθε τιμή της στήλης Α. ΣΤΗΛΗ Α ΣΤΗΛΗ Β Α. Αλφαριθμητικός- συμβολοσειρά 2. Ψευδής Β. Αριθμητικός (ακέραιος πραγματικός) 3. Ψευδής Γ. Λογικός , Σε ένα πρόγραμμα έχουμε μία μεταβλητή Πλήθος την οποία θέλουμε να την αυξήσουμε κατά δύο μονάδες. Ποια από τις εντολές εχει σαν αποτέλσμα την αύξηση αυτή ; α. Πλήθος +2 Πλήθος β. Πλήθος +2 γ. Πλήθος Πλήθος + 2 δ. Πλήθος = Πλήθος

38 2.40 Δίνονται κάποιες εντολές γραμμένες σε ελεύθερο κείμενο. Να μετατραπεί καθεμιά σε αντίστοιχη εντολή αλγορίθμου σε ψευδογλώσσα. α. Να τοποθετήσετε σε κατάλληλη μεταβλητή την τιμή 6. β. Μειώστε την προηγούμενη μεταβλητή κατά 3. γ. Υπολογίστε το τετράγωνο της τιμής που διαμορφώθηκε στο β. και τοποθετήστε το σε μια νέα μεταβλητή. δ. Εκτυπώστε στην οθόνη το περιεχόμενο της μεταβλητής που δημιουργήσατε στο γ. ε. Μηδενίστε την αρχική μεταβλητή Δίνονται κάποιες εντολές γραμμένες σε ελεύθερο κείμενο. Να μετατραπεί καθεμιά σε αντίστοιχη εντολή αλγορίθμου σε ψευδογλώσσα. α. Διαβάστε μια ακέραια τιμή από το πληκτρολόγιο και τοποθετήστε στη μεταβλητή Α. β. Εμφανίστε στην οθόνη την τιμή που διαβάσατε. γ. Διπλασιάστε το περιεχόμενο της μεταβλητής Α και στη συνέχεια αυξήστε το κατά 5. δ. Τοποθετήστε στη μεταβλητή Β την τελευταία τιμή του Α. ε. Εκτυπώστε στην οθόνη την τιμή του Β ελλατωμένη κατά ΘΕΜΑΤΑ ΜΕ ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ 2.42 Να γίνει διάγραμμα ροής για τη μετατροπή των βαθμών Fahrenheit σε Celsius. 5 (Δίνεται C= (F 32)) Ένας εργοδότης αποφάσισε να δώσει επίδομα 11% επί του βασικού μισθού σε όλους τους εργαζόμενους. Να γίνει διάγραμμα ροής που θα διαβάζει το βασικό μισθό ενός υπαλλήλου και θα υπολογίζει τον τελικό του μισθό Ο τύπος που υπολογίζει το ύψος ενός ατόμου σε συνάρτηση με το βάρος του είναι Υ = 1.2. ( Β + 50 ) Να γράψετε διάγραμμα ροής που θα διαβάζει το βάρος ενός ατόμου και θα υπολογίζει και θα εμφανίζει το φυσιολογικό ύψος του ατόμου. 3. ΘΕΜΑΤΑ ΜΕ ΚΑΤΑΣΚΕΥΗ ΑΛΓΟΡΙΘΜΟΥ 2.45 Δίνεται το παρακάτω διάγραμμα ροής. Να γραφεί ο αντίστοιχος αλγόριθμος σε ψευδογλώσσα. 37

39 2.46 Να γραφεί αλγόριθμος σε ψευδογλώσσα ο οποίος : α. Θα διαβάζει μια διάρκεια εκφρασμένη σε ώρες, λεπτά και δευτερόλεπτα π.χ : 3 ώρες 20 λεπτά και 10 δευτερόλεπτα. β. Θα τη μετατρέπει σε δευτερόλεπτα. γ. Θα εμφανίζει στην οθόνη το αποτέλεσμα της μετατροπής Να γραφεί αλγόριθμος για τον υπολογισμό του όγκου κυλίνδρου με ακτίνα βάσης 2 ρ και ύψος υ. (Δίνεται V=πρ υ). Συγκεκριμένα ο αλγόριθμος θα εκτελεί τις εξής ενέργειες : α. Εισαγωγή των κατάλληλων δεδομένων. β. Υπολογισμός του όγκου. γ. Εκτύπωση του αποτελέσματος με κατάλληλο μήνυμα Να δημιουργηθεί αλγόριθμος ο οποίος : α. Θα διαβάζει την αξία ενός προιόντος χωρίς το Φ.Π.Α. β. Θα υπολογίζει το ποσό του Φ.Π.Α καθώς και την τελική του τιμή αν είναι γνωστό ότι ο συντελεστής είναι 21%. γ. Στη συνέχεια θα εμφανίζει το ποσό του Φ.Π.Α καθώς και την τελική αξία Να δημιουργηθεί αλγόριθμος σε ψευδογλώσσα ο οποίος : α. Θα δέχεται 2 φυσικούς αριθμούς. β. Και θα εμφανίζει το άθροισμα, το γινόμενο, το ημιάθροισμα, τη διαφορά, την απόλυτη τιμή και την τετραγωνική ρίζα των 2 αριθμών χωρίς να τοποθετηθούν οι υπολογισμοί σε νέες μεταβλητές Να γραφεί αλγόριθμος ο οποίος με τη βοήθεια του τύπου του Ήρωνα θα υπολογίζει το εμβαδόν του τριγώνου. α + β + γ (Υπενθυμίζεται από τη Β Λυκείου ότι E= τ( τ α)( τ β)( τ γ) όπου τ = ). 2 Συγκεκριμένα ο αλγόριθμος πρέπει : α. Να εμφανίζει το μήνυμα «Δώστε τρεις έγκυρες πλευρές τριγώνου» και να διαβάζει από το πληκτρολόγιο τους τρεις αριθμούς. β. Να υπολογίζει το εμβαδό του τριγώνου. γ. Να εμφανίζει στην οθόνη το μήνυμα «Το τρίγωνο έχει εμβαδόν» και ακριβώς δίπλα την τιμή που υπολογίστηκε στο β. υποερώτημα. 2. Μετατρέψτε τον παραπάνω αλγόριθμο σε ισοδύναμο διάγραμμα ροής χωρίς όμως να περιέχει μηνύματα. 38

40 2.51 Κατά την περίοδο των καλοκαιρινών εκπτώσεων 2013 ένα κατάστημα προσφέρει μείωση τιμών σε όλα τα είδη κατά 40%. Να γραφτεί αλγόριθμος σε ψευδογλώσσα ο οποίος : α. Θα διαβάζει την τιμή ενός προϊόντος πρίν από την εκπτώση. β. Στη συνέχεια θα υπολογίζει το ποσό της έκπτωσης καθώς και το τελικό ποσό που καλείται να πληρώσει ο υποψήφιος αγοραστής. γ. Θα εμφανίζει στην οθόνη όσα υπολογίστηκαν σύμφωνα με το παρακάτω υπόδειγμα. Αρχική Τιμή Χωρίς Έκπτωση : 200 Ποσό Έκπτωσης : 80 Τελική Τιμή Προιόντος : Να αναπτύξετε αλγόριθμο ο οποίος x 7 α. Θα εμφανίζει το πεδίο ορισμού της συνάρτησης f ( x) = + ( 3 x) (3 + x) Σημειώνεται ότι το πεδίο ορισμού θα βρείτε με βάση τις μαθηματικές σας γνώσεις. β. Θα διαβάζει έναν αριθμό x. γ. Θα υπολογίζει την τιμή της συνάρτησης. δ. Θα εμφανίζει το αποτέλεσμα στη μορφή f(x)=y π.χ. f(7) = -64. ε. Υπάρχει περίπτωση ο παραπάνω αλγόριθμος να παραβιάσει το κριτήριο της καθοριστικότητας ; Αιτιολογήστε την κάθε απάντηση σας Οι μηνιαίες αποδοχές ενός υπαλλήλου της εταιρείας «ΑΕΠΠ Α.Ε.» είναι 700. Παράλληλα για κάθε έτος προυπηρεσίας λαμβάνει επίδομα 15, ενώ για κάθε παιδί επίδομα 25. Τέλος για ασφάλιση κρατείται από τις συνολικές του αποδοχές ποσοστό 17%. 1. Να αναπτύξετε αλγόριθμο που : α. Θα διαβάζει το ονοματεπώνυμο ενός εργαζομένου της εταιρείας, το πλήθος των ετών υπηρεσίας και τον αριθμό των παιδιών του. β. Θα υπολογίζει το ποσό των κρατήσεων και τις καθαρές αποδοχές του εργαζόμενου. γ. Θα εμφανίζει το ονοματεπώνυμο και όσα υπολογίστηκαν στο β. υποερώτημα. 2. Δημιουργήστε τώρα κατάλληλο διάγραμμα ροής. 39

41 4. ΘΕΜΑΤΑ ΜΕ ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ Ποιες από τις παρακάτω εντολές δίνουν σαν αποτέλεσμα εκτέλεσης το μήνυμα: Η τιμή είναι 10 Α. Τιμή 10 Β. Τιμή 10 ΓΡΑΨΕ Η τιμή είναι 10 ΓΡΑΨΕ Η τιμή είναι, 10 Γ. ΓΡΑΨΕ Η τιμή είναι, Τιμή Δ. Τιμή 10 ΓΡΑΨΕ Η τιμή είναι, Τιμή 2. Τι θα τυπώσουν οι παρακάτω εντολές Α 25 Χ (2 + Τ_Ρ(Α)*3/5)^2 - (Α+50)/5 ΓΡΑΨΕ Χ Α. 22 Β. -3 Γ. 10 Δ Δίνεται ο παρακάτω αλγόριθμος σε ψευδογλώσσα. Αλγόριθμος Πίνακας_τιμών Διάβασε α α α mod 6 α α + 3 Εκτύπωσε α β α + 10 α α div 2 Εκτύπωσε α, β-1 Τέλος Πίνακας_τιμών α. Να κατασκευάσετε πίνακα με τις όλες τις τιμές των μεταβλητών καθώς επίσης και πίνακα με τις τιμές που θα τυπωθούν στην οθόνη, αν εισαχθεί η τιμή 17. β. Κατόπιν δημιουργήστε το αντίστοιχο διάγραμμα ροής Δίνεται ο παρακάτω αλγόριθμος. Αλγόριθμος Πίνακας_Τιμών X 12 Y 2*X - 8 Z Y div X Εκτύπωσε Y, Z, X X (X + Z) mod Y Y (Y + Z) div X Z X * Y - Z ^ 2 Εκτύπωσε Y, Z, X Τέλος Πίνακας_Τιμών 40

42 α. Να παρουσιαστεί ο πίνακας όλων των τιμών των μεταβλητών του. β. Ποιες οι τιμές που θα εκτυπωθούν μετά την εκτέλεση του. γ. Να φτιάξετε ισοδύναμο διάγραμμα ροής. 5. ΘΕΜΑΤΑ ΜΕ ΚΑΤΑΣΚΕΥΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΕ ΓΛΩΣΣΑ 2.57 Να αναπτύξετε πρόγραμμα στη «ΓΛΩΣΣΑ» που θα υπολογίζει και θα εμφανίζει το μήκος της περιφέρειας L ενός κύκλου ακτίνας R. Η ακτίνα θα δίνεται από το πληκτρολόγιο. Να χρησιμοποιήσετε το τύπο L=2πR όπου π = 3, Θεωρούμε έναν κώνο με ακτίνα βάσης ρ και γενέτειρα λ. Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» για τον υπολογισμό της ολικής επιφάνειας του κώνου αν είναι γνωστό ότι E και Ε βάσης =πρ 2. κυρτής =πρλ 2.59 Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο : α. Θα διαβάζει από το πληκτρολόγιο 4 αριθμούς, α,β,γ,δ β. Θα εμφανίζει τετράγωνο των α,β την 4 η δύναμη των γ,δ και το συνολικό άθροισμα των αριθμών που δόθηκαν αρχικά χωρίς τη χρήση νέων μεταβλητών για τους υπολογισμούς Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που θα υπολογίζει τα παρακάτω μεγέθη : = 2π Δίνονται οι σταθερές g = 9.81, G = 6673 και π = 3.14 Συγκεκριμένα το πρόγραμμα πρέπει να περιέχει : α. Τμήμα δήλωσης σταθερών και μεταβλητών. β. Διάβασμα από το πληκτρολόγιο των κατάλληλων δεδομένων. γ. Υπολογισμό και εκτύπωση των ζητουμένων μεγεθών Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που α. Θα διαβάζει μια πλευρά α ενός τετραγώνου. β. Θα υπολογίζει τον εμβαδό του τετραγώνου και τον όγκο ενός κύβου ακμής α. 2 3 (Δίνεται Ε=α και V = α ). γ. Θα εμφανίζει τα παραπάνω συνοδευόμενα από κατάλληλα μηνύματα. L g GMm F = r Τ 2 41

43 2.62 Στο χρηματιστήριο, η τιμή κλεισίματος μιας μετοχής υπολογίζεται αν στην αρχική τιμή προσθέσουμε την απόδοση της, η οποία μπορεί να είναι και αρνητική. Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο : α. Θα διαβάζει την αρχική τιμή της μετοχής, το ποσοστό απόδοσης σε μορφή ποσοστού % β. Θα υπολογίζει και θα εμφανίζει την τιμή κλεισίματος Ο μισθός ενός δημοσίου υπαλλήλου προσαυξάνεται με 2% επί του βασικού μισθού για κάθε χρόνο υπηρεσίας και με 50 επίδομα για κάθε παιδί. Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που : α. θα διαβάζει το βασικό μισθό, τα χρόνια υπηρεσίας και τον αριθμό των παιδιών του εμφανίζοντας τα αντίστοιχα μηνύματα. β. θα υπολογίζει τον τελικό μισθό και θα τον εμφανίζει εκτυπώνοντας το μήνυμα «Ο μισθός του υπαλλήλου είναι :» και δίπλα η τιμή που υπολογίσατε Να γραφτεί πρόγραμμα στη «ΓΛΩΣΣΑ» που θα διαβάζει την τιμή 2 αντιστάσεων R 1, R 2 και στη συνέχεια θα υπολογίζει και θα εμφανίζει τη συνολική αντίσταση όταν αυτές συνδεθούν σε σειρά και όταν αυτές συνδεθούν παράλληλα. R1R 2 (Δίνεται R Σειράς = R 1 + R 2 και R Παράλ = ). R + R 2.65 Σε ένα χιονοδρομικό κέντρο η κάρτα εγγραφής νέου μέλους κοστίζει 22 και η χρήση εξοπλισμού σκι για μία ώρα 10. Να γραφτεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο α. Θα ζητάει το ονοματεπώνυμο του νέου μέλους και τις ώρες που έκανε σκι. β. Στη συνέχεια θα υπολογίζει τη χρέωση του μέλους. γ. Θα εμφανίζει ονοματεπώνυμο και χρέωση Καλείστε να κατασκευάσετε ένα πρόγραμμα στη «ΓΛΩΣΣΑ» που θα διευκολύνει την εξαγωγή συμπερασμάτων στην επόμενη εκλογική αναμέτρηση. Το πρόγραμμα θα πρέπει να εκτελεί τις παρακάτω λειτουργίες. α. Να διαβάζει την ονομασία και τον αριθμό των ψήφων των 2 πρώτων κομμάτων, τον αριθμό των ψήφων που πήραν συνολικά τα λοιπά κόμματα καθώς επίσης και τον αριθμό λευκών και άκυρων ψηφοδελτίων. β. Θα υπολογίζει και θα εμφανίζει τα παρακάτω μαζί με κατάλληλα μηνύματα : 1. Το ποσοστό επί του συνόλου των ψήφων που πήραν μαζί τα 2 πρώτα κόμματα. 2. Το ποσοστό των λοιπών κομμάτων. 3. Τα ποσοστά λευκών και άκυρων ψηφοδελτίων. 42

44 2.67 Ένας κύριος αγόρασε καινούριο φουσκωτό σκάφος. Του έκαναν μια ειδική προσφορά σύμφωνα με την οποία μπορεί να πληρώσει προκαταβολή 20% και τα υπόλοιπα σε 36 μηνιαίες δόσεις. Έτσι όμως το ποσό που απομένει για δόσεις θα επιβαρυνθεί με τόκο 15%. Το κόστος για την άδεια κατοχής φουσκωτού είναι 150. Να αναπτύξετε πρόγραμμα στη ΓΛΩΣΣΑ που θα διαβάζει την τιμή μετρητοίς του φουσκωτού, θα υπολογίζει το ποσό της προκαταβολής, το ποσό της δόσης καθώς και το συνολικό ποσό που τελικά θα πληρώσει ο κύριος. Στο τέλος θα εμφανίζει όλα όσα υπολογίστηκαν παραπάνω Τρεις φίλοι έπαιξαν μαζί ένα στοίχημα. Ο καθένας έδωσε χ, y, z αντίστοιχα. Κέρδισαν τελικά Να γράψετε πρόγραμμα στη «ΓΛΩΣΣΑ» που θα διαβάζει τα ονόματα και τα ποσά που στοιχημάτισαν, θα υπολογίζει και θα εμφανίζει τα κέρδη του καθενός ξεχωριστά. Σημειώνεται ότι ο συγκεκριμένος υπολογισμός απαιτεί να χωρίσουμε το ποσό σε μέρη ανάλογα. Για παράδειγμα αν έπαιξαν 3, 2, 5 θα πάρουν : , και αντίστοιχα Δίνονται δύο μιγαδικοί αριθμοί z = α + β. i και w = γ + δi. Να γραφτεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο : α. Θα διαβάζει τους 2 μιγαδικούς. Φυσικά η ΓΛΩΣΣΑ δεν υποστηρίζει μιγαδικές μεταβλητές. Οπότε για να διαβάσουμε τους μιγαδικούς διαβάζουμε ξεχωριστά τα πραγματικά και τα φανταστικά μέρη τους. β. Στη συνέχεια θα υπολογίζει το άθροισμα και το γινόμενο τους. Οι τύποι είναι γνωστοί από τα Μαθηματικά Κατευθυνσης. γ. Θα εμφανίζει τα αποτελέσματα στη μορφή x+yi. 6. ΣΥΝΔΥΑΣΤΙΚΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2.70 Να γραφεί πρόγραμμα «ΓΛΩΣΣΑ» που θα υπολογίζει το εμβαδόν ορθογωνίου με πλευρές α, β. ( Δίνεται ότι : Ε= α β ). Μετατρέψτε το παραπάνω πρόγραμμα σε αλγόριθμο Θεωρήστε ένα ορθογώνιο παραλληλεπίπεδο. Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» για τον υπολογισμό του όγκου του. Στη συνέχεια γράψτε τον αντίστοιχο αλγόριθμο. ( Δίνεται V = α β γ ) Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που θα υπολογίζει το εμβαδόν της κυρτής επιφάνειας του κυλίνδρου και στη συνέχεια το ολικό εμβαδόν επιφανείας του. (Δίνεται ότι E και ). Μετατρέψτε το παραπάνω πρόγραμμα σε κυρτής =2πρυ Ε ολικό =Ε κυρτής +2 Εβάσης διάγραμμα ροής Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που θα υπολογίζει τον όγκο κώνου 1 2 ακτίνας ρ και ύψους υ. (Δίνεται ότι V= πρ υ ). Μετατρέψτε το πρόγραμμα που φτιάξατε 3 σε αλγόριθμο και διάγραμμα ροής. 43

45 Να γραφεί αλγόριθμος ο οποίος : α. Θα δέχεται μια χρονική διάρκεια σε δευτερόλεπτα β. Θα υπολογίζει σε πόσες ώρες, λεπτά και δευτερόλεπτα αντιστοιχεί. γ. Θα εμφανίζει μήνυμα σύμφωνα με το υπόδειγμα : Τα 4362 s αντιστοιχούν σε 1 h 12 min 42 s. 2. Στη συνέχεια να μετατραπεί ο αλγόριθμος σε διάγραμμα ροής α. Να δημιουργηθεί αλγόριθμος που δέχεται τον ακαθάριστο μισθό ενός υπαλλήλου και υπολογίζει τον καθαρό μισθό του. Να σημειωθεί ότι ο υπάλληλος πρέπει να φορολογηθεί με 8%. β. Να γίνει το διάγραμμα ροής α. Να φτιάξετε αλγόριθμο που θα διαβάζει τον αριθμό των δόσεων που επιθυμεί ο πελάτης, την αξία του υπολογιστή (σε Ευρώ) που θέλει να αγοράσει και θα εμφανίζει το ποσό απόπληρωμής (με τον τόκο της τάξης του 11%) καθώς και το ποσό κάθε δόσης. β. Να γίνει το αντίστοιχο διάγραμμα ροής Για να υπολογίσουμε τη ροή του αίματος στον ανθρώπινο οργανισμό χρησιμοποιούμε τον τύπο ροής υγρών σε σωλήνες. Για παράδειγμα, η ροή του αίματος στην αορτή (την βασική αρτηρία που μεταφέρει αίμα σε όλα τα όργανα εκτός από τους πνεύμονες) υπολογίζεται από τον τύπο ΡΟΗ= 5500πρ 4, όπου ρ η ακτίνα της αορτής. Μία υγιής αορτή έχει διάμετρο περίπου 0,02m. Η μείωση της διαμέτρου (στένωση) της αορτής προκαλεί σοβαρά καρδιαγγειακά νοσήματα αφού οποιαδήποτε στένωση προκαλεί πολύ μεγάλη μείωση της ροής αίματος. Για παράδειγμα, στένωση κατά 33% της αορτής προκαλεί μείωση κατά 80% της ροής του αίματος, με πολύ σοβαρές επιπλοκές στην υγεία του ανθρώπου. Να γράψετε πρόγραμμα το οποίο να υπολογίζει τη ροή του αίματος σε μία φυσιολογική αορτή (με ακτίνα 0.01m) και την ποσοστιαία μεταβολή της ροής που επέρχεται με μείωση της ακτίνας της αορτής κατά 10%, 33% και 50%. 44

46 ΚΕΦΑΛΑΙΟ 3 ο ΔΟΜΗ ΕΠΙΛΟΓΗΣ

47

48 Κεφάλαιο 3 ο οµή Επιλογής Α. Θεωρία 3.1 Η Δομή Επιλογής Όπως προαναφέραμε υπάρχουν τρεις θεμελιώδεις δομές στις οποίες στηρίζεται ο Δομημένος Προγραμματισμός. Στο Κεφάλαιο αυτό εξετάζουμε τη δεύτερη από αυτές, τη δομή της επιλογής. Δομή επιλογής με απλά λόγια σημαίνει η δυνατότητα που έχω σε κάποιο σημείο του αλγορίθμου να επιλέξω πως θα συνεχίσω, μεταξύ ενός πλήθους διαφορετικών κατευθύνσεων. Κατά συνέπεια κάποια τμήματα ίσως δεν εκτελούνται ποτέ. Σε αντίθεση με τη δομή της ακολουθίας στην οποία υποχρεωτικά εκτελούνται όλες οι εντολές με τη σειρά. Έχουμε αρκετές διαφορετικές μορφές της δομής επιλογής που θα εξεταστούν παρακάτω. Η δομή επιλογής υλοποιείται τόσο στους αλγόριθμους όσο και στα προγράμματα με τη χρήση της εντολής ΑΝ Η βασική φιλοσοφία της εντολής είναι η εξής : Η ροή της εκτέλεσης του αλγορίθμου συνεχίζει ανάλογα με την τιμή της συνθήκης που ελέγχει. Συνθήκη είναι η έκφραση εκείνη που περιέχει συνδυασμούς από σταθερές, μεταβλητές και τελεστες και το αποτέλεσμα τους εχει λογική τιμή, δηλαδή μόνο Αληθής ή Ψευδής. Στα διαγράμματα ροής η δομή επιλογής υλοποιείται με ένα ρόμβο που μέσα του γράφουμε τη συνθηκη που εξετάζεται και πάντοτε ξεκινούν από αυτόν δύο βέλη. 3.2 Η Εντολή Επιλογής ΑΝ Η βασικότερη εντολή επιλογής είναι η ΑΝ. Ας δούμε τις μορφές με τις οποίες μπορεί να εμφανιστεί Απλή επιλογή Σύνταξη : Αν <Συνθήκη> τότε <Εντολή>! όταν θα εκτελεστεί μια μόνο εντολή Σημειώνεται ότι η παραπάνω μορφή μπορεί να χρησιμοποιηθεί μόνο σε αλγοριθμους και όχι σε προγράμματα. Στα προγράμματα χρησιμοποιούμε την παρακάτω μορφή της απλής επιλογής. Αν <Συνθήκη> τότε... Εντολές... Τέλος_αν! όταν θα εκτελεστεί ομάδα εντολών 47

49 Διάγραμμα ροής : Στις δύο παραπάνω μορφές γίνεται η εξής διεργασία. Ο αλγόριθμος πρόγραμμα συναντά την εντολή Αν. Αμέσως ελέγχεται η συνθήκη και σε περίπτωση που είναι Αληθής (ισχύει) εκτελείται η εντολή (ομάδα εντολών). Σε αντίθετη περίπτωση δεν εκτελείται κάτι απλά ο αλγόριθμος συνεχίζει μετά το πέρας της δομής (επόμενη γραμμή ή τέλος_αν αντίστοιχα) Τυπική επιλογή Σύνταξη : Αν <Συνθήκη> τότε... Εντολές-1... Αλλιώς... Εντολές-2... Τέλος_αν Διάγραμμα ροής : ΨΕΥΔΗΣ ΣΥΝΘΗΚΗ ΑΛΗΘΗΣ. ΕΝΤΟΛΕΣ 2.. ΕΝΤΟΛΕΣ 1. Στην παραπάνω μορφή γίνεται η εξής διεργασία. Ο αλγόριθμος πρόγραμμα συναντά την εντολή Αν. Αμέσως ελέγχεται η συνθήκη και σε περίπτωση που είναι Αληθής (ισχύει) εκτελείται η ομάδα εντολών 1. Σε αντίθετη περίπτωση εκτελείται η ομάδα εντολών 2. Άρα γίνεται κατανοητό ότι σε κάθε περίπτωση μια από τις δύο μόνο ομάδες θα εκτελεστούν. Στη συνέχεια ο αλγόριθμος συνεχίζει μετά το Τέλος_αν. 48

50 3.2.3 Πολλαπλή επιλογή Σύνταξη : Αν <Συνθήκη-1> τότε... Εντολές-1... Αλλιώς_αν <Συνθήκη-2> τότε... Εντολές Αλλιώς_αν <Συνθήκη-ν> τότε... Εντολές-ν... Αλλιώς... Εντολές-ν+1... Τέλος_αν Διάγραμμα ροής : Η πολλαπλή επιλογή χρησιμοποιείται όταν θέλουμε να ελέγξουμε πολλές διαφορετικές περιπτώσεις ή διαφορετικές συνθήκες. Σε αυτή την περίπτωση οι συνθήκες ελέγχονται μία προς μία και αναλόγως προχωρά η δομή Εμφωλευμένες επιλογές Στην πραγματικότητα δεν πρόκειται για μια διαφορετική μορφή αλλά πρόκειται για συνδυασμό μερικών από τις παραπάνω περιπτώσεις. Φυσικά χρησιμοποιείται στην περίπτωση που έχουμε παραπάνω από μια συνθήκες. Οι συνδυασμοί εμφωλευμένων Αν που μπορεί να προκύψουν είναι άπειροι ανάλογα με το κάθε πρόβλημα. Μια από αυτές τις μορφές είναι αυτή της επόμενης σελίδας, στην οποία συνδυάζουμε πέντε εντολές Αν. 49

51 Σύνταξη : Αν <Συνθήκη-1> τότε Αν < Συνθήκη-2> τότε... Εντολές... Αλλιώς Αν <Συνθήκη-3> τότε... Εντολές... Τέλος_αν Τέλος_αν Αλλιώς Αν <Συνθήκη-4> τότε... Εντολές... Τέλος_αν Αν <Συνθήκη-5> τότε... Εντολές... Αλλιώς... Εντολές... Τέλος_αν Τέλος_αν Σημαντικές παρατηρήσεις για τις Εμφωλευμένες Επιλογές!!! Όσα Αν ξεκινάμε τόσα Τέλος_αν πρέπει να κλείσουμε και μάλιστα στο σημείο που τερματίζει η κάθε δομή. Γι αυτό είναι χρήσιμο αμέσως μετά από κάθε Αν, αλλιώς ή αλλιώς_αν να ξεκινάμε 2 εκατοστά περίπου πιο δεξιά. (Γενικά ισχύει ο κανόνας ότι το πρώτο Αν κλείνει τελευταίο). Η εμφωλευμένες δομές πρέπει να αποφεύγονται όσο το δυνατόν και να χρησιμοποιούνται απλούστερες δομές προκειμένου να μην αυξάνεται η πολυπλοκότητα του αλγόριθμου. Β. Ερωτήσεις 3.1 Τι εννοούμε με τον όρο δομή επιλογής ; 3.2 Ποιες είναι οι εντολές επιλογής ; 3.3 Ποιες είναι οι μορφές της εντολής Αν ; 50

52 Γ. Λυμένα Θέματα 3.4 Να γίνει διάγραμμα ροής και αλγόριθμος ο οποίος θα δέχεται έναν αριθμό και αν αυτός είναι μεγαλύτερος του 40 θα τον εμφανίζει αλλιώς θα εμφανίζει το τριπλάσιο του. ΑΡΧΗ ΔΙΑΒΑΣΕ Α Αλγόριθμος Αριθμός Διάβασε α Αν α > 40 τότε Εμφάνισε α Αλλιώς Εμφάνισε 3*α Τέλος_αν Τέλος Αριθμός ΑΛΗΘΗΣ Α > 40 ΨΕΥΔΗΣ ΕΜΦΑΝΙΣΕ Α ΕΜΦΑΝΙΣΕ 3*Α ΤΕΛΟΣ Σημαντικές παρατηρήσεις!!! Ένας ακέραιος αριθμός x είναι πολλαπλάσιο του α αν ισχύει x mod α = 0 και κατά συνέπεια δεν είναι όταν x mod α <> 0. Επομένως ελέγχουμε πάντα το αποτέλεσμα της συνθήκης x mod α = 0. Αν αυτό είναι Αληθής τότε ο x είναι πολλαπλάσιο του α σε αντίθετη περίπτωση δεν είναι. Ειδικά για την περίπτωση που θέλουμε να δούμε αν ένας αριθμός είναι άρτιος ή περιττός, το α = 2. Δηλαδή ελέγχουμε τη συνθήκη x mod 2 = 0. Αν το αποτέλεσμα που θα μας δώσει είναι Αληθής τότε ο ακέραιος x είναι άρτιος, ενώ αν μας δώσει Ψευδής τότε είναι περιττός. Πολλές φορές χρησιμοποιούμε την δομή επιλογής για να ελέγξουμε πιθανά σφάλματα στην εισαγωγή δεδομένων. Για παράδειγμα αν ζητείται εισαγωγή βαθμολογιών μαθητών τότε αυτοί για να είναι αποδεκτοί πρέπει να είναι μεγαλύτεροι ή ίσοι από το 0 και μικρότεροι ή ίσοι από το 100. Σε αντίθετη περίπτωση ζητάμε ξανά την εισαγωγή του αριθμού. Δείτε με προσοχή το παράδειγμα που αναφέρουμε παρακάτω. 51

53 π.χ. Αλγόριθμος Βαθμοί Διάβασε βαθμός Αν (βαθμός < 0) ή (βαθμός > 100) τότε Εμφάνισε Λάθος βαθμολογία, ξαναδώσε Διάβασε βαθμός Τέλος_αν... Τέλος_Βαθμοί Βέβαια το μειονέκτημα αυτής της μεθόδου ελέγχου ορθότητας δεδομένων είναι ότι ο έλεγχος γίνεται μόνο μια φορά. Σε περίπτωση που ο άνθρωπος πατήσει ξανά λάθος ο βαθμός θα καταχωρηθεί λάθος. Σε επόμενο κεφάλαιο θα επανέλθουμε στο θέμα αυτό, δίνοντας μια πιο σωστή λύση του προβλήματος. Σε κάποιους αλγόριθμους ίσως χρειαστεί να ελέγξουμε κατά πόσο ένας αριθμός που δόθηκε είναι ακέραιος ή δεκαδικός. Αυτό επιτυγχάνεται με τη βοήθεια της συνάρτησης Α_Μ(Χ) που μελετήσαμε στο προηγούμενο κεφάλαιο. Συγκεκριμένα αν η συνθήκη Χ Α_Μ(Χ) = 0 είναι αληθής τότε ο αριθμός Χ είναι ακέραιος. Σε αντίθετη περίπτωση έχει δεκαδικό μέρος. 3.5 Να γράψετε αλγόριθμο και στη συνέχεια πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο θα δέχεται ένα θετικό αριθμό και θα ελέγχει να αυτός είναι άρτιος ή περιττός εμφανίζοντας κατάλληλο μήνυμα σε κάθε περίπτωση. Αλγόριθμος Αριθμοί Διάβασε χ Αν χ <= 0 τότε Εμφάνισε Λάθος δεδομένα, δώσε ξανά Διάβασε χ Τέλος_αν Αν χ mod 2 = 0 τότε Εμφάνισε Ο,χ, είναι άρτιος αλλιώς Εμφάνισε Ο,χ, είναι περιττός Τέλος_αν Τέλος Αριθμοί ΠΡΟΓΡΑΜΜΑ ΑΡΙΘΜΟΙ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Χ ΑΡΧΗ ΔΙΑΒΑΣΕ Χ ΑΝ Χ <= 0 ΤΟΤΕ ΓΡΑΨΕ ΛΑΘΟΣ ΔΕΔ, ΞΑΝΑΔΩΣΕ ΔΙΑΒΑΣΕ Χ ΤΕΛΟΣ_ΑΝ ΑΝ Χ MOD 2 = 0 TOTE ΓΡΑΨΕ Ο,Χ, ΕΙΝΑΙ ΑΡΤΙΟΣ ΑΛΛΙΩΣ ΓΡΑΨΕ Ο,Χ, ΕΙΝΑΙ ΠΕΡΙΤΤΟΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Σημαντική παρατήρηση!!! Αν έχουμε έναν ακέραιο αριθμό με ν ψηφία ίσως χρειαστεί να απομονώσουμε κάποιο από τα ψηφία του. Αυτό προκύπτει με κατάλληλες ακέραιες διαιρέσεις ή εύρεση υπολοίπων. Ας δούμε κάποιες τυπικές περιπτώσεις στον παρακάτω πίνακα. Πλήθος Ψηφίων αριθμού Ζητούμενο ψηφίο Έκφραση 1 ο Ψ1 χ div 100 Τριψήφιος 2 ο Ψ2 χ mod 100 div 10 3 ο Ψ3 χ mod 10 52

54 Πενταψήφιος 1 ο Ψ1 χ div ο Ψ3 χ mod 1000 div ο Ψ4 χ mod 100 div 10 5 ο Ψ5 χ mod 10 Με παρόμοιο τρόπο βρίσκουμε οποιοδήποτε ψηφίο ενός αριθμού. 3.6 Μια εταιρεία τηλεπικοινωνιών γιορτάζει 5 χρόνια στην αγορά και γι αυτό κάνει ειδικές χρεώσεις στους συνδρομητές που ο αριθμός τους τελειώνει σε 5 ανάλογα με τον χρόνο ομιλίας. ΕΙΔΙΚΕΣ ΧΡΕΩΣΕΙΣ ΣΥΝΔΡΟΜΗΤΩΝ Χρόνος 60 λ 0,12 / λ 60 λ < Χρόνος 240 λ 0,10 / λ Επιπλέον από 240 λ 0,05 / λ Για τον υπολογισμό χρησιμοποιείται η πολιτική της κλιμακωτής χρέωσης. Δείτε ένα παράδειγμα : Συνδρομητής που το τηλέφωνο του λήγει σε 5 και μίλησε 275 λεπτά, θα χρεωθεί ως εξής : Χρέωση = 60*0,12 + (240 60)*0,10 + ( )*0,05. Τελικά θα εμφανίζει το όνομα και τη χρέωση του συνδρομητή. ( Να γίνει έλεγχος δεδομένων για το χρόνο ομιλίας ). Αλγόριθμος Τελεκομ Εμφάνισε Δώσε όνομα Διάβασε Όνομα Εμφάνισε Δώσε αριθμό τηλεφώνου Διάβασε αρ Εμφάνισε Δώσε λεπτά ομιλίας Διάβασε χ Αν χ < 0 τότε Εμφάνισε Λάθος χρόνος Διάβασε χ Τέλος_αν Τελ_ψηφ αρ mod 10 Αν Τελ_ψηφ = 5 τότε Αν χ <= 60 τότε! εμφωλευμένη δομή επιλογής χρέωση χ*0,12 Αλλιώς_αν χ <= 240 τότε χρέωση 60*0,12 + (χ 60)*0,10 αλλιώς χρέωση 60*0,12 + (240 60)*0,10 + (χ 240)*0,05 Τέλος_αν Εμφάνισε Ο,Όνομα, θα πληρώσει,χρέωση, Συγχαρητήρια!!! Αλλιώς Εμφάνισε Δεν ανήκετε στην κατηγορία που δικαιούται έκπτωση Τέλος_αν Τέλος Τελεκομ 53

55 3.7 Δίνεται ο παρακάτω αλγόριθμος. Συμπληρώστε τον πίνακα που βρίσκεται δίπλα για Χ = 4, Χ = -5, Χ = 9 και στη συνέχεια βρείτε τι εμφανίζει ; Αλγόριθμος 1 η Περίπτωση 2 η Περίπτωση 3 η Περίπτωση Αλγόριθμος Ασκηση_3_8 Διάβασε Χ Αν Χ > 0 Τότε Υ Χ 2 Χ Υ + 5 Αλλιως Υ Χ^2 + 5 Τέλος_αν Αν Υ > 12 Τότε Εμφάνισε Χ,Υ Τέλος_αν Τέλος_Ασκηση_3_8 Αλγόριθμος 1 η Περίπτωση 2 η Περίπτωση 3 η Περίπτωση Αλγόριθμος Ασκηση_3_8 Διάβασε Χ Αν Χ > 0 Τότε Υ Χ 2 - Χ = 4 4 > 0 Αληθής Υ = 2 Χ Υ + 5 Χ = 7 Αλλιως - Υ Χ^ Τέλος_αν - Αν Υ > 12 Τότε 2 > 12 Ψευδής Εμφάνισε Χ,Υ - Τέλος_αν - Τέλος_Ασκηση_3_8 - Στην 1 η περίπτωση ο αλγόριθμος δεν εμφανίζει τίποτα διότι Υ = 2 < 12 ενώ οι μεταβλητές Χ, Υ έχουν τις τιμές Χ = 7 και Υ = 2. Αλγόριθμος 1 η Περίπτωση 2 η Περίπτωση 3 η Περίπτωση Αλγόριθμος Ασκηση_3_8 - - Διάβασε Χ Χ = 4 Χ = -5 Αν Χ > 0 Τότε 4 > 0 Αληθής -5 >0 Ψευδής Υ Χ 2 Υ = 2 - Χ Υ + 5 Χ = 7 - Αλλιως - -5 <=0 Αληθής Υ Χ^ Υ = 27 Τέλος_αν - - Αν Υ > 12 Τότε 2 > 12 Ψευδής 27>12 Αληθής Εμφάνισε Χ,Υ - -5, 27 Τέλος_αν - - Τέλος_Ασκηση_3_8 - - Στη 2 η περίπτωση ο αλγόριθμος εμφανίζει -5, 27 διότι Υ = 27 > 12 ενώ οι μεταβλητές Χ, Υ έχουν τις τιμές Χ = -5 και Υ =

56 Αλγόριθμος 1 η Περίπτωση 2 η Περίπτωση 3 η Περίπτωση Αλγόριθμος Ασκηση_3_ Διάβασε Χ Χ = 4 Χ = -5 Χ = 9 Αν Χ > 0 Τότε 4 > 0 Αληθής -5 >0 Ψευδής 9>0 Αληθής Υ Χ 2 Υ = 2 - Υ = 7 Χ Υ + 5 Χ = 7 - Χ = 12 Αλλιως - -5 <=0 Αληθής - Υ Χ^ Υ = 27 - Τέλος_αν Αν Υ > 12 Τότε 2 > 12 Ψευδής 27>12 Αληθής 7 > 12 Ψευδής Εμφάνισε Χ,Υ - -5, 27 - Τέλος_αν Τέλος_Ασκηση_3_ Στην 3 η περίπτωση ο αλγόριθμος δεν εμφανίζει τίποτα διότι Υ = 7 < 12 ενώ οι μεταβλητές Χ, Υ έχουν τις τιμές Χ = 12 και Υ = 7. 55

57 Δ. Θέματα για λύση 1. ΘΕΩΡΗΤΙΚΑ ΘΕΜΑΤΑ 3.8 Για καθεμιά από τις παρακάτω προτάσεις σημειώστε Σωστό (Σ) ή Λάθος (Λ). α. Η συνθήκη που ελέγχεται σε μια τυπική δομή επιλογής μπορεί να πάρει περισσότερες από 2 διαφορετικές τιμές. β. Με τη δομή επιλογής δίνεται η δυνατότητα σε έναν αλγόριθμο, να ικανοποιηθεί το κριτήριο της καθοριστικότητας γ. Η αποτελεσματικότητα αλγορίθμου καθορίζει ότι κάθε εντολή πρέπει να μπορεί να εκτελεστεί χωρίς καμία αμφιβολία. δ. Όταν δύο λογικές συνθήκες έχουν την ίδια τιμή, τότε η διάζευξη τους είναι πάντα αληθής. ε. Οι διαδικασίες των πολλαπλών επιλογών εφαρμόζονται και στην περίπτωση που εκτελούνται διαφορετικές ενέργειες με βάση των αριθμό των τιμών μιας μεταβλητής. 3.9 Για καθεμιά από τις παρακάτω προτάσεις σημειώστε Σωστό (Σ) ή Λάθος (Λ). α. Η σύγκριση Αληθής <> Ψευδής είναι λανθασμένη. β. Με την εντολή Αν Χ div 2 = 0 ελέγχουμε αν ένας αριθμός είναι άρτιος. γ. Μια λογική έκφραση μπορεί να περιλαμβάνει περισσότερους από έναν λογικούς τελεστές. δ. Αν Α=10 και Β=20 τότε η έκφραση (Α>8 ή Β<20) ή (Α>10 ή Β=10) είναι αληθής. ε. Αν Α=5 και Β=6 τότε η λογική έκφραση (Α>5 ή Α<3) και (Β>5) είναι ψευδής Να μετατραπούν οι παρακάτω λογικές εκφράσεις, σε αντίστοιχες της«γλωσσασ». α. -3 x 8 β. y = 10 ή 29 ή 35 γ. x > 5 και x < 28 δ. α > -3 ή β = Ποιο είναι το αποτέλεσμα της εκτέλεσης των παρακάτω λογικών εκφράσεων όταν Α = 7 και Β = 4 και Γ= Ψευδής. Πρόταση Χ : (Α + Β > -2) Η (ΟΧΙ(Γ))... Πρόταση Υ : ΟΧΙ(ΟΧΙ(ΟΧΙ(Γ Ή Α < 0)))... Πρόταση Ζ : (Β*Α 28 = 0) Η (ΟΧΙ(Γ))... Χ ΚΑΙ Υ ΚΑΙ Ζ... (Χ Η Υ) ΚΑΙ (ΟΧΙ (Ζ))... Ζ Η (Υ Η Χ)... 56

58 3.12 Αν η μεταβλητή Α έχει την τιμή 10, η μεταβλητή Β έχει την τιμή 5 και η μεταβλητή Γ έχει την τιμή 3 ποιες από τις παρακάτω εκφράσεις είναι αληθείς και ποιες ψευδείς. α. ΟΧΙ (Α >Β) β. A > Β ΚΑΙ Α<Γ Η Γ<=Β γ. Α>Β ΚΑΙ (Α<Γ Η Γ<=Β) δ. Α = Β Η (Γ - Β) < 0 ε. (Α > Β ΚΑΙ Γ< Β) Η ( Β <> Γ ΚΑΙ Α< Γ) 3.13 Να γίνει η αντιστοίχιση. Στη στήλη Β περισσεύουν κάποια στοιχεία. Στήλη Α Εντολές αλγορίθμων Στήλη Β Αλγοριθμικές έννοιες α. Δομή Επιλογής 1. α > β 1 2. Εκτύπωσε Χ 3. α α α + β /2 5. Διάβασε Σ β. Δομή Επανάληψης γ. Αριθμητική Έκφραση δ. Μεταβλητή ε. Εντολή Εξόδου ζ. Εντολή Εισόδου η. Λογική έκφραση θ. Εντολή εκχώρησης 3.14 Να γίνει η αντιστοίχιση. Κάποια στοιχεία της στήλης Β ενδέχεται να χρησιμοποιηθούν περισσότερες από μια φορές. Στήλη Α Τιμή Ψευδής 4. Αληθής 5. 34,2 α. Αλφαριθμητικός Στήλη Β Τύπος Δεδομένων β. Αριθμητικός (ακέραιος ή πραγματικός) γ. Λογικός ,87 57

59 3.15 Δίνεται ο παρακάτω αλγόριθμος : Αλγόριθμος Άσκηση φ 7 Διάβασε χ Αν χ>2 τότε ψ φ αλλιώς ψ φ^2 3 Τέλος_αν Εμφάνισε ψ Τέλος Άσκηση Να εντοπίσετε : α. Τους αριθμητικούς τελεστές β. Τις μεταβλητές γ. Τις σταθερές δ. Τις εντολές εισόδου ε. Τις αριθμητικές εκφράσεις ζ. Τις εντολές εκχώρησης η. Τις λογικές εκφράσεις θ. Τους λογικούς τελεστές ι. Τους συγκριτικούς τελεστές 3.16 Δίνεται το παρακάτω τμήμα αλγορίθμου : Αν α > 0 τότε Λ Αληθής Αλλιώς Λ Ψευδής Τέλος_αν Να γράψετε στο τετράδιό σας συμπληρωμένη την παρακάτω εντολή εκχώρησης, ώστε να έχει το ίδιο αποτέλεσμα με το παραπάνω τμήμα αλγορίθμου. Λ... 58

60 2. ΘΕΜΑΤΑ ΜΕ ΑΠΛΗ ΕΠΙΛΟΓΗ 3.17 Σε τέσσερις διαφορετικές ρίψεις για πρόκριση στην Ολυμπιάδα της Αθήνας ένας αθλητής της σφαιροβολίας πέτυχε τις επιδόσεις a,b,c,d. Να κατασκευάσετε διάγραμμα ροής στο οποίο θα εκτελούνται τα παρακάτω : Α. α. Να διαβάζει τις τιμές των επιδόσεων a,b,c,d β. Να υπολογίζει και να εμφανίζει τη μέση τιμή των παραπάνω επιδόσεων γ. Να εμφανίζει το μήνυμα «Προκρίθηκε», αν η παραπάνω μέση τιμή είναι μεγαλύτερη των 18 μέτρων. Β. Να μετατραπεί το παραπάνω διάγραμμα ροής σε αλγόριθμο Σε τρία διαφορετικά σημεία της πόλης της Χίου στις 9 Ιουλίου 2005 καταγράφηκαν στις 12 το μεσημέρι οι θερμοκρασίες θ1, θ2, θ3. Α. Να αναπτύξετε αλγόριθμο που: α. Να διαβάζει τις τρεις θερμοκρασίες β. Να υπολογίζει και να εμφανίζει τη μέση τιμή των παραπάνω θερμοκρασιών. γ. Να εμφανίζει το μήνυμα «Καύσωνας» αν η μέση τιμή είναι μεγαλύτερη των 38 βαθμών Κελσίου. Β. Να γίνει πρόγραμμα στη «ΓΛΩΣΣΑ» Μια οικογένεια κατανάλωσε Χ Κwh (κιλοβατώρες) ημερήσιου ρεύματος και Υ Kwh νυχτερινού ρεύματος. Το κόστος ημερήσιου ρεύματος είναι 0,12 / Kwh και του νυχτερινού 0,06 / Kwh. Να αναπτύξετε έναν αλγόριθμο ο οποίος: α. Να διαβάζει τα Χ, Υ. β. Να υπολογίζει και να εμφανίζει το συνολικό κόστος της κατανάλωσης ρεύματος της οικογένειας. γ. Να εμφανίζει το μήνυμα Υπερβολική Κατανάλωση, στην περίπτωση που το συνολικό κόστος είναι μεγαλύτερο από Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο να διαβάζει τρεις αριθμούς και να τυπώνει το μικρότερο και το μεγαλύτερο. Να θεωρήσετε ότι οι αριθμοί είναι διαφορετικοί μεταξύ τους. 59

61 3. ΘΕΜΑΤΑ ΜΕ ΤΥΠΙΚΗ ΕΠΙΛΟΓΗ 3.21 Να γίνει πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο : α. Θα δέχεται έναν ακέραιο αριθμό α. β. Θα ελέγχει αν είναι πολλαπλάσιος του 4 και εμφανίζει κατάλληλο μήνυμα. γ. Σε αντιθετη περίπτωση θα τυπώνει το μήνυμα «Ο αριθμός που δώσατε δεν διαιρείται με το 4» Να γίνει πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο : α. Θα δέχεται έναν πραγματικό αριθμό. β. Θα ελέγχει αν είναι ακέραιος με τη βοήθεια της συνάρτησης Α_Μ(Χ) και θα εμφανίζει το μήνυμα «Δώσατε ακέραιο». γ. Σε αντιθετη περίπτωση θα τυπώνει το μήνυμα «Ο αριθμός που δώσατε είναι δεκαδικός» Να γίνει αλγόριθμος σε ψευδογλώσσα ο οποίος : α. Θα διαβάζει έναν αριθμό. β. Στην περίπτωση που αυτός δεν είναι ακέραιος και θετικός θα τυπώνει το μήνυμα «Παρακαλώ ξαναδώστε» και θα τον ξαναδιαβάζει. γ. Στη συνέχεια θα ελέγχει αν ο αριθμός είναι μεγαλύτερος ή όχι από το 100 τυπώνοντας παράλληλα τα κατάλληλα μηνύματα σε κάθε περίπτωση Να γίνει αλγόριθμος σε ψευδογλώσσα ο οποίος : α. Θα διαβάζει έναν ακέραιο αριθμό. β. Θα υπολογίζει το τελευταίο του ψηφίο. γ. Στη συνέχεια θα ελέγχει αν αυτό είναι ίσο 5 και θα τυπώνει το μήνυμα «Συγχαρητήρια κερδίσατε ο αριθμός που διαλέξατε λήγει σε 5» ενώ σε αντιθετη περίπτωση θα τυπώνει το μήνυμα «Ξαναπροσπαθήστε» Μια εταιρεία ραδιοταξί χρεώνει τις διαδρομές σύμφωνα με τον ακόλουθο τρόπο. 1.5 για την κλήση του ταξί /χλμ για διαδρομές έως και 40 χλμ. Για μεγαλύτερες αποστάσεις το κόστος είναι 0,14 /χλμ και επιβάρυνση 5 επιπλεον. Να γίνει αλγόριθμος ο οποίος : α. Θα διαβάζει τη χιλιομετρική απόσταση. β. Θα υπολογίζει και θα εμφανίζει τη χρέωση του πελάτη. 60

62 3.26 Να γίνει αλγόριθμος ο οποίος αρχικά θα διαβάζει δύο αριθμούς που αντιστοιχούν στα ποσοστά του διοξειδίου του άνθρακα και του αζώτου μίας ημέρας, όπως έχουν καταγραφεί στα ειδικά μηχανήματα καταγραφής στην ατμόσφαιρα της πόλης. Στη συνέχεια να εκτυπώνει ότι η ατμόσφαιρα είναι «καθαρή», αν το ποσοστό του διοξειδίου του άνθρακα είναι κάτω από 0.35, ή να εκτυπώνει «μολυσμένη» στην αντίθετη περίπτωση. Επίσης να εκτυπώνει «διαυγής»,αν το άζωτο είναι κάτω από 0.17, αλλιώς να εκτυπώνει «αδιαυγής». 4. ΘΕΜΑΤΑ ΜΕ ΠΟΛΛΑΠΛΗ ΕΠΙΛΟΓΗ 3.27 Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο θα διαβάζει ένα μήνα και θα εμφανίζει την εποχή στη οποία ανήκει. Ο μήνας θα πρέπει να δίνεται με τα 3 πρώτα γράμματα εκτός από τον Ιούνιο και Ιούλιο που πρέπει να δίνονται τα 4 πρώτα. Σε περίπτωση που ο μήνας δοθεί λάθος θα τυπώνεται μήνυμα «Λάθος μήνας» Να γράψετε πρόγραμμα στη «ΓΛΩΣΣΑ» που θα διαβάζει έναν ακέραιο αριθμό μεταξύ 1 και 999 και θα εμφανίζει αντίστοιχο μήνυμα αν ο αριθμός είναι μονοψήφιος, διψήφιος ή τριψήφιος Να αναπτυχθεί αλγόριθμος ο οποίος θα διαβάζει το μέσο όρο ενός μαθητή κατά την περασμένη σχολική χρονιά και θα εκτυπώνει το αντίστοιχο μήνυμα σύμφωνα με τα ακόλουθα: Αν ο βαθμός είναι μικρότερος από 9,5 ο μαθητής απορρίπτεται στο μάθημα, αν είναι μεγαλύτερος ή ίσος από 9,5 και μικρότερος από 13 τότε ο χαρακτηρισμός του μαθητή είναι "Σχεδόν καλά", αν είναι μεγαλύτερος ή ίσος του 13 έως 16 ο χαρακτηρισμός είναι "Καλά", αν είναι μικρότερος του 18 "Πολύ καλά", ενώ τέλος αν ο μέσος όρος είναι μεγαλύτερος ή ίσος του 18 ο χαρακτηρισμός είναι "Άριστα" 3.30 Να γραφεί αλγόριθμος που θα υπολογίζει την τιμή της παρακάτω συνάρτησης. 3x 5, x < 0 f ( x) = ηµ (5x+ 6), x = 0 2x 6 συν x, x > Σε ένα κατάστημα τα προϊόντα έχουν εκπτώσεις ανάλογα με τον κωδικό τους: Κωδικός Προιόντος Έκπτωση Α1 10% Α2 15% Α3 20% Α4 25% Να κατασκευαστεί διάγραμμα ροής το οποίο θα διαβάζει τον κωδικό (ΚΑ) και την τιμή (ΤΜ) ενός προϊόντος και να υπολογίζει την τιμή του μετά την έκπτωση (ΤΕ). Στην περίπτωση όπου δοθεί κωδικός διαφορετικός από τους παραπάνω θα τυπώνεται το μήνυμα : «Ανύπαρκτος κωδικός προϊόντος» και θα ζητιέται εκ νέου. Στη συνέχεια κατασκευάστε τον αντίστοιχο αλγόριθμο. 61

63 3.32 Ο παρακάτω πίνακας δείχνει το συντελεστή επιδόματος επί του βασικού μισθού, που παίρνει ένας δημόσιος υπάλληλος ανάλογα με τα χρόνια στην υπηρεσία. Έτη υπηρεσίας Συντελεστής < >=5 και < >= Να γραφεί αλγόριθμος που για έναν υπάλληλο : α. Θα διαβάζει ονοματεπώνυμο, βασικό μισθό και έτη υπηρεσίας β. Θα υπολογίζει και θα εμφανίζει το όνομα του υπαλλήλου και το συνολικό μισθό μαζί με το επίδομα. π.χ : ένας υπάλληλος με 12 χρόνια υπηρεσίας και βασικό μισθό 850 θα παίρνει : * Το επίδομα παιδιών για μια οικογένεια δίνεται με βάση τον παρακάτω πίνακα : Αριθμός παιδιών Επίδομα ανά παιδί και άνω 50 Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που θα διαβάζει τον αριθμό των παιδιών μιας οικογένειας, θα υπολογίζει και θα εμφανίζει το επίδομα που δικαιούται Η χρέωση στους λογαριασμούς του ΟΤΕ υπολογίζεται σύμφωνα με τον παρακάτω πίνακα : Πάγιο 3 Αστικές Μονάδες Υπεραστικές Μονάδες (κλιμακωτή χρέωση) /μονάδα /μονάδα /μονάδα /μονάδα ΦΠΑ (επί του συνόλου) : 15% Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που θα διαβάζει τις αστικές και τις υπεραστικές μονάδες και θα εμφανίζει τη χρέωση του συνδρομητή Η χρέωση των συνδρομητών μιας εταιρίας σταθερής τηλεφωνίας γίνεται κλιμακωτά σύμφωνα με τον παρακάτω πίνακα : Πάγιο 15 Αστικές Μονάδες 0,030 / Μονάδα ,045 / Μονάδα Υπεραστικές Μονάδες ,039 / Μονάδα 501 και άνω 0,033 / Μονάδα Να γίνει αλγόριθμος ο οποίος : α. Θα διαβάζει όνομα συνδρομητή, αστικές και υπεραστικές μονάδες. β. Θα υπολογίζει το ποσό του λογαριασμού. 62

64 γ. Θα προσαυξάνει με 4% τέλος συνδρομητών. δ. Θα εμφανίζει το τελικό ποσό που θα πληρώσει. 5. ΘΕΜΑΤΑ ΜΕ ΣΥΝΔΥΑΣΜΟ ΔΙΑΦΟΡΩΝ ΕΝΤΟΛΩΝ 3.36 Να γραφεί αλγόριθμος που θα διαβάζει 3 αριθμούς α,β,γ και αν αβγ > 0 τότε θα τυπώνει το άθροισμα Σ = α + β + γ, ενώ αν αβγ 0 τότε θα τυπώνει το άθροισμα Σ = α ν + β ν + γ ν όπου η σταθερά ν θα ζητείται από το χρήστη. Θα πρέπει να γίνεται έλεγχος δεδομένων για το ν το οποίο πρέπει να είναι αριθμός θετικός. Να γράψετε και το αντίστοιχο διάγραμμα ροής Να γραφεί αλγόριθμος που θα λύνει την εξίσωση αx + β = 0 για τις διάφορες τιμές των πραγματικών αριθμών α και β Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο θα λύνει τη δευτεροβάθμια εξίσωση αx 2 + βx + γ = 0, όπου α,β,γ πραγματικοί και δίνονται από το πληκτρολόγιο Σε κάποια εξεταστική δοκιμασία ένα γραπτό αξιολογείται από δύο βαθμολογητές στη βαθμολογική κλίμακα [0, 100]. Αν η διαφορά μεταξύ των βαθμολογιών του α και του β βαθμολογητή είναι μικρότερη ή ίση των 20 μονάδων της παραπάνω κλίμακας, ο τελικός βαθμός είναι ο μέσος όρος των δύο βαθμολογιών. Αν η διαφορά μεταξύ των βαθμολογιών του α και του β βαθμολογητή είναι μεγαλύτερη από 20 μονάδες, το γραπτό δίνεται για αναβαθμολόγηση σε τρίτο βαθμολογητή. Ο τελικός βαθμός του γραπτού προκύπτει τότε από τον μέσο όρο των τριών βαθμολογιών. Να αναπτύξετε αλγόριθμο ο οποίος, αφού ελέγξει την εγκυρότητα των βαθμών στην βαθμολογική κλίμακα [0, 100], να υλοποιεί την παραπάνω διαδικασία εξαγωγής τελικού βαθμού και να εμφανίζει τον τελικό βαθμό του γραπτού στην εικοσαβάθμια κλίμακα. Να γίνεται έλεγχος για την ορθότητα των δεδομένων, κάθε φορά που εισάγεται ένας βαθμός Για κάθε υπάλληλο δίνονται: ο μηνιαίος βασικός μισθός και ο αριθμός των παιδιών του. Δεχόμαστε ότι ο υπάλληλος μπορεί να έχει μέχρι και 8 παιδιά και ότι ο μηνιαίος βασικός μισθός του κυμαίνεται από 600 μέχρι και Οι συνολικές αποδοχές του υπολογίζονται ως το άθροισμα του μηνιαίου βασικού μισθού και του οικογενειακού επιδόματός του. Το οικογενειακό επίδομα υπολογίζεται ως εξής:30 για κάθε παιδί μέχρι και τρία παιδιά, και 40 για κάθε παιδί πέραν των τριών (4 ο, 5 ο, 6 ο κ.τ.λ.). α. Να προσδιορίσετε τις μεταβλητές που θα χρησιμοποιήσετε και να δηλώσετε τον τύπο των δεδομένων που αντιστοιχούν σ' αυτές. β. Να γράψετε Πρόγραμμα στη «ΓΛΩΣΣΑ», το οποίο : 1. Εισάγει τα κατάλληλα δεδομένα και ελέγχει την ορθή καταχώριση τους 2. Υπολογίζει και εμφανίζει το οικογενειακό επίδομα και 3. Υπολογίζει και εμφανίζει τις συνολικές αποδοχές του υπαλλήλου 63

65 3.41 Στο κέντρο εκπαίδευσης Πυροβολικού υπάρχει η πρόθεση να δημιουργηθούν δύο ειδικές πυροβολαρχίες. Η Α πυροβολαρχία Θα αποτελείται από νεοσύλλεκτους πτυχιούχους τριτοβάθμιας εκπαίδευσης, ηλικίας από 24 έως και 28 χρόνων. Η Β πυροβολαρχία θα αποτελείται από νεοσύλλεκτους απόφοιτους δευτεροβάθμιας εκπαίδευσης, ηλικίας από 18 έως και 24 χρόνων. Οι υπόλοιποι νεοσύλλεκτοι δεν κατατάσσονται σε καμία από αυτές τις πυροβολαρχίες. Να αναπτύξετε Πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο: α. Διαβάζει το ονοματεπώνυμο, την ηλικία και έναν αριθμό που καθορίζει το επίπεδο σπουδών του νεοσύλλεκτου και παίρνει τιμές από 1 έως 3. (1:τριτοβάθμια εκπαίδευση, 2: δευτεροβάθμια εκπαίδευση, 3: κάθε άλλη περίπτωση) β. Εκτυπώνει: Το ονοματεπώνυμο του νεοσύλλεκτου και το όνομα της πυροβολαρχίας (Α ή Β), εφόσον ο νεοσύλλεκτος κατατάσσεται σε μία από αυτές Να αναπτύξετε αλγόριθμο που θα υλοποιεί τη λειτουργία ενός αυτόματου τυποποιητή μπισκότων της εταιρίας «Γεύση Α.Ε.». Ο έλεγχος γίνεται με βάση τα εξής κριτήρια. Για κάθε μπισκότο που εισάγεται, διαβάζεται η τιμή του βάρους του και η διάμετρος του. Το μπισκότο κατατάσσεται ανάλογα με το βάρος και τη διάμετρο του ως εξής: Αν 12 < Βάρος < 15 και 5 < Διάμετρος < 6, τότε τυπώνεται το μήνυμα "Προς συσκευασία α ποιότητας". Αν 10 < Βάρος < 12 τότε, ανεξαρτήτως διαμέτρου, τυπώνεται το μήνυμα "Προς συσκευασία β ποιότητας". Σε κάθε άλλη περίπτωση τυπώνεται το μήνυμα «Μπισκότα για σκύλους» 3.43 Ένας ασθενής ασφαλισμένος σε κάποιο ταμείο πληρώνει για τα φάρμακα του συμμετοχή σύμφωνα με τον παρακάτω πίνακα. Ταμείο Ασφάλισης Ποσό Ποσοστό Συμμετοχής ΙΚΑ <100 15% >= % ΟΑΕΕ <200 Δωρεάν >=200 30% Να γίνει Πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο : α. Θα διαβάζει το ταμείο ασφάλισης κάνοντας έλεγχο ορθότητας ώστε να είναι μόνο ΟΑΕΕ ή ΙΚΑ. β. Θα διαβάσει το ποσό που κόστισαν τα φάρμακα. γ. Θα υπολογίζει και θα εμφανίζει το ποσό συμμετοχής που πρέπει να πληρώσει ο ασθενής Από την Α γυμνασίου γνωρίζουμε ότι ένας φυσικός αριθμός διαιρείται με το 9 αν το άθροισμα των ψηφίων του διαιρείται με το 9. Να γίνει πρόγραμμα το οποίο : α. Θα διαβάζει έναν τριψήφιο ακέραιο κάνοντας έλεγχο ορθότητας. β. Θα υπολογίζει τα 3 ψηφία από τα οποία αποτελείται ο αριθμός καθώς και το αθροισμα τους. 64

66 γ. Θα εμφανίζει το μήνυμα «Αριθμός Πολλαπλάσιος του 9» σε περίπτωση που ο αριθμός διαιρείται με το Να γίνει αλγόριθμος ο οποίος θα λύνει με τη μέθοδο οριζουσών το σύστημα : ax+ by = c a ' x+ b' y= c' a b Υπενθυμίζεται ότι D = ab ' ba ' a ' b' =, c b Dx = cb ' ' ' bc c b = ', a c Dy = ac ' ' ' ca a c = ' και αν Dx Dy D 0 τότε x =, y D = D ενώ αν D= Dx = Dy = 0 τότε το σύστημα έχει άπειρες λύσεις και αν D= 0 και Dx 0 ή Dy 0 τότε το σύστημα είναι αδύνατο Σε μια χώρα της ευρωπαϊκής ένωσης, η φοίτηση ενός μαθητή χαρακτηρίζεται «επαρκής» αν το σύνολο των απουσιών του κατά τη διάρκεια του διδακτικού έτους δεν ξεπερνά τις 50 ή αν δεν υπερβαίνει τις 100 από τις οποίες οι πάνω από τις 50 είναι δικαιολογημένες. Σε κάθε άλλη περίπτωση η φοίτηση χαρακτηρίζεται «ανεπαρκής». Να γράψετε πρόγραμμα στη «ΓΛΩΣΣΑ» που θα κάνει τα παρακάτω: α. Θα διαβάζει τις δικαιολογημένες και αδικαιολόγητες απουσίες ενός από τους μαθητές στη διάρκεια ενός διδακτικού έτους. β. Θα εμφανίζει το κατάλληλο μήνυμα ανάλογα με το αν η φοίτηση του μαθητή είναι επαρκής ή ανεπαρκής Ο ιδιοκτήτης ενός καταστήματος αποφάσισε να υπολογίζει το μηνιαίο κέρδος του με τη βοήθεια του Η/Υ. Γι αυτό ζήτησε από ένα φίλο του που ασχολείται με τον προγραμματισμό να φτιάξει ένα πρόγραμμα που θα εκτελεί τα παρακάτω. α. Τμήμα δήλωσης σταθερών που θα περιέχει τα εξής δεδομένα : Ενοίκιο 450, Πάγια έξοδα (ΔΕΗ, Ύδρευση κ.λ.π.) 120, Μισθοί Υπαλλήλων 800, καθώς επίσης και τμήμα δήλωσης μεταβλητών. β. Θα διαβάζει από το πληκτρολόγιο τις μηνιαίες εισπράξεις, καθώς επίσης και τα διάφορα έξοδα. γ. Θα υπολογίζει τα συνολικά έξοδα και θα τα εμφανίζει, καθώς επίσης και το καθαρό κέρδος (ή ζημιά). δ. Αν η επιχείρηση είναι επικερδής θα εμφανίζει το μήνυμα «Κερδοφόρος μήνας», ενώ αν είχε ζημιά θα εμφανίζει το μήνυμα «Παρουσιάστηκε Ζημιά». Σημειώνεται ότι σαν ζημιά θεωρούμε το γεγονός να παρουσιαστεί αρνητικό κέρδος κατά τη διάρκεια του μήνα που μελετούμε Με το νέο σύστημα πληρωμής των εισιτηρίων του μετρό, οι επιβάτες των συρμών έχουν τη δυνατότητα να πληρώνουν το αντίτιμο με ειδική μαγνητική κάρτα. Υποθέστε ότι υπάρχει μηχάνημα το οποίο διαθέτει είσοδο για την κάρτα και δίνει τη δυνατότητα επιλογής ζώνης μεταφοράς. Το μηχάνημα διαβάζει από την κάρτα το υπόλοιπο των χρημάτων και 65

67 το αποθηκεύει σε μία μεταβλητή ΥΠΟΛ και ανάλογα με την επιλογή ζώνης αποθηκεύει (Α), (Β) ή (Γ) σε μια μεταβλητή Ζ. Στις τρεις ζώνες υπάρχει αντίτιμο 1, 2 και 3 αντίστοιχα. Να αναπτύξετε αλγόριθμο, ο οποίος: α. Ελέγχει τη ζώνη και εκχωρεί στη μεταβλητή Α το αντίτιμο ανάλογα με τη ζώνη μεταφοράς. β. Ελέγχει την πληρωμή των εισιτηρίων με τον παρακάτω τρόπο. Αν το υπόλοιπο της κάρτας επαρκεί για την πληρωμή του αντιτίμου αφαιρεί το ποσό αυτό από την κάρτα. Αν η κάρτα δεν έχει υπόλοιπο, το μηχάνημα ειδοποιεί με μήνυμα για το ποσό που πρέπει να πληρωθεί και προτρέπει τον επιβάτη να πάει σε ταμείο. Αν το υπόλοιπο δεν επαρκεί, μηδενίζεται η κάρτα και δίνεται με μήνυμα το ποσό που απομένει να πληρωθεί Μια εταιρεία ταχυμεταφορών «SPEED Α.Ε.» εφαρμόζει για τα έξοδα αποστολής δεμάτων εσωτερικού και εξωτερικού, χρέωση σύμφωνα με τον παρακάτω πίνακα : ΕΣΩΤΕΡΙΚΟ ΕΞΩΤΕΡΙΚΟ Βάρος σε χγρ. Χρέωση σε Βάρος σε χγρ. Χρέωση σε από 0 έως και 1,500 4,75 από 0 έως και 1,000 5,42 από 1,501 έως και 3,200 6,90 από 1,001 έως και 2,200 8,11 αλλιώς 0,0032 / γρ. αλλιώς 0,0072 / γρ. ΠΡΟΣΟΧΗ (ΟΧΙ ΚΛΙΜΑΚΩΤΗ ΧΡΕΩΣΗ) Να γράψετε αλγόριθμο ο οποίος : α. Να διαβάζει το βάρος του δέματος β. Να διαβάζει τον προορισμό του δέματος. Η τιμή «ΕΣ» δηλώνει προορισμό εσωτερικού και η τιμή «ΕΞ» δηλώνει προορισμό εξωτερικού. γ. Να υπολογίζει τα έξοδα αποστολής ανάλογα με τον προορισμό και το βάρος δ. Να εμφανίζει το κόστος αποστολής και να ρωτάει αν επιθυμεί ο πελάτης επιπλέον συσκευασία στο δέμα. Σε θετική περίπτωση θα έχουμε προσαύξηση 4%. ε. Θα εμφανίζεται το τελικό ποσό πληρωμής συμπεριλαμβανομένου ΦΠΑ 23% Σε κάποιον διαγωνισμό πρόσληψης το γραπτό ενός υποψηφίου αξιολογήθηκε αρχικά από δυο βαθμολογητές και στη συνέχεια χρειάστηκε αναβαθμολόγηση από τρίτο βαθμολογητή. Ο τελικός βαθμός υπολογίστηκε ως εξής: i. Αν ο βαθμός του τρίτου βαθμολογητή είναι ίσος με το μέσο όρο των βαθμών των δυο πρώτων βαθμολογητών, τότε ο τελικός βαθμός ισούται με τον μέσο όρο. ii. Αν ο βαθμός του τρίτου βαθμολογητή είναι μικρότερος από το μικρότερο βαθμό των δυο πρώτων βαθμολογητών, τότε ο τελικός βαθμός είναι ο ελάχιστος. iii. Διαφορετικά, ο τελικός βαθμός είναι ο μέσος όρος του βαθμού του τρίτου βαθμολογητή με τον πλησιέστερο προς αυτόν βαθμό των δυο πρώτων βαθμολογητών. Να αναπτύξετε αλγόριθμο υπολογισμού του τελικού βαθμού του συγκεκριμένου γραπτού με αναβαθμολόγηση, ο οποίος: 66

68 α. Να διαβάζει τους βαθμούς του πρώτου, του δευτέρου και του τρίτου βαθμολογητή του γραπτού. β. Να υπολογίζει και να εκτυπώνει το μεγαλύτερο και το μικρότερο από τους βαθμούς του πρώτου και του δευτέρου βαθμολογητή. γ. Να υπολογίζει και να εκτυπώνει τον τελικό βαθμό του γραπτού συμφωνά με την παραπάνω διαδικασία. δ. Να εκτυπώνει στο μήνυμα «Συγχαρητήρια πέρασατε το διαγωνισμό» στην περίπτωση που ο τελικός βαθμός είναι μεγαλύτερος ή ίσος με το 60%. Παρατήρηση : Θεωρήστε ότι και οι τρεις βαθμοί είναι θετικοί ακέραιοι αριθμοί και δεν απαιτείται έλεγχος των δεδομένων 3.51 Σε ένα 24ώρο DVD SHOP τα καινούρια DVD έχουν κωδικό new και χρεώνονται 1.5 /ημέρα, ενώ τα παλιότερα έχουν κωδικό old και χρεώνονται 2 / βδομάδα και 0.80 / ημέρα καθυστέρησης μετά από τις 3 εβδομάδες. Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που θα διαβάζει τον κωδικό ενός DVD, τις ημέρες της ενοικίασης και θα υπολογίζει τη χρέωση Δίσεκτα είναι τα έτη που διαιρούνται με το 4 αλλά όχι με το 100, καθώς και εκείνα που διαιρούνται με το 400. Να γραφτεί Πρόγραμμα που θα εκτελεί τα παρακάτω: α. Θα εμφανίζει μήνυμα «Δώσε το έτος» και θα διαβάζει το έτος. β. Θα εμφανίζει το μήνυμα «Έτος εκτός ορίων» στην περίπτωση που το έτος είναι μικρότερο του 0 και μεγαλύτερο του γ. Σε αντίθετη περίπτωση θα εμφανίζει το μήνυμα «Το έτος ΧΧΧΧ είναι δίσεκτο» στην περίπτωση που ικανοποίουνται οι συνθήκες της εκφώνησης. 6. ΘΕΜΑΤΑ ΜΕ ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΩΝ 3.53 Δίνεται το παρακάτω τμήμα αλγορίθμου. διάβασε a b 3 * a + 5 c a b αν c > b τότε b a αλλιώς a c τέλος_αν εμφάνισε a,b,c Μετά την εκτέλεση του παραπάνω τμήματος αλγορίθμου, ποιες θα είναι οι τιμές των μεταβλητών a, b, c που θα εμφανισθούν, όταν : α. a = 10 β. a = -20 γ. a = 50 67

69 3.54 Να επιλέξετε τη σωστή απάντηση σε κάθε περίπτωση α. Αν μετά την εκτέλεση του παρακάτω τμήματος αλγόριθμου προκύπτουν α =0 και β = 3, ποιές τιμές θα μπορούσαν να έχουν τα χ και ψ. Αν (χ mod ψ < χ div ψ) τότε i. χ=7, ψ=2 α 0 β 0 ii. χ=4, ψ=3 Αλλιώς α χ div ψ iii. χ=3, ψ=5 β χ mod ψ Τέλος_αν iv. χ=9, ψ=3 β. Ποια η λειτουργία του παρακάτω τμήματος αλγορίθμου : Β 10 i. Τυπώνει τον αριθμό που διάβασε διάβασε Α Β Α ii. Τυπώνει πάντα την απόλυτη τιμή του Αν Α < 0 τότε αριθμού Β (-1)*Α Τέλος_αν iii. Τυπώνει πάντα 0 Α 0 Εκτύπωσε Β iv. Τυπώνει πάντα Δίνεται ο παρακάτω αλγόριθμος Αλγόριθμος Άσκηση Διάβασε α,β γ β^2 mod α Αν γ > 1 τότε γ α*5 αλλιώς γ γ + α*5 Αν α + γ <= -10 τότε β β + γ α α - γ Αλλιώς_αν α + β <=20 τότε α α + γ Τέλος_αν Τέλος_αν Εμφάνισε β,α,γ Τέλος Άσκηση_1 α. Να κάνετε το αντίστοιχο διάγραμμα ροής. β. Αν α = 5, β = 6 να κάνετε πίνακα τιμών των μεταβλητών. γ. Να βρείτε τι θα εμφανίσει. 68

70 3.56 Να εξηγήσετε τι θα εμφανίσει το παρακάτω τμήμα προγράμματος : Χ 3 Υ 8 Ζ 0 Ω 20 ΑΝ Υ Χ > 10 ΤΟΤΕ ΑΝ Υ Χ > 15 ΤΟΤΕ Ζ Χ + Υ + Ω ΑΛΛΙΩΣ Ω Χ*Υ ΤΕΛΟΣ_ΑΝ ΑΛΛΙΩΣ ΑΝ Ω Υ < 7 ΤΟΤΕ Χ 3 Υ Ζ ΑΛΛΙΩΣ Ω 5*Χ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ Χ,Υ,Ζ,Ω 3.57 Δίνεται ο παρακάτω αλγόριθμος. Να τον μετατρέψετε σε διάγραμμα ροής και να παρουσιάσετε πινακά τιμών όλων των μεταβλητών καθώς επίσης και πίνακα με τις τιμές που θα εκτυπωθούν. Αλγόριθμος Θέμα_2 α 15 β α^2 γ (α+β) div 2 Αν (γ mod 2 = 0) ή (γ>=25) τότε γ γ - 20 Αν οχι(γ > α) τότε α β mod α αλλιώς γ γ div 2 τέλος_αν αλλιώς α α+ γ γ γ + β Τέλος_αν Εμφάνισε α,β α α div β + γ β β mod γ + α γ γ mod α + β Εμφάνισε α,β,γ Τέλος Θέμα_2 69

71 7. ΕΠΑΝΑΛΗΠΤΙΚΑ ΣΥΝΔΥΑΣΤΙΚΑ ΘΕΜΑΤΑ 3.58 Να γράψεις τις εντολές ψευδογλώσσας για τα παρακάτω α. Αν η Βαθμολογία (Β) είναι μεγαλύτερη από τον Μέσο όρο (ΜΟ) τότε να τυπώνει Πολύ καλά, αν είναι ίση ή μικρότερη του Μέσου όρου μέχρι και 2 μονάδες να τυπώνει Καλά και όταν είναι μικρότερη του Μέσου όρου περισσότερο από 2 μονάδες να τυπώνει Μέτρια. β. Αν το τμήμα (ΤΜ) είναι Γ1 και η βαθμολογία (Β) είναι μεγαλύτερη από 15 τότε να τυπώνει το επώνυμο (ΕΠ). γ. Αν η απάντηση (ΑΠ) δεν είναι Ν ή ν ή Ο ή ο τότε να τυπώνει το μήνυμα Λάθος απάντηση. δ. Αν ο αριθμός Χ είναι αρνητικός ή το ΕΦ(X)=0 τότε να τυπώνεται το μήνυμα Λάθος δεδομένα, αλλιώς να υπολογίζεται η παράσταση (Χ^3 + 2*Χ)/(Α_Μ(Χ)*ΕΦ(Χ)) Δίνεται ο αλγόριθμος : Αλγόριθμος πίνακας_τιμών διάβασε χ,ω α ω mod 4 αν (3*χ > ω) και (α>=3) τοτε Εμφάνισε περίπτωση 1 αλλιως αν (α>=χ) ή (οχι(ω - α)>2) τότε εμφάνισε περίπτωση 2 αλλιως_αν α<χ τότε εμφάνισε περίπτωση 3 αλλιως εμφάνισε περίπτωση 4 τελος_αν τέλος_αν Τέλος πίνακας_τιμών Αν χ=2 και ω=15 τότε : α. Να δημιουργήσετε πίνακα τιμών. β. Να τον μετατρέψετε σε διάγραμμα ροής Ο χαρακτηρισμός του ύψους σε σχέση με την ηλικία για τους άνδρες δίνεται από τον παρακάτω πίνακα : Ηλικία Ύψος Χαρακτηρισμός έως και 1,40 κοντός μικρός έως και 16 1,41 1,80 κανονικός μικρός 1,81 και άνω ψηλός μικρός έως 1,70 κοντός μεγάλος 17 και άνω 1,71 1,90 κανονικός - μεγάλος 1,91 και άνω ψηλός - μεγάλος 70

72 Να φτιάξετε αλγόριθμο ο οποίος αφού διαβάσει την ηλικία και το ύψος για έναν άνδρα θα εκτυπώνει τον ανάλογο χαρακτηρισμό Ένα μηχάνημα ΑΤΜ χρεώνει προμήθεια 1/100 του ποσού ανάληψης από κάθε πελάτη που το χρησιμοποιεί. Η ελάχιστη χρέωση όμως είναι 1 και η μέγιστη είναι 3. Να γίνει πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο : α. Θα διαβάζει το υπόλοιπο του λογαριασμού και το ποσό της ανάληψης. β. Θα υπολογίζει το ποσό της κράτησης σύμφωνα με τα δεδομένα της άσκησης. γ. Στην περίπτωση που επαρκεί το υπόλοιπο για τη συναλλαγή, θα τυπώνονται: το ποσό, η προμήθεια και το νέο υπόλοιπο. δ. Σε αντίθετη περίπτωση θα τυπώνεται το μήνυμα δεν έχετε επαρκές υπόλοιπο Μια εταιρεία κινητής τηλεφωνίας χρεώνει τους συνδρομητές ακολουθώντας την παρακάτω τιμολογιακή πολιτική. ΤΙΜΟΛΟΓΙΟ ΠΡΟΣΦΕΡΟΜΕΝΩΝ ΥΠΗΡΕΣΙΩΝ ΔΙΚΤΥΟΥ 0 <= χρόνος < 60 λεπτά 0,34 / λεπτό 60 <= χρόνος < 120 λεπτά 0,305 / λεπτό Αλλιώς 0,001 / δευτερόλεπτο Να γράψετε πρόγραμμα το οποίο : α. Θα διαβάζει όνομα συνδρομητή, χρόνο ομιλίας. β. Θα υπολογίζει τις χρεώσεις. γ. Θα προσαυξάνει τη χρέωση με ΦΠΑ 23 %. δ. Θα εμφανίζει όνομα, χρέωση χωρίς ΦΠΑ και πληρωτέο ποσό Δίνεται ο παρακάτω αλγόριθμος. Ποιός είναι ο πίνακας τιμών ; Τι θα εκτυπώσει ; Αλγόριθμος Πίνακας_Τιμών1 Χ 2 Υ Χ ^ 2-1 Ζ 2 * Χ + Υ - 1 Αν Χ > Υ τότε Υ Ζ mod X Z X ^ 2 Αλλιώς X Ζ mod Y Z Y ^ 2 Τέλος_Αν Εκτύπωσε X, Y, Z Τέλος Πίνακας_Τιμών1 71

73 3.64 Να σχηματίσετε τον πίνακα τιμών του παρακάτω αλγορίθμου. Τί θα εκτυπωθεί; Αλγόριθμος Πίνακας_Τιμών2 α 3 β 1 γ 5 Αν (α mod 2 = 1) ή (β >= 2) τότε γ γ + 2 Αν (γ < β) τότε α α ^ 3 Αλλιώς β 4 * β Τέλος_αν Τέλος_αν α α mod β β β mod γ γ γ mod α Εκτύπωσε α, β, γ Τέλος Πίνακας_Τιμών Να σχηματίσετε το διάγραμμα ροής του παρακάτω αλγορίθμου Αλγόριθμος Διάγραμμα_Ροής2 Διάβασε τιμή Αν (τιμή <= 0) τότε α_τ1 (-1) * τιμή Αλλιώς α_τ1 τιμή Τέλος_Αν Εκτύπωσε α_τ1 Τέλος Διάγραμμα_Ροής Να σχηματίσετε το διάγραμμα ροής του παρακάτω αλγορίθμου Αλγόριθμος Διάγραμμα_Ροής3 Διάβασε α Αν (α <= 2) τότε τιμή 15 Αλλιώς_αν (α <= 10) τότε τιμή 11 Αλλιώς_αν (α <= 20) τότε τιμή 9 Αλλιώς τιμή 5 Τέλος_αν Εκτύπωσε τιμή Τέλος Διάγραμμα_Ροής3 72

74 3.67 Ο κλιματισμός στα γραφεία μιας εταιρείας διαθέτει 3 αισθητήρες και ενεργοποιείται μόνο αν ο μέσος όρος των θερμοκρασιών στα 3 σημεία είναι μικρότερος από 8 o C ή αν σε κάποιο από τα τρία σημεία είναι μικρότερο από 4 o C. Να αναπτυχθεί αλγόριθμος που θα εκτυπώνει αν πρέπει να ενεργοποιηθεί ο κλιματισμός ή όχι 3.68 Να αναπτυχθεί αλγόριθμος ο οποίος θα διαβάζει έναν αριθμό x και θα υπολογίζει 3x+ 5 και θα εκτυπώνει την τιμή της ακόλουθης συνάρτησης f ( x) =. Να γίνουν οι x 1 ( ) 2 απαραίτητες ενέργειες ώστε ο αλγόριθμος να μην παραβιάζει το κριτήριο της καθοριστικότητας Μια ιδιωτική εταιρεία αποφάσισε να εφαρμόσει ενιαία πολιτική στη μισθοδοσία του προσωπικού της. Έτσι, ο βασικός μισθός είναι Για τους αποφοίτους ΑΕΙ/ΤΕΙ υπάρχει επίδομα 20% ενώ αν κάποιος διαθέτει μεταπτυχιακό τίτλο τότε το επίδομα σπουδών γίνεται 29%. Επιπρόσθετα, κάθε υπάλληλος λαμβάνει χρονοεπίδομα 15% επί του βασικού μισθού αν βρίσκεται μέχρι και 5 χρόνια στην εταιρεία, 25% αν βρίσκεται μέχρι και 15 χρόνια ενώ 35% αν εργάζεται περισσότερα από 15 χρόνια στην εταιρεία. Να αναπτύξετε αλγόριθμο που θα διαβάζει το όνομα του μισθωτού, το επίπεδο σπουδών (1. βασική εκπαίδευση, 2. ΑΕΙ/ΤΕΙ και 3. Μεταπτυχιακές σπουδές) καθώς και τα έτη υπηρεσίας και στη συνέχεια να υπολογίζει και να εκτυπώνει τις μηνιαίες αποδοχές του 3.70 Δίνεται ο παρακάτω αλγόριθμος σε φυσική γλώσσα κατά βήματα. Να μετατραπεί σε ισοδύναμο αλγόριθμο, πρόγραμμα και διάγραμμα ροής. Αλγόριθμος : Ασκηση_μετατροπής Είσοδος : ακέραιοι αριθμοί α,β Έξοδος : ακέραιοι αριθμοι α,γ Βήμα 1 ο : θέσε γ = (α+β) div 3 Βήμα 2 ο : αν γ > 2 τότε πήγαινε στο βήμα 3 αλλιώς πήγαινε στο 6 Βήμα 3 ο : θέσε α = α - γ Βήμα 4 ο : τύπωσε το γ Βήμα 5 ο : πήγαινε στο βήμα 7 Βήμα 6 ο : τύπωσε το μήνυμα Λάθος Βήμα 7 ο : τύπωσε το α 73

75

76 ΚΕΦΑΛΑΙΟ 4 ο ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ

77

78 Κεφάλαιο 4 ο οµή Επανάληψης Α. Θεωρία 4.1 Η Δομή Επανάληψης Μέχρι στιγμής κάθε εντολή που χρησιμοποιήσαμε, εκτελέστηκε το πολύ μία φορά. Η δομή επανάληψης χρησιμοποιείται όταν θέλουμε μια ομάδα εντολών να εκτελεστεί περισσότερες από μία φορές. Σε κάποιες περιπτώσεις γνωρίζουμε και καθορίζουμε τον ακριβή αριθμό επαναλήψεων που επιθυμούμε, ενώ σε κάποιες άλλες η τιμή μιας συνθήκης είναι εκείνη που θα αποφασίσει για το πλήθος των επαναλήψεων. Η δομή επανάληψης σε όλες σχεδόν τις σύγχρονες γλώσσες προγραμματισμού υλοποιείται με τη χρήση των παρακάτω εντολών : α. Όσο... Επανάλαβε β. Αρχη_επανάληψης... Μέχρις_ότου γ. Για... από... μέχρι... με βημα.... Οι παραπάνω εντολές παρουσιάζουν ομοιότητες αλλά και διαφορές τις οποίες θα μελετήσουμε αναλυτικά παρακάτω. Αναφέρουμε ότι το τμήμα εντολών που περιέχεται σε μια εντολή επανάληψης ονομάζεται Βρόχος Η εντολή Όσο... Επανάλαβε Σύνταξη : Χαρακτηριστικά : Όσο <Συνθήκη> Επανάλαβε... Εντολές... Τέλος_επανάληψης Οι εντολές του βρόχου εκτελούνται μια επιπλέον φορά όσο η συνθήκη που ελέγχεται παραμένει αληθής. Μόλις αυτή γίνει ψευδής ο αλγόριθμος συνεχίζει αμέσως μετά το Τέλος_επανάληψης. Τη στιγμή που γίνεται ο έλεγχος της συνθήκης για πρώτη φορά, αν αυτή βρεθεί ψευδής τότε δεν εκτελείται καμία επανάληψη. Αν η συνθήκη βρέθηκε για μια φορά αληθής και δεν γίνει ποτέ ψευδής τότε η επανάληψη θα εκτελεστεί άπειρες φορές. Στη συγκεκριμένη περίπτωση έχουμε κάνει λάθος, παραβιάζεται το κριτήριο της περατότητας και η διαδικασία ονομάζεται ατέρμονας βρόχος. Συνεπώς μια επανάληψη με Όσο μπορεί να εκτελεστεί από 0 έως φορές. 77

79 Σε διάγραμμα ροής η εντολή Όσο αναπαρίσταται ως εξής : Η εντολή... Μέχρις_οτου Σύνταξη : Αρχή_επανάληψης... Εντολές... Μέχρις_ότου <Συνθήκη> Χαρακτηριστικά : Οι εντολές του βρόχου εκτελούνται χωρίς έλεγχο της συνθήκης για την πρώτη φορά. Όσο η συνθήκη που ελέγχεται παραμένει ψευδής η επανάληψη συνεχίζεται. Μόλις γίνει αληθής ο αλγόριθμος συνεχίζει αμέσως μετά το Μέχρις_ότου. Αν η συνθήκη βρέθηκε για μια φορά ψευδής και δεν γίνει ποτέ αληθής τότε η επανάληψη θα εκτελεστεί άπειρες φορές. Στη συγκεκριμένη περίπτωση έχουμε κάνει λάθος και ο βρόχος ονομάζεται ξανά ατέρμονας βρόχος. Συνεπώς η μια επανάληψη με... Μέχρις ότου, μπορεί να εκτελεστεί από 1 έως φορές. Σε διάγραμμα ροής η εντολή Μεχρις_ότου αναπαρίσταται ως εξής : 78

80 Ομοιότητες και διαφορές των δύο παραπάνω εντολών!!! Και οι δύο χρησιμοποιούνται όταν δε γνωρίζουμε το πλήθος επαναλήψεων που θα εκτελεστούν. Και στις δύο εντολές η συνθήκη πρέπει με κάποιο τρόπο να αλλάζει τιμή πριν από το τέλος επανάληψης για να αποφεύγονται οι ατέρμονες βρόχοι. Στην πρώτη οι εντολές εκτελούνται όταν η συνθήκη είναι αληθής, ενώ στη δεύτερη όταν είναι ψευδής. Στην πρώτη μπορεί να μην έχουμε καμία επανάληψη ενώ στη δεύτερη θα έχουμε τουλάχιστον μια. Αν θέλουμε να μετατρέψουμε μια επανάληψη από τη μια εντολή στην άλλη τότε η συνθήκη της μίας θα είναι το συμπλήρωμα της άλλης. Δηλαδή : Αν στην Όσο έχω Χ > 0 τότε στη μέχρις_ότου θα γίνει Χ <= 0. Στην πρώτη ο έλεγχος της συνθήκης γίνεται στην αρχή ενώ στη δεύτερη στο τέλος του βρόχου. Σημαντική παρατήρηση!!! Στις δύο παραπάνω εντολές πολλές φορές όταν θέλουμε να ελέγξουμε το πλήθος των επαναλήψεων καθορίζουμε μια τιμή η οποία τερματίζει το βρόχο. Αυτή η τιμή ονομάζεται τιμή φρουρός. Για παράδειγμα : Όσο χ <> 999 επανάλαβε. Τιμή φρουρός είναι το 999. Μόλις δώσουμε την τιμή χ = 999 τότε δεν εκτελείται άλλη επανάληψη. Ισοδύναμα θα είχαμε : μέχρις_ότου χ =

81 Σημαντική παρατήρηση (Έλεγχος ορθότητας δεδομένων)!!! Στο προηγούμενο κεφάλαιο μελετήσαμε μια μέθοδο ελέγχου ορθότητας δεδομένων (Βλ. λυμένο θέμα 3.5). Εδώ θα δούμε την πλήρη και πιο σωστή μέθοδο με χρήση των δύο παραπάνω εντολών. Ένα παράδειγμα θα βοηθήσει καλύτερα. Θεωρούμε ότι ένας αλγόριθμος ζητάει εισαγωγή του βαθμού ενός μαθητή στην κλίμακα [0,100] και δεν επιτρέπεται η εισαγωγή άλλων τιμών Αρχή_επανάληψης Διάβασε Β Διάβασε Β Όσο (Β < 0) ή (Β > 100) επανάλαβε Μέχρις_ότου (Β >=0) και (Β<=100) Εμφάνισε Έδωσες λάθος... Διάβασε Β Τέλος_επανάληψης... Παρατηρήστε τις συνθήκες στα δύο παραδείγματα. Η μια είναι το συμπλήρωμα της άλλης. Η Μεχρις_ότου είναι καλύτερη γιατί δεν χρειάζεται εισαγωγή αρχικής τιμής πριν από την επανάληψη. Η Όσο μας δίνει τη δυνατότητα να τυπώσουμε μήνυμα λάθους. Πάντως και με τους δύο παραπάνω τρόπους, ο αλγόριθμος δεν θα συνεχίσει αν δε δοθούν σωστές τιμές για το βαθμό. Αν τώρα πρόκειται να δεχτούμε μόνο διακεκριμένο πλήθος τιμών τότε μπορούμε να χρησιμοποιήσουμε την Μέχρις_ότου ως εξής : Υποθέτουμε οτι διαβάζουμε απαντήσεις μιας ερώτησεις που παίρνει τιμές «Σ» ή «Λ» ή «ΔΞ». Ο έλεγχος ορθότητας επιτυγχάνεται με τις παρακάτω εντολές :... Αρχή_επανάληψης Διάβασε απ Μέχρις_ότου (απ= Σ ) ή (απ= Λ ) ή (απ= ΔΞ ) Διάβασε απ Οσο (απ<> Σ ) και (απ<> Λ ) και (απ<> ΔΞ ) επανάλαβε Γράψε Έδωσες λάθος δεδομένα Διάβασε απ Τέλος_επανάληψης α τρόπος β τρόπος Η εντολή Για... από... μέχρι... με_βήμα... Αυτή η εντολή διαφοροποιείται αρκετά από τις δύο προηγούμενες. Κατά κανόνα χρησιμοποιείται όταν το πλήθος των επαναλήψεων είναι γνωστό. Ας δούμε τη σύνταξη της εντολής. Για <Μεταβλητή> από <αρχική τιμή> μέχρι <τελική τιμή> με_βήμα <τιμή>... Εντολές... Τέλος_επανάληψης 80

82 Δίνουμε το παρακάτω παράδειγμα μέσα από το οποίο θα γίνει πιο κατανοητή η λειτουργία της εντολής. Για Χ από 2 μέχρι 7 με_βήμα 2... Εντολές... Τέλος_επανάληψης Οι παραπάνω εντολές που περιέχονται στο βρόχο θα εκτελεστούν όταν η μεταβλητή Χ πάρει τις τιμές 2, 4 και 6 (3 επαναλήψεις). Δηλαδή αρχική τιμή είναι το 2 και στη συνέχεια το βήμα αυξάνει κατά 2 κάθε φορά που φτάνουμε στο Τέλος_επανάληψης χωρίς ποτέ να υπερβούμε την τελική τιμή 7. Πρέπει να παρατηρήσουμε ότι το βήμα μπορεί να είναι θετικός ή αρνητικός αριθμός. Όταν έχει την τιμή 1 τότε το κομμάτι με_βήμα... παραλείπεται. Όταν δοθεί εντολή με βήμα 0 τότε η εντολή δεν ικανοποιεί το κριτήριο της περατότητας, αυξάνει άπειρες φορές, οπότε ο αλγόριθμος δεν είναι έγκυρος. Επιπλέον πρέπει να επισημάνουμε ότι υπάρχει περίπτωση να μην εκτελεστεί καμία επανάληψη. Σε ότι αφορά το διάγραμμα ροής της εντολής Για έχει την ίδια αναπαράσταση με αυτό της εντολής Οσο. Πρέπει όμως να είμαστε προσεκτικοί στα εξης τρια σημεία κατά τη μετατροπή. Εκχώρηση της αρχικής τιμής της μεταβλητής. Σωστή κατασκευή της συνθήκης τερματισμού με βάση την τελική τιμή. Τοποθέτηση του βήματος της Για πριν τον τερματισμό του βρόχου. Σημαντική παρατήρηση!!! Πολύ σημαντική κατηγορία ασκήσεων είναι αυτή που ζητάει αθροίσματα, πλήθη, μέσους όρους ή γινόμενα γνωστού ή άγνωστου πλήθους αριθμών. Η λογική της μεθόδου είναι ότι : θέτουμε σε μια μεταβλητή μια ουδέτερη τιμή έξω από τη δομή επανάληψης και στη συνέχεια προσθέτουμε ή αντίστοιχα πολλαπλασιάζουμε τους αριθμούς που δίνονται. Στα αθροίσματα ουδέτερη τιμή είναι το 0 (SUM 0) ενώ στα γινόμενα ουδέτερη τιμή είναι το 1 (P 1). Τα παραπάνω γίνονται κατανοητά με ένα απλό παράδειγμα. Ας υποθέσουμε ότι θέλουμε να προσθέσουμε 10 αριθμούς που θα μας δίνει ο χρήστης. Παράδειγμα 1 Άθροισμα 10 αριθμών που θα διαβάζονται ΑΘΡ 0 Για χ από 1 μέχρι 10 Διάβασε αριθμό ΑΘΡ ΑΘΡ + αριθμό Τέλος_επανάληψης! Μηδενισμός της μεταβλητής! Δομή επανάληψης! Εισαγωγή αριθμού! Πρόσθεση του αριθμού στο ΑΘΡ! Τέλος βρόχου 81

83 Παράδειγμα 2 Δίνονται 50 αριθμοί, εύρεση πλήθους θετικών ΠΛΗΘ 0! Μηδενισμός της μεταβλητής Για χ από 1 μέχρι 50! Δομή επανάληψης Διάβασε α! Εισαγωγή αριθμού Αν α > 0 τότε! Δομή επιλογής ΠΛΗΘ ΠΛΗΘ + 1! Αύξηση του ΠΛΗΘ κατά 1 Τέλος_αν Τέλος_επανάληψης! Τέλος βρόχου Παράδειγμα 3 Εισάγονται 10 αριθμοι και θέλουμε το μέσο όρο των θετικών ΠΛΗΘ 0! Μηδενισμός των μεταβλητών ΑΘΡ 0 Για χ από 1 μέχρι 10! Δομή επανάληψης Διάβασε α! Εισαγωγή αριθμού Αν α > 0 τότε! Δομή επιλογής ΑΘΡ ΑΘΡ + α! Πρόσθεση του αριθμού στο ΑΘΡ ΠΛΗΘ ΠΛΗΘ + 1! Αύξηση του ΠΛΗΘ κατά 1 Τέλος_αν Τέλος_επανάληψης! Τέλος βρόχου Αν ΠΛΗΘ <> 0 τότε! Υπολογισμός και εκτύπωση μέσου όρου ΜΟ ΑΘΡ/ΠΛΗΘ! μόνο στην περίπτωση που το ΠΛΗΘ δεν Εμφάνισε ΜΟ! είναι 0 Τέλος_αν Σημαντική παρατήρηση!!! Μια άλλη σημαντική κατηγορία ασκήσεων είναι αυτή που ζητάει να βρούμε το μέγιστο ή το ελάχιστο ενός συνόλου δεδομένων. Η λογική της μεθόδου είναι η εξής : Υποθέτουμε ότι το πρώτο δεδομένο είναι το μεγαλύτερο (ή αντίστοιχα το μικρότερο). Στη συνέχεια συγκρίνουμε κάθε νέο δεδομένο με το τρέχον μέγιστο ( ή αντίστοιχα ελάχιστο) και αναλόγως αλλάζουμε το μέγιστο (ή αντίστοιχα το ελάχιστο) ή το αφήνουμε ίδιο. Το παρακάτω παράδειγμα θα βοηθήσει αρκετά στην κατανόηση. Παράδειγμα 1 Εύρεση του μεγαλύτερου μεταξύ 10 ακεραίων αριθμών. α τρόπος β τρόπος διάβασε α για i από 1 μέχρι 10 Και οι δύο τρόποι max α διάβασε α παράγουν το ίδιο για i από 2 μέχρι 10 αν i = 1 τότε max α ακριβώς αποτέλεσμα διάβασε α αν α > max τότε αν α > max τότε max α max α τέλος_αν τέλος_αν τέλος_επανάληψης τέλος_επανάληψης εμφάνισε max εμφάνισε max 82

84 Σε κάποιες ασκήσεις όμως καθορίζεται από την εκφώνηση το εύρος τιμών των δεδομένων όποτε μπορεί να χρησιμοποιηθεί μια εναλλάκτική μέθοδος που φαίνεται παρακάτω. Ας υποθέσουμε ότι στο προηγούμενο παράδειγμα είχαμε από την εκφώνηση ότι οι αριθμοι που θα διαβαστούν είναι θετικοί. Τότε θα μπορούσαμε να δώσουμε την εξής λύση : max 0 (εναλλακτικά max -1 ή οποιαδήποτε άλλη αρνητική τιμή) για i από 1 μέχρι 10 διάβασε α αν α > max τότε max α τέλος_αν τέλος_επανάληψης εμφάνισε max Η παραπάνω λογική στηρίζεται στο να αρχικοποιήσουμε τη μεταβλητή max δίνοντας της μια τιμή μικρότερη από το εύρος των δεδομένων μου η οποία σίγουρα θα ξεπεραστεί κατά την πρώτη εκτέλεση της εντολής διάβασε, οπότε στη συνέχεια υπολογίζεται το μέγιστο. Για το ελάχιστο πρέπει να αρχικοποιήσουμε μια μεγαλύτερη τιμή εκτός του εύρους τιμών των δεδομένων. Θα δούμε τώρα ένα παράδειγμα εύρεσης ελαχίστου ενός αγνωστού πλήθους αριθμών. Οι αριθμοί είναι σίγουρα <1000 και η επανάληψη θα τερματίζει όταν δοθεί το 0. Υποθέτουμε επιπλέον ότι στην πρώτη εντολη διάβασε θα δοθεί αριθμός μη μηδενικός. α τρόπος β τρόπος Διαβασε a Min 1000 Min a Διάβασε a Όσο a <> 0 επανάλαβε Όσο a <> 0 επανάλαβε Αν a < min τότε Αν a < Μin τότε Min a Min a Τέλος_αν Τέλος_αν Διάβασε a Διάβασε a Τέλος_επανάληψης Τέλος_επανάληψης Εμφάνισε Min Εμφάνισε Min Σε αυτή τη λύση η πληροφορία οτι οι αριθμοί είναι <1000 δεν χρησιμοποιείται κάπου. Εδώ αρχικοποιήσαμε τη Min μια τιμή σίγουρα μεγαλύτερη από τα δεδομένα. 83

85 Β. Ερωτήσεις 4.1 Τι εννοούμε με τον όρο δομή επανάληψης ; 4.2 Ποιες είναι οι εντολές επανάληψης ; 4.3 Τι ονομάζουμε βρόχο ; 4.4 Να αναλύσετε τη σύνταξη καθεμιάς από τις εντολές επανάληψης καθώς επίσης και τα βασικά χαρακτηριστικά τους. 4.5 Να αναφέρετε τις ομοιότητες και τις διαφορές των εντολών Όσο και Μέχρις_ότου. 4.6 Τι γνωρίζετε για τον πολλαπλασιασμό αλά ρωσικά ; 4.7 Τι γνωρίζετε για την ολίσθηση στο δυαδικό σύστημα ; 4.8 Τι γνωρίζετε για τη χρήση τιμής φρουρού στη δομή επανάληψης ; 4.9Πως χρησιμοποιούμε τη δομή επανάληψης για να ελέγξουμε ορθότητα δεδομένων ; 4.10 Τι γνωρίζετε για τον υπολογισμό αθροίσματος, πλήθους και γινομένου στον προγραμματισμό ; 4.11 Ποιοι κανόνες διέπουν τη χρήση εμφωλευμένων βρόχων μέσα ένα πρόγραμμα ; 84

86 Γ. Λυμένα Θέματα 4.12 Τι γνωρίζετε για τον αλγόριθμο του πολλαπλασιασμού αλά ρωσικά ; Ο αλγόριθμος του πολλαπλασιασμού αλά ρωσικά είναι μια εναλλακτική μέθοδος προσδιορισμού του γινομένου 2 φυσικών αριθμών. Ας δούμε παρακάτω πως λύνεται το συγκεκριμένο ζήτημα. Αριθμητικό παράδειγμα : Θέλουμε να πολλαπλασιάσουμε τους αριθμούς 47 και 12. Έχουμε την εξής διαδικασία : στην πρώτη στήλη πολλαπλασιάζομε με το στη δεύτερη διαιρούμε ακέραια με 2 μέχρι να βρεθεί Κατόπιν, βρίσκουμε τους περιττούς αριθμούς της δεύτερης στήλης, δηλαδή 3 και 1 και προσθέτουμε τους αντίστοιχους της πρώτης : = 564, αυτό είναι το ζητούμενο γινόμενο. Ας δώσουμε τώρα και την αλγοριθμική λύση του προβλήματος : Αλγόριθμος Ρωσικός_Πολλαπλασιασμός ΓΙΝ 0 Διάβασε x,y Όσο y > 0 επανάλαβε Αν y mod 2 = 1 τότε ΓΙΝ ΓΙΝ + x Τέλος_αν x x*2 y y div 2 Τέλος_επανάληψης Εμφάνισε Το γινόμενο είναι :,ΓΙΝ Τέλος Ρωσικός_Πολλαπλασιασμός 4.13 Στον παρακάτω πίνακα δίνονται κάποια παραδείγματα εντολών επανάληψης. Να προσδιορίσετε τον αριθμό των επαναλήψεων που εκτελούνται σε κάθε μια από τις παρακάτω εντολές επανάληψης. Να αιτιολογήσετε τις απαντήσεις σας σε κάθε μια περίπτωση. α. Για i από 5 μέχρι 8 με βημα -3 β. Για κ από -6 μέχρι 4 με βήμα 1.5 γ. Για i από 3 μέχρι 3 με βήμα 2 δ. α 4 Αρχή_επαναλήψης α α^2 μέχρις_ότου α < 16 ε. α 4 Αρχή_επαναλήψης α α^2 μέχρις_ότου α < 0 ζ. α 4 Αρχή_επαναλήψης α α - 1 μέχρις_ότου α < 0 η. β 10 Όσο β > 0 επανάλαβε β β - 3 τελος_επανάληψης θ. β -1 Όσο β > 0 επανάλαβε β β - 3 τελος_επανάληψης ι. β 4 Όσο β >0 επανάλαβε β β + 3 τελος_επανάληψης 85

87 α. Καμία επανάληψη γιατί η αρχική τιμή < τελική τιμή και το βήμα είναι αρνητικό. β. 7 επαναλήψεις για κ = -6, -4,5, -3, -1,5, 0, 1,5, 3 γ. 1 επανάληψη για κ = 3 δηλαδή τη αρχική τιμή. δ. Άπειρες επαναλήψεις. Αρχικά για α = 4 έχουμε την 1η, μετά γίνεται α = 16 και ο βρόχος συνεχίζει χωρίς να ικανοποιηθεί ποτέ η συνθήκη α < 16. ε. Άπειρες επαναλήψεις, όπως και στην προηγούμενη περίπτωση ζ. 5 επαναλήψεις. Οι εντολές του βρόχου θα εκτελεστούν για α = 4, 3, 2, 1, 0. η. 4 επαναλήψεις. Οι τιμές της μεταβλητής β θα είναι : 10, 7, 4, 1 θ. Καμία επανάληψη διότι β = -1 οπότε η δομή επανάληψης παραλείπεται. ι. Άπειρες επαναλήψεις διότι το β παραμένει θετικό, οπότε η συνθήκη θα ισχύει πάντα Να γράψετε στο τετράδιό σας τις τιμές των μεταβλητών Ν, Μ και Β, όπως αυτές τυπώνονται σε κάθε επανάληψη, και την τιμή της μεταβλητής Χ που τυπώνεται μετά το τέλος της επανάληψης, κατά την εκτέλεση του παρακάτω αλγόριθμου. Αλγόριθμος Αριθμοί Α 1 Β 1 Ν 0 Μ 2 Όσο Β < 6 επανάλαβε Χ Α + Β αν Χ MOD 2 = 0 τότε Ν Ν + 1 αλλιώς Μ Μ + 1 Τέλος_αν Α Β Β Χ Εμφάνισε Ν, Μ, Β Τέλος_επανάληψης Εμφάνισε Χ Τέλος Αριθμοί Αρχικά σχηματίζουμε τον πίνακα της παρακάτω μορφής 86

88 Αλγόριθμος 1 η Επαναλ. 2 η Επαναλ. 3 η Επαναλ. 4 η Επαναλ. Αλγόριθμος Αριθμοί - Α 1 Α=1 Β 1 Β=1 Ν 0 Ν=0 Μ 2 Μ=2 Όσο Β < 6 επανάλαβε ΑΛΗΘΗΣ ΑΛΗΘΗΣ ΑΛΗΘΗΣ ΑΛΗΘΗΣ ΨΕΥΔΗΣ Χ Α + Β Χ=2 Χ=3 Χ=5 Χ=8 - Αν Χ MOD 2= 0 τότε ΑΛΗΘΗΣ ΨΕΥΔΗΣ ΨΕΥΔΗΣ ΑΛΗΘΗΣ - Ν Ν + 1 Ν=1 - - Ν=2 - αλλιώς Μ Μ Μ=3 Μ=4 - - Τέλος_αν Α Β Α=1 Α=2 Α=3 Α=5 - Β Χ Β=2 Β=3 Β=5 Β=8 - Εμφάνισε Ν, Μ, Β 1,2,2 1,3,3 1,4,5 2,4,8 - Τέλος_επανάληψης Εμφάνισε Χ Τέλος Αριθμοί Στη συνέχεια συγκεντρώνουμε αυτά που εμφανίζονται σε έναν πίνακα εμφανίσεων όπως τον παρακάτω : ΠΙΝΑΚΑΣ ΕΜΦΑΝΙΣΕΩΝ Αριθμ. Επαναλ. Ν Μ Β Χ 1 η επανάληψη η επανάληψη η επανάληψη η επανάληψη Να μετατρέψετε τον παρακάτω αλγόριθμο σε διάγραμμα ροής Αλγόριθμος Μετατροπή sum 1000 Αρχή_επανάληψης Διάβασε k Αν sum > 5000 τότε sum sum + k*0.1 Αλλιώς sum sum + k Τέλος_αν Μέχρις_ότου κ < 0 Εμφάνισε sum Τέλος Μετατροπή 87

89 4.16 Να μετατρέψετε τις παρακάτω δομές επανάληψης από την εντολή που δίνονται στην εντολή που ζητείται όπου αυτό είναι εφικτό, προσέχοντας πάντα να έχουμε το ίδιο αποτέλεσμα. α. Β 5 Για κ από 14 μέχρι 2 με_βήμα -3 Β Β^2-Β Τελος_επανάληψης Να μετατραπεί σε ισοδύναμη Όσο... επανάλαβε Β 5 κ 14 Όσο κ >= 2 επανάλαβε Β Β^2-Β κ κ - 3 Τελος_επανάληψης 88

90 β. β 5 Χ 0 Όσο β < 12 επανάλαβε Χ Χ + β 1 β β + 3 Τελος_επανάληψης Να μετατραπεί σε ισοδύναμη Για... από... μέχρι Χ 0 Για β από 5 μέχρι 11 με_βήμα 3 Χ Χ + β - 1 Τελος_επανάληψης γ. Χ 0 Υ 1 Όσο Χ > 6 επανάλαβε Υ Υ + 4 Να μετατραπεί σε ισοδύναμη Μέχρις_ότου... Χ Χ 2 Υ Υ^2 + Χ Τέλος_επανάληψης Χ 0 Υ 1 Αρχή_επανάληψης Υ Υ + 4 Χ Χ 2 Υ Υ^2 + Χ Μέχρις_ότου Χ <= -6 δ. Χ 0 Υ 1 Αρχή_επανάληψης Υ Υ + 4 Χ Χ*Υ Μέχρις_ότου Χ >= 100 Να μετατραπεί σε ισοδύναμη Όσο... επανάλαβε Χ 0 Υ 1 Όσο Χ < 100 επανάλαβε Υ Υ + 4 Χ Χ*Υ Τέλος_επανάληψης 4.17 Να γράψετε πρόγραμμα στη «ΓΛΩΣΣΑ» που θα διαβάζει άγνωστο πλήθος αρνητικών ακεραίων αριθμών και στη συνέχεια θα βρίσκει : α. Το άθροισμα των τετραγώνων τους, β. Το πλήθος αυτών που είναι < 500 και γ. το γινόμενο όσων είναι από 15 μέχρι 4. Η εισαγωγή αριθμών θα σταματά όταν δοθεί το 0. 89

91 ΠΡΟΓΡΑΜΜΑ ΑΡΙΘΜΟΙ_ΑΡΝΗΤΙΚΟΙ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Χ, ΑΘΡ1, ΑΘΡ2, ΓΙΝ ΑΡΧΗ ΑΘΡ1 0 ΑΘΡ2 0 ΓΙΝ 1 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ΔΩΣΕ ΑΡΝΗΤΙΚΟ ΑΡΙΘΜΟ Ή 0 ΓΙΑ ΤΕΛΟΣ ΔΙΑΒΑΣΕ Χ ΜΕΧΡΙΣ_ΟΤΟΥ Χ <=0 ΟΣΟ Χ <> 0 ΕΠΑΝΑΛΑΒΕ ΑΘΡ1 ΑΘΡ1 + Χ^2 ΑΝ Χ < 500 ΤΟΤΕ ΑΘΡ2 ΑΘΡ2 + 1 ΤΕΛΟΣ_ΑΝ ΑΝ (Χ <= 4) ΚΑΙ (Χ>= 15) ΤΟΤΕ ΓΙΝ ΓΙΝ*Χ ΤΕΛΟΣ_ΑΝ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ΔΩΣΕ ΑΡΝΗΤΙΚΟ ΑΡΙΘΜΟ Ή 0 ΓΙΑ ΤΕΛΟΣ ΔΙΑΒΑΣΕ Χ ΜΕΧΡΙΣ_ΟΤΟΥ Χ <=0 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ΑΘΡΟΙΣΜΑ ΤΕΤΡΑΓΩΝΩΝ =,ΑΘΡ1 ΓΡΑΨΕ ΠΛΗΘΟΣ < 500 =,ΑΘΡ2 ΓΡΑΨΕ ΓΙΝΟΜΕΝΟ 15 <= ΑΡΙΘΜΟΥ <= 4 :,ΓΙΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ 90

92 Δ. Θέματα για λύση 1. ΘΕΩΡΗΤΙΚΑ ΘΕΜΑΤΑ 4.18 Για κάθε μια από τις παρακάτω προτάσεις να σημειώσετε (Σ) αν αυτή είναι σωστή και (Λ) αν αυτή είναι λάθος. α. Με τη χρήση της Όσο επιτυγχάνεται η επανάληψη μιας διαδικασίας ανάλογα με την τιμή κάποιας συνθήκης. β. Μέσα σε μια δομή επανάληψης δεν μπορεί να περιέχεται δομή επιλογής. γ. Η δομή Όσο χρησιμοποιείται μόνο όταν γνωρίζουμε το πλήθος των επαναλήψεων. δ. Κάθε βρόχος Όσο μπορεί να μετατραπει σε Μέχρις_ότου. ε. Ο αλγόριθμος του πολλαπλασιασμού αλά ρωσικά χρησιμοποιείται από τους υπολογιστές για την εκτέλεση του πολλαπλασιασμού Να κάνετε την παρακάτω αντιστοίχιση. 1. Χ Χ Α > Β Στήλη Α Εκφράσεις 3. Τύπωσε Β 4. Όσο Κ<3 επανάλαβε εντολές Τέλος_επανάληψης 5. Χ - (Χ/2)*2 Στήλη Β Αλγοριθμικές έννοιες α. αριθμητική παράσταση (έκφραση) β. μεταβλητή γ. λογική παράσταση δ. δομή ακολουθίας ε. δομή επανάληψης στ. εντολή εκχώρησης ζ. εντολή εξόδου 4.20 Να εξετάσετε αν τα παρακάτω τμήματα αλγορίθμων είναι ισοδύναμα. Να αιτιολογήσετε την απάντησή σας. Όσο Χ > 0 επανάλαβε Εντολές Χ Χ 1 Τέλος_επανάληψης Αρχή_επανάληψης Εντολές Χ Χ 1 Μέχρις_ότου Χ < = 0 Στην περίπτωση που η απάντηση σας είναι αρνητική να τροποποιήσετε κατάλληλα τα τμήματα αλγορίθμου ώστε να έχουν το ίδιο αποτέλεσμα για κάθε τιμή του Χ. 91

93 4.21 Να συμπληρώσετε τα κενά στις παρακάτω προτάσεις. 1. Η επαναληπτική δομή Όσο περιλαμβάνει διαδικασίες και λήγει με τη φράση Οι εντολές που περιέχονται σε μια δομή επανάληψης ονομάζονται Ο αλγόριθμος που δεν διαθέτει τρόπο τερματισμού χαρακτηρίζεται ως... βρόχος και εκτελείται... στο πλήθος επαναλήψεις. 4. Ο πολλαπλασιασμός απαιτεί πολλαπλασιασμό επί το 2, ακέραια διαίρεση δια 2 και πρόσθεση Διάλεξε όλα όσα χρειάζεται μεταξύ των προτεινόμενων. Τα χρησιμοποιούμενα γεωμετρικά σχήματα για την αναπαράσταση των διαγραμμάτων ροής είναι τα εξής : α. Ελλειψη β. Ρόμβος γ. Ορθογώνιο δ. Κύκλος Ποιά από τα παρακάτω είναι δεκτά ως αλγοριθμικές δομές : α. Επιλογή β. Εκτύπωση γ. Ανάγνωση δ. Υπολογισμός ε. Επανάληψη 4.23 Βάλε έναν κύκλο στα σωστά Οι αλγοριθμικές συνιστώσες περιλαμβάνουν : α. Επιλογή β. Επανάληψη γ. Ανάγνωση δ. Πολλαπλή Εκτύπωση Ο πολλαπλασιασμός αλά ρωσικά περιλαμβάνει : α. Πολλαπλασιασμό επί 4 β. Πολλαπλασιασμό επί 2 γ. Διαίρεση δια 4 δ. Διαίρεση δια Δίνεται η παρακάτω εντολή : Για i από τ1 μέχρι τ2 με_βήμα β εντολή1 Τέλος_επανάληψης 92

94 Να γράψετε στο τετράδιο σας πόσες φορές εκτελείται η εντολή1 για κάθε έναν από τους παρακάτω συνδυασμούς των τιμών των μεταβλητών τ1, τ2 και β. α. τ1=15 τ2=3 β=-3 β. τ1=15 τ2=8 β=4 γ. τ1=1 τ2=5 β=0 δ. τ1=2 τ2=2 β= Στον παρακάτω πίνακα δίνονται κάποια παραδείγματα εντολών επανάληψης. Να προσδιορίσετε τον αριθμό των επαναλήψεων που εκτελούνται σε κάθε μια από τις παρακάτω εντολές επανάληψης. Να αιτιολογήσετε τις απαντήσεις σας σε κάθε μια περίπτωση. α. Για i από 5 μέχρι 8 με βημα 3 β. Για κ από 7 μέχρι 1 με βήμα -1.5 γ. Για i από 3 μέχρι 3 με βήμα 0 δ.α 4 Αρχή_επαναλήψης α α^2 α^3 μέχρις_ότου α <= 8 η. β 1 Όσο β > 0 επανάλαβε β β 3 τελος_επανάληψης ε. α 4 Αρχή_επαναλήψης α 1 μέχρις_ότου α < 0 θ. β 8 Όσο β >= 0 επανάλαβε β β^2 τελος_επανάληψης ζ. α 14 Αρχή_επαναλήψης α α 5 μέχρις_ότου α > 0 ι. β 4 Όσο β <= 0 επανάλαβε β β + 1 τελος_επανάληψης 4.26 Να μετατρέψετε τις παρακάτω δομές επανάληψης από την εντολή που δίνονται στην εντολή που ζητείται όπου αυτό είναι εφικτό, προσέχοντας πάντα να έχουμε το ίδιο αποτέλεσμα. α. Β 2 Για κ από 1 μέχρι 7 με_βήμα 3 Β Β + 5 Τελος_επανάληψης Να μετατραπεί σε ισοδύναμη Όσο... επανάλαβε β. β 1 Χ 10 Όσο β <= 6 επανάλαβε β β + 2 Χ β - 1 Τελος_επανάληψης Να μετατραπεί σε ισοδύναμη Για... από... μέχρι γ. Χ 4 Υ 1 Όσο Χ >= -1 επανάλαβε Υ Υ + 5 Χ Χ 2 Υ Υ + Χ Τέλος_επανάληψης Να μετατραπεί σε ισοδύναμη Μέχρις_ότου... 93

95 δ. Χ 30 Υ 1 Αρχή_επανάληψης Υ Υ + 4 Χ Χ*Υ Μέχρις_ότου Χ = 50 Να μετατραπεί σε ισοδύναμη Όσο... επανάλαβε 4.27 Στα παρακάτω τμήματα αλγορίθμων υπολογίζεται το γινόμενο των 10 πρώτων φυσικών αριθμών εξαιρουμένου το μηδενός. Το καθένα από αυτά όμως έχει ένα λάθος. Να το εντοπίσετε, να εξηγήσετε πώς επηρεάζει τον αλγόριθμο και να το διορθώσετε. α. P 0 β. P 1 Για i από 1 μέχρι 10 i 1 P P*i Όσο i <= 10 επανάλαβε Τέλος_επανάληψης i i+1 P P*i γ. P 1 Τέλος_επανάληψης i 1 Αρχή_επανάληψης P P*i i i+1 Μέχρις_ότου i= Δίνεται ο παρακάτω αλγόριθμος που υπολογίζει και εμφανίζει το άθροισμα διψηφίων αρτίων θετικών ακεραίων αλλά είναι γραμμένος με λάθος σειρά. Να τοποθετήσετε τις εντολές στη σωστή σειρά. 1 Αλγόριθμος Άσκηση 2 Τέλος_επανάληψης 3 α α + i 4 i 8 5 Εμφάνισε α 6 i i +2 7 α 0 8 Όσο i < 98 επανάλαβε 9 Τέλος Άσκηση 4.29 Δίνεται το παρακάτω τμήμα αλγορίθμου. Χ Α ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Χ Χ Χ + 2 ΜΕΧΡΙΣ ΟΤΟΥ Χ > Μ α. Τι θα εμφανίσει αν Α = 4 και Μ = 9 β. Τι θα εμφανίσει αν Α = - 5 και Μ = 0 γ. Να μετατραπεί ώστε να χρησιμοποιεί εντολή ΟΣΟ και μετά ΓΙΑ. 94

96 4.30 Τι τύπου αλγοριθμική συνιστώσα πρέπει να χρησιμοποιήσετε για τα παρακάτω στοιχεία υπολογισμού ; Γράψετε το αντίστοιχο τμήμα δηλώσεων. α. Το σύνολο ποσού για μία λίστα από 100 αντικείμενα. β. Τη βαθμολογία ενός μαθητή εάν έχει περάσει τα μαθήματά του γ. Το μέσο όρο βαθμολογίας 100 μαθητών. δ. Διάβασε όνομα και τηλέφωνο ενός μαθητή. ε. Διάβασε όνομα, διεύθυνση και τηλέφωνο 25 μαθητών. ζ. Τον αριθμό που προκύπτει όταν ρίξουμε ένα ζάρι 4.31 Διάβασε προσεκτικά τα παρακάτω τμήματα προγράμματος. Ποια είναι τα λάθη ; Διόρθωσε τα, ώστε να λειτουργούν σωστά και να υπολογίζουν το μέγιστο και τον ελάχιστο μισθό ενός συνόλου υπαλλήλων καθώς επίσης και το άθροισμα όλων των μισθών. α. ΔΙΑΒΑΣΕ Μισθός ΟΣΟ Μισθός <> 0 ΕΠΑΝΑΛΑΒΕ Άθροισμα 0 ΑΝ Μισθός > Μέγιστος ΤΟΤΕ Μέγιστος Μισθός ΤΕΛΟΣ_ΑΝ ΑΝ Μισθός < Ελάχιστος ΤΟΤΕ Ελάχιστος Μισθός ΤΕΛΟΣ_ΑΝ Άθροισμα Άθροισμα + Μισθός ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ β. ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ Άθροισμα 0 ΑΝ Μισθός > Μέγιστος ΤΟΤΕ Μέγιστος Μισθός ΤΕΛΟΣ_ΑΝ ΑΝ Μισθός < Ελάχιστος ΤΟΤΕ Ελάχιστος Μισθός ΤΕΛΟΣ_ΑΝ Άθροισμα Άθροισμα+Μισθός ΔΙΑΒΑΣΕ Μισθός ΜΕΧΡΙΣ_ΟΤΟΥ Μισθός <> 0 γ. ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100 Άθροισμα 0 ΔΙΑΒΑΣΕ Μισθός ΑΝ Μισθός > Μέγιστος ΤΟΤΕ Μέγιστος Μισθός ΤΕΛΟΣ_ΑΝ 95

97 ΑΝ Μισθός < Ελάχιστος ΤΟΤΕ Ελάχιστος Μισθός ΤΕΛΟΣ_ΑΝ Άθροισμα Άθροισμα + Μισθός ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 2. ΘΕΜΑΤΑ ΕΞΑΣΚΗΣΗΣ ΓΙΑ ΕΝΤΟΛΗ ΟΣΟ 4.32 α. Να γίνει αλγόριθμος ο οποίος θα διαβάζει αριθμούς και όσο αυτοί είναι πολλαπλάσια του 4 θα τους εμφανίζει. Σε αντίθετη περίπτωση θα εμφανίζει το μήνυμα Τέλος εισαγωγής αριθμών. β. Να εκτελέσετε τον αλγόριθμο για τους αριθμούς 4, 20, 60, 24, 35. γ. Να γίνει διάγραμμα ροής α. Να γίνει πρόγραμμα το οποίο θα διαβάζει ζεύγη αριθμών α, β και όσο ισχύει α > β θα υπολογίζει την παράσταση Δ = α 2 5β 6. Αν το Δ > 0 θα εμφανίζει το μήνυμα παράσταση θετική. β. Να γίνει διάγραμμα ροής Να γίνει αλγόριθμος ο οποίος θα διαβάζει ονόματα πόλεων και όσο το όνομα είναι διαφορετικό του τέλος θα εισάγονται 5 θερμοκρασίες που σημειώθηκαν, θα υπολογίζεται και θα εμφανίζεται ο μέσος όρος και το όνομα της πόλης. Στη συνέχεια θα εμφανίζεται το κατάλληλο μήνυμα όπως φαίνεται στον παρακάτω πίνακα. Μέσος όρος Μήνυμα Θερμοκρασίας -20 έως 15 Χαμηλή θερμοκρασία 15 έως 30 Κανονική θερμοκρασία 30 και άνω Υψηλή θερμοκρασία 4.35 Να γίνει πρόγραμμα που θα δέχεται αριθμούς και όσο αυτοί είναι διαφορετικοί το 0 θα υπολογίζει το πλήθος των αρνητικών, το άθροισμα των θετικών και το γινόμενο των πολλαπλασίων του 5. Στην συνέχεια θα εμφανίζει αυτά που υπολόγισε καθώς και το μέσο όρο των θετικών. ( Κατά τον υπολογισμό του μέσου όρου πρέπει να προσέξετε να μην παραβιαστεί κάποιο κριτήριο των αλγορίθμων). 96

98 4.36 Δίνεται το παρακάτω διάγραμμα ροής : α. Να μετατραπεί σε αλγόριθμος. β. Να εκτελεστεί για Υ = 3. γ. Να γίνει πίνακας τιμών και να βρείτε τι θα εμφανίσει. 3. ΘΕΜΑΤΑ ΕΞΑΣΚΗΣΗΣ ΓΙΑ ΕΝΤΟΛΗ ΜΕΧΡΙΣ_ΟΤΟΥ 4.37 α. Να γίνει αλγόριθμος ο οποίος θα διαβάζει ζεύγη αριθμών x και y και θα εμφανίζει την παράσταση Ζ=750 x y μέχρι να ισχύει η συνθήκη 2x+y > 4. β. Να γίνει το αντίστοιχο διάγραμμα ροής α. Να γίνει αλγόριθμος ο οποίος θα διαβάζει πολλούς αριθμούς και θα ελέγχει αν η απόλυτη τιμή τους είναι άρτιος ή περιττός. Η διαδικασία θα συνεχίζεται ώσπου να δοθεί ο αριθμός 0. ( Ο αριθμός 0 πρέπει να σταματήσει την επανάληψη χωρίς να γίνουν οι υπόλοιποι έλεγχοι. ) β. Να εκτελεστεί ο παραπάνω αλγόριθμος για τις τιμές -5, -6, 7, 4, 240, Να γίνει πρόγραμμα το οποίο θα διαβάζει βαθμολογίες που συγκέντρωσαν κάποιοι αθλητές στη ρίψη σφαίρας και θα υπολογίζει το μέσο όρο ρίψης μέχρι να δοθεί ως τιμή ρίψης το -1. (Σε περίπτωση που θα δοθεί το -1 από την αρχή η επαναληπτική διαδικασία δεν πρέπει να γίνει καθόλου). 97

99 4.40 Δίνεται το παρακάτω διάγραμμα ροής : α. Να μετατραπεί σε ισοδύναμο πρόγραμμα. β. Να εκτελεστεί για Υ = 3. γ. Να γίνει πίνακας τιμών και να βρείτε τι θα εμφανίσει α. Να γίνει αλγόριθμος ο οποίος θα διαβάζει τις θερμοκρασίες που σημειώθηκαν στην πόλη της Χίου για μερικές μέρες και να υπολογίζει το πλήθος των ημερών που η θερμοκρασία ήταν κάτω από 15 ο C. Η διαδικασία θα σταματάει όταν δοθεί θερμοκρασία Στη συνέχεια θα εμφανίζει το πλήθος που υπολογίστηκε. β. Να γίνει διάγραμμα ροής Να γίνει αλγόριθμος ο οποίος : α. Θα διαβάζει αριθμούς και θα τους προσθέτει μέχρι να δοθεί ο αριθμός 50 (προσθέτει και το 50). β. Στη συνέχεια θα εμφάνιζει το άθροισμα που υπολογίστηκε. 4. ΘΕΜΑΤΑ ΕΞΑΣΚΗΣΗΣ ΓΙΑ ΕΝΤΟΛΗ ΓΙΑ ΑΠΟ ΜΕΧΡΙ ΜΕ ΒΗΜΑ 4.43 Να γίνει αλγόριθμος που θα εμφανίζει τους ακεραίους αριθμούς από 52 μέχρι 124. Να γίνει διάγραμμα ροής Να γίνει αλγόριθμος που θα εμφανίζει τους άρτιους αριθμούς από 13 μέχρι 232. Να γίνει διάγραμμα ροής. 98

100 4.45 Να γίνει αλγόριθμος που θα εμφανίζει τα πολλαπλάσια του 6 μεταξύ των αριθμών 17 και Να γίνει αλγόριθμος που θα διαβάζει 35 αριθμούς και θα εμφανίζει το τετράγωνο τους Να γίνει πρόγραμμα που θα διαβάζει 20 αριθμούς χ, θα υπολογίζει για κάθε χ, την παράσταση Ζ =χ 2 5χ + 7 και θα εμφανίζει τα χ και Ζ Να γίνει αλγόριθμος που θα διαβάζει 120 αριθμούς και θα υπολογίζει και θα εμφανίζει το άθροισμα τους Να γίνει πρόγραμμα που θα υπολογίζει το γινόμενο των αριθμών από 5 έως 12 και θα το εμφανίζει Να γίνει αλγόριθμος που θα διαβάζει 100 αριθμούς, θα υπολογίζει το πλήθος των θετικών, το πλήθος των αρνητικών. Στη συνέχεια θα εμφανίζει κατάλληλο μήνυμα για το αν δόθηκαν περισσότεροι θετικοί ή αρνητικοί Να γίνει πρόγραμμα που θα διαβάζει 1250 βαθμούς μαθητών και θα υπολογίζει και θα εμφανίζει πόσοι πέρασαν τη βάση (>=10) καθώς και πόσοι αρίστευσαν (>= 18,5) Να γίνει πρόγραμμα που θα διαβάζει τις μέσες θερμοκρασίες σε μια πόλη για ένα έτος, θα υπολογίζει και θα εμφανίζει το μέσο όρο της πόλης Να γραφεί αλγόριθμος που θα εμφανίζει στην οθόνη όλους τους τριψήφιους αριθμούς ( ) με αντίστροφη σειρά. Στη συνέχεια να γίνει το αντίστοιχο διάγραμμα ροής Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που θα εμφανίζει τους κύβους των αριθμών από 50 έως 70 και θα εμφανίζει το αποτέλεσμα στην οθόνη με την εξής μορφή : «Ο αριθμός είναι ο Χ και ο κύβος του είναι Υ» Να συμπληρώσετε τα κενά στο παρακάτω τμήμα αλγορίθμου ώστε το αποτέλεσμα που θα εμφανιστεί στην οθόνη να είναι το παρακάτω : 1, 9, 25, 49, 81 Για... από... μέχρι... με βήμα... χ... Εμφάνισε... Τέλος_επανάληψης 4.56 Να γίνει αλγόριθμος που θα υπολογίζει και θα εμφανίζει το μέσο όρο των πολλαπλασίων του 8 που βρίσκονται μεταξύ του 135 και του Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που θα διαβάζει τη βαθμολογία 50 φοιτητών σε ένα μάθημα (έλεγχος εγκυρότητας [0 10] ). Στη συνέχεια θα βρίσκει και θα εμφανίζει πόσοι απέτυχαν (<5), πόσοι πέρασαν και από αυτούς που πέρασαν, ποιο ποσόστο πήρε άριστα (>8,5). 99

101 5. ΘΕΜΑΤΑ ΓΕΝΙΚΑ ΣΤΗ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 4.58 Να γράψετε τα τμήματα αλγορίθμου που αντιστοιχούν στα παρακάτω διαγράμματα ροής Να γραφεί αλγόριθμος που θα διαβάζει από το πληκτρολόγιο έναν ακέραιο Α μεταξύ 1 και 200 κάνοντας έλεγχο ορθότητας. Στη συνέχεια θα υπολογίζει το άθροισμα : Α και θα εμφανίζει το αποτέλεσμα στη οθόνη Να γίνει αλγόριθμος ο οποίος θα διαβάζει μια ακολουθία θετικών αριθμών και για καθέναν από αυτούς θα εμφανίζει αν είναι άρτιος ή περιττός, θα υπολογίζει και θα εμφανίζει το πλήθος των πολλαπλασίων του 9. Το τέλος της εισαγωγής των αριθμών θα δίνεται με την εισαγωγή του Μια μπάλα αφήνεται να πέσει από μια ταράτσα ύψους 30 μέτρων. Να κατασκευάσετε πρόγραμμα που θα υπολογίζει και θα εμφανίζει σε πόσες αναπηδήσεις η μπάλα θα φτάσει σε ύψος λιγότερο από 2 μέτρα, αν είναι γνωστό οτι σε κάθε πρόσκρουση με το έδαφος χάνει το 40% του ύψους της. 100

102 4.62 Να γράψετε πρόγραμμα το οποίο α. Θα διαβάζει αριθμούς β. Θα υπολογίζει το μεσο όρο των τετραγώνων των μη αρνητικών αριθμών. γ. Θα τερματίζει όταν δοθούν 20 αριθμοί ή όταν δοθεί αρνητικός. δ. Θα εμφανίζει το μέσο όρο που υπολογίστηκε Η ταμίας ενός πολυκαταστήματος καταχωρεί για κάθε προιον τον κωδικό και την τιμή του. Όταν καταχωρήσει όλα τα προιόντα εισάγει τον κωδικό 0. Να γίνει αλγόριθμος που θα εξομοιώνει την παραπάνω διαδικασία υπολογίζοντας και τυπώνοντας το συνολικό ποσό των αγορών καθώς και το πλήθος των προιόντων Ένας άνθρωπος επισκεφθηκε μια τράπεζα προκειμένου να ενημερωθεί για τα επιτόκια που θα πάρει σε διάστημα 10 ετών αν καταθέσει σήμερα Ο τύπος που υπολογίζει το κεφάλαιο είναι μετά από ν χρόνια είναι : ΤΚ=ΑΚ. (1+ε/100) ν. Να γραφτει αλγόριθμος που θα διαβάζει το επιτόκιο και θα εκτυπώνει την παρακάτω λίστα. Χρόνος Τελικό Κεφάλαιο τα ποσά είναι τυχαία Να γραφτεί πρόγραμμα στη ΓΛΩΣΣΑ, το οποίο θα διαβάζει για κάθε μαθητή το όνομα του και 3 βαθμούς, θα υπολογίζει και θα εμφανίζει το μέσο όρο του. Η διαδικασία θα σταματάει όταν δοθεί ως ονοματεπώνυμο το κενό Να γίνει αλγόριθμος ο οποίος : α. Θα διαβάζει επαναληπτικά πολλούς αριθμούς χ. β. Θα υπολογίζει την παράσταση κ = χ 5 8 στην περίπτωση που αριθμός είναι κ > 8, θα εμφανίζει το κ και θα διαβάζει έναν καινούριο χ. γ. Να μετατραπεί ο παραπάνω αλγόριθμος σε διάγραμμα ροής Να γίνει αλγόριθμος ο οποίος θα διαβάζει Ν αριθμούς, θα υπολογίζει τον ελάχιστο από αυτους και θα το εμφανίζει. Το Ν είναι δεδομένος ακέραιος θετικός αριθμός Σε ένα μετεωρολογικό κέντρο χρειάζεται να βρεθεί η μέγιστη και η ελάχιστη θερμοκρασία από τις μέσες ημερήσιες θερμοκρασίες ενός μήνα. Να γραφεί ένας αλγόριθμος που θα διαβάζει τη μέση ημερήσια θερμοκρασία για κάθε ημέρα ενός μήνα 30 ημερών και θα υπολογίζει την ελάχιστη και τη μέγιστη από αυτές τις θερμοκρασίες. 101

103 4.69 Να γίνει αλγόριθμος ο οποίος θα διαβάζει άγνωστο πλήθος αριθμών και να υπολογίζει τον μεγαλύτερο από αυτούς. Το τέλος της εισαγωγής των αριθμών θα γίνεται όταν εισαχθεί το -1 και δεν υπάρχει περίπτωση να δοθεί από την αρχή Πηγαίνεις σε ένα πολυκατάστημα και παρατηρείς τις τιμές ( ) για 4 διαφορετικά είδη γάλακτος και την ποσότητα (ml) της κάθε συσκευασίας.äïò ÔéìÞ Ðïóüôçôá Να γραφτεί ένας αλγόριθμος που θα υπολογίζει και θα εμφανίζει την ονομασία του γάλακτος που έχει την πλέον συμφέρουσα τιμή ( χαμηλότερo λόγο / ml) Να γραφεί αλγόριθμος που θα υπολογίζει το άθροισμα : *n. O αριθμός n θα γίνεται δεκτός μόνο όταν είναι θετικός. Στη συνέχεια θα εμφανίζει το αποτέλεσμα Να σχεδιαστεί αλγόριθμος που θα αποδίδει το παιχνίδι «Μάντεψε τον αριθμό που σκέφτηκα σε κ προσπάθειες». Συγκεκριμένα : α. Θα διαβάσει τον αριθμό Α και τις προσπάθειες κ. β. Θα ζητάει πιθανούς αριθμούς όσο οι προσπάθειες είναι λιγότερες από κ. γ. Θα τυπώνει αν βρέθηκε ο αριθμός και σε πόσες προσπάθειες. Σε περίπτωση που δεν βρθηκε θα τυπώνει το μήνυμα «Ξαναπροσπάθησε» Να γίνει διάγραμμα ροής και στη συνέχεια να γραφεί αλγόριθμος που θα υπολογίζει τις τιμές των παρακάτω συναρτήσεων για χ = 2,5 έως 50 με βήμα 1,5 και θα τυπώνει κάθε φορά τα αποτελέσματα σε μια γραμμή. Συναρτήσεις : x 2, και ΕΦ(x) Σε ένα πρόγραμμα περιβαλλοντικής εκπαίδευσης συμμετέχουν 100 σχολεία από όλη την Ελλάδα. Στα πλαίσια αυτού του προγράμματος, εθελοντές μαθητές των σχολείων, που συμμετέχουν στο πρόγραμμα, μαζεύουν ποσότητες τριών υλικών (γυαλί, χαρτί και αλουμίνιο). Να αναπτύξετε έναν αλγόριθμο, ο οποίος: α. Να διαβάζει τις ποσότητες σε κιλά των παραπάνω υλικών που μάζεψαν οι μαθητές σε κάθε σχολείο. β. Να υπολογίζει τη συνολική ποσότητα σε κιλά και το κόστος αποθήκευσης τους αν για κάθε κιλό δαπανείται 0,05. γ. Να βρίσκει και να εμφανίζει το πλήθος των σχολείων που μάζεψαν πάνω από 500 κιλά αλουμινίου, το συνολικό χαρτί που μαζεύτηκε και τέλος αν η συνολική ποσότητα γυαλιού ξεπερνά τους 10 τόνους, να εμφανίζεται το μήνυμα Συγχαρητήρια Α. Να γραφεί πρόγραμμα που να δέχεται έναν άγνωστο αριθμό βαθμών που πήρε ένας φοιτητής σε μια εξεταστική, και να εμφανίζει το μέσο όρο βαθμολογίας του και το πλήθος των μαθημάτων που έδωσε με την εξής μορφή π.χ. «Ο Μ.Ο. των 4 μαθημάτων είναι 8,3». Το τέλος της εισόδου των μαθημάτων θα γίνεται όταν δοθεί για βαθμός το 1. Αν δοθεί μόνο το 1 να εμφανίζεται το μήνυμα «Δεν έδωσες κανένα μάθημα». 3 x 102

104 Β. Τι εντολές θα προσθέτατε στο παραπάνω πρόγραμμα για να αποφύγετε το να δώσει κάποιος μη αποδεκτούς βαθμούς δεδομένου ότι η βαθμολογία είναι στην κλίμακα [0,10]; 4.76 Ένα μηχάνημα ΑΤΜ χρεώνει προμήθεια 1/100 του ποσού ανάληψης από κάθε πελάτη που το χρησιμοποιεί. Η ελάχιστη χρέωση όμως είναι 1 και η μέγιστη είναι 3. Να γίνει πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο : α. Θα διαβάζει το υπόλοιπο του λογαριασμού και το ποσό της ανάληψης για 50 πελάτες που προσήλθαν στο μηχάνημα εκείνη τη μέρα. β. Θα υπολογίζει το ποσό της κράτησης που έγινε σε καθέναν, σύμφωνα με τα δεδομένα της άσκησης. γ. Στην περίπτωση που επαρκεί το υπόλοιπο για τη συναλλαγή, θα τυπώνονται : το ποσό, η προμήθεια και το νέο υπόλοιπο. Σε αντίθετη περίπτωση θα τυπώνεται το μήνυμα δεν έχετε επαρκές υπόλοιπο δ. Τέλος πρέπει να εμφανίζεται το συνολικό ποσό κρατήσεων που εισέπραξε η τράπεζα Να γράψετε αλγόριθμο που θα δέχεται ένα φυσικό αριθμό και θα υπολογίζει - εμφανίζει το πλήθος των διαιρετών του. Κατά την εισαγωγή του φυσικού θα αποκλείεται η είσοδος αρνητικών αριθμών και του μηδέν Να γίνει αλγόριθμος ο οποίος : α. Θα διαβάζει την ηλικία 500 ανθρώπων και θα ελέγχει αν αυτή είναι μεταξύ του 1 και του 100. β. Θα υπολογίζει τη μέση ηλικία. γ. Θα υπολογίζει το ποσοστό αυτών που είναι πάνω από 20 χρονών. δ. Θα εμφανίζει τη μέση ηλικία και το παραπάνω ποσοστό. 6. ΘΕΜΑΤΑ ΠΟΥ ΖΗΤΟΥΝ ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΩΝ 4.79 Στο παρακάτω τμήμα αλγορίθμου έχουν αριθμηθεί κάποιες εντολές. 1 Μ 0 Ζ 0 ΓΙΑ Χ ΑΠΟ 0 ΜΕΧΡΙ 10 ΜΕ_ΒΗΜΑ 2 2 ΑΝ Χ < 5 ΤΟΤΕ 3 Ζ Ζ +Χ 4 ΑΛΛΙΩΣ 5 Μ Μ + Χ 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 103

105 α. Να το εκτελέσετε και να συμπληρώσετε πίνακα τιμών σύμφωνα με το παρακάτω υπόδειγμα. Αριθμός εντολής Τιμή μεταβλητής Τιμή Συνθήκης 1 Μ=0 2 Αληθής β. Στη συνέχεια να κατασκευάσετε το αντίστοιχο διάγραμμα ροής Δίνεται ο παρακάτω αλγόριθμος: Αλγόριθμος Θέμα_2 Διάβασε Χ Αν Χ mod 2 = 0 τότε Για i από 1 μέχρι 3 Χ Χ + 3 Τέλος_επανάληψης Τέλος_αν Αν Χ mod 2 < > 0 τότε Για i από 5 μέχρι 3 με_βήμα 1 Χ Χ + i Τέλος_επανάληψης Τέλος_αν Τέλος Θέμα_2 Να βρείτε την τιμή της μεταβλητής X μετά την εκτέλεσή του α. για Χ = 1 β. για Χ = Δίνεται το παρακάτω τμήμα αλγορίθμου : Κ 0 Για χ από 0 μέχρι 100 με βήμα 5 Α χ^3 Κ Κ + Α Εκτύπωσε χ, Α Τέλος_επανάληψης Εκτύπωσε Κ α. Πόσες φορές θα εκτελεστεί ο βρόχος ; β. Ποια είναι η λειτουργία των εντολών ; γ. Να γραφτει με τη βοήθεια της Οσο και της Μεχρις_οτου. 104

106 4.82 Να εκτελέσετε το παρακάτω τμήμα αλγορίθμου, για Κ = 2 και L = 14. Να γράψετε στο τετράδιό σας τις τιμές των μεταβλητών Χ, Υ καθώς αυτές τυπώνονται με την εντολή Εμφάνισε Χ, Υ (τόσο μέσα στη δομή επανάληψης όσο και στο τέλος του αλγορίθμου). Χ Κ Y L Αν Χ > Υ τότε ΤΕΜΡ Χ Χ Υ Υ ΤΕΜΡ Τέλος_αν Όσο Υ<> 0 επανάλαβε ΤΕΜΡ Υ Υ Χ ΜOD Y Χ TEMP Εμφάνισε Χ, Υ Τέλος_επανάληψης Υ (Κ * L) DIV X Εμφάνισε Χ, Υ 4.83 Στον παρακάτω αλγόριθμο έχουν αριθμηθεί κάποιες εντολές. Αλγόριθμος Θέμα2 1 Χ 3 Για i από 5 μέχρι 0 με_βήμα 2 2 Χ Χ Αν Χ > 4 τότε 4 Υ Χ αλλιώς Υ Χ Τέλος_αν 5 Ζ Χ*Υ Τέλος_επανάληψης Τέλος Θέμα2 Να το εκτελέσετε και να συμπληρώσετε πίνακα τιμών σύμφωνα με το παρακάτω υπόδειγμα. Αριθμός Τιμή μεταβλητής Τιμή μεταβλητής Τιμή μεταβλητής Τιμή εντολής Χ Υ Ζ Συνθήκης Ψευδής

107 4.84 Να εξηγήσετε τι θα εμφανίζει ο παρακάτω αλγόριθμος. Αλγόριθμος Εμφάνιση Α 0 Β 1 Γ 2 Για i από 2 μέχρι 7 με_βήμα 3 Α Α + i Αν Α < = 4 τότε Για j από 1 μέχρι Α Β Β + 1 Τέλος_επανάληψης Αλλιώς Γ Γ*i Τέλος_αν Τέλος_επανάληψης Εμφάνισε Α, Β, Γ Τέλος Εμφάνιση 4.85 Δίνεται το παρακάτω τμήμα αλγορίθμου που έχουν αριθμηθεί κάποιες εντολές. Χ 1 1 Όσο Χ < 5 επανάλαβε 2 Α 3*Χ 5 Β 2 Α 4 C Β + Χ + Α 3 Αν Α > Β τότε 4 Αν Α > C τότε 5 MAX A αλλιώς MAX C Τέλος αν αλλιώς Αν Β > C τότε MAX Β αλλιώς MAX C Τέλος αν Τέλος αν 6 Εμφάνισε Χ, Α, Β, C, MAX Χ Χ+2 Τέλος επανάληψης Να το εκτελέσετε και να συμπληρώσετε πίνακα τιμών σύμφωνα με το παρακάτω υπόδειγμα. Αριθμός εντολής Τιμή μεταβλητής Συνθήκη Τιμή Έξοδος στην οθόνη 1 1 < 5 Αληθής , -2, 0, -1,

108 4.86 Δίνεται το παρακάτω τμήμα αλγορίθμου που έχουν αριθμηθεί κάποιες εντολές. Αλγόριθμος Άσκηση 1 χ 5 2 Όσο χ<=7 επανάλαβε 3 y 3-χ 4 χ χ Τέλος_επανάληψης 6 Εκτύπωσε χ, y Τέλος Άσκηση Να το εκτελέσετε και να συμπληρώσετε πίνακα σύμφωνα με το παρακάτω υπόδειγμα. Αριθμός εντολής Τιμή μεταβλητής Συνθήκη Τιμή Έξοδος στην οθόνη 1 χ = <= 7 Αληθής Να βρείτε τι θα εμφανίσει καθένα από τα παρακάτω τμήματα αλγορίθμου. α. χ 3 β. χ 3 Όσο χ<5 επανάλαβε Όσο χ<5 επανάλαβε Εμφάνισε χ χ χ + 1 χ χ + 1 Εμφάνισε χ Τέλος_επανάληψης Τέλος_επανάληψης γ. χ 3 δ. χ 3 Όσο χ<=5 επανάλαβε Αρχή_επανάληψης Εμφάνισε χ Εμφάνισε χ χ χ + 1 χ χ + 1 Τέλος_επανάληψης Μέχρις_ότου χ>5 7. ΕΠΑΝΑΛΗΠΤΙΚΑ ΣΥΝΔΥΑΣΤΙΚΑ ΘΕΜΑΤΑ 4.88 Ένας υποψήφιος αγοραστής κατοικίας μετά από επίσκεψη σε μεσιτικό γραφείο πώλησης ακινήτων πήρε τις εξής πληροφορίες: Ένα σπίτι θεωρείται "ακριβό", όταν η τιμή πώλησης ανά τετραγωνικό μέτρο είναι μεγαλύτερη των 6100, "φτηνό" όταν η τιμή πώλησης είναι μικρότερη των 4000 και σε οποιαδήποτε άλλη περίπτωση η τιμή θεωρείται "κανονική". Να αναπτύξετε αλγόριθμο που για καθένα από τα 10 σπίτια που είδε : α. Να διαβάζει την τιμή πώλησης και το εμβαδόν σε τετραγωνικά μέτρα. β. Να υπολογίζει την κατηγορία κόστους στην οποία ανήκει και να εμφανίζει το μήνυμα : "ακριβή τιμή" ή "φτηνή τιμή" ή "κανονική τιμή". 107

109 4.89 Να γραφτεί αλγόριθμος που θα επιλύει την εξίσωση 3χ 5 5χ + δ = 0 στο διάστημα [-1000, +1000]. Το δ θα δίνεται από το χρήστη και ο αλγόριθμος πρέπει να σταματά όταν βρεθούν 3 λύσεις ή όταν το χ είναι εκτός διαστήματος. Φυσικά ο υπολογιστής δεν μπορεί να λύσει εξισώσεις. Ο μόνος τρόπος για να λύσει την εξίσωση είναι δοκιμάζοντας τους αριθμούς κάθε φορά. Κάθε φορά που θα εντοπίζεται μια λύση πρέπει να την εμφανίζετε. Στο τέλος θα εμφανίζεται το πλήθος των λύσεων. Σε περίπτωση που δεν έχει βρεθεί καμμιά λύση θα τυπώνεται το μήνυμα «Αδύνατη» Να γίνει αλγόριθμος ο οποίος θα διαβάζει αριθμούς και θα τους προσθέτει όσο αυτοί είναι > 5. Στη συνέχεια θα εμφανίζει το άθροισμα, το πλήθος και το μέσο όρο τους Να αναπτύξετε αλγόριθμο που θα διαβάζει από το πληκτρολόγιο 100 ακεραίους αριθμούς, θα υπολογίζει το γινόμενό τους και να το εμφανίζει Να αναπτύξετε αλγόριθμο που θα υπολογίζει καθένα από τα παρακάτω αθροίσματα. α S 1 = β. S μέχρι το άθροισμα να ξεπεράσει την τιμή Στο συγκεκριμένο 2 = ερώτημα πρέπει να τυπώνεται και το πλήθος των όρων του αθροίσματος Στο πλαίσιο προγράμματος για την πρόληψη της αυξημένης χοληστερόλης σε μαθητές λυκείων εξετάστηκαν τυχαία από διάφορα σχολεία 450 μαθητές. Για κάθε παιδί καταχωρήθηκαν τα ακόλουθα στοιχεία : 1. ονοματεπώνυμο μαθητή 2. κωδικός φύλου ("Α" για τα αγόρια και "Κ" για τα κορίτσια) 3. περιεκτικότητα χοληστερόλης στο αίμα Οι φυσιολογικές τιμές χοληστερόλης στο αίμα κυμαίνονται από 80 έως και 140 mg/dl. Nα αναπτύξετε αλγόριθμο που : α. Θα διαβάζει τα παραπάνω στοιχεία (ονοματεπώνυμο, φύλο, περιεκτικότητα) και θα ελέγχει την αξιόπιστη καταχώρισή τους (δηλαδή το φύλο να είναι μόνο "Α" ή "Κ" και η περιεκτικότητα να είναι θετικός αριθμός), β. Θα εμφανίζει για κάθε παιδί του οποίου η περιεκτικότητα σε χοληστερόλη στο αίμα είναι εκτός των φυσιολογικών τιμών, το ονοματεπώνυμο, το φύλο και την περιεκτικότητα σε χοληστερόλη γ. Θα εμφανίζει το συνολικό αριθμό των αγοριών των οποίων η περιεκτικότητα σε χοληστερόλη στο αίμα δεν είναι φυσιολογική. δ. Θα εμφανίζει το συνολικό αριθμό των κοριτσιών των οποίων η περιεκτικότητα σε χοληστερόλη στο αίμα δεν είναι φυσιολογική. 108

110 4.94 Να αναπτύξετε αλγόριθμο που θα διαβάζει Ν ακεραίους (Ν δεδομένος ακέραιος) και θα υπολογίζει και τυπώνει το μέσο όρο των περιττών Για κάθε μαθητή δίνονται τα στοιχεία: ονοματεπώνυμο, προφορικός και γραπτός βαθμός ενός μαθήματος. Να γραφεί αλγόριθμος, ο οποίος εκτελεί τις ακόλουθες λειτουργίες: α. Διαβάζει τα στοιχεία πολλών μαθητών και σταματά όταν δοθεί ως ονοματεπώνυμο το κενό. β. Ελέγχει αν ο προφορικός και ο γραπτός βαθμός είναι από 0 μέχρι και 20. γ. Υπολογίζει τον τελικό βαθμό του μαθήματος, ο οποίος είναι το άθροισμα του30% του προφορικού βαθμού και του 70% του γραπτού βαθμού. Επίσης θα τυπώνει το ονοματεπώνυμο του μαθητή και τον τελικό βαθμό του μαθήματος. δ. Υπολογίζει και τυπώνει το ποσοστό των μαθητών που έχουν βαθμό μεγαλύτερο του Δίνονται οι παρακάτω αλγόριθμοι. Να δημιουργήσετε το αντίστοιχο διάγραμμα ροής για τον καθένα και στη συνέχεια να μετατραπούν από τη δομή επανάληψης που δίνονται σε κάθεμια από τις άλλες εντολές επανάληψης. α. Αλγόριθμος Άσκηση β. Αλγόριθμος Άσκηση α 0 α 0 Για i από 100 μέχρι 1 με βήμα -2 β 5 α α + i^2 Όσο α >= -54 επανάλαβε Εκτύπωσε α α α - 3 Τέλος_επανάληψης Τέλος Άσκηση 4.97 Δίνεται ο παρακάτω αλγόριθμος : Αλγόριθμος Άσκηση α 0 Για κ από 100 μέχρι 1 με_βήμα -2 Αρχή_επανάληψης α α + 2*κ Μέχρις_ότου α > κ^3 Εμφάνισε α Τέλος_επανάληψης Τέλος Άσκηση α. Να δημιουργήσετε το αντίστοιχο διάγραμμα ροής. β β + α^2 εκτύπωσε α,β Τέλος_επανάληψης Τέλος Άσκηση β. Να τον μετατρέψετε ώστε να χρησιμοποιεί μόνο τη δομή επανάληψης Όσο. 109

111 4.98 Το τμήμα Μαθηματικών του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης έκανε μια έρευνα σε 200 αποφοίτους προκειμένου να βγάλει κάποια συμπεράσματα για τη διάρκεια φοίτησης των φοιτητών του. Για το σκοπό αυτό ζητείται να κατασκευαστεί πρόγραμμα στη «ΓΛΩΣΣΑ», το οποίο για τον καθένα από τους 200 αποφοίτους θα διαβάζει σε πόσα χρόνια ολοκλήρωσε τις σπουδές του και στη συνέχεια θα υπολογίζει : α. Τη μέση διάρκεια φοίτησης β. Το ποσοστό των φοιτητών που τελειώνουν τις σπουδές τους χωρίς καθυστέρηση (4 χρόνια). γ. Το ποσοστό των φοιτητών που ολοκληρώνουν σε περισσότερα από 7 χρόνια Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που θα διαβάζει ένα σύνολο αριθμών και θα υπολογίζει τον μικρότερο και τον μεγαλύτερο. Το τέλος του συνόλου αριθμών θα δηλώνεται μόλις δοθεί ο αριθμός Σε περίπτωση που δοθεί απευθείας -999 θα τυπώνεται το μήνυμα «Δεν δόθηκε κανένας έγκυρος αριθμός» Σε ένα fast food τα προϊόντα είναι κωδικοποιημένα ως εξής : Κωδικός Κατηγορία προϊόντος 1000 Σάντουιτς 1001 Πιάτα 1002 Ποτά Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο θα υλοποιεί τα παρακάτω : Θα διαβάζει τις παραγγελίες των πελατών ανάλογα με τον κωδικό μέχρι να δοθεί η τιμή 999, ενώ παράλληλα θα βρίσκει και θα εμφανίζει το πλήθος των παραγγελιών ανά κατηγορία. Κατά την εισαγωγή των κωδικών αυτοί πρέπει να ελέγχονται κι αν δεν είναι δεκτοί να τυπώνεται το μήνυμα ΛΑΘΟΣ ΚΩΔΙΚΟΣ και να ξαναδίνεται ο κωδικός Το υπουργείο μεταφορών αποφάσισε να μελετήσει την επικινδυνότητα των στροφών στις εθνικές οδούς. Έτσι αποφάσισε να χαρακτηρίζει μια στροφή ως «Μη επικίνδυνη» όταν ο αριθμός των ατυχημάτων σε διάστημα ενός μήνα δεν υπερβαίνει τα 5. Σε αντίθετη περίπτωση η στροφή χαρακτηρίζεται ως «Επικίνδυνη» και τίθεται σε πρόγραμμα βελτίωσης ή κατάργησης της. Η έρευνα έγινε σε 150 στροφές του εθνικού οδικού δικτύου. Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο θα εκτελεί τα παρακάτω : α. Για καθεμία από τις παραπάνω στροφές θα διαβάζει τον αριθμό μηνιαίων ατυχημάτων και θα εμφανίζει αν είναι επικίνδυνη ή όχι. β. Θα υπολογίζει και θα εμφανίζει το πλήθος τόσο των επικίνδυνων, όσο και των μη επικίνδυνων στροφών. 110

112 4.102 Να γραφεί ξεχωριστό πρόγραμμα για τον υπολογισμό του καθενός από τα παρακάτω αθροίσματα : S = n Να θεωρήσετε ότι το a και το n πρέπει να είναι ακέραιοι και μεγαλύτεροι του μηδενός. Να αποκλειστούν οι μη δεκτές τιμές με έλεγχο εγκυρότητας Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που θα διαβάζει αριθμούς και θα τους προσθέτει. Η διαδικασία θα πρέπει να συνεχίζεται μέχρι το άθροισμα να γίνει μεγαλύτερο ή ίσο από Στο τέλος εμφανίστε το άθροισμα και το πλήθος των όρων που προστέθηκαν Θέλετε να φτιάξετε ένα πρόγραμμα που να υπολογίζει τη συνολική διάρκεια των μουσικών CD που γράφετε στον υπολογιστή σας. Το πρόγραμμα θα πρέπει να διαβάζει τις διάρκειες των τραγουδιών (λεπτά, δευτερόλεπτα) και να υπολογίζει τη συνολική τους διάρκεια, καθώς και τον αριθμό τους, Η εισαγωγή των τραγουδιών να σταματάει όταν δοθεί ως διάρκεια 0 λεπτά και 0 δευτερόλεπτα. Στο τέλος, θα πρέπει να εμφανίζει μήνυμα αν χωράνε τα συγκεκριμένα τραγούδια σε CD των 74 λεπτών ή όχι Τις ώρες αιχμής, η χρέωση για σύνδεση στο internet είναι 1 μονάδα ανά 270 δευτερόλεπτα. Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο να διαβάζει τη διάρκεια που είναι κάποιος συνδεδεμένος στο internet (σε δευτερόλεπτα) καθένας από τους 50 χρήστες ενός κόμβου και να υπολογίζει τις μονάδες και το συνολικό ποσό χρέωσης (1 μονάδα - 0,30 ). Για παράδειγμα αν η διάρκεια είναι 271 δευτερόλεπτα, τότε ο χρήστης χρεώνεται με 2 μονάδες Μια εταιρεία κινητής τηλεφωνίας χρεώνει τους συνδρομητές ακολουθώντας την παρακάτω τιμολογιακή πολιτική. ΤΙΜΟΛΟΓΙΟ ΠΡΟΣΦΕΡΟΜΕΝΩΝ ΥΠΗΡΕΣΙΩΝ ΔΙΚΤΥΟΥ Πάγιο 1 ου χρόνου 19 και για κάθε επιπλέον χρόνο μείωση τρέχοντος παγίου κατά 4 % Αν ο αριθμός των SMS > 100 τότε χρεώνονται με 0,06 / SMS, αλλιώς με 0,085 / SMS Αν ο αριθμός των MMS > 25 τότε αφαιρούνται 5 ΜMS (Τιμή ΜΜS 0,40 ) Χρόνος ομιλίας 0 <= χρόνος < 60 λεπτά 0,80 / λεπτό 60 <= χρόνος < 240 λεπτά 0,65 / λεπτό Αλλιώς 0,0012 / δευτερόλεπτο Να γράψετε πρόγραμμα το οποίο : α. Θα διαβάζει όνομα συνδρομητή, χρόνια, sms, mms, χρόνο ομιλίας σε λεπτά για 100 συνδρομητές β. Θα υπολογίζει τις χρεώσεις. γ. Θα προσαυξάνει τη χρέωση με ΦΠΑ 19 %. 1 S = n n n n S = 1+ a+ a a 2 n S = n δ. Θα εμφανίζει όνομα, χρέωση χωρίς ΦΠΑ και πληρωτέο ποσό του καθενός. 111

113 4.107 Μια εταιρεία είσπραξης διοδίων στην Αττική Οδό χρησιμοποιεί την ακόλουθη μέθοδο για την ενημέρωση των οδηγών που πλησιάζουν, σχετικά με το αντίτιμο που πρόκειται να πληρώσουν. Για κάθε όχημα που περνά αναγνωρίζεται ο τύπος με τη βοήθεια φωτοκύτταρου ( Α αυτοκίνητο, Φ φορτηγό και Μ μοτοσικλέτα) και εμφανίζεται σε οθόνη το αντίστοιχο αντίτιμο που είναι για κάθε κατηγόρια. 2,70, 3,50 και 1 αντίστοιχα. Να γίνει αλγόριθμος ο οποίος : α. Θα διαβάζει τον τύπο του οχήματος και θα ελέγχει την εγκυρότητα ώστε να επιτρέπονται μόνο οι παραπάνω τιμές και θα τερματίζει μόλις δοθεί ως τύπος οχήματος η λέξη «Κλέισαμε». β. Θα εμφανίζει το κόστος διέλευσης του κάθε οχήματος που περνάει. γ. Θα υπολογίζει και θα εμφανίζει το πλήθος των μοτοσυκλετών που πέρασαν από τα διόδια εκείνη τη μέρα. δ. Θα υπολογίζει και θα εμφανίζει το συνολικό ποσό που εισέπραξε η εταιρεία Δίνεται ο αλγόριθμος : Αλγόριθμος Διάγραμμα Διάβασε χ Για i από 1 μέχρι 8 με βήμα 2 y χ + i 5 Τέλος_επανάληψης εμφάνισε χ,y Τέλος Διάγραμμα Να μετατραπεί σε ισοδύναμο διάγραμμα ροής Να σχηματίσετε το διάγραμμα ροής της παρακάτω κωδικοποίησης. Αλγόριθμος άσκηση Διάβασε χ,ν μ ν ζ χ α 1 Όσο μ > 0 επανάλαβε Όσο μ mod 2 = 0 επανάλαβε μ μ div 2 ζ ζ*ζ Τέλος_επανάληψης μ μ - 1 α α*ζ Τέλος_επανάληψης εκτύπωσε α Τέλος άσκηση Στη συνέχεια σχηματίστε πίνακα τιμών για : α. χ=4 και ν=2 β. χ=3 και ν=3. Τί θα εκτυπωθεί σε καθεμιά από τις παραπάνω περιπτώσεις; Μελετώντας τα αποτελέσματα ποια πιστεύετε ότι είναι η λειτουργία του αλγορίθμου; 112

114 4.110 Να γίνει αλγόριθμος ο οποίος θα διαβάζει για 2000 άτομα, το όνομα, το φύλο, το ύψος και το βάρος τους και θα εκτυπώνει : α. Το βάρος και το όνομα του πιο ψηλού άνδρα. β. Το όνομα της γυναίκας με το μεγαλύτερο βάρος. γ. Το μέσο ύψος των ανδρών. (Θεωρήστε δεδομένο ότι στο σύνολο των 2000 ατόμων υπάρχουν και άντρες και γυναίκες) Να γίνει αλγόριθμος που θα διαβάζει 100 αριθμούς και τυπώνει το μήνυμα «Όλοι είναι Θετικοί»,στην περιπτωση που αυτό συμβαίνει. Σε αντίθετη περίπτωση θα τυπώνει το μήνυμα «Υπάρχουν και αρνητικοί» Να γίνει αλγόριθμος που θα διαβάζει τις τιμές πετρελαίου θέρμανσης 20 πρατηρίων, καθώς και την επωνυμία τους. Ο αλγόριθμος θα πρέπει να υπολογίζει και να εμφανίζει την επωνυμία του ακριβότερου και φθηνότερου πρατηρίου Ένα πολυκατάστημα δίνει τη δυνατότητα στους πελάτες του να αποπληρώσουν τις αγορές τους με δόσεις. Ο αριθμός των δόσεων εξαρτάται από το ύψος των αγορών. Έτσι αν κάποιος αγοράσει αντικείμενα αξίας έως 300 ευρώ μπορεί να αποπληρώσει το ποσό σε 3 έως 6 δόσεις. Αν το ποσό είναι πάνω από 300 έως 800 ευρώ τότε οι δόσεις είναι από 6 έως 9 και τέλος για περισσότερα από 800 ευρώ οι δόσεις αυξάνονται σε 9 έως 12. Να γίνει αλγόριθμος που θα διαβάζει το ποσό αποπληρωμής και να πληροφορεί τον χρήστη για τον αριθμό τον δόσεων που μπορεί να έχει. Στη συνέχεια θα του ζητάει τον αριθμό των δόσεων που επιθυμεί (και να τον ζητάει συνεχόμενα μέχρι αυτός να είναι στα αποδεκτά όρια) και να εμφανίζει το ύψος της κάθε δόσης Σύμφωνα με απόφαση του Υπουργείου Οικονομικών οι ιδιοκτήτες αυτοκινήτων από 0 έως 786 κ.ε. θα πληρώσουν για τέλη κυκλοφορίας 0 ευρώ, για αυτοκίνητα από 787 έως κ.ε. 112 ευρώ, για αυτοκίνητα από έως κ.ε. 202 ευρώ, για αυτοκίνητα από έως κ.ε. 446 ευρώ και για αυτοκίνητα άνω των κ.ε. 580 ευρώ. Να γίνει αλγόριθμος που θα διαβάζει επαναληπτικά τα κυβικά εκατοστά ενός αυτοκινήτου και θα τυπώνει το ποσό πληρωμής. Ο αλγόριθμος θα τερματίζει όταν εισαχθεί αρνητικός αριθμός. Στο τέλος να εμφανίζει τις συνολικές εισπράξεις που έγιναν Να κάνετε αλγόριθμο που θα διαβάζει Ν αριθμούς (το Ν θα δίνεται επίσης από τον χρήστη) και θα τους αφαιρεί από μία αρχική τιμή. Έστω ότι η αρχική τιμή είναι το Να γίνει αλγόριθμος ο οποίος : α. Θα διαβάζει πολλούς ακέραιους αριθμούς ώσπου να δοθεί ο αριθμός 0. β. Θα υπολογίζει και θα εμφανίζει το μέσο όρο των πολλαπλασίων του 7. γ. Θα υπολογίζει και θα εμφανίζει το μικρότερο από τους αριθμούς που διαβάστηκαν. Σημειώνεται ότι : η εισαγωγή του 0 πρέπει να τερματίζει απευθείας την επανάληψη, θα δοθούν σίγουρα κάποιοι αριθμοί πολλαπλάσιοι του 7 και ότι οι αριθμοί θα είναι μέχρι

115 4.117 Κρατάει κάποιος 250 και θέλει να αγοράσει 7 δώρα για τους φίλους του ενόψει του Πάσχα. Να γίνει αλγόριθμος ο οποίος θα διαβάζει την τιμή του κάθε δώρου που σκέφτεται να αγοράσει και εφόσον επαρκούν τα χρήματα το αγοράζει. Η διαδικασία συνεχίζεται μέχρι να αγοραστούν και τα 7 δώρα. Στο τέλος να τυπώνει το μέσο όρο κόστους των δώρων που πήρε, την πιο ακριβή τιμή δώρου καθώς και το πιθανό περίσσευμα χρημάτων. Αν δεν υπάρχει περίσσευμα θα τυπώνει το μήνυμα «Ξοδεύτηκαν όλα τα χρήματα» Μια επιχείρηση έχει Ν εργαζόμενους. Να γίνει αλγόριθμος ο οποίος : α. Θα διαβάζει το πλήθος Ν των εργαζομένων και θα ελέγχει την εγκυρότητα του ώστε να είναι μη αρνητικό και μικρότερο ίσο του 50. β. Για κάθε υπάλληλο θα διαβάζει το όνομα και τις ώρες που δούλεψε καθεμιά από τις 7 ημέρες της εβδομάδας και θα υπολογίζει και θα εμφανίζει το σύνολο ωρών. γ. Αν για κάθε ώρα ο εργάτης παίρνει 8 να εμφανίσετε τον εβδομαδιαίο μισθό του. δ. Θα εμφανίζει το μικρότερο μισθό που δόθηκε και το όνομα του εργάτη που τον πήρε Στο χρηματιστήριο μια μετοχή ξεκινάει με μια τιμή ανοίγματος και κατά τη διάρκεια της συνεδρίασης η τιμή αυξάνεται η μειώνεται ανάλογα με τη ζήτηση και την προσφορά. Να γίνει αλγόριθμος σε ψευδογλώσσα ο οποίος : α. Θα διαβάζει την τιμή ανοίγματος ελέγχοντας την εγκυρότητα της. β. Θα διαβάζει τα ποσοστά ανόδου ή πτώσης ( π.χ. +5% ή -3% ) και θα εμφανίζει την νέα τιμή που διαμορφώνεται όσο το ποσοστό είναι διαφορετικό του γ. Μετά το τέλος της επαναληπτικής διαδικασίας θα εμφανίζει «Τέλος Συνεδρίασης». δ. Θα ελέγχει και θα εμφανίζει σχετικό μήνυμα για το αν η μετοχή ήταν ανοδική, καθοδική ή αμετάβλητη Να αναπτυχθεί αλγόριθμος που θα διαβάζει 2 θετικούς ακέραιους αριθμούς α, β (πρέπει β > α) και στη συνέχεια: α. Θα εμφανίζει το άθροισμα των ακέραιων αριθμών στο διάστημα [α, β]. β. Θα εμφανίζει τους άρτιους αριθμούς στο διάστημα (0, α+β]. 114

116 ΚΕΦΑΛΑΙΟ 5 ο ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

117

118 Κεφάλαιο 5 ο οµές εδοµένων Μονοδιάστατοι Πίνακες Α. Θεωρία 5.1 Δομές Δεδομένων Σε προηγούμενο κεφάλαιο δώσαμε τις έννοιες του δεδομένου και της πληροφορίας. Στη συνέχεια θα μελετήσουμε ομάδες από δεδομένα καθώς και τον τρόπο με τον οποίο τα χειριζόμαστε. Αν προσεγγίσουμε την έννοια της δομής δεδομένων με έναν απλό και ευνόητο τρόπο μπορούμε να τη φανταστούμε σαν μια «αποθήκη» με αντικείμενα μαζί με τις διεργασίες που μπορούμε να κάνουμε πάνω σε αυτά τα στοιχεία. Ας θεωρήσουμε την περίπτωση μιας αποθήκης σουπερμάρκετ που περιέχει ένα μεγάλο πλήθος προϊόντων (δεδομένα). Οι εργασίες που μπορεί να εκτελέσει ένας εργάτης της αποθήκης (εισαγωγή νέων προϊόντων, προώθηση προϊόντων στα ράφια, απογραφή προϊόντων, αναζήτηση προϊόντος κ.λ.π.) αποτελούν τις λειτουργίες της παραπάνω αποθήκης. Το σύστημα που περιγράψαμε μπορεί να θεωρηθεί ως μια απλουστευμένη αναπαράσταση Δομής Δεδομένων της Πληροφορικής Σημασία δομών δεδομένων Οι δομές δεδομένων αποτελούν ένα βασικό στοιχείο του προγραμματισμού. Για να καταλάβει κάποιος την τεράστια σημασία τους αρκεί να αναφέρουμε την εξίσωση του Wirth (1976 Υλοποιητής της Pascal) : Αλγόριθμοι + Δομές Δεδομένων = Προγράμματα 5.2 Οι κυριότερες Δομές Δεδομένων Οι βασικότερες δομές δεδομένων που χρησιμοποιούνται σήμερα είναι : Ο πίνακας, η ουρά, η στοίβα, ο γράφος, το δένδρο και η λίστα. Οι δομές δεδομένων χωρίζονται σε Στατικές και Δυναμικές ανάλογα με το αν το μέγεθος τους είναι σταθερό ή μεταβάλλεται κατά τη διάρκεια της λειτουργίας του προγράμματος σύμφωνα με τις ανάγκες του. Θα ασχοληθούμε με τις τρεις πρώτες από όσες αναφέρθηκαν παραπάνω. Σε ότι αφορά τους πίνακες θα μελετήσουμε πληθώρα εφαρμογών σε ασκήσεις ενώ για τη στοίβα και την ουρά θα αναφερθούμε θεωρητικά Η Στοίβα Για να κατανοήσει κανείς την έννοια της στοίβας αρκεί να φέρει στο νου του μια στοίβα με πιάτα σε ένα εστιατόριο. Τα πιάτα αποτελούν τα δεδομένα. Κάθε φορά που ένα πιάτο πλένεται τοποθετείται φυσικά στην κορυφή της στοίβας και φεύγει πρώτο. Αυτός ο κανόνας χρήσης των δεδομένων ονομάζεται ιεραρχία της δομής. Στην σ τοίβα η ιεραρχία είναι η LIFO (last in first out). Πρέπει όμως να μελετήσουμε και τις βασικές λειτουργίες μιας στοίβας. Αυτές είναι : Ώθηση στοιχείου στην κορυφή της στοίβας (push) και απώθηση ενός δεδομένου (pop). Στη στοίβα είναι πιθανό να 117

119 παρατηρηθούν δυο φαινόμενα. Η υπερχείλιση και η υποχείλιση. Η μεν πρώτη ονομάζεται Overflow και συμβαίνει όταν συνεχίζουμε να τοποθετούμε πιάτα και κάποια στιγμή η στήλη καταρρεύσει αφού δεν θα αντέχει άλλο πιάτο. Η δεύτερη ονομάζεται Underflow και συμβαίνει όταν τελειώσουν τα πιάτα και δεν υπάρχει άλλο στη στοίβα. Στις σύγχρονες γλώσσες προγραμματισμού τέτοια φαινόμενα είναι σπάνιο να παρουσιαστούν διότι χρησιμοποιούνται σύγχρονες δυναμικές στοίβες Η Ουρά Η έννοια της ουράς μπορεί να μελετηθεί σαν την ουρά που παρουσιάζεται σε ένα ταμείο ενός σουπερμάρκετ ή στο ταμείο ενός κινηματογράφου. Εδώ τα δεδομένα είναι οι άνθρωποι που περιμένουν και οι λειτουργίες είναι η εισαγωγή (enqueue) και εξαγωγή (dequeue). Εισαγωγή σημαίνει να μπει στο τέλος της ουράς ένας άνθρωπος που μόλις έφτασε. Εξαγωγή σημαίνει να εξυπηρετηθεί αυτός που είναι την περισσότερη ώρα στην ουρά. Έτσι έχουμε μια διαφορετική ιεραρχία που ονομάζεται FIFO (first in first out). Η ουρά διαθέτει δύο δεικτες τον εμπρός (front) και τον πίσω (rear) που δείχνουν τον πρώτο πελάτη και τον τελευταίο αντίστοιχα. Μόλις ένας πελάτης εξυπηρετηθεί, ο δείκτης μπρός κινείται στην αμέσως επόμενη θέση. Μόλις ένας νέος πελάτης εισαχθεί στην ουρά, ο δείκτης πίσω θα μετακινηθεί στην επόμενη θέση Ο Πίνακας Οι πίνακες είναι μια κατηγορία δομών δεδομένων που προσφέρονται για μελέτη ενός αρχάριου προγραμματιστή λόγω της απλότητας τους αλλά ταυτόχρονα και της μεγάλης σημασίας τους. Η έννοια του πίνακα στον προγραμματισμό δεν απέχει πολύ από αυτήν στα μαθηματικά. Πρόκειται με απλά λόγια για μια μεταβλητή που μπορεί να αποθηκεύσει ταυτόχρονα πολλές διαφορετικές τιμές και όχι μόνο μία όπως έχουμε δει ως τώρα. Οι πίνακες χωρίζονται σε μονοδιάστατους και πολυδιάστατους. Από τους πολυδιάστατους θα ασχοληθούμε μόνο με τους δισδιάστατους. Επιπλέον είναι στατικές δομές δεδομένων και διατηρούν σταθερό μέγεθος που δηλώνεται στην αρχή του αλγόριθμου. Στο σημείο αυτό πρέπει να αναφέρουμε κάποια βασικά σημεία που αφορούν στη χρήση των πινάκων. Είναι απαραίτητοι όταν το πρόγραμμα έχει κάποιες ιδιαίτερες απαιτήσεις που δε μπορούν να καλυφθούν από απλές μεταβλητές που παίρνουν μια μόνο τιμή. Όμως, όπως και κάθε άλλη δομή δεδομένων έχουν πλεονεκτήματα και μειονεκτήματα. Γι αυτό πρέπει να είμαστε προσεκτικοί βάσει των αναγκών του κάθε προβλήματος και να αποφεύγεται η άσκοπη χρήση πινάκων. Τα ίδια ισχύουν και για τους πολυδιάστατους πίνακες μόνο που τα πράγματα είναι λίγο πιο πεπλεγμένα. Γενικά πρέπει να ακολουθούμε τον εξής κανόνα : «Πρώτα σκεφτόμαστε αν η άσκηση μπορεί να λυθεί χωρίς χρήση πίνακα και αν αυτό είναι αδύνατο τότε προχωράμε σε καθορισμό πινάκων» 5.3 Μονοδιάστατοι πίνακες Ένας μονοδιάστατος πίνακας μπορεί να θεωρηθεί ως ένα διατεταγμένο σύνολο αποθηκευμένων στοιχείων με την εξής μορφή : (α 1, α 2,..., α Ν ). Ο συγκεκριμένος πίνακας αποτελείται από μια γραμμή και Ν στήλες, δηλαδή περιέχει Ν στοιχεία. Στην επόμενη σελίδα ακολουθούν παραδείγματα χειρισμού μονοδιάστατων πινάκων που συναντάμε συχνά σε ασκήσεις. 118

120 5.3.1 Δήλωση δεδομένων πινάκων Όταν η άσκηση ζητάει να κατασκευάσουμε αλγόριθμο που θα χειρίζεται πίνακες τότε μπορεί να συναντήσουμε την έκφραση : «Δίνεται πινακας Χ που περιέχει Ν στοιχεία». Αυτό υλοποιείται με χρήση της εντολής Δεδομένα // // που παρουσιάστηκε στο κεφάλαιο 2 και είναι η εξής : Δεδομένα // Χ, Ν // Αν η εκφώνηση λέει «Δίνεται πίνακας table που περιέχει 100 αριθμούς» τότε η εντολή συντάσσεται : Δεδομένα // table //! δηλαδή σε αυτή την περίπτωση το μέγεθος δεν αναφέρεται. Με τις παραπάνω εντολές δηλώσαμε ένα πίνακα Χ που περιέχει Ν στοιχεία, ένα πίνακα table με 100 στοιχεία. Σε πρόγραμμα στη «ΓΛΩΣΣΑ» αν χρειαστεί χρήση πινάκων τότε πρέπει να δηλωθεί ο τύπος των δεδομένων που θα μπούν στον πίνακα, το όνομα του και το πλήθος των στοιχείων του. Για παράδειγμα : ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ : Α[10] ΧΑΡΑΚΤΗΡΕΣ : ΧΑΡ[500] ΑΚΕΡΑΙΕΣ : Β[30] ΛΟΓΙΚΕΣ : Κ[5] Εισαγωγή στοιχείων σε κενό πίνακα 100 θέσεων με όνομα ΠΙΝΑΚΑΣ Για i από 1 μέχρι 100 διάβασε ΠΙΝΑΚΑΣ[ i ] Τέλος_επανάληψης Οι παραπάνω εντολές λειτουργούν και σε αλγόριθμο και σε πρόγραμμα Εμφάνιση αποθηκευμένων στοιχείων πίνακα 200 θέσεων με όνομα ΠΙΝ Για i από 1 μέχρι 200 εμφάνισε ΠΙΝ[ i ] Τέλος_επανάληψης Σε περίπτωση που έχουμε πρόγραμμα η εντολή εμφάνισε ΠΙΝ[ i ] αντικαθίσταται με την ΓΡΑΨΕ ΠΙΝ[ i ] Υπολογισμός αθροίσματος όλων των στοιχείων του πίνακα Α[50] και εύρεση μέσου όρου SUM 0 Για i από 1 μέχρι 50 SUM SUM + A[i] Τέλος_επανάληψης ΜΟ SUM/50 119

121 5.3.5 Υπολογισμός αθροίσματος των στοιχείων του πίνακα Α[50] SUM 0 Για i από 11 μέχρι 49 SUM SUM + A[i] Τέλος_επανάληψης Εύρεση μεγίστου ή ελαχίστου στοιχείου πίνακα 80 θέσεων με όνομα A MAX A[1] MΙΝ A[1] Για i από 2 μέχρι 80 Για i από 2 μέχρι 80 Aν A[i] > MAX τότε Aν A[i] < MΙΝ τότε MAX A[i] ΜΙΝ Α[i] Τέλος_αν Τέλος_αν Τέλος_επανάληψης Τέλος_επανάληψης Εντοπισμός στοιχείων του πίνακα που πληρούν συγκεκριμένη ιδιότητα Πολλές φορές μέσα σε έναν πίνακα χρειάζεται να αναζητήσουμε κάποια στοιχεία που ικανοποιούν μια συγκεκριμένη ιδιότητα. Η αναζήτηση γίνεται σχεδόν πάντα με τη χρήση της δομής επιλογής. Η ιδιότητα που ζητάμε να πληρούν τα στοιχεία, εκφράζεται μέσα από τη συνθήκη της ΑΝ. Στο παράδειγμα γ. που ακολουθεί εντοπίζουμε στοιχεία με χρήση μιας Όσο Παραδείγματα εντοπισμού στοιχείων α. Άθροισμα όλων των θετικών στοιχείων ενός πίνακα 800 θέσεων SUM 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 800 ΑΝ Α[i] > 0 ΤΟΤΕ SUM SUM + A[i] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ β. Εμφάνιση στοιχείων του πίνακα Π[100] που είναι πολλαπλάσια του 2 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100 ΑΝ Π[i] MOD 2 = 0 ΤΟΤΕ ΓΡΑΨΕ Π[i] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ γ. Εμφάνιση των στοιχείων του πίνακα Π[100] μέχρι να βρεθεί το 34. i 1 ΟΣΟ (Π[ i ] <> 34) KAI (i <= 100) ΕΠΑΝΑΛΑΒΕ ΓΡΑΨΕ Π[ i ] i i + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 120

122 5.3.8 Χρήση της εντολής Αποτελέσματα // // σε αλγόριθμους Κάποιες φορές ο αλγόριθμος ζητάει υπολογισμούς ή δημιουργία πινάκων χωρίς να ζητάει να εμφανιστούν. Μπορούμε λοιπόν να χρησιμοποιούμε την εντολή Αποτελέσματα // //. π.χ. Αποτελέσματα // Α, Ν, max // Ο αλγόριθμος δίνει ως αποτέλεσμα ένα πίνακα Α με Ν στοιχεία και μια μεταβλητή max αλλά δεν τα εμφανίζει στην οθόνη Η μέθοδος της σειριακής αναζήτησης Ο αλγόριθμος της σειριακής αναζήτησης χρησιμοποιείται για να εντοπίσουμε μια τιμή (key) μέσα στον πίνακα χωρίς απαραίτητα να διατρέξουμε ολόκληρο τον πίνακα. Δηλαδή μόλις αυτή η τιμή βρεθεί ο αλγόριθμος σταματάει. Ας δούμε παρακάτω πως υλοποιείται για έναν πίνακα Α[500]. done ψευδής! υποθέτουμε ότι δεν έχει βρεθεί το κλειδί position 0! υποθέτουμε ότι δεν είναι σε κάποια θέση του πίνακα i 1 Οσο (done = ψευδής) Και (i <= 500 ) Επανάλαβε Αν Α[i] = key Τότε done Αληθής! βρέθηκε το κλειδί position i! βρέθηκε στη θέση i Αλλιώς i i + 1! μεταβαίνουμε στην επόμενη θέση του πίνακα Τέλος_αν Τέλος_επανάληψης Αν done = Αληθής Τότε εμφάνισε Το κλειδί βρέθηκε στη θέση,position Αλλιώς εμφάνισε Δεν υπάρχει το κλειδί στον πίνακα Τέλος_αν Ταξινόμηση στοιχείων πίνακα Α[150] σε αύξουσα (φθίνουσα) σειρά με τη μέθοδο φυσαλίδας Για i από 2 μέχρι 150 Για j από 150 μέχρι i με_βήμα 1 Αν Α[ j 1] > A[ j ] Tότε TEMP Α[ j 1] Α[ j 1] Α[ j ]! αντιμετάθεση των τιμών Α[ j ] TEMP Τέλος_αν Τέλος_επανάληψης Τέλος_επανάληψης Οι παραπάνω εντολές ταξινομούν τον πίνακα σε αύξουσα σειρά δηλάδή από τον μικρότερο προς το μεγαλύτερο. Για ταξινόμηση σε φθίνουσα σειρά η συνθήκη γίνεται : Αν Α[ j 1] < A[ j ] τότε. 121

123 Επιπλέον σε αλγόριθμους μπορούμε για την αντιμετάθεση των τιμών να χρησιμοποιούμε την εντολή Αντιμετάθεσε Α[ j - 1], Α[ j ] αντί των εντολών που αναφέραμε πιο πάνω. Σε Πρόγραμμα όμως κάτι τέτοιο δεν είναι σωστό Συνένωση Συγχώνευση πινάκων Με τον όρο συνένωση συγχώνευση δομών δεδομένων εννοούμε την ενοποίηση δύο ή περισσοτέρων δομών σε μια ενιαία. Ειδικά για τους πίνακες θα κάνουμε τον εξής διαχωρισμό των παραπάνω εννοιών : Συνένωση Από δύο ή περισσότερους πίνακες μη ταξινομημένους δημιουργούμε έναν νέο μη ταξινομημένο : π.χ. Α[50], Β[20], Γ[25] Δ[95]. Το παραπάνω επιτυγχάνεται ώς εξής : Για i από 1 μέχρι 95 Αν i<=50 τότε Δ[i] A[i] Αλλιώς_αν i<=70 τότε Δ[i] B[i 50] Αλλιώς Δ[i] Γ[i 70] Τέλος_αν Τέλος_επανάληψης Συγχώνευση Από δύο ταξινομημένους πίνακες δημιουργώ ένα νέο ταξινομημένο: Από τον Α[Ν] = [ 1, 3, 6, 9,..., 25] και τον Β[Μ] = [ 2, 3, 4, 5, 7, 11,...,15, 20] να δημιουγήσουμε τον Γ[ Ν + Μ ] που θα είναι κι αυτός ταξινομημένος σε αύξουσα σειρά. Το παραπάνω επιτυγχάνεται ως εξής : Ι 1 J 1 Κ 1 ΟΣΟ Ι <= Ν ΚΑΙ J <= Μ ΕΠΑΝΑΛΑΒΕ! Όσο και οι δύο πίνακες έχουν στοιχεία ΑΝ Α[Ι] < Β[J] ΤΟΤΕ Γ[Κ] Α[Ι] Κ Κ+1 Ι Ι+1 ΑΛΛΙΩΣ Γ[Κ] Β[J] Κ Κ+1 J J +1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ! Μεταφορά των υπολοίπων στοιχείων του Α ή του Β ΑΝ Ι > Ν ΤΟΤΕ ΓΙΑ Λ ΑΠΟ Κ ΜΕΧΡΙ Ν+Μ Γ[Λ] Β[J] J J +1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΛΛΙΩΣ 122

124 ΓΙΑ Λ ΑΠΟ Κ ΜΕΧΡΙ Ν+Μ Γ[Λ] Α[Ι] Ι Ι+1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΑΝ Παρατήρηση Ειδικά για την περίπτωση που οι πίνακες περιέχουν ίσο πλήθος στοιχείων (Ν στοιχεία) ισχύει ο παραπάνω αλγόριθμος αλλά όπου Μ βάζουμε πάλι Ν Διαχωρισμός (Διάσπαση) πίνακα σε δύο η περισσότερους. Με τον όρο διαχωρισμό εννοούμε τη διαδικασία κατά την οποία ένας πίνακας διασπάται σε άλλους πίνακες ανάλογα με κάποια ιδιοτητα. Στο παρακάτω παράδειγμα δίνεται πίνακας Χ[100] με ακεραίους και θα δημιουργήσουμε δύο νέους πίνακες Α[? ] και Β [? ] που ο ένας θα περιέχει τους άρτιους και ο άλλος τους περιττούς. Τοποθετώ? γιατί δεν γνωρίζουμε πόσοι άρτιοι και πόσοι περιττοί υπάρχουν μέσα στον πίνακα Χ. Δεδομένα // Χ // Κ 0 Λ 0 Για i από 1 μέχρι 100 Αν X[ i ] mod 2 = 0 τότε Κ Κ + 1 Α[K] X[ i ] Αλλιώς Λ Λ + 1 Β[Λ] X[ i ] Τέλος_αν Τέλος_επανάληψης Αποτελέσματα // Α, Κ, Β, Λ // Σημαντικές παρατηρήσεις!!! Από τα παραπάνω γίνεται αντιληπτό ότι πάντα όταν εκτελούμε διεργασίες σε πίνακες απαραίτητη είναι η χρήση βοηθητικών μεταβλητών i, j που παίζουντο ρόλο δεικτών και βοηθούν στο να διατρέξουμε τα στοιχεία ενός πίνακα. Απαραίτητη βέβαια είναι και η χρήση της δομής επανάληψης ΓΙΑ... ΑΠΟ... Όλα τα παραπάνω πρέπει πάντοτε να προσαρμόζονται στις ανάγκες της κάθε ασκήσης (ονόματα πινάκων, διάσταση, συνθήκες κ.λ.π.) 123

125 Β. Ερωτήσεις 5.1 Να δώσετε τον ορισμό των παρακάτω εννοιών : α. δομή δεδομένων β. στατική δομή δεδομένων. 5.2 Ποια η σημασία των δομών δεδομένων ; 5.3 Τι γνωρίζετε για τις δυναμικές δομές δεδομένων ; 5.4 Να αναφέρετε τις βασικές λειτουργίες (πράξεις) επί των δομών δεδομένων. 5.5 Να γίνει πλήρης περιγραφή της Στοίβας. 5.6 Να γίνει πλήρης περιγραφή της Ουράς. 5.7 Τι γνωρίζετε για τους πίνακες ; 5.8 Τι γνωρίζετε για την αναζήτηση μέσα σε πίνακες ; 5.9 Να γραφεί ο αλγόριθμος σειριακής αναζήτησης Σε ποιες περιπτώσεις χρησιμοποιείται η μέθοδος σειριακής αναζήτησης ; 5.11 Να δοθεί ο ορισμός της έννοιας της ταξινόμησης και να περιγραφεί η ταξινόμηση ευθείας ανταλλαγής Να δοθεί ο αλγόριθμος της ταξινόμησης φυσαλίδας. Γ. Λυμένα Θέματα 5.13 Να γραφεί αλγόριθμος θα εκτελεί βασικές διεργασίες σε δύο μονοδιάστατους πίνακες Α[10] και Β[150]. Συγκεκριμένα ο αλγόριθμος θα : α. Διαβάζει τα στοιχεία των πινάκων β. Βρίσκει ελάχιστο στον Α και μέγιστο στον Β γ. Θα συγκρίνει τα 5 πρώτα στοιχεία των πινάκων. Στην περίπτωση που είναι ίδια θα εμφανίζει κατάλληλο μήνυμα. δ. Βρίσκει μέσο όρο του Α και πλήθος αρνητικών του Β. ε. Θα διαβάζει ένα κλειδί και θα ελέγχει αν αυτό υπάρχει στον πίνακα Β με τη μέθοδο σειριακής αναζήτησης. 124

126 Αλγόριθμος Διεργασίες α. Για i από 1 μέχρι 10 Διάβασε Α[i] Τέλος_επανάληψης Για i από 1 μέχρι 150 Διάβασε Β[i] Τέλος_επανάληψης β. ΜΙΝ Α[1] Για i από 2 μέχρι 10 Αν Α[i] < ΜΙΝ τότε ΜΙΝ Α[i] Τέλος_επανάληψης ΜΑΧ Β[1] Για i από 2 μέχρι 150 Αν Β[i] > ΜΑΧ τότε ΜΑΧ Β[i] Τέλος_αν Τέλος_επαναληψης γ. done αληθής Για i από 1 μέχρι 5 Αν Α[i] <> B[i] τότε done ψευδής Τέλος_αν Τέλος_επανάληψης Αν done = αληθής τότε Εμφάνισε Ίδια τα 5 πρώτα στοιχεία Τέλος_αν δ. ΜΟ 0 ΠΛ 0 Για i από 1 μέχρι 10 ΜΟ ΜΟ + Α[i] Tέλος_επανάληψης ΜΟ ΜΟ / 10 Για i από 1 μέχρι 150 Αν Β[i] < 0 Τότε ΠΛ ΠΛ + 1 Τέλος_αν Tέλος_επανάληψης ε. Διάβασε key done ψευδής position 0 i 1 Όσο (done = ψευδής) και (i <= 150 ) Επανάλαβε Αν Β[i] = key Τότε done Αληθής position i Αλλιώς i i

127 Τέλος_αν Τέλος_επανάληψης Αν done = Αληθής Τότε Γράψε Το κλειδί βρέθηκε στη θέση,position Αλλιώς Γράψε δεν υπάρχει το κλειδί στον πίνακα Τέλος_αν Τέλος_Διεργασίες 5.14 Δίνεται ο πίνακας Α = ( -5, 0, -4, 2, 7, -1 ) και το παρακάτω τμήμα προγράμματος : K 0 L1 5 L2 A[L1-2] ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 3 ΑΝ 5*Ι = L1 TOTE D L2^2 + Α[Ι+2] ΑΛΛΙΩΣ K L1 MOD 2 Α[Ι] TEΛΟΣ_ΑΝ ΑΝ D > K TOTE MAX D ΑΛΛΙΩΣ ΜΑΧ K ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ D,K ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Χ L1^2 D + K Να σχηματίσετε πίνακα που θα περιέχει τις τιμές που παίρνουν οι παραπάνω μεταβλητές. Τι θα εμφανίσει ο αλγόριθμος ; Ποια η τιμή της μεταβλητής Χ ; Πίνακας Α : Αλγόριθμος - K 0 K = 0 L1 5 L1 = 5 L2 A[L1-2] L2 = -4 ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 3 I = 1 (1 η επανάληψη) Ι = 2 (2 η επανάληψη) Ι = 3 (3 η επανάληψη) ΑΝ 5*Ι = L1 TOTE Αληθής Ψευδής Ψευδής D L2^2 + Α[Ι+2] D= ΑΛΛΙΩΣ - Αληθής Αληθής K L1 MOD 2 Α[Ι] - K = 1 K = 5 TEΛΟΣ_ΑΝ ΑΝ D > K TOTE Aληθής Αληθής Αληθής MAX D ΜΑΧ = 12 ΜΑΧ = 12 ΜΑΧ = 12 ΑΛΛΙΩΣ ΜΑΧ K ΤΕΛΟΣ_ΑΝ ΓΡΑΨΕ D,K 12,0 12,1 12,5 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Χ L1^2 D + K Χ = 18 Σχηματίζουμε τώρα τον πίνακα μεταβλητών που αποτελεί την απάντηση της άσκησης. 126

128 Αρ. Επαν. I K D L1 L2 MAX X η η η Η τιμή της μεταβλητής Χ καθορίζεται μετά το ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ και ισούται με 18 Ο αλγόριθμος θα εμφανίσει τα εξής : 1 η εμφάνιση η εμφάνιση η εμφάνιση Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που θα διαβάζει τους ακέραιους συντελεστές ενός πολυωνύμου το πολύ 5 ου βαθμού και στη συνέχεια θα υπολογίζει τις τιμές του πολυωνύμου για χ = 0,..., 20 με βήμα 2. Τα αποτελέσματα να αποθηκευθούν σε πίνακες και στη συνέχεια να τυπωθούν στην οθόνη. Αρχικά θα προσδιορίσουμε τους πίνακες που χρειαζόμαστε. Ο πίνακας των συντελεστών είναι ο Σ[6] αφού το πολυώνυμο είναι το πολύ 5 ου βαθμού με σταθερό όρο δηλαδή της 5 μορφής : P ( x) = a + a x a x. Έτσι θα έχουμε Σ[1]=α 0,..., Σ[6]=α Επιπλέον χρειαζόμαστε έναν μονοδιάστατο πίνακα στον οποίο θα αποθηκεύονται οι τιμές P(x), δηλαδή ο πίνακας ΤΙΜΕΣ[11] αφού χ = 0,..., 20 με βήμα 2. ΠΡΟΓΡΑΜΜΑ ΠΟΛΥΩΝΥΜΟ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Σ[6], ΤΙΜΕΣ[11], Ι, Κ, X ΠΡΑΓΜΑΤΙΚΕΣ : S ΑΡΧΗ! ΔΙΑΒΑΣΜΑ ΣΥΝΤΕΛΕΣΤΩΝ ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 6 ΓΡΑΨΕ ΔΩΣΕ ΤΟΝ ΣΥΝΤΕΛΕΣΤΗ Α(,Ι-1, ) ΔΙΑΒΑΣΕ Σ[Ι] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ! ΥΠΟΛΟΓΙΣΜΩΝ ΤΙΜΩΝ Κ 1 ΓΙΑ Χ ΑΠΟ 0 ΜΕΧΡΙ 20 ΜΕ ΒΗΜΑ 2 S 0 ΑΝ Χ = 0 ΤΟΤΕ S Σ[1] ΑΛΛΙΩΣ ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 6 S S + Σ[Ι]*Χ^(Ι-1) ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΑΝ ΤΙΜΕΣ[Κ] S K K+1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 127

129 ! ΕΜΦΑΝΙΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 11 ΓΡΑΨΕ ΤΙΜΕΣ[Ι] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Σημαντική παρατήρηση!!! Η παραπάνω άσκηση παρουσιάζει την εξής δυσκολία. Το χ αυξάνεται ανά 2 και το Ι με βημα 1. Έτσι είναι αδύνατον να συμβαδίσει η αποθήκευση στον πίνακα ΤΙΜΕΣ με το διάβασμα των συντελεστών. Σε τέτοιες περιπτώσεις χρησιμοποιούμε έναν βοηθητικό δείκτη Κ, ο οποίος αρχικά τίθεται 1 και αμέσως μετά από κάθε αποθήκευση αυξάνεται κατά ένα εξασφαλίζοντας έτσι τη διαδοχικότητα στην αποθήκευση Δίνονται ο πληθωρισμός, τα έσοδα εξαγωγών και το κατά κεφαλήν εισόδημα για καθεμιά από τις 15 χώρες της Ευρωπαϊκής Ένωσης. Να αναπτύξετε αλγόριθμο που α. Θα διαβάζει τα παραπάνω δεδομένα β. Θα βρίσκει το μέσο όρο πληθωρισμού. γ. Θα εμφανίζει τη χώρα με το μικρότερο κατά κεφαλήν εισόδημα. δ. Θα ταξινομεί τους πίνακες σε φθίνουσα σειρά ως προς τα έσοδα εξαγωγών. ε. Θα εμφανίζει τα παραπάνω ταξινομημένα στοιχεία. Οι πίνακες που θα χρησιμοποιήσουμε είναι 4 μονοδιάστατοι καθένας από τους οποίους περιέχει κάτι διαφορετικό. ΠΛ[15] : για τον πληθωρισμό, ΚΚ[15] : για το κατά κεφαλήν, ΟΝΟΜ[15] για το όνομα της κάθε χώρας και τέλος ΕΕ[15] για τα έσοδα εξαγωγών. Οι παραπάνω πίνακες έχουν μια κοινή ιδιότητα. Κάθε θέση αντιπροσωπεύει μια μόνο χώρα σε όλους τους πίνακες. Δηλαδή για παράδειγμα στη θέση 12 έχουμε την Ελλάδα. Στον πίνακα ΟΝ υπάρχει το όνομα, στον ΚΚ υπάρχει το κατά κεφαλήν εισόδημα του Έλληνα, στον ΕΕ υπάρχουν τα έσοδα εξαγωγών της Ελλάδας και στον ΠΛ υπάρχει το ποσοστό του πληθωρισμού της ελληνικής οικονομίας. Αλγόριθμος Ευρώπη! α ερώτημα Εμφάνισε Δώστε τα στοιχεία κάθε χώρας όνομα πληθωρ κατά κεφ. - έσοδα Για Ι από 1 μέχρι 15 Διάβασε ΟΝΟΜ[Ι], ΠΛ[Ι], ΚΚ[Ι], ΕΕ[Ι] Τέλος_επανάληψης! β ερώτημα ΜΟ 0 Για Ι από 1 μέχρι 15 ΜΟ ΜΟ + ΠΛ[Ι] Τέλος_επανάληψης ΜΟ ΜΟ / 15 Εμφάνισε Μέσος Πληθωρισμός =, ΜΟ 128

130 ! γ ερώτημα ΜΙΝ ΚΚ[1] κ 1 Για Ι από 2 μέχρι 15 Αν ΚΚ[Ι] < ΜΙΝ τότε ΜΙΝ ΚΚ[Ι] κ Ι Τέλος_αν Τέλος_επανάληψης Εμφάνισε Η χώρα με το μικρότερο κατά κεφαλήν είναι η:, ΟΝΟΜ[κ]! δ ερώτημα Για Ι από 2 μέχρι 15 Για j από 15 μέχρι Ι με_βημα -1 Αν ΕΕ[j-1] < EE[j] τότε Αντιμετάθεσε EE[j-1], EE[j] Αντιμετάθεσε ΟΝΟΜ[j-1], ΟΝΟΜ[j] Αντιμετάθεσε ΚΚ[j-1], ΚΚ[j] Αντιμετάθεσε ΠΛ[j-1], ΠΛ[j] Τέλος_αν Τέλος_επανάληψης Τέλος_επανάληψης! ε ερώτημα Για Ι από 1 μέχρι 15 Εμφάνισε ΟΝΟΜ[Ι], ΠΛ[Ι], ΚΚ[Ι], ΕΕ[Ι] Τέλος_επανάληψης Τέλος Ευρώπη 129

131 Δ. Θέματα για λύση 1. ΘΕΩΡΗΤΙΚΑ ΘΕΜΑΤΑ 5.17 Η στοίβα είναι μια δομή δεδομένων. Να περιγράψετε τη στοίβα με ένα παράδειγμα από την καθημερινή ζωή Η ουρά είναι μια δομή δεδομένων. Να περιγράψετε την ουρά με ένα παράδειγμα από την καθημερινή ζωή Να συμπληρώσετε τα στοιχεία του πίνακα Α Μετά την εκτέλεση των εντολών : Α[1] =... Α[2] =... Α[3] =... Α[1] 20 Α[2] (Α[1]+1) div 2 Α[3] Α[2] mod Να γίνει η παρακάτω αντιστοίχιση. Στήλη Α Στήλη Β α. Αύξουσα ή φθίνουσα τακτοποίηση κόμβων 1. Προσπέλαση 2. Διαγραφή 3. Συγχώνευση 4. Αναζήτηση 5. Διαχωρισμός 6. Αντιγραφή 7. Ταξινόμηση 8. Εισαγωγή β. Προσθήκη νέων κόμβων γ. Πρόσβαση σε έναν κόμβο για επεξεργασία του περιεχομένου του δ. Ένας ή περισσότεροι κόμβοι μιας δομής τοποθετούνται σε μια άλλη δομή ε. Αποθήκευση μιας τιμής ή περισσοτέρων τιμών σε αντίστοιχους κόμβους στ. Αφαίρεση ενός κόμβου ζ. Εντοπισμός κόμβων που έχουν μια ιδιότητα η. Διάσπαση μιας δομής σε δυο ή περισσότερες δομές θ. Συνένωση δυο ή περισσοτέρων δομών σε μία ι. Εντοπισμός του κόμβου με την μικρότερη ή την μεγαλύτερη τιμή 5.21 Για κάθε μια από τις παρακάτω προτάσεις να σημειώσετε (Σ) αν αυτή είναι σωστή και (Λ) αν αυτή είναι λάθος. α. Στην ουρά το στοιχείο που εισάγεται πρώτο εξάγεται και πρώτο. β. Στη στοίβα το στοιχείο που εισάγεται τελευταίο εξάγεται και τελευταίο. 130

132 γ. Ο μοναδικός αλγόριθμος ταξινόμησης είναι ο αλγόριθμος της φυσαλίδας. δ. Η ταξινόμηση ευθείας ανταλλαγής είναι πολύ αποτελεσματική σε πίνακες που είναι ταξινομημένοι κατά την αντίστροφη σειρά σε σχέση με την επιθυμητή. ε. Ο δείκτης ενός μονοδιάστατου πίνακα πρέπει να είναι πάντα i Για κάθε μια από τις παρακάτω προτάσεις να σημειώσετε (Σ) αν αυτή είναι σωστή και (Λ) αν αυτή είναι λάθος. α. Οι πίνακες πρέπει να χρησιμοποιούνται σε όλες τις περιπτώσεις όπου αυτό είναι δυνατόν. β. Ένας πίνακας δεν μπορεί να περιέχει περισσότερες από μία φορές ένα στοιχείο με την ίδια τιμή. γ. Για τον υπολογισμό του μέσου όρου ενός πίνακα αριθμών πρέπει να προσπελαστεί ολόκληρος ο πίνακας. δ. Η χρήση πινάκων έχει το μειονέκτημα της υπερβολικής χρήσης μνήμης. ε. Υπάρχουν ειδικές εντολές αλγορίθμων που μπορούν να επεξεργαστούν απευθείας όλα μαζί τα στοιχεία πινάκων Δίνεται η παρακάτω στοίβα: 6 ο 5 ο 4 ο 3 ο -2 2 ο 23 1 ο 7 Α. Να παρουσιάσετε τη μορφή της στοίβας μετά την εκτέλεση των παρακάτω λειτουργιών: α. ώθηση του 8 β. απώθηση γ. ώθηση του -9 δ. ώθηση του 10 ε. απώθηση Β. Τι πρέπει να προσέχουμε κατά την ώθηση στοιχείου σε στοίβα και τι κατά την απώθηση; 5.24 Δίνεται η παρακάτω ουρά : front rear Να δώσετε τη μορφή που θα πάρει η ουρά μετά από καθεμιά από τις παρακάτω λειτουργίες. α. Εξαγωγή β. Εισαγωγή του 9 γ. Εισαγωγή του 10 δ. Εξαγωγή 131

133 5.25 Ο παρακάτω αλγόριθμος ταξινομεί τον πίνακα ακεραίων Α με φθίνουσα διάταξη. Να συμπληρώσετε τα τμήματα που λείπουν. Αλγόριθμος Συμπλήρωση Δεδομένα // Ν, Α // Για i από. μέχρι. με_βήμα. Για j από. μέχρι.. με_βήμα. Αν Α[ ].. Α[ ] τότε A[ j ].. temp Τέλος_αν Τέλος_επανάληψης Τέλος_επανάληψης Αποτελέσματα // Ν, Α // Τέλος Συμπλήρωση 5.26 Ο παρακάτω αλγόριθμος επεξεργάζεται έναν πίνακα Α με 10 αριθμούς. Υπάρχει κάποιο λάθος; Αν ναι, να προτείνετε το σωστό αλγόριθμο. Τι πραγματοποιεί ο αλγόριθμος αυτός; κ 0 Για i από 10 μέχρι 2 με_βήμα -2 Β[κ] Α[i] κ κ+ 1 Τέλος_επανάληψης 2. ΘΕΜΑΤΑ ΠΟΥ ΖΗΤΟΥΝ ΕΙΣΑΓΩΓΗ ΕΞΑΓΩΓΗ ΣΤΟΙΧΕΙΩΝ 5.27 Να γίνει αλγόριθμος που με δεδομένο έναν πίνακα Π 20 στοιχείων θα εμφανίζει τα στοιχεία που περιέχει Να γίνει αλγόριθμος που με δεδομένο έναν πίνακα Α 35 αριθμών θα εμφανίζει μόνο τους θετικούς Να γίνει αλγόριθμος ο οποίος θα διαβάζει ένα μονοδιάστατο πίνακα 50 αριθμών και θα τους εμφανίζει με αντίστροφη σειρά από αυτή που εισήχθησαν Να γίνει πρόγραμμα που θα διαβάζει ένα πίνακα 85 πραγματικών αριθμών και θα εμφανίζει αυτούς που βρίσκονται στις άρτιες θέσεις του και είναι αρνητικοί Να γίνει πρόγραμμα που θα διαβάζει ένα πίνακα 24 ακεραίων αριθμών και θα εμφανίζει αυτούς που βρίσκονται στις περιττές θέσεις του και είναι πολλαπλάσια του Να γραφτεί πρόγραμμα που θα καταχωρεί 100 ακέραιους αριθμούς σε έναν μονοδιάστατο πίνακα και να εμφανίζει το διπλάσιο όλων των στοιχείων, αλλά με αντίθετη φορά από αυτή που εισήχθησαν. 132

134 5.33 Να γίνει πρόγραμμα το οποίο θα διαβάζει ένα πίνακα Α με 50 ονόματα και έναν με τις αντίστοιχες βαθμολογίες ( να γίνεται έλεγχος εγκυρότητας ώστε να βρίσκονται στο διάστημα [0,100] ) σ ένα διαγωνισμό και στη συνέχεια θα εμφανίζει τα ονόματα και τις βαθμολογίες όσων πέρασαν το ΘΕΜΑΤΑ ΠΟΥ ΖΗΤΟΥΝ ΠΛΗΘΟΣ - ΠΟΣΟΣΤΟ 5.34 Να γίνει αλγόριθμος που θα διαβάζει ένα πίνακα 1000 ακεραίων αριθμών και στη συνέχεια θα υπολογίζει και θα τυπώνει το πλήθος των πολλαπλασίων του 5 που περιέχονται στον πίνακα Να γίνει πρόγραμμα που θα διαβάζει 325 ακεραίους και θα υπολογίζει τα ποσοστά θετικών αρνητικών και μηδενικών που περιέχονται στον πίνακα, και στη συνέχεια θα τα εμφανίζει στην οθόνη Να γίνει αλγόριθμος που θα διαβάζει έναν πίνακα 300 αριθμών και θα εμφανίζει το ποσοστό των αριθμών που είναι μεγαλύτεροι από Να γίνει αλγόριθμος που με δεδομένο πίνακα 200 ακεραίων αριθμών θα εμφανίζει το ποσοστό όσων είναι άρτιοι Δίνεται μονοδιάστατος πίνακας που περιέχει 50 ακεραίους. Να γραφεί αλγόριθμος που θα εμφανίζει στην οθόνη τα στοιχεία του πίνακα που είναι > 0 καθώς επίσης και τη θέση στην οποία βρίσκονται στον πίνακα. Στη συνέχεια να υπολογίζει και να εμφανίζει το ποσοστό των στοιχείων αυτών επί του συνόλου των στοιχείων του πίνακα. Μπορεί να λυθεί το παραπάνω πρόβλημα χωρίς τη χρήση πίνακα. 4. ΘΕΜΑΤΑ ΠΟΥ ΖΗΤΟΥΝ ΑΘΡΟΙΣΜΑ - ΜΕΣΟ ΟΡΟ - ΓΙΝΟΜΕΝΟ 5.39 Να γίνει αλγόριθμος που με δεδομένο έναν πίνακα Ν ( Ν>0 ) αριθμών θα υπολογίζει και θα εμφανίζει το άθροισμα και το μέσο όρο αυτών που βρίσκονται στο διάστημα ( -20, 45] Να γίνει πρόγραμμα που θα διαβάζει ένα πίνακα 50 ακεραίων αριθμών και στη συνέχεια θα υπολογίζει και θα εμφανίζει το γινόμενο όσων από αυτούς τελειώνουν σε Να γίνει αλγόριθμος ο οποίος : α. Θα διαβάζει έναν πίνακα 70 αριθμών. β. Θα υπολογίζει και θα εμφανίζει το μέσο όρο του πίνακα. γ. Να υλοποιησετε τον παραπάνω αλγόριθμο χωρίς τη χρήση πίνακα Δίνεται μονοδιάστατος πίνακας Β[100]. Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που θα υπολογίζει το άθροισμα των 100 στοιχείων του. Στη συνέχεια θα εμφανίζει τα στοιχεία εκείνα που βρίσκονται σε άρτιες θέσεις του πίνακα και βρίσκονται ανάμεσα στο 0 και στο

135 5.43 Να γραφεί αλγόριθμος ο οποίος θα διαβάζει την ημερήσια βροχόπτωση σε cm για ένα χρόνο και θα εμφανίζει το μέσο όρο. (Υπόδειξη : Κατά τους υπολογισμούς να θεωρήσετε ότι κάθε μήνας έχει 30 μέρες και όλο το έτος 360 μέρες). Στη συνέχεια εμφανίστε τον αριθμό των ημερών που η βροχόπτωση ξεπέρασε το μέσο όρο. Είναι απαραίτητη η χρήση πίνακα ; Αιτιολογήστε την απάντηση σας Να γραφτεί πρόγραμμα που θα επεξεργάζεται έναν πίνακα Α 200 θέσεων με ακέραιους που θα μετρά το πλήθος και θα εμφανίζει όλα τα στοιχεία του πίνακα που είναι μικρότερα κατά 2 μονάδες από το μέσο όρο των στοιχείων του πίνακα Σε μια τάξη οι μαθητές που θα διαγωνιστούν για να στελεχώσουν την ομάδα μπάσκετ, είναι αυτοί που το ύψος τους ξεπερνάει τα 9 του συνολικού μέσου ύψους. 10 Να γραφτεί πρόγραμμα που θα δέχεται το ύψος και τα ονόματα των 30 μαθητών μιας τάξης και θα τα καταχωρεί σε κάταλληλους πίνακες. Στη συνέχεια θα εμφανίζει τα ονόματα των μαθητών που θα διαγωνιστούν για μια θέση στην ομάδα. 5. ΘΕΜΑΤΑ ΠΟΥ ΖΗΤΟΥΝ ΕΥΡΕΣΗ ΜΕΓΙΣΤΟΥ ΕΛΑΧΙΣΤΟΥ 5.46 Να γίνει αλγόριθμος που με δεδομένους δυο πίνακες Μ[30] και Ν[20] θα εμφανίζει το μέγιστο του Μ και το ελάχιστο του Ν Να γίνει αλγόριθμος ο οποίος : α. Θα διαβάζει πίνακα Α[150]. β. Θα υπολογίζει το μέσο όρο και το μέγιστο στοιχείο του πίνακα. γ. Θα υπολογίζει το πλήθος των στοιχειων που ξεπέρασαν το μέσο όρο. δ. Θα εμφανίζει όσα υπολογίστηκαν παραπάνω Να γράψετε αλγόριθμο ο οποίος : α. Θα εισάγει σε πίνακα 1000 αριθμούς. β. Θα βρίσκει το μέγιστο στοιχείο του πίνακα. γ. Θα βρίσκει το πλήθος των εμφανίσεων του μεγίστου. δ. Θα εμφανίζει το μήνυμα Το μέγιστο ΧΧΧΧ εμφανίστηκε ΧΧ φορές Να γίνει αλγόριθμος που θα διαβάζει εναν πίνακα με 60 αριθμούς και θα εμφανίζει το μεγαλύτερο από αυτούς που βρίσκονται στις άρτιες θέσεις του πίνακα Να γίνει πρόγραμμα που θα διαβάζει ένα πίνακα Κ με 90 ακέραιους και στη συνέχεια θα υπολογίζει και θα εμφανίζει το άθροισμα και το μέσο όρο αυτών που βρίσκονται στις θέσεις από 28 μέχρι 63 και είναι διάφορετικοί από το ελάχιστο του πίνακα. 134

136 6. ΘΕΜΑΤΑ ΠΟΥ ΖΗΤΟΥΝ ΤΑΞΙΝΟΜΗΣΗ ΣΕΙΡΙΑΚΗ ΑΝΑΖΗΤΗΣΗ 5.51 Δίνεται μονοδιάστατος πίνακας Α, 400 στοιχείων, που είναι ακέραιοι αριθμοί. Να αναπτύξετε πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο θα ταξινομεί με τη μέθοδο της φυσαλίδας τα στοιχεία του πίνακα Α σε αύξουσα σειρά Σε ένα μονοδιάστατο πίνακα ΘΕΡΜ, αποθηκεύονται οι 12 μέσες θερμοκρασίες των μηνών του χρόνου και σε έναν δεύτερο πίνακα ΜΗΝ, αποθηκεύονται τα ονόματα των αντίστοιχων μηνών. Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που : α. Διαβάζει τους 2 πίνακες. β. Υπολογίζει και θα εμφανίζει τις 2 μεγαλύτερες και τις 2 μικρότερες θερμοκρασίες και τα ονόματα των μηνών κατά τους οποίους σημειώθηκαν Μια οικολογική οργάνωση διαθέτει τα ονόματα και το ποσοστό δασών 50 διαφορετικών χωρών. Χρειάζεται να πάρει απόφαση για να διοργανώσει μια εκδήλωση διαμαρτυρίας στις 10 χώρες που έχουν το χαμηλότερο ποσοστό δασών. Να δοθεί αλγόριθμος που θα ταξινομεί τα ποσοστά δασών των χωρών και στη συνέχεια θα εμφανίζει τα ονόματα των 10 χωρών που θα γίνουν οι διαδηλώσεις Να γραφτεί αλγόριθμος ο οποίος : α. Θα τοποθετεί σε πίνακα τα ονόματα εκατό ανθρώπων. β. Θα τοποθετεί σε πίνακα τους αντίστοιχους αριθμούς ταυτότητας. γ. Θα δέχεται ως είσοδο μια ταυτότητα και θα εμφανίζει το όνομα του ανθρώπου καθώς και τη θέση στην οποία βρίσκεται Κάποιο εστιατόριο θέλει να εκτυπώσει έναν αλφαβητικό τιμοκατάλογο των φαγητών που προσφέρει. Να γίνει πρόγραμμα που να ζητάει την ονομασία και την τιμή για 20 φαγητά και στη συνέχεια να εμφανίζει αυτά τα στοιχεία ταξινομημένα σε αλφαβητική σειρά Διαθέτουμε αποθηκευμένα σε τρείς πίνακες τα ονοματεπώνυμα, τα και τα τηλέφωνα 200 ανθρώπων που αγόρασαν λαχνούς για μια κλήρωση. Να γίνει αλγόριθμος ο οποίος : α. Θα διαβάζει το ονοματεπώνυμο του τυχερού. β. Θα εντοπίζει τη θέση στην οποία βρίσκεται με τη βοήθεια του αλγόριθμου σειριακής αναζήτησης. γ. Θα εμφανίζει το και το τηλέφωνο του τυχερού. 135

137 7. ΘΕΜΑΤΑ ΠΟΥ ΖΗΤΟΥΝ ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΩΝ 5.57 Δίνεται μονοδιάστατος πίνακας Α, 7 θέσεων, ο οποίος στις θέσεις 1 έως 7 περιέχει αντίστοιχα τους αριθμούς: Α= ( 5, -3, 0, 2, 7, 8, 9 ) και το παρακάτω τμήμα αλγορίθμου : Για i από 1 μέχρι 6 με_βήμα 2 k ((i+5) mod 3)+2 A[i] A[k-1] εμφάνισε i, k, A[i], A[k] Τέλος_επανάληψης Ποιες τιμές τυπώνονται με την εντολή : εμφάνισε i, k, A[i], A[k], καθώς εκτελείται το παραπάνω τμήμα αλγορίθμου ; 5.58 Δίνεται ο μονοδιάστατος πίνακας C με 6 στοιχεία που έχουν αντίστοιχα τις παρακάτω τιμές : C = ( ) και το παρακάτω τμήμα αλγορίθμου : min 100 max -100 Για i από 1 μέχρι 6 με_βήμα 2 Α C[ i ] B C[ i + 1] Αν Α < Β τότε Lmin A Lmax Β αλλιώς Lmin Β Lmax Α Τέλος_αν Αν Lmin < min τότε min Lmin Τέλος_αν Αν Lmax > max τότε max Lmax Τέλος_αν Εκτύπωσε Α, Β, Lmin, Lmax, min, max Τέλος_επανάληψης D max*min Εκτύπωσε D Να εκτελέσετε το παραπάνω τμήμα αλγορίθμου και να γράψετε στο τετράδιο σας : α. Τις τιμές των μεταβλητών Α, Β, Lmin, Lmax, min, max, όπως αυτές εκτυπώνονται σε κάθε επανάληψη. β. Την τιμή της μεταβλητής D που εκτυπώνεται. 136

138 5.59 Δίνονται ο πίνακας Α=( -5, 0, -4, 2, 7, -1 ) και το παρακάτω τμήμα αλγορίθμου: ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 6 ΓΙΑ Κ ΑΠΟ 6 ΜΕΧΡΙ Ι ΜΕ ΒΗΜΑ -1 ΑΝ Α[ Κ-1] < Α[ Κ ] ΤΟΤΕ ΑΝΤΙΜΕΤΑΘΕΣΕ Α[Κ-1], Α[Κ] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ α. Να εκτελεστούν οι εντολές για Ι = 2 και Ι = 3 β. Να βρεθεί η μορφή που θα έχει πάρει ο πίνακας Α ; γ. Ποια διεργασία υλοποιεί ο παραπάνω αλγόριθμος ; 5.60 Να εξηγήσετε τι θα εμφανιστεί μετά το τέλος της εκτέλεσης του παρακάτω αλγορίθμου. Αλγόριθμος Εμφάνιση Για i από 1 μέχρι 10 Αν i mod 2 <> 0 τότε Α[i] i+2 Αλλιώς Α[i] A[i-1] 3 Τελος_αν Τέλος_επανάληψης Για i από 1 μέχρι 10 Εμφάνισε Α[i] Τέλος_επανάληψης Τέλος Εμφάνιση 5.61 Ο μονοδιάστατος αριθμητικός πίνακας Table έχει τα ακόλουθα στοιχεία: 1 η θέση 2 η θέση 3 η θέση 4 η θέση 5 η θέση Δίνεται το παρακάτω τμήμα αλγορίθμου : Για Ι από 2 μέχρι 5 Για J από 5 μέχρι Ι με_βήμα -1 Αν Table[J-1] > Table[J] τότε Αντιμετάθεσε Table[J-1], Table[J] Τέλος_αν Τέλος_επανάληψης Τέλος_επανάληψης Να μεταφερθεί στο τετράδιό σας ο ακόλουθος πίνακας και να συμπληρωθεί για όλες τις τιμές του J, που αντιστοιχούν σε I=2 και Ι=3 137

139 ΠΙΝΑΚΑΣ Ι J 1 η 2 η 3 η 4 η 5 η Δίνεται ο μονοδιάστατος πίνακας Α = ( 1, 0, 3, 6, 2, 11, 7, 5, 4) και το παρακάτω τμήμα αλγορίθμου : i 2 x A[i+1] y A[x-i] ΟΣΟ i <= 9 ΕΠΑΝΑΛΑΒΕ ΑΝ x >y ΤΟΤΕ ΓΡΑΨΕ x ΑΛΛΙΩΣ ΓΡΑΨΕ y ΤΕΛΟΣ_ΑΝ y x mod i i i +2 x A[i-3] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Ζ Χ*Υ α. Να σχηματίσετε πίνακα με τις τιμές όλων των μεταβλητών του προβλήματος σε όλες τις επαναλήψεις. β. Να σχηματίσετε πίνακα με τις τιμές που εμφανίζονται. 8. ΘΕΜΑΤΑ ΠΟΥ ΖΗΤΟΥΝ ΣΥΝΔΥΑΣΜΟ ΜΕΘΟΔΩΝ 5.63 Ένα κέντρο διασκέδασης έχει 35 τραπέζια. Κάθε Σάββατο ο ιδιοκτήτης κάνει δώρο το λογαριασμό σε όποια τραπέζια έχουν κάνει λογαριασμό μεγαλύτερο από το διπλάσιο του μέσου όρου όλων των τραπεζιών. Να γραφεί πρόγραμμα που θα εκτελεί τα παρακάτω : α. Θα διαβάζει όλους τους λογαριασμούς των τραπεζιών για το συγκεκριμένο Σάββατο. β. Θα εμφανίζει το μήνυμα Τα παρακάτω τραπέζια δεν πληρώνουν : και θα εμφανίζει τους αριθμούς των τραπεζιών που δικαιούνται το δώρο. γ. Είναι δυνατή η επίλυση χωρίς χρήση πίνακα ; Αιτιολογήστε την οποιαδήποτε απάντηση σας. 138

140 5.64 Ένα περιοδικό ηλεκτρονικών υπολογιστών αξιολόγησε 50 μοντέλα Η/Υ κάνοντας μία σειρά από τεστ στον καθένα. Για τον κάθε Η/Υ, ανάλογα με τις επιδόσεις του, υπολογίστηκε ο γενικός του δείκτης. Στα τέλος της αξιολόγησης δόθηκε ο τίτλος της «πιο έξυπνης αγοράς» στον Η/Υ που είχε το μεγαλύτερο λόγο γενικού δείκτη προς τιμή. Να αναπτύξετε αλγόριθμο που να διαβάζει 50 μοντέλα Η/Υ, τους γενικούς τους δείκτες και τις τιμές τους και να εμφανίζει το μοντέλο το οποίο αποτελεί την «πιο έξυπνη αγορά» Υποθέτουμε ότι διαθέτουμε σε ένα πίνακα Α[20] τα ονόματα 20 αυτοκινητοβιομηχανιών και σε ένα πίνακα Β[20] τον αριθμό αυτοκινήτων που πούλησαν κατά το έτος Να γίνει αλγόριθμος ο οποίος : α. Θα εμφανίζει τις μάρκες που έχουν κάνει πωλήσεις πάνω από β. Θα εμφανίζει τις μάρκες με τις περισσότερες πωλήσεις ( μπορεί να υπάρχουν περισσότερες από μια μάρκες με το μέγιστο αριθμό πωλήσεων ). γ. Να ταξινομεί σε αύξουσα σειρά ως προς τις πωλήσεις τις παραπάνω μάρκες Σε ένα αρχαιολογικό μουσείο υπάρχουν 10 αίθουσες με εκθέματα της ελληνιστικής περιόδου καθεμία με το δικό της νούμερο 1, 2, 10. Να γραφτεί ένα πρόγραμμα το οποίο: α. Θα διαβάζει τους ημερήσιους επισκέπτες κάθε αίθουσας β. Θα υπολογίζει το μέσο όρο επισκεπτών του μουσείου και στη συνέχεια γ. Θα τυπώνει πλήθος και το νούμερο των αιθουσών που ο ημερήσιος αριθμός επισκεπτών τους ήταν μεγαλύτερος από το μέσο όρο Να γίνει πρόγραμμα στη Γλώσσα το οποίο : α. Θα διαβάζει 2 πίνακες Α[50] και Β[50]. β. Θα υπολογίζει και θα εμφανίζει το πλήθος των στοιχείων του Α που είναι μεγαλύτερα από τα αντίστοιχα στοιχεία του Β. γ. Θα εμφανίζει το γινόμενο των στοιχείων των δύο πινάκων που βρίσκονται σε αντίστοιχες θέσεις Δίνονται 2 πίνακες Α[300] και Β[100] που περιέχουν πραγματικούς αριθμούς. Να γράψετε αλγόριθμο που θα μεταφέρει τις 100 πρώτες θέσεις του πίνακα Α σε ένα πίνακα Γ. Στη συνέχεια θα ελέγχει αν οι Β και Γ περιέχουν τα ίδια στοιχεία εμφανίζοντας τα κατάλληλα μηνύματα Στη δεξίωση ενός γάμου έχει καταρτιστεί λίστα καλεσμένων. Στον πίνακα ΟΝOM καταχωρείται το όνομα κάθε καλεσμένου και στον πίνακα ΤΡΑΠ καταχωρείται ο αριθμός του τραπεζιού όπου τοποθετείται. Σημειώνεται ότι τα τραπέζια διαθέτουν 10 θέσεις και ότι το συνολικό πλήθος των καλεσμένων είναι Να αναπτύξετε αλγόριθμο που με δεδομένα τα στοιχεία των πινάκων : 139

141 α. Θα διαβάζει ένα όνομα ενός καλεσμένου και θα εκτυπώνει το τραπέζι στο οποίο έχει τοποθετηθεί, β. Θα διαβάζει τον αριθμό ενός τραπεζιού και θα εκτυπώνει τη λίστα των ατόμων που κάθονται σε αυτό. γ. Θα εκτυπώνει το όνομα κάθε καλεσμένου με αλφαβητική σειρά, καθώς και το τραπέζι του. δ. Θα εκτυπώνει τα ονόματα των καλεσμένων της δεξίωσης ανά τραπέζι Σε ένα μονοδιάστατο πίνακα με το όνομα ΔΥΑΔ έχουμε αποθηκεύσει τα 20 ψηφία ενός δυαδικού αριθμού. Να γραφεί αλγόριθμος ο οποίος θα μετατρέπει τον παραπάνω δυαδικό στον αντίστοιχο αριθμό του δεκαδικού. Υπενθυμίζεται ότι ο αριθμός του δυαδικού μετατρέπεται σε αντίστοιχο του δεκαδικού ως εξής : Δίνονται δύο πίνακες Α[50] και Β[30] που περιέχουν ακέραιους αριθμούς. Να γίνει αλγόριθμος ο οποίος : α. Θα βρίσκει και θα εμφανίζει το μέγιστο στοιχείο του πίνακα Α. β. Θα βρίσκει και θα εμφανίζει το μέσο όρο του πίνακα Β. γ. Θα ελέγχει αν στις πρώτες 30 θέσεις του Α υπάρχουν αριθμοί μεγαλύτεροι από ότι στις αντίστοιχες θέσεις του Β. Στην περίπτωση που ισχύει το παραπάνω να εμφανίζει κατάλληλο μήνυμα Για καθέναν από τους 70 υπαλλήλους μιας εταιρείας διατηρούνται μεταξύ άλλων τα εξής στοιχεία : Ονοματεπώνυμο, οικογενειακή κατάσταση, μισθός και χρόνια υπηρεσίας στην εταιρεία. Να γράψετε πρόγραμμα το οποίο : α. Θα εισάγει στοιχεία στους πίνακες. β. Θα εμφανίζει τα στοιχεία των άγαμων υπαλλήλων. γ. Θα βρίσκει και θα εμφανίζει το ονοματεπώνυμο του πιο καλοπληρωμένου υπαλλήλου. δ. Θα ζητά ένα όνομα ως κλειδί και θα ελέγχει αν αυτό υπάρχει με αλγόριθμο σειριακής αναζήτησης. Στην συνέχεια αν αυτό υπάρχει θα τυπώνονται τα στοιχεία του συγκεκριμένου υπαλλήλου. ε. Θα εμφανίζει ταξινομημένη λίστα όλων των υπαλλήλων σε φθίνουσα σειρά με βάση τα χρόνια υπηρεσίας στην εταιρεία Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν πίνακα Α[500] με ακέραιους και στη συνέχεια θα τον αντιστρέφει. Δηλαδή το 1 ο στοιχείο θα γίνει 500 ο, το 2 ο 499 ο κ.ο.κ Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν πίνακα Β[233] με ακέραιους και στη συνέχεια θα τον αντιστρέφει. Δηλαδή το 1 ο στοιχείο θα γίνει 233 ο, το 2 ο 232 ο κ.ο.κ. 140

142 5.75 Να γίνει αλγόριθμος ο οποίος θα διαβάζει τα στοιχεία ενός πίνακα 800 θέσεων και θα εκτελεί τα παρακάτω : α. Θα εμφανίζει τα στοιχεία που βρίσκονται στις άρτιες θέσεις του πίνακα. β. Θα βρίσκει το ελάχιστο στοιχείο των περιττών θέσεων του πίνακα. γ. Θα υπολογίζει το άθροισμα των πολλαπλασίων του 5 που περιέχονται στον πίνακα Να γίνει αλγόριθμος οποίος με δεδομένα τα στοιχεία ενός πίνακα Κ[30] θα εκτελεί τα παρακάτω : α. Θα υπολογίζει το μέσο όρο των άρτιων στοιχείων. β. Θα υπολογίζει το μέγιστο των άρτιων θέσεων. γ. Θα συγκρίνει το αποτέλεσμα των α. και β. εμφανίζοντας τα κατάλληλα μηνύματα Δίνεται πίνακας που περιέχει 150 ακέραιους αριθμούς. Να γίνει αλγόριθμος που θα εκτελεί τα παρακάτω : α. Θα υπολογίζει μέσο όρο των στοιχείων. β. Θα εμφανίζει τα στοιχεία που είναι μεγαλύτερα από το μέσο όρο. γ. Θα εμφανίζει όλα τα στοιχεία του πίνακα με αντίστροφη σειρά Να γίνει αλγόριθμος ο οποίος : α. Θα διαβάζει 2 πίνακες Α[300] με ονοματα και Β[300] με επιδόσεις σε ένα αγώνισμα. Θα πρέπει να γινεται έλεγχος ορθότητας ώστε η επίδοση να είναι θετικός αριθμός και μικρότερη ίση του 10. β. Θα εμφανίζει τα ονόματα των αθλητών με την καλύτερη επίδοση. γ. Θα διαβάζει ένα όνομα αθλητή και αν αυτός υπάρχει στον πίνακα, θα εμφανίζει την επίδοση του. δ. Θα δημιουργεί έναν πίνακα που θα περιέχει για κάθε άνθρωπο το χαρακτηρισμό «προκρίθηκε» αν η επίδοση του ήταν >= 5 και το χαρακτηρισμό «απορρίφθηκε» σε αντίστοιχη περίπτωση. ε. Θα εμφανίζει ταξινομημένα σε αλφαβητική σειρά τα δεδομένα Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο να διαβάζει τα ονόματα και τις ηλικίες 50 ανθρώπων και να τα καταχωρεί στους πίνακες ΟΝΟΜ[50] και ΗΛ[50] αντίστοιχα. Στη συνέχεια : α. Να υπολογίζει το μέσο όρο της ηλικίας τους β. Να εμφανίζει το όνομα του μικρότερου σε ηλικία ανθρώπου 141

143 γ. Να εμφανίζει το όνομα του ανθρώπου που η ηλικία του βρίσκεται πιο κοντά στο μέσο όρο Δίνεται πίνακας που περιέχει 300 στοιχεία που μπορεί να είναι οι αριθμοί 1, 3 ή 5. Να γίνει αλγόριθμος που θα τοποθετεί πρώτα τα 1 μετά τα 3 και στο τέλος τα 5 χωρίς χρήση αλγόριθμου ταξινόμησης Να γράψετε πρόγραμμα που να τυπώνει διαδοχικές τριάδες αριθμών που βρίσκονται σε πίνακα 200 θέσεων έτσι ώστε να αποτελούν όρους γεωμετρικής προόδου. ( Θυμίζω ότι οι αριθμοί α,β,γ είναι διαδοχικοί όροι γεωμετρικής προόδου όταν β 2 =αγ ) 9. ΘΕΜΑΤΑ ΜΕ ΣΥΝΕΝΩΣΗ ΣΥΓΧΩΝΕΥΣΗ - ΔΙΑΧΩΡΙΣΜΟ 5.82 Να γίνει αλγόριθμος που θα πραγματοποιεί τη συνένωση 3 πινάκων Α[5], Β[12], Γ[15] σ έναν ενιαίο και στη συνέχεια θα εμφανίζει το νέο πίνακα ταξινομημένο σε φθίνουσα σειρά Να γίνει αλγόριθμος που θα πραγματοποιεί τη συνένωση 2 πινάκων Α[Ν], Β[Μ] σ έναν ενιαίο τοποθετώντας πρώτα τον Β και μετά τον Α. Στη συνέχεια θα βρίσκει και θα εμφανίζει το μέσο όρο και το μέγιστο στοιχείο του νέου πίνακα Δίνονται δύο ταξινομημένοι πίνακες σε αύξουσα σειρά που καθένας περιέχει 20 ακεραίους. Να γίνει αλγόριθμος που θα τους συγχωνεύει σε ένα νεό πίνακα Δίνονται δύο ταξινομημένοι πίνακες σε αύξουσα σειρά που ο ένας περιέχει 20 αριθμούς και ο άλλος 10. Να γίνει αλγόριθμος που θα τους συγχωνεύει σε ένα νεό πίνακα Να γίνει πρόγραμμα σε «Γλώσσα» το οποίο : α. Θα διαβάζει ένα πίνακα Π 100 ακεραίων. β. Θα διαχωρίζει τον Π σε δύο πίνακες που ο ένας θα περιέχει τα 25 πρώτα στοιχεία και ο άλλος τα υπόλοιπα Δίνεται πίνακας ΕΠ που περιέχει 1000 ακεραίους. Να γίνει αλγόριθμος που θα τον διασπάει σε δύο νέους πίνακες που ο ένας θα περιέχει όσους έχουν τελευταίο ψηφίο το 0 και ο άλλος τα πολλαπλάσια του Να γίνει αλγόριθμος ο οποίος : α. Θα διαβάζει έναν πίνακα Α[400] ελέγχοντας οι αριθμοί να είναι ακεραιοι και θετικοί. 142

144 β. Θα διασπάει τον παραπάνω πίνακα σε 2 άλλους. Ο ένας να περιέχει τους άρτιους και ο άλλος τους περιττούς αριθμούς. γ. Θα συγκρίνει τους μέσους όρους των νέων πινάκων εμφανίζοντας κατάλληλο μήνυμα Να γίνει αλγόριθμος ο οποίος : α. Θα διαβάζει έναν πίνακα Κ[100] ελέγχοντας οι αριθμοί να είναι ακεραιοι και διάφοροι του 0. β. Θα διασπάει τον παραπάνω πίνακα σε 2 άλλους. Ο ένας να περιέχει τους θετικούς και ο άλλος τους αρνητικους αριθμούς. γ. Θα συγκρίνει τις απόλυτες τιμές των αθροισμάτων τους εμφανίζοντας κατάλληλο μήνυμα Να γίνει αλγόριθμος ο οποίος : α. Θα διαβάζει έναν πίνακα χαρακτήρων Α[30] ελέγχοντας ώστε να επιτρέπονται τα στοιχεία Α ή Β. β. Θα δημιουργεί νέο πίνακα που θα περιέχει μόνο τα Α. 143

145

146 ΚΕΦΑΛΑΙΟ 6 ο ΠΙΝΑΚΕΣ ΔΥΟ ΔΙΑΣΤΑΣΕΩΝ

147

148 Κεφάλαιο 6 ο Πίνακες ύο ιαστάσεων Α. Θεωρία 6.1 Πίνακες Δύο Διαστάσεων Ένας πίνακας δύο διαστάσεων μπορεί να θεωρηθεί ως μια ορθογώνια διάταξη a11 a12 a13 αποθηκευμένων στοιχείων με την εξής μορφή : a21 a22 a23. Ο συγκεκριμένος a31 a32 a 33 πίνακας αποτελείται από τρεις γραμμές και τρεις στήλες, δηλαδή περιέχει 3x3 = 9 στοιχεία. Γενικά ένας τέτοιος πίνακας μπορεί να αποτελείται από N γραμμές και Μ στήλες και να περιέχει ΝxM στοιχεία. Αρχικά θα δείξουμε πως μπορεί να δηλωθεί ο δισδιάστατος πίνακας Δήλωση δεδομένων πινάκων σε αλγόριθμους Δίνεται πίνακας Α με 10 γραμμές και 15 στήλες που περιέχει στοιχεία. Δεδομένα // Α // Δίνεται πίνακας Π με τοποθετημένα στοιχεία σε Ν γραμμές και Μ στήλες. Δεδομένα // Π, Ν, Μ // Δήλωση πινάκων σε πρόγραμμα ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ : Α[100,10] ΧΑΡΑΚΤΗΡΕΣ : ΧΑΡ[11,5] ΛΟΓΙΚΕΣ : Ζ[10,2] ΑΚΕΡΑΙΕΣ : Μ[2,6] Σημειώνεται ότι σε προγράμματα οι πίνακες πρέπει πάντα να διαβάζονται για να γεμίσουν με στοιχεία Εισαγωγή στοιχείων σε πίνακα 10x6 ανά γραμμές με όνομα ΠΙΝΑΚΑΣ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 6 ΔΙΑΒΑΣΕ ΠΙΝΑΚΑΣ[ i, j ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 147

149 6.1.4 Εισαγωγή στοιχείων σε πίνακα 10x5 ανά στήλες με όνομα ΠΙΝΑΚΑΣ ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10 ΔΙΑΒΑΣΕ ΠΙΝΑΚΑΣ[ i, j ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Εμφάνιση αποθηκευμένων στοιχείων πίνακα 20x10 ανά γραμμές με όνομα ΠΙΝ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 10 ΓΡΑΨΕ ΠΙΝ[i,j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Εμφάνιση αποθηκευμένων στοιχείων πίνακα 20x10 ανά στήλες με όνομα ΠΙΝ ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 10 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20 ΓΡΑΨΕ ΠΙΝ[i,j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Υπολογισμός αθροίσματος όλων των στοιχείων του πίνακα Α[5,10] και εύρεση μέσου όρου SUM 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 10 SUM SUM + A[i,j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΜΟ SUM/ Υπολογισμός αθροίσματος των στοιχείων της 3ης γραμμής του πίνακα Α[5,4] SUM 0 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 4 SUM SUM + A[3,j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Υπολογισμός αθροίσματος της κάθε γραμμής πίνακα Β[5,4] ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 SUM 0 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 4 SUM SUM + B[i,j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ SUM Α[ i ] SUM! Αυτή η εντολή αποθηκεύει τα αθροίσματα σε νέο πίνακα ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ! σε περίπτωση που τα χρειαζόμαστε σε επόμενα ερωτήματα 148

150 Υπολογισμός μέσου όρου της κάθε στήλης πίνακα Β[5,4] ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 4 ΑΘΡ 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 ΑΘΡ ΑΘΡ + B[i,j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ MO ΑΘΡ/5 ΓΡΑΨΕ ΜΟ Α[ j ] MO! Αυτή η εντολή αποθηκεύει τους μέσους όρους σε νέο πίνακα ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ! σε περίπτωση που θα χρειαστούν σε επόμενα ερωτήματα. Σημαντική παρατήρηση!!! Όπως αναφέρθηκε στα προηγούμενα παραδείγματα, σε πολλές ασκήσεις κάποια στοιχεία που υπολογίζουμε είναι απαραίτητο να χρησιμοποιηθούν στα επόμενα ερωτήματα (π.χ. αθροίσματα γραμμών, μέσοι όροι κ.λ.π.). Έτσι είναι απαραίτητο να αποθηκευθούν ώστε να χρησιμοποιηθούν ξανά. Η αποθήκευση των στοιχείων αυτών γίνεται σε νέους μονοδιάστατους πίνακες. Ας δώσουμε ένα παράδειγμα : Σε μια άσκηση δίνονται οι μηνιαίες εισπράξεις 100 καταστημάτων στη διάρκεια 12 μηνών. Έτσι χρειαζόμαστε έναν πίνακα 100x12. Ένα ερώτημα ζητάει να υπολογιστούν οι συνολικές εισπράξεις κάθε καταστήματος. Αυτό σημαίνει άθροισμα της κάθε γραμμής αφού η καθεμιά γραμμή αναφέρεται σε ένα μόνο κατάστημα. Υποθέτουμε ότι σε επόμενο ερώτημα η άσκηση ζητάει το όνομα εκείνου του καταστήματος με τις περισσότερες εισπράξεις. Επομένως χρειάζεται να βρούμε το μέγιστο από τα στοιχεία που υπολογίστηκαν στο προηγούμενο ερώτημα. Για να είναι αυτό δυνατό θα πρέπει να τα έχουμε αποθηκεύσει σε μονοδιάστατο πίνακα 100 θέσεων. Στη συνέχεια ακολουθούν αρκετά παραδείγματα που δείχνουν τη μεθοδολογία κατασκευής νέων πινάκων. Η αποθήκευση μπορεί να γίνει και τον τρόπο που παρουσιάστηκε στο και Υπολογισμός αθροίσματος της κάθε γραμμής πίνακα Β[5,4] και τοποθέτηση σε πίνακα Α[5] ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 Α[i] 0 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 4 A[i] A[i] + B[i,j] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Υπολογισμός μέσου όρου της κάθε στήλης πίνακα Β[5,4] και τοποθέτηση σε πίνακα ΜΟ[4] ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 4 MO[ j ] 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 MO[ j ] MO[ j ] + B[ i, j ] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 149

151 MO[ j ] MO[ j ] / 5 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Εύρεση ολικού μεγίστου (ελαχίστου) στοιχείου πίνακα A 80x10 MAX A[1,1] ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 80 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 10 AN A[i,j] > MAX TOTE MAX A[i,j] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Εύρεση ελαχίστου (μεγίστου) στοιχείου της κάθε στήλης του πίνακα A 80x14 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 14 MIN A[1,j] ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 80 AN A[i,j] < MIN TOTE MIN A[i,j] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ΜΙΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Με παρόμοιο τρόπο προκύπτει εύρεση μεγίστου ελαχίστου στοιχείου της κάθε γραμμής ενός πίνακα. Στην περίπτωση που τα μέγιστα και τα ελάχιστα πρέπει να χρησιμοποιηθούν παρακάτω, πρέπει να αποθηκευθούν σε μονοδιάστατο πίνακα. Οι εντολές είναι ίδιες μόνο που η μεταβλητή ΜΙΝ ΜΑΧ πρέπει να αντικατασταθεί από πίνακα π.χ ΜΙΝ[10] ΜΑΧ[20] Εντοπισμός στοιχείων πίνακα που πληρούν συγκεκριμένη ιδιότητα Πολλές φορές μέσα σε έναν πίνακα πρέπει να αναζητήσουμε κάποια στοιχεία που ικανοποιούν κάποια συγκεκριμένη ιδιότητα. Ο εντοπισμός γίνεται σχεδόν πάντα με τη χρήση της δομής επιλογής (Εντολή ΑΝ). Η ιδιότητα που ζητάμε να πληρούν τα στοιχεία, εκφράζεται μέσα από τη συνθήκη της ΑΝ. Παραδείγματα α. Άθροισμα όλων των θετικών στοιχείων ενός πίνακα 800Χ100 SUM 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 800 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 100 ΑΝ Α[i, j] > 0 ΤΟΤΕ SUM SUM + A[i,j] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 150

152 β. Εμφάνιση στοιχείων του πίνακα Π[10,12] που είναι πολλαπλάσια του 2 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 12 ΑΝ Π[i, j] MOD 2 = 0 ΤΟΤΕ ΓΡΑΨΕ Π[i,j] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ γ. Μέτρημα μηδενικών στοιχείων της κάθε γραμμής πίνακα Π[10,20] και τοποθέτηση των αποτελεσμάτων σε πίνακα S[10] ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10 S[i] 0 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 20 ΑΝ Π[i, j] = 0 ΤΟΤΕ S[i] S[i] + 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Σειριακή αναζήτηση στοιχείου σε δισδιάστατο πίνακα Π, Ν γραμμών και Μ στηλών. DONE ΨΕΥΔΗΣ Γ 0 Σ 0 Ι 1 ΟΣΟ (Ι<=N) ΚΑΙ (DONE=ΨΕΥΔΗΣ) ΕΠΑΝΑΛΑΒΕ J 1 ΟΣΟ (J<=M) ΚΑΙ (DONE=ΨΕΥΔΗΣ) ΕΠΑΝΑΛΑΒΕ ΑΝ Π[Ι,J]=ΤΙΜΗ ΤΟΤΕ DONE ΑΛΗΘΗΣ Γ Ι Σ J ΑΛΛΙΩΣ J J + 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Ι Ι + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ DONE=ΑΛΗΘΗΣ ΤΟΤΕ ΓΡΑΨΕ Η ΤΙΜΗ,ΤΙΜΗ, ΠΟΥ ΖΗΤΑΣ ΒΡΕΘΗΚΕ ΣΤΗ ΘΕΣΗ (,Γ,,,Σ, ) ΑΛΛΙΩΣ ΓΡΑΨΕ 'Η ΤΙΜΗ ',ΤΙΜΗ, ' ΔΕΝ ΒΡΕΘΗΚΕ ΣΤΟΝ ΠΙΝΑΚΑ' ΤΕΛΟΣ_ΑΝ 151

153 Ταξινόμηση δισδιάστατου πίνακα 300x50 ανα γραμμή ΓΙΑ Γ ΑΠΟ 1 ΜΕΧΡΙ 300 ΓΙΑ I ΑΠΟ 2 ΜΕΧΡΙ 50 ΓΙΑ J ΑΠΟ 50 ΜΕΧΡΙ I ΜΕ_ΒΗΜΑ -1 ΑΝ Α[Γ, J-1] < Α[Γ, J] ΤΟΤΕ ΤΕΜΠ Α[Γ, J-1] Α[Γ, J-1] Α[Γ, J] Α[Γ, J] ΤΕΜΠ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ΤΑΞΙΝΟΜΗΘΗΚΕ Η,Γ, ΓΡΑΜΜΗ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Ταξινόμηση δισδιάστατου πίνακα 55x400 ανα στήλη ΓΙΑ Σ ΑΠΟ 1 ΜΕΧΡΙ 400 ΓΙΑ I ΑΠΟ 2 ΜΕΧΡΙ 55 ΓΙΑ J ΑΠΟ 55 ΜΕΧΡΙ I ΜΕ ΒΗΜΑ -1 ΑΝ ΤΙΜΕΣ[J-1, Σ] > ΤΙΜΕΣ[J, Σ] ΤΟΤΕ ΤΕΜΠ ΤΙΜΕΣ[J-1, Σ] ΤΙΜΕΣ[J-1, Σ] ΤΙΜΕΣ[J, Σ] ΤΙΜΕΣ[J, Σ] ΤΕΜΠ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ ΤΑΞΙΝΟΜΗΘΗΚΕ Η,Σ, ΣΤΗΛΗ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Ταξινόμηση των στοιχείων δύο πινάκων σε αύξουσα σειρά. Ο ένας θα είναι μονοδιάστατος Φ[400] και ο άλλος δισδιάστατος Τ[400,40]. Η ταξινόμηση θα γίνεται με βάση τα στοιχεία της 5ής στήλης του πίνακα Τ ενώ σε περίπτωση που υπάρχουν δυο ίσα στοιχεία θα ταξινομεί με βάση τα στοιχεία της 35ής στήλης. ΓΙΑ I ΑΠΟ 2 ΜΕΧΡΙ 400 ΓΙΑ J ΑΠΟ 400 ΜΕΧΡΙ I ΜΕ ΒΗΜΑ -1 ΑΝ Τ[J-1, 5] > Τ[J, 5] ΤΟΤΕ ΤΕΜΠ1 Φ[J-1] Φ[J-1] Φ[J] Φ[J] ΤΕΜΠ1 ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 40 ΤΕΜΠ2 Τ[J-1, Κ] Τ[J-1, Κ] Τ[J, Κ] Τ[J-1, Κ] ΤΕΜΠ2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΛΛΙΩΣ_ΑΝ Τ[J-1, 5] = Τ[J, 5] ΤΟΤΕ ΑΝ Τ[J-1, 35] > Τ[J, 35] ΤΟΤΕ ΤΕΜΠ1 Φ[J-1] Φ[J-1] Φ[J] Φ[J] ΤΕΜΠ1 ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ

154 ΤΕΜΠ2 Τ[J-1, Κ] Τ[J-1, Κ] Τ[J, Κ] Τ[J-1, Κ] ΤΕΜΠ2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Β. Ερωτήσεις 6.1 Ποιοι είναι οι λόγοι που μας οδηγούν στη χρήση πινάκων ; 6.2 Εξηγείστε τους λόγους για τους οποίους δεν πρέπει να γίνεται άσκοπη χρήση των πινάκων ; (μειονεκτήματα των πινάκων) 6.3 Ποιες είναι οι τυπικές επεξεργασίες μεταξύ πινάκων ; 6.4 Ποιοι είναι οι κυριότεροι αλγόριθμοι αναζήτησης και ποιες είναι οι διαφορές τους ; Γ. Λυμένα Θέματα 6.5 Μια ομάδα μπάσκετ διαθέτει 10 παίκτες. Να κατασκευάσετε πρόγραμμα το οποίο : α. Θα εισάγει τα ονοματεπώνυμα των παικτών σε κατάλληλο πίνακα β. Θα εισάγει σε κατάλληλο πίνακα τους πόντους που πέτυχε ο κάθε παίκτης σε καθέναν από τους 15 αγώνες του πρωταθλήματος γ. Θα υπολογίζει το πλήθος των πόντων που πέτυχε κάθε παίκτης. δ. Θα βρίσκει τον πρώτο σκόρερ της ομάδας ε. Θα ταξινομεί τα ονόματα των παικτών και τους πόντους που πέτυχαν σε φθίνουσα σειρά. Σε περίπτωση που 2 παίκτες πέτυχαν τον ίδιο αριθμό πόντων, η ταξινόμηση θα γίνεται με βάση το ονοματεπώνυμο. στ. Θα εμφανίζει λίστα ονομάτων και πόντων όσων πέτυχαν πάνω από 200. Στο συγκεκριμένο πρόγραμμα θα χρειαστούμε αρχικά δύο πίνακες. Ένα μονοδιάστατο για τα ονόματα των παικτών ΟΝΟΜ[10] και έναν δισδιάστατο Π[10,15] που θα περιέχει τους πόντους που πέτυχε ο καθένας σε κάθε αγώνα. Για παράδειγμα στη θέση (3,8) του πίνακα θα υπάρχουν οι πόντοι που πέτυχε ο 3 ος παίκτης στον 8 ο αγώνα. Στη συνέχεια στο γ. ερώτημα απαραίτητη είναι η χρήση ενός πίνακα μονοδιάστατου ΣΥΝ[10] στον οποίο θα αποθηκεύσουμε τους συνολικούς πόντους κάθε παίκτη. Στο ερώτημα ε. πρέπει να δοθεί ιδιαίτερη προσοχή στη ταξινόμηση των δύο πινάκων. Ας δούμε αναλυτικά τη λύση. 153

155 ΠΡΟΓΡΑΜΜΑ ΜΠΑΣΚΕΤ ΜΕΤΑΒΛΗΤΕΣ ΧΑΡΑΚΤΗΡΕΣ : ΟΝΟΜ[10], TEMP2 ΑΚΕΡΑΙΕΣ : Π[10,15], ΣΥΝ[10], Ι, J, Κ, ΜΑΧ, TEMP1 ΑΡΧΗ! α. ερώτημα ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10 ΔΙΑΒΑΣΕ ΟΝΟΜ[Ι] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ! β. ερώτημα ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10 ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 15 ΔΙΑΒΑΣΕ Π[Ι, J] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ! γ. ερώτημα : Άθροισμα ανά γραμμή στον πίνακα Π ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10 ΣΥΝ[Ι] 0 ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 15 ΣΥΝ[Ι] ΣΥΝ[Ι] + Π[Ι, J] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ! δ. ερώτημα : μέγιστο στον πίνακα ΣΥΝ και ταυτόχρονα στον ΟΝ ΜΑΧ ΣΥΝ[1] Κ 1 ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 10 ΑΝ ΣΥΝ[Ι] > ΜΑΧ ΤΟΤΕ ΜΑΧ ΣΥΝ[Ι] Κ Ι ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Ο ΠΑΙΚΤΗΣ ΠΟΥ ΠΕΤΥΧΕ ΤΟΥΣ ΠΕΡΙΣΣΟΤΕΡΟΥΣ ΠΟΝΤΟΥΣ ΕΙΝΑΙ & Ο, ΟΝΟΜ[Κ]! ε. ερώτημα : φυσαλίδα στους 2 πίνακες ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 10 ΓΙΑ J ΑΠΟ 10 ΜΕΧΡΙ Ι ΜΕ_ΒΗΜΑ -1 ΑΝ ΣΥΝ[J-1] < ΣΥΝ[J] ΤΟΤΕ TEMP1 ΣΥΝ[J-1] ΣΥΝ[J-1] ΣΥΝ[J] ΣΥΝ[J] TEMP1 TEMP2 ΟΝΟΜ[J-1] ΟΝΟΜ[J-1] ΟΝΟΜ[J] ΟΝΟΜ[J] TEMP2 ΑΛΛΙΩΣ_ΑΝ ΣΥΝ[J-1] = ΣΥΝ[J] ΤΟΤΕ ΑΝ ΟΝΟΜ[J-1] > ΟΝΟΜ[J] TEMP1 ΣΥΝ[J-1] ΣΥΝ[J-1] ΣΥΝ[J] ΤΟΤΕ 154

156 ΣΥΝ[J] TEMP1 TEMP2 ΟΝΟΜ[J-1] ΟΝΟΜ[J-1] ΟΝΟΜ[J] ΟΝΟΜ[J] TEMP2 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ! στ. ερώτημα ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10 ΑΝ ΣΥΝ[Ι] > 200 ΤΟΤΕ ΓΡΑΨΕ ΟΝΟΜ[Ι] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ, ΣΥΝ[Ι] 6.6 Ας υποθέσουμε ότι έχουμε ένα πίνακα Α[10,20] που περιέχει 200 φυσικούς. Θα δημιουργήσουμε 2 μονοδιάστατους 200 θέσεων Β και Γ. Ο Β θα περιέχει τους φυσικούς που είναι > 50 και ο Γ τους υπόλοιπους. Όπως αναφέρθηκε στο κεφάλαιο 5 μια σημαντική διεργασία των πινάκων είναι ο διαχωρισμός. Δηλαδή δοθέντος ενός πίνακα που περιέχει κάποιους αριθμούς να τον χωρίσουμε σε δύο ξεχωριστούς πίνακες ανάλογα με το αν οι αριθμοί πληρούν μια ιδιότητα. Πρέπει να σημειωθεί ότι καθένας από τους νέους πίνακες θα έχει διάσταση ίση με τον αρχικό για να καλύψουμε την περίπτωση ότι όλοι οι αριθμοί πληρούν την ισότητα που απαιτήσαμε και πρέπει να καταχωρηθούν στον ένα πίνακα. Ας δούμε τον αλγόριθμο. Αλγόριθμος Διαχωρισμός Δεδομένα // Α //! Μηδενισμός των πινάκων Β και Γ ( μπορεί και να παραληφθεί ) Για Ι από 1 μέχρι 200 Β[Ι] 0 Γ[Ι] 0 Τέλος_επανάληψης! Οι αριθμοί θα τοποθετούνται σε διαδοχικές θέσεις στους πίνακες Β και Γ. κ 0 λ 0 Για i από 1 μέχρι 10 Για j από 1 μέχρι 20 Αν Α[i, j] > 50 τότε κ κ+1 Β[κ] Α[i, j] αλλιώς λ λ+1 Γ[λ] Α[i, j] Τέλος_αν Τέλος_επανάληψης Τέλος_επανάληψης Τέλος Διαχωρισμός 155

157 6.7 Έστω ένας πίνακας Α[100,10] που μπορεί να δεχθεί ακέραιους και ένας Ο[100] που μπορεί να περιέχει χαρακτήρες. Να γράψετε πρόγραμμα στη «ΓΛΩΣΣΑ» που θα εκτελεί τα παρακάτω : α. Να βρίσκει μέγιστο ανά γραμμή στον Α και να το εμφανίζει β. Να βρίσκει μέσο όρο ανά στήλη στον Α και να το τοποθετεί σε κατάλληλο πίνακα. γ. Να βρίσκει άθροισμα ανά γραμμή στον Α και να το τοποθετεί σε πίνακα. δ. Να βρίσκει ελάχιστο στον πίνακα του γ. ερωτήματος και να εμφανίζει την αντίστοιχη τιμή του Ο στη θέση αυτή. ε. Να ταξινομεί τους πίνακες Ο και αυτόν του γ. ερωτήματος αλφαβητικά. Η παραπάνω άσκηση μας βοηθά στην εξάσκηση πολλών βασικών διεργασιών των δισδιάστατων πινάκων. Ας μελετήσουμε τη λύση της. ΠΡΟΓΡΑΜΜΑ ΔΙΕΡΓΑΣΙΕΣ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Α[100,10], Ι, J, ΜΙΝ, ΑΘΡ[100], ΜΕΣΟΣ, Τ2 ΧΑΡΑΚΤΗΡΕΣ : Ο[100], Τ1 ΠΡΑΓΜΑΤΙΚΕΣ : ΜΟ[10] ΑΡΧΗ ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100 ΔΙΑΒΑΣΕ Ο[Ι] ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 100 ΔΙΑΒΑΣΕ Α[I,J] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ α. ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100 ΜΑΧ Α[Ι,1] ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 10 ΑΝ Α[Ι,J] > MAX TOTE ΓΡΑΨΕ ΜΑΧ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ β. ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 10 ΜΕΣΟΣ 0 ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100 ΜΕΣΟΣ ΜΕΣΟΣ + Α[Ι,J] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΜΟ[J] ΜΕΣΟΣ/100 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ γ. ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100 ΑΘΡ[Ι] 0 ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 10 ΑΘΡ[Ι] ΑΘΡ[Ι] + Α[Ι, J] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 156

158 δ. ΜΙΝ ΑΘΡ[1] Κ 1 ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 100 ΑΝ ΑΘΡ[Ι] < ΜΙΝ ΤΟΤΕ ΜΙΝ ΑΘΡ[Ι] Κ Ι ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Ο[Κ] ε. ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 100 ΓΙΑ J ΑΠΟ 100 ΜΕΧΡΙ Ι ΜΕ_ΒΗΜΑ -1 ΑΝ Ο[J-1] > Ο[J] ΤΟΤΕ Τ1 Ο[J-1] Ο[J-1] Ο[J] Ο[J] Τ1 Τ2 ΑΘΡ[J-1] ΑΘΡ[J-1] ΑΘΡ[J] ΑΘΡ[J] Τ2 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Δ. Θέματα για λύση 1. ΘΕΩΡΗΤΙΚΑ ΘΕΜΑΤΑ 6.8 Για κάθε μια από τις παρακάτω προτάσεις να σημειώσετε (Σ) αν αυτή είναι σωστή και (Λ) αν αυτή είναι λάθος. α. Οι δομές δεδομένων διακρίνονται σε στατιστικές και δυναμικές. β. Η θέση ενός στοιχείου σ' έναν δισδιάστατο πίνακα καθορίζεται από δυο αριθμούς. γ. Υπερχείλιση συμβαίνει όταν γίνει απώθηση σε γεμάτη στοίβα. δ. Η σειριακή αναζήτηση και η δυαδική αναζήτηση μπορούν να χρησιμοποιηθούν σε όλους τους μονοδιάστατους πίνακες. ε. Η ταξινόμηση είναι χρήσιμη διαδικασία, γιατί έτσι εκτελείται γρηγορότερα η αναζήτηση. 6.9 Για κάθε μια από τις παρακάτω προτάσεις να σημειώσετε (Σ) αν αυτή είναι σωστή και (Λ) αν αυτή είναι λάθος. α. Όταν η αναζήτηση πραγματοποιείται σε ταξινομημένο πίνακα, τότε μπορεί να χρησιμοποιηθεί η δυαδική αναζήτηση. β. Η στοίβα και η ουρά είναι δυναμικές δομές δεδομένων. γ. Η εντολή άθροισμα ΠΙΝ τοποθετεί το άθροισμα των στοιχείων του πίνακα ΠΙΝ στην ομώνυμη μεταβλητή. 157

159 δ. Δυο από τις βασικές λειτουργίες επί των δομών δεδομένων είναι η ώθηση και η απώθηση. ε. Δομή δεδομένων είναι ένα σύνολο αποθηκευμένων δεδομένων όπου μπορούμε να εφαρμόσουμε μια σειρά λειτουργιών Ποια θα είναι η τελική μορφή που θα πάρει ο πίνακας Α που κατασκευάζει το παρακάτω τμήμα αλγορίθμου. Για i από 1 μέχρι 5 Για j από 1 μέχρι 5 Αν (i+j) mod 2 = 0 τότε Α[i,j] (i+j) div 2 Αλλιώς Α[i,j] (i+j)*2 Τέλος_αν Τέλος_επανάληψης Τέλος_επανάληψης σ γ 1 η 2 η 3 η 4 η 5 η 1 η 2 η 3 η 4 η 5 η 6.11 Δίνεται ο πίνακας Α (σχήμα 1) και το παρακάτω τμήμα προγράμματος: sum 0 ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5 ΑΝ i <> j TOTE sum sum + A[i,j] A[i,j] 0 AΛΛΙΩΣ A[i,j] 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ sum Αυτό το τμήμα προγράμματος χρησιμοποιεί τον πίνακα Α, με τις τιμές των στοιχείων του, όπως αυτές φαίνονται στο σχήμα Σχήμα 1: Πίνακας Α α. Να σχεδιάσετε στο τετράδιό σας τον πίνακα Α με τις τιμές που θα έχουν τα στοιχεία του, μετά την εκτέλεση του τμήματος προγράμματος. β. Ποια είναι η τιμή της μεταβλητής sum που θα εμφανιστεί ; 158

160 6.12 Να γράψετε τις εντολές που δημιουργούν τους παρακάτω πίνακες : Να αναπτύξετε ξεχωρίστό τμήμα αλγορίθμου για καθεμιά από τις παρακάτω διεργασίες πινάκων α. Εύρεση μεγίστου ανά γραμμή πίνακα Α[5,4] και τοποθέτηση σε κατάλληλο πίνακα. β. Υπολογισμός και εκτύπωση μέσου όρου κάθε στήλης, πίνακα Α[8,12]. γ. Υπολογισμός του μέσου όρου των ελαχίστων των γραμμών ενός πίνακα Α[35,10] δ. Αλφαβητική ταξινόμηση πίνακα χαρακτήρων Α[120] 2. ΘΕΜΑΤΑ ΠΟΥ ΖΗΤΟΥΝ ΕΙΣΑΓΩΓΗ ΕΞΑΓΩΓΗ ΣΤΟΙΧΕΙΩΝ 6.14 Να γραφεί αλγόριθμος που θα εμφανίζει τα στοιχεία ενός δεδομένου πίνακα Α 5 4 κατά γραμμές Να γραφεί αλγόριθμος που θα εμφανίζει τα στοιχεία ενός δεδομένου πίνακα Ν Μ κατά στήλες Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο : α. Θα διαβάζει τα στοιχεία του πίνακα ακεραίων Α[3,9] κατά στήλες. β. Θα εμφανίζει τα στοιχεία του κατά γραμμές Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο : α. Θα διαβάζει τα στοιχεία ενός πίνακα χαρακτήρων Β[4,12] κατά γραμμές. β. Θα εμφανίζει τα στοιχεία μόνο της 3 ης γραμμής Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο : α. Θα διαβάζει τα στοιχεία ενός πίνακα με ακεραίους Γ[12,10]. β. Θα εμφανίζει τα πολλαπλάσια του 3 που βρίσκονται στις περιττές στήλες Να γραφεί αλγόριθμος που θα εισάγει στοιχεία σε έναν πίνακα 2 6 και στη συνέχεια θα εμφανίζει κατά στήλες μόνο όσα είναι μεγαλύτερα του μηδενός. 159

161 3. ΘΕΜΑΤΑ ΠΟΥ ΖΗΤΟΥΝ ΑΘΡΟΙΣΜΑΤΑ ΜΕΣΟΥΣ ΟΡΟΥΣ Κ.Λ.Π Να γραφεί αλγόριθμος που θα διαβάζει έναν πίνακα πραγματικών. Στη συνέχεια θα υπολογίζει και θα εμφανίζει το άθροισμα των στοιχείων που βρίσκονται στις θέσεις που έχουν περιττό άθροισμα γραμμής και στήλης Να γράψετε πρόγραμμα στη «ΓΛΩΣΣΑ» που θα διαβάζει τα ονόματα και τα μηνιαία κέρδη 50 εταιρειών πληροφορικής για ένα έτος και στη συνέχεια θα εμφανίζει τις 3 κατά μέσο όρο πιο κερδοφόρες Ένα κατάστημα πώλησης αυτοκινήτων εμπορεύεται 5 μάρκες αυτοκινήτων για κάθε μάρκα 4 μοντέλα. Οι τιμές αποθηκεύονται σε έναν πίνακα 5 4 με όνομα ΤΙΜΕΣ. Να γραφεί αλγόριθμος που θα εκτελεί τα παρακάτω : α. Θα εμφανίζει το μήνυμα Δώστε τιμές αυτοκινήτων και στη συνέχεια θα τοποθετεί στον πίνακα την τιμή κάθε αυτοκινήτου. β. Θα εμφανίζει το μέσο όρο της τιμής πώλησης για κάθε μάρκα αυτοκινήτου καθώς επίσης και το μέσο όρο για όλα τα αυτοκίνητα Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που θα τοποθετεί τιμές σ ένα πίνακα Γ[4,5]. Μετά θα υπολογίζει το άθροισμα κάθε γραμμής και κάθε στήλης και θα τα τοποθετεί στους πίνακες Ε και Ζ αντίστοιχα Εν όψει της προεκλογικής περιόδου μια εταιρεία δημοσκοπήσεων έκανε μια έρευνα σε 5 διαφορετικές περιοχές μιας πόλης για λογαριασμό των κομμάτων Α και Β. Τα αποτελέσματα υπάρχουν σε ένα πίνακα Ψ[ 2, 5] Να γραφεί αλγόριθμος που θα υπολογίζει τα παρακάτω : α. Θα υπολογίζει το σύνολο των ερωτηθέντων. β. Θα υπολογίζει το ποσοστό που συγκεντρώνει το κόμμα Α και το κόμμα Β. γ. Θα κάνει πρόβλεψη για το νικητή των επόμενων εκλογών τυπώνοντας κατάλληλα μηνύματα. 4. ΘΕΜΑΤΑ ΠΟΥ ΖΗΤΟΥΝ ΑΛΛΕΣ ΔΙΕΡΓΑΣΙΕΣ 6.25 Δίνεται πίνακας Π δύο διαστάσεων, που τα στοιχεία του είναι ακέραιοι αριθμοί με Ν γραμμές και Μ στήλες. Να αναπτύξετε αλγόριθμο που θα υπολογίζει το μέγιστο στοιχείο του πίνακα Να γραφεί αλγόριθμος που θα δημιουργεί πίνακα 50x100 και θα τον γεμίζει με στοιχεία ως εξής. Κάθε στοιχείο θα είναι το τετράγωνο της διαφοράς του Ι με το (J mod 2). Στη συνέχεια βρείτε μέγιστο και ελάχιστο του πίνακα. 160

162 6.27 α. Να τροποποιήσετε τον αλγόριθμο σειριακής αναζήτησης ώστε να αναζητά το κλειδί 999 στις άρτιες γραμμές και περιττές στήλες δισδιάστατου πίνακα Α[1000,500]. β. Να κατασκευάσετε τμήμα αλγορίθμου που θα ταξινομεί την κάθε γραμμή ενός δοσμένου πίνακα Α[20,32] σε αύξουσα σειρά Να γραφτεί αλγόριθμος που θα υλοποιεί το γινόμενο των αντίστοιχων στοιχείων δύο πινάκων ΝxM, καθώς επίσης και το άθροισμα τους. Στη συνέχεια θα εμφανίζει τους πίνακες που προέκυψαν Να γίνει αλγόριθμος ο οποίος θα διαβάζει έναν πίνακα Α[30,80] και στη συνέχεια : α. Να βρίσκει το μέσο όρο των ελαχίστων της κάθε στήλης. β. Να διαβάζει ένα κλειδί (key) και θα εντοπίζει αν αυτό υπάρχει στον πίνακα. Σε περίπτωση που υπάρχει θα εμφανίζει τη γραμμή και τη στήλη που βρέθηκε Δίνεται ένας πίνακας ΣΤΟΙΧΕΙΑ[100,2] που περιέχει τα ονοματεπώνυμα 100 υπόπτων που υπάρχουν στα αρχεία ενός αστυνομικού τμήματος. Στην 1 η στήλη περιέχονται τα ονόματα ενώ στη 2 η τα επώνυμα. Να γίνει αλγόριθμος που θα εμφανίζει ταξινομημένα σε αλφαβητική σειρά όλα τα ονοματεπώνυμα. Σε περίπτωση που δύο ύποπτοι έχουν ίδιο επώνυμο η ταξινόμηση θα γίνεται με βάση το μικρό όνομα 6.31 Να γίνει αλγόριθμος ο οποίος : α. Να εισάγει στοιχεία σε πίνακες ΑΤ[40] και Ζ[40,50]. β. Να βρίσκει το μέσο όρο της κάθε γραμμής του Ζ. γ. Να βρίσκει την τιμή του ΑΤ που αντιστοιχεί στο μικρότερο μέσο όρο του β ερωτήματος. δ. Να ταξινομεί τους δύο πίνακες σε αύξουσα σειρά με βάση τα στοιχεία του πίνακα ΑΤ Δίνονται οι πίνακες Ο[100] που περιέχει ονόματα 100 επιβατών μιας αμαξοστοιχείας και ο πίνακας Ζ[100,3] που περιέχει την ηλικία, τον κωδικό δρομολογίου και την τιμή του εισιτηρίου του καθενός. Να γίνει αλγόριθμος ο οποίος : α. Να διαβάζει τους πίνακες. β. Να ταξινομεί σε αύξουσα σειρά όλα τα στοιχεία με βάση τον κωδικό δρομολογίου. γ. Να τυπώνει λίστα όλων των στοιχείων. 161

163 6.33 Να γραφτεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο θα εκτελεί τις παρακάτω λειτουργίες. α. Τοποθετεί τις 20 τιμές και τις συχνότητες μιας μεταβλητής x i σε έναν δισδιάστατο πίνακα κατάλληλων διαστάσεων. β. Υπολογίζει και εμφανίζει τα ν, x ν και στη συνέχεια τη μέση τιμή x. 2 γ. Υπολογίζει και εμφανίζει το ( xi x ) νi και στη συνέχεια τη διακύμανση S 2. δ. Υπολογίζει συντελεστή μεταβλητότητας και βγάζει συμπεράσματα ως προς την ομοιογένεια του δείγματος τυπόνωντας και μηνύματα Να γίνει αλγόριθμος που θα υλοποιεί τη διάσπαση ενός πίνακα Α[50,40] σε τρείς μονοδιάστατους πίνακες ώστε ο πρώτος να περιέχει τους άρτιους, ο δεύτερος τους αρνητικούς και ο τρίτος τα πολλαπλάσια του Να γίνει αλγόριθμος ο οποίος : α. Θα διαβάζει έναν τρισδιάστατο πίνακα Α[5,12,30] ο οποίος περιέχει τις ημερήσιες εισπράξεις 5 καταστημάτων μιας εταιρείας για κάθε μηνα στη διάρκεια ενός έτους. β. Θα εμφανίζει τις εισπράξεις του 3 ου καταστήματος για το μήνα Απρίλιο. γ. Θα εμφανίζει ποια καταστήματα, σε ποιές μέρες και σε ποιο μήνα έκαναν εισπράξεις πάνω από δ. Θα υπολογίζει τις συνολικές εισπράξεις του κάθε καταστήματος για κάθε μήνα χωριστά. ε. Θα υπολογίζει για κάθε κατάστημα τη μέση είσπραξη του μήνα Ιουνίου Δίνεται ένας πίνακας Α[1000,2] που περιέχει τα ονόματα και τα επώνυμα 1000 πελατών μιας τράπεζας στην πρώτη και δεύτερη στήλη αντίστοιχα. Να γίνει αλγόριθμος ο οποίος : α. Θα ταξινομεί τον πίνακας σε αλφαβητική σειρά με βάση το επώνυμο. i i _ β. Θα εμφανίζει σε μια γραμμή το όνομα και το επώνυμο όσων έχουν επωνυμο «Μανιατέας». _ 5. ΘΕΜΑΤΑ ΠΟΥ ΖΗΤΟΥΝ ΣΥΝΔΥΑΣΜΟ ΔΙΕΡΓΑΣΙΩΝ 6.37 Να γραφτεί αλγόριθμος ο οποίος θα κατασκευάζει έναν πίνακα 5x5 με τον 1 ακόλουθο τρόπο. Στις θέσεις που i = j (κύρια διαγώνιος) θα τοποθετεί το στοιχείο i 2 2. j Στις θέσεις που i > j θα τοποθετεί το 5 και στις υπόλοιπες θέσεις το 1. Στη συνέχεια θα βρίσκει και θα εμφανίζει μέσο όρο ανά γραμμή και μέγιστο στοιχείο ανά στήλη. 162

164 6.38 Να γίνει αλγόριθμος που θα διαβάζει 2 αριθμητικούς πίνακες Α[300] και Β[10,300] και στη συνέχεια : α. Θα βρίσκει και θα εμφανίζει το πλήθος των θετικών αριθμών που υπάρχουν στον Β. β. Θα προσδιορίζει το πλήθος των μηδενικών ανά στήλη του Β και θα τα τοποθετεί σε κατάλληλο μονοδιάστατο πίνακα. γ. Θα βρίσκει το μέγιστο του Α και το ελάχιστο του πίνακα που δημιουργήσατε και θα τα συγκρίνει τυπώνοντας τα κατάλληλα μηνύματα Σε μια ομάδα μπάσκετ ο προπονητής αποφάσισε να κρατά στον ηλεκτρονικό υπολογιστή, πίνακα με τους πόντους που πέτυχαν οι 12 παίκτες που έχει στους 18 αγώνες της αγωνιστικής περιόδου, ώστε να μπορεί να επεξεργάζεται τα δεδομένα αυτά. Έτσι ανέθεσε σε εσάς να αναπτύξετε τον αλγόριθμο που θέλει. Από τις απαιτήσεις του προπονητή από τον αλγόριθμο προκύπτει ότι ο αλγόριθμος που θα κάνετε θα πρέπει: α. Να διαβάζει το όνομα του κάθε παίκτη και τους πόντους που πέτυχε σε κάθε αγώνα κατά την προηγούμενη αγωνιστική περίοδο. β. Να εμφανίζει το όνομα του παίκτη με τον μεγαλύτερο μέσο όρο πόντων. γ. Να εμφανίζει το όνομα του κάθε παίκτη και τον μεγαλύτερο αριθμό πόντων που πέτυχε σε ένα παιχνίδι από όλη την αγωνιστική περίοδο 6.40 Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο : α. Θα διαβάζει τα στοιχεία ενός δισδιάστατου πίνακα ακεραίων, table με 15 γραμμές και 8 στήλες. β. Θα βρίσκει το μέγιστο στοιχείο κάθε γραμμής. γ. Θα υπολογίζει το μέσο όρο των μεγίστων. δ. Θα τυπώνει το μέσο όρο των στοιχείων του πίνακα που είναι μεγαλύτερα από τα 5/6 του μέσου όρου των μεγίστων Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο : α. Αποθηκεύει τα ονόματα των 5 πόλεων σε έναν μονοδιάστατο πίνακα. β. Αποθηκεύει τις τιμές 10 διαφορετικών προϊόντων στις 5 διαφορετικές πόλεις σε κατάλληλο δισδιάστατο πίνακα. γ. Να υπολογίζει και να εμφανίζει το μέσο όρο τιμής κάθε προϊόντος και στις 5 πόλεις. δ. Να υπολογίζει και να εμφανίζει το μέσο όρο κόστους των προϊόντων σε κάθε πόλη. ε. Να υπολογίζει και να εμφανίζει το όνομα της ακριβότερης πόλης κατά μέσο όρο. 163

165 6.42 Να γίνει αλγόριθμος ο οποίος : α. Θα εισάγει τα ονόματα 50 αθλητών σε κατάλληλο πίνακα. β. Θα εισάγει τις 5 ρίψεις του καθενός σε κατάλληλο πίνακα. γ. Θα ταξινομεί σε άυξουσα σειρά τις ρίψεις του κάθε αθλητή και στη συνέχεια θα εμφανίζει το όνομα του καθενός και τις 3 καλύτερες ρίψεις που έκανε. Σημείωση : Να εκτυπώνονται σε μια γραμμή. δ. Θα εμφανίζει το όνομα του αθλητή με την κατά μέσο όρο καλύτερη ρίψη. Θεωρήστε ότι είναι μόνο ένας Δίνονται δύο πίνακες ακεραίων Α[310] και Β[310,5]. Να γίνει αλγόριθμος ο οποίος θα εκτελεί τα παρακάτω : α. Θα εξετάζει αν ο Α περιέχει τα ιδία στοιχεία με την 1 η στήλη του Β και να εμφανίζει κατάλληλα μηνύματα σε κάθε περίπτωση. β. Θα υπολογίζει το μέσο όρο της κάθε στήλης. γ. Θα υπολογίζει το ελάχιστο στοιχείο της κάθε γραμμής και να το τοποθετεί σε κατάλληλο πίνακα Γ. δ. Θα συγκρίνει τους πίνακες Α και Γ αν περιέχουν ίδια στοιχεία Μια αλυσίδα ξενοδοχείων έχει 5 ξενοδοχεία. Σε ένα μονοδιάστατο πίνακα Ξ[5] καταχωρούνται τα ονόματα των ξενοδοχείων. Σε ένα άλλο δισδιάστατο πίνακα ΕΙΣ[5,12] καταχωρούνται οι εισπράξεις κάθε ξενοδοχείου για κάθε μήνα του έτους 2002, έτσι ώστε στην i γραμμή καταχωρούνται οι εισπράξεις του i ξενοδοχείου. Να αναπτύξετε πρόγραμμα στη «ΓΛΩΣΣΑ», το οποίο: α. Διαβάζει τα στοιχεία των δύο πινάκων. β. Εκτυπώνει το όνομα κάθε ξενοδοχείου και τις ετήσιες εισπράξεις του για το έτος γ. Εκτυπώνει το όνομα του ξενοδοχείου με τις μεγαλύτερες ετήσιες εισπράξεις Κατά τη διάρκεια Διεθνών Αγώνων Στίβου στον ακοντισμό έλαβαν μέρος δέκα (10) αθλητές. Κάθε αθλητής έκανε έξι (6) έγκυρες ρίψεις που καταχωρούνται ως επιδόσεις σε μέτρα. Να αναπτύξετε πρόγραμμα, το οποίο: α. Εισάγει σε πίνακα δύο διαστάσεων τις επιδόσεις όλων των αθλητών. β. Υπολογίζει και καταχωρεί σε μονοδιάστατο πίνακα την καλύτερη από τις επιδόσεις κάθε αθλητή. γ. Ταξινομεί τις καλύτερες επιδόσεις των αθλητών που καταχωρήθηκαν στο μονοδιάστατο πίνακα. δ. Εμφανίζει την επίδοση του αθλητή που πήρε το χάλκινο μετάλλιο (τρίτη θέση). 164

166 6.46 Στις μαθητικές εκλογές του σχολείου σας, αναλάβατε να φτιάξετε ένα πρόγραμμα στη «ΓΛΩΣΣΑ» για την ευκολότερη καταμέτρηση των ψήφων. Το σχολείο σας έχει συνολικά 500 παιδιά εκ των οποίων τα 32 έθεσαν υποψηφιότητα. Δεδομένου ότι ο κάθε υποψήφιος έχει έναν κωδικό αριθμό από το 1 έως το 32, το πρόγραμμα θα πρέπει να λειτουργεί ως εξής : α. Να διαβάζει για καθέναν από τους ψηφοφόρους τον κωδικό του υποψηφίου που ψήφισε ελέγχοντας την εγκυρότητα ώστε να είναι από 1 μέχρι 32. β. Να υπολογίζει και να εμφανίζει τον κωδικό αριθμό του υποψηφίου που πήρε τους περισσότερους ψήφους Μια αλυσίδα εστιατορίων γρήγορης εξυπηρέτησης έχει 20 καταστήματα σε πόλεις όλης της Ελλάδας. Να γράψετε πρόγραμμα που : α. Θα αποθηκεύει σε μονοδιάστατο πίνακα τα ονόματα των πόλεων στις οποίες υπάρχει κατάστημα και τις ημερήσιες εισπράξεις κάθε καταστήματος για ένα μήνα σε πίνακα 2 διαστάσεων. β. Στη συνέχεια πρέπει να υπολογίζει το μηνιαίο τζίρο της επιχείρησης ανά κατάστημα και συνολικά. γ. Τέλος θα τυπώνει στην οθόνη μια ταξινομημένη σε φθίνουσα σειρά λίστα της μορφής «Οι εισπράξεις του καταστήματος ΧΧΧΧ είναι ΧΧΧΧ» Μια τράπεζα απασχολεί 200 υπαλλήλους και τρία από τα στοιχεία που διαθέτει είναι τα ονόματα, οι μισθοί τους σε και η αποδοτικότητα τους με άριστα το 10. Να γραφτεί αλγόριθμος που : α. Θα εμφανίζει τους 10 μικρότερους μισθούς μαζί με τα ονόματα των υπαλλήλων που έχουν αυτούς τους μισθούς. β. Και στη συνέχεια να βρίσκει ποιος από τους 200 υπαλλήλους έχει την καλύτερη απόδοση Μια εταιρία διεξήγαγε διαγωνισμό για τη στελέχωση του προσωπικού της. Στο διαγωνισμό έλαβαν μέρος 500 υποψήφιοι, οι οποίοι διαγωνίστηκαν σε 5 μαθήματα. Η βαθμολογία κάθε υποψηφίου έγινε σε κλίμακα 1 έως 100. Τελικά προσλήφθηκαν εκείνοι των οποίων ο μέσος όρος που συγκέντρωσαν στα 5 μαθήματα ήταν μεγαλύτερος από τα 3/5 του μέσου όρου. Να γίνει πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο να διαβάζει τους βαθμούς των διαγωνιζομένων, να τους τοποθετεί σε έναν πίνακα (500 x 5) και να εμφανίζει το πλήθος των υπαλλήλων που προσλήφθηκαν Να γραφτεί αλγόριθμος ο οποίος : α. Θα ζητάει τα ονόματα 10 εταιρειών και 40 ημερήσιες εισπράξεις καθεμιάς. β. Θα εμφανίζει το σύνολο κάθε εταιρείας. γ. Θα εμφανίζει το σύνολο κάθε μέρας. 165

167 δ. Θα βρίσκει και θα εμφανίζει το όνομα της χειρότερης εταιρείας. ε. Θα βρίσκει και θα εμφανίζει τις 5 χειρότερες εισπράξεις καθώς επίσης και σε ποιες μέρες εμφανίστηκαν Να γράψετε αλγόριθμο ο οποίος : α. Θα εισάγει ακέραιους σε πίνακα 20x50. β. Θα υπολογίζει το πλήθος των αρνητικών αριθμών. γ. Θα υπολογίζει και θα εμφανίζει το γινόμενο των πολλαπλασίων του 4. δ. Θα βρίσκει το άθροισμα όλων των στοιχείων του πίνακα και θα το συγκρίνει με το παραπάνω γινόμενο εμφανίζοντας κατάλληλο μήνυμα Μια ομάδα ποδοσφαίρου διαθέτει 20 παίκτες. Να κατασκευάσετε πρόγραμμα το οποίο : α. Θα εισάγει τα ονοματεπώνυμα των παικτών σε κατάλληλο πίνακα. β. Θα εισάγει σε κατάλληλο πίνακα τα γκολ που πέτυχε ο κάθε παίχτης σε καθέναν από τους 32 αγώνες του πρωταθλήματος. γ. Θα υπολογίζει το πλήθος των γκολ που πέτυχε κάθε παίχτης. δ. Θα βρίσκει τον πρώτο σκόρερ της ομάδας. ε. Θα ταξινομεί τα ονόματα των παιχτών και τα γκολ που πέτυχαν σε φθίνουσα σειρά. Σε περίπτωση που 2 παίχτες πέτυχαν τον ίδιο αριθμό γκολ, η ταξινόμηση θα γίνεται με βάση το ονοματεπώνυμο. στ. Θα εμφανίζει τα παραπάνω ταξινομημένα στοιχεία Ένα κατάστημα φωτογραφικών ειδών έχει προς πώληση 200 διαφορετικά μοντέλα ψηφιακών φωτογραφικών μηχανών. Να γράψετε αλγόριθμο ο οποίος : α. θα διαβάζει τα μοντέλα των ψηφιακών και θα τα αποθηκεύει σε κατάλληλο πίνακα. β. θα διαβάζει τα mega pixels της κάθε μιας, την τιμή της σε και θα τα αποθηκεύει σε δισδιάστατο πίνακα γ. θα ταξινομεί σε φθίνουσα σειρά ως προς την τιμή της μηχανής. δ. θα διαβάζει το μοντέλο μιας μηχανής και θα εμφανίζει τα mega pixel της και την τιμή της Η ΕΜΥ μελετά τις Θερμοκρασίες σε διάφορες πόλεις της Ελλάδας, Καταχωρούνται λοιπόν τα ονόματα των 200 πόλεων που συμμετέχουν στην έρευνα καθώς και οι θερμοκρασίες των πόλεων αυτών τον μήνα που πέρασε (30 ημέρες). Να αναπτύξετε αλγόριθμο που: 166

168 α. Θα διαβάζει τα απαραίτητα στοιχεία. β. Θα εντοπίζει και θα εκτυπώνει το όνομα της κατά μέσο όρο θερμότερης πόλης του μήνα. γ. Θα εντοπίζει για κάθε πόλη τις μέρες του μήνα όπου υπάρχει θερμοκρασία μεγαλύτερη από την προηγούμενη και την επόμενη ημέρα. δ. Θα βρίσκει σε ποιες πόλεις παρουσιάστηκε τουλάχιστον 10 φορές θερμοκρασία μεγαλύτερη από 22 C Να αναπτύξετε αλγόριθμο ο οποίος, με δεδομένα τα στοιχεία δύο ίδιων διαστάσεων δισδιάστατων πινάκων με αριθμούς, θα εξετάζει αν οι πίνακες είναι ίδιοι. Στην περίπτωση που δεν είναι ίδιοι, θα εκτυπώνει το ποσοστό των στοιχείων που είναι ίσα 6.56 Η εταιρεία παπουτσιών «Νigati China Industries» εισάγει και προωθεί 20 προϊόντα στην ελληνική αγορά, οι τιμές των οποίων περιέχονται στον πίνακα Τ[20], και τα ονόματα τους στον πίνακα ΕΠ[20]. Οι πωλήσεις σε τεμάχια που επιτεύχθηκαν από καθέναν από τους 200 πωλητές της εταιρείας περιέχονται στον δισδιάστατο πίνακα ΠΩΛ[200, 20], ενώ τα ονόματα των 200 πωλητών είναι αποθηκευμένα στον πίνακα Ο[200]. Να αναπτύξετε αλγόριθμο που με δεδομένα τα παραπάνω στοιχεία: α. Θα υπολογίζει το συνολικό ποσό είσπραξης κάθε πωλητή και θα εκτυπώνει την προμήθεια που θα πάρει (10% επί των πωλήσεων), β. Θα διαβάζει την επωνυμία ενός προϊόντος και θα εκτυπώνει ποιος πωλητής έκανε τις περισσότερες πωλήσεις σ' αυτό. γ. Θα εκτυπώνει τα 5 προϊόντα με τις περισσότερες πωλήσεις. (Να θεωρήσετε ότι είναι ακριβώς 5 τα προϊόντα,) 6.57 Να γραφεί αλγόριθμος ο οποίος για ένα δεδομένο πίνακα Α 10x10 διαβάζει 2 αριθμούς που αντιστοιχούν σε γραμμές στον πίνακα και στη συνέχεια θα αντιμεταθέτει τις συγκεκριμένες γραμμες που διαβάσατε. Χρειάζεται προσοχή ώστε να γίνεται έλεγχος προκειμένου να αποφευχθεί να διαβάζονται γραμμές μεγαλύτερες από το 10 ή μικρότερες ή ίσες του μηδέν Μια τάξη αποτελείται από 25 μαθητές οι οποίοι πήραν βαθμό σε 12 μαθήματα. Να γραφεί αλγόριθμος οποίος : α. Θα αποθηκεύει τα ονόματα των μαθητών σε κατάλληλο πίνακα. β. Θα αποθηκεύει τις βαθμολογίες σε κατάλληλο πίνακα. γ. Θα βρίσκει μεσο όρο του κάθε μαθητή. δ. Θα βρίσκει και θα τυπώνει το όνομα και τη βαθμολογία του καλύτερου μαθητή της τάξης 167

169 ε. Θα ταξινομεί τα ονοματα και τους μέσους όρους αλφαβητικά σε άυξουσα σειρά ονόματος. Σε περίπτωση που δύο μαθητές έχουν ίδιο όνομα η ταξινόμηση θα γίνεται με βάση την υψηλότερη βαθμολογία. στ. Θα εμφανίζει τα ονόματα και τους μέσους όρους των μαθητών που πήραν πάνω από 18, Σ' ένα διαγωνισμό ΑΣΕΠ συμμετέχουν 1000 υποψήφιοι. Κάθε υποψήφιος διαγωνίζεται σε 100 ερωτήσεις πολλαπλής επιλογής.να αναπτύξετε πρόγραμμα που να κάνει τα παρακάτω: α. Να καταχωρεί σε κατάλληλο πίνακα ΟΝ τα ονοματα των υποψηφίων και σε κατάλληλο πίνακα ΑΠ τα αποτελέσματα των απαντήσεων του κάθε υποψηφίου σε κάθε ερώτηση. Κάθε καταχώρηση μπορεί να είναι μόνο μία από τις παρακάτω: i. Σ αν είναι σωστή η απάντηση ii. Λ αν είναι λανθασμένη η απάντηση και iii. Ξ αν ο υποψήφιος δεν απάντησε. Να γίνεται έλεγχος των δεδομένων εισόδου. β. Να βρίσκει και να αποθηκεύει σε δισδιάστατο πινακα το πλήθος των σωστών απαντήσεων, των λάθος απαντήσεων και το πλήθος όσων δεν απάντησε. γ. Αν κάθε Σ βαθμολογείται με 3 μονάδες, κάθε Λ με -1,5 μονάδες και κάθε Ξ με 0 μονάδες τότε i. Να δημιουργεί ένα μονοδιάστατο πίνακα ΒΑΘ[1000], κάθε στοιχείο του οποίου θα περιέχει αντίστοιχα τη συνολική βαθμολογία ενός υποψηφίου. ii. Να τυπώνει ταξινομημένη λίστα ονομάτων και βαθμολογίων σε αλφαβητική σειρά Σε ένα δισδιάστατο πίνακα είναι καταχωρημένες οι ψήφοι που έλαβαν 20 υποψήφιοι σε 10 εκλογικές περιφέριες και κατάλληλο πίνακα τα ονομάτα τους. Να γίνει αλγόριθμος ο οποίος : α. Θα υπολογίζει το σύνολο των ψηφοφόρων. β. Θα υπολογίζει το σύνολο των ψηφοφόρων του κάθε υποψηφίου γ. Θα υπολογίζει το σύνολο των ψηφοφόρων που φήφισαν σε κάθε περιφέρεια. δ. Θα εμφανίζει το νούμερο της περιφέρειας που έδωσε τις περισσότερες ψήφους στον 3 ο υποψήφιο. ε. Θα εμφανίζει τους 3 υποφηφίους που μπαίνουν στην βουλή Να αναπτύξετε αλγόριθμο ο οποίος θα διαβάζει τα στοιχεία ενός δισδιάστατου πίνακα αριθμών με Ν γραμμές και Μ στήλες: 168

170 α. Θα διαβάζει έναν αριθμό που θα αντιστοιχεί σε στήλη και θα υπολογίζει το ελάχιστο της στήλης αυτής β. Θα διαβάζει έναν αριθμό που θα αντιστοιχεί σε γραμμή και θα υπολογίζει το μέγιστο στοιχείο της γραμμής αυτής 6.62 Να γίνει αλγόριθμος που με δεδομένο έναν πίνακα ΠΡΟΒ[13, 3000] που περιέχει τις προβλέψεις 3000 παικτών σε ένα δελτίο του ΠΡΟ-ΠΟ και έναν πίνακα ΑΠΟΤ[13] να βρίσκει τον πλήθος των επιτυχόντων που προέβλεψαν σωστά τους 13 αγώνες, τους 12 αγώνες και τους 11 αγώνες. Αν είναι δεδομένα τα ποσά Π13, Π12, Π11 που θα δοθούν στους επιτυχόντες κάθε κατηγορίας να βρείτε τα χρήματα που θα κερδίσει ο κάθε παίκτης Να αναπτύξετε αλγόριθμο ο οποίος θα διαβάζει τα στοιχεία ενός δισδιάστατου πίνακα αριθμών και θα υπολογίζει το ελάχιστο στοιχείο κάθε στήλης και το μέγιστο στοιχείο κάθε γραμμής τοποθετώντας τα σε αντίστοιχους πίνακες 6.64 Να αναπτύξετε αλγόριθμο ο οποίος με δεδομένα τα στοιχεία ενός τετραγωνικού (διαστάσεων ΝxN) δισδιάστατου πίνακα: α. Θα υπολογίζει και θα εκτυπώνει τo άθροισμα των στοιχείων της κυρίας διαγωνίου. β. Θα υπολογίζει και θα εκτυπώνει τo άθροισμα των στοιχείων της δευτερεύουσας διαγωνίου 6.65 Ενόψει των γιορτών μια εταιρεία αποφάσισε να στείλει ευχετήριες κάρτες στους πελάτες της. Να αναπτυχθεί αλγόριθμος που με δεδομένο δισδιάστατο πίνακα ΣΤΟΙΧΕΙΑ[1000, 3] που περιέχει τα ονοματεπώνυμα των 1000 πελατών της εταιρείας στη στήλη 1, το πατρώνυμο στη στήλη 2 και τις διευθύνσεις των πελατών στη στήλη 3, θα ταξινομεί τα στοιχεία ως προς την πρώτη στήλη και θα εκτυπώνει τα ονόματα και τις διευθύνσεις για τις ευχετήριες κάρτες 6.66 Η εταιρεία διοδίων Αττικής Οδού επιθυμεί να επεξεργαστεί στατιστικά τα στοιχεία των συναλλαγών των ταμείων της. Καταχωρεί λοιπόν τα στοιχεία των 80 ταμείων της σε μονοδιάστατο πίνακα με όνομα ΤΑΜΕΙΑ και τις ημερήσιες εισπράξεις σε δισδιάστατο πίνακα ΕΙΣΠΡΑΞΕΙΣ[80,360] (θεωρούμε ότι κάθε μήνας έχει 30 μέρες και το έτος 360). Να αναπτυχθεί αλγόριθμος που θα διαβάζει τα παραπάνω στοιχεία, θα υπολογίζει και θα εκτυπώνει: α. Το ταμείο με τις περισσότερες εισπράξεις τη χρονιά που πέρασε β. Το ταμείο με τις λιγότερες εισπράξεις το 2 τρίμηνο της χρονιάς που πέρασε γ. Τα ταμεία που ξεπέρασαν το συνολικό μέσο όρο εισπράξεων 6.67 Η γραμματεία ενός λυκείου καταχωρεί τα ονόματα των 100 μαθητών της Α λυκείου και τους 10 βαθμούς του κάθε μαθητή στα μαθήματα που βαθμολογήθηκε. Να αναπτύξετε αλγόριθμο που: α. Θα διαβάζει τα παραπάνω στοιχεία σε κατάλληλους πίνακες. 169

171 β. Θα εκτυπώνει το όνομα του 5ου μαθητή και πόσες φορές έχει βαθμό άριστα (20). γ. Θα εκτυπώνει το μέσο όρο του 23ου μαθητή. δ. Θα εκτυπώνει το μεγαλύτερο βαθμό στο 3ο μάθημα και το όνομα του μαθητή. ε. Θα εκτυπώνει το μέσο όρο που σημείωσαν όλοι οι μαθητές στο 1ο μάθημα 6.68 Ο Ελληνικός Οργανισμός Τουρισμού αποφάσισε να διεξαγάγει μια έρευνα για τα ελληνικά ξενοδοχεία. Στην έρευνα συμμετέχουν τα 7000 ξενοδοχεία της επικράτειας, και γι αυτά καταγράφονται οι μηνιαίες εισπράξεις για το περασμένο έτος. Να αναπτυχθεί αλγόριθμος που: α. Θα διαβάζει τα απαραίτητα στοιχεία και τα τοποθετεί σε πίνακες. β. Θα υπολογίζει τις ετήσιες εισπράξεις κάθε ξενοδοχείου και θα τις εκχωρεί σε έναν νέο πίνακα. γ. Θα εκτυπώνει το όνομα του ξενοδοχείου με τις περισσότερες εισπράξεις. δ. Θα υπολογίζει και θα εκτυπώνει το όνομα κάθε ξενοδοχείου συνοδευόμενο από το πλήθος των μηνών που λειτούργησε (δηλαδή είχε έσοδα) την περασμένη χρονιά. ε. Θα δημιουργεί και θα εκτυπώνει τον πίνακα ΤΡΙΜΗΝΑ[4], που περιέχει τις εισπράξεις που παρουσιάστηκαν ανά τρίμηνο Να αναπτυχθεί αλγόριθμος που διαβάζει πίνακα βαθμολογιών από 30 μαθητές. Οι βαθμολογίες είναι μόνο ακέραιες με εύρος από 1 μέχρι 20. Να βρεθεί πόσες φορές επαναλαμβάνεται η κάθε βαθμολογία, καθώς επίσης και ο βαθμός με τη μεγαλύτερη συχνότητα εμφάνισης Να κατασκευαστεί πρόγραμμα το οποίο θα κάνει τα ακόλουθα: α. Θα διαβάζει τα ονόματα 30 μαθητών και θα τα αποθηκεύει σε κατάλληλο μονοδιάστατο πίνακα. β. Θα διαβάζει τις απαντήσεις όλων των μαθητών σε 20 ερωτήσεις Σωστού - Λάθους και θα τις καταχωρεί σε κατάλληλο δισδιάστατο πίνακα. γ. Θα διαβάζει έναν πίνακα Γ ο οποίος περιέχει τις σωστές απαντήσεις των ερωτήσεων. δ. Με την βοήθεια του πίνακα Γ θα κατασκευάζει έναν μονοδιάστατο πίνακα Δ ο οποίος θα περιέχει τον βαθμό κάθε μαθητή αν γνωρίζουμε ότι κάθε Σωστή απάντηση παίρνει 5 μόρια και κάθε Λάθος αφαιρεί από τον μαθητή 2 μόρια. ε. Να υπολογίζει τον μέσο όρο της τάξης και να εμφανίζει το όνομα του μαθητή του οποίου ο βαθμός είναι πιο κοντά στο μέσο όρο της τάξης ζ. Να εμφανίζει μήνυμα για το αν υπάρχει ή όχι μαθητής ή μαθητές που να έπιασε το άριστα (100) καθώς και το όνομά ή τα ονόματά τους. 170

172 ΚΕΦΑΛΑΙΟ 7 ο ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ

173

174 Κεφάλαιο 7 ο Γλώσσες Προγραµµατισµού Προγραµµατιστικά Περιβάλλοντα Α. Θεωρία Προγραμματιστικά Περιβάλλοντα Η ενότητα αυτή παρουσιάζεται σε μορφή ερωτήσεων με απάντησεις και καλύπτει το 6 ο κεφάλαιο του σχολικού βιβλίου «Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον» (Σελ ). Είναι το κεφάλαιο με τη μεγαλύτερη έκταση θεωρίας σε σχέση με την υπόλοιπη εξεταστέα ύλη. 7.1 Ποια είναι τα στάδια επίλυσης ενός προβλήματος με υπολογιστή; Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία στάδια : Τον ακριβή προσδιορισμό του προβλήματος. Την ανάπτυξη του αντίστοιχου αλγορίθμου. Την διατύπωση του αλγορίθμου σε κατανοητή μορφή από τον υπολογιστή ( δηλαδή προγραμματισμός ). 7.2 Τι είναι πρόγραμμα και ποια τα βασικά του στοιχεία; Είναι το σύνολο των εντολών που πρέπει να δοθούν στον υπολογιστή για να υλοποιηθεί ένας αλγόριθμος. Το πρόγραμμα δεν αποτελείται μόνο από τις εντολές αλλά και από τα δεδομένα και τις δομές δεδομένων στις οποίες ενεργεί. (Αλγόριθμοι και δομές δεδομένων είναι μία αδιάσπαστη ενότητα.) 7.3 Τι είναι προγραμματισμός; Ο προγραμματισμός ασχολείται με την δημιουργία του προγράμματος δηλαδή την διατύπωση ενός αλγορίθμου σε κατανοητή από τον υπολογιστή μορφή. Ο προγραμματισμός δίνει την εντύπωση ότι οι υπολογιστές είναι έξυπνες μηχανές που επιλύουν τα πολύπλοκα προβλήματα. 7.4 Να εξηγήσετε γιατί οι υπολογιστές δεν είναι έξυπνες μηχανές. Ο προγραμματισμός δίνει την εντύπωση ότι οι υπολογιστές είναι έξυπνες μηχανές. Αλλά: Ο υπολογιστής καταλαβαίνει μόνο δύο καταστάσεις οι 173

175 οποίες αντιπροσωπεύονται από τα δύο ψηφία του δυαδικού συστήματος: το μηδέν και το ένα. Το μόνο πράγμα που κάνει είναι στοιχειώδεις ενέργειες σε ακολουθίες 0 και 1 με ασύλληπτη ταχύτητα. Οι στοιχειώδεις αυτές ενέργειες είναι: o o o o Να αποθηκεύει στην μνήμη ακολουθίες τέτοιων ψηφίων, να τις ανακτά από την μνήμη, να κάνει στοιχειώδεις αριθμητικές πράξεις με αυτές και να τις συγκρίνει. 7.5 Να κάνετε μια σύντομη ιστορική αναδρομή για τις γλώσσες προγραμματισμού. Από τη δημιουργία του πρώτου υπολογιστή μέχρι σήμερα έχουν αλλάξει πάρα πολλά πράγματα. Οι πρώτοι υπολογιστές, τεράστιοι σε μέγεθος αλλά με πάρα πολύ περιορισμένες δυνατότητες και μικρές ταχύτητες επεξεργασίας εξελίχθηκαν σε πολύ μικρούς σε μέγεθος υπολογιστές με τεράστιες όμως δυνατότητες και ταχύτητες επεξεργασίας. Ενώ λοιπόν το υλικό ( hardware ) των υπολογιστών βελτιώνεται, τελειοποιείται και ταυτόχρονα παρέχει νέες δυνατότητες επεξεργασίας, οι βασικές αρχές λειτουργίας των υπολογιστών που διατυπώθηκαν το μακρινό 1945 από τον Φον Νόυμαν, δεν άλλαξαν πρακτικά καθόλου. Την ίδια αργή εξέλιξη ουσιαστικά έχουν και οι γλώσσες προγραμματισμού, οι οποίες αν και εξελίσσονται και συνεχώς εμπλουτίζονται με νέες δυνατότητες, τα χαρακτηριστικά τους και οι βασικές τους ιδιότητες ουσιαστικά παραμένουν τα ίδια. 7.6 Τι γνωρίζετε για τις γλώσσες μηχανής; Ορισμός : Ένα πρόγραμμα σε γλώσσα μηχανής είναι μια ακολουθία δυαδικών (0 και 1) ψηφίων που αποτελούν εντολές προς τον υπολογιστή για στοιχειώδεις λειτουργίες. Αρχικά για να μπορέσει ο υπολογιστής να εκτελέσει μία οποιαδήποτε λειτουργία έπρεπε να δοθούν κατευθείαν οι εντολές σε ακολουθίες από 0 και 1 ( δηλαδή η εντολή χ 3 σε γλώσσα μηχανής έχει την μορφή: !! ) Ο προγραμματισμός κατευθείαν σε γλώσσα μηχανής είναι μεν κατανοητός από τον υπολογιστή αλλά ακατανόητος από τον άνθρωπο. Ελάχιστοι μπορούν να τον υλοποιήσουν γιατί απαιτεί βαθιά γνώση του υλικού και της αρχιτεκτονικής του υπολογιστή. Ο προγραμματισμός των πρώτων υπολογιστών δεν ήταν ουσιαστικά προγραμματισμός με την σημερινή έννοια του όρου αλλά στην ουσία ήταν μία αναδιάρθρωση του υπολογιστή. Ο πρώτος υπολογιστής (ENIAC) για να προγραμματιστεί έπρεπε να αλλάξουν θέση εκατοντάδες διακόπτες και να ρυθμιστούν όλες του οι καλωδιώσεις (επίπονη και χρονοβόρα διαδικασία). Για να εκτελέσει άλλο υπολογισμό έπρεπε να αλλάξει ξανά η διάρθρωση του. 174

176 Ακόμη και σήμερα όλες οι γλώσσες προγραμματισμού μετατρέπονται σε γλώσσα μηχανής ώστε να εκτελεστούν από τον Η/Υ. 7.7 Τι γνωρίζετε για τις συμβολικές (χαμηλού επιπέδου) γλώσσες; Ορισμός: Αποτελούνται από συμβολικά ονόματα τα οποία αντιστοιχούν σε εντολές της γλώσσας μηχανής. Είναι στενά συνδεδεμένες με την αρχιτεκτονική (hardware) του υπολογιστή. Γι αυτό ονομάζονται και χαμηλού επιπέδου. Είναι πιο κατανοητές και απομνημονεύονται πιο εύκολα από τον άνθρωπο, από τις γλώσσες μηχανής. Για να εκτελεστούν χρειάζονται μετάφραση σε γλώσσα μηχανής, με ένα ειδικό πρόγραμμα τον συμβολομεταφραστή. Τα προγράμματα σε συμβολική γλώσσα δεν μπορούν να μεταφερθούν εύκολα από ένα υπολογιστή σε ένα άλλο. (μεταφερσιμότητα) Δεν διαθέτουν εντολές σύνθετων λειτουργιών και οδηγώντας έτσι σε μακροσκελή προγράμματα που είναι δύσκολο να γραφούν και να συντηρηθούν. Συνεχίζεται η χρήση τους και σήμερα αλλά μόνο για ειδικούς σκοπούς. 7.8 Τι γνωρίζετε για τις γλώσσες υψηλού επιπέδου; Ορισμός: Χρησιμοποιούν ως εντολές απλές λέξεις της αγγλικής γλώσσας ακολουθώντας αυστηρούς κανόνες σύνταξης και μεταφράζονται από τον ίδιο τον υπολογιστή σε γλώσσα μηχανής. Ένα πρόγραμμα σε γλώσσα υψηλού επιπέδου μεταφράζεται από τον ίδιο τον υπολογιστή σε γλώσσα μηχανής, με την βοήθεια ενός ειδικού προγράμματος: τον μεταγλωττιστή. Τα προγράμματα αυτά μπορούν να εκτελεστούν και σε άλλο υπολογιστή υπό την προϋπόθεση ότι και αυτός διαθέτει τον αντίστοιχο μεταγλωττιστή. Καμία γλώσσα υψηλού επιπέδου δεν μπορεί να καλύψει όλες τις ανάγκες σε όλους τους τομείς δραστηριοτήτων και γι αυτό υπάρχουν τόσες διαφορετικές γλώσσες. 7.9 Να αναφέρετε τα βασικά χαρακτηριστικά της γλώσσας Fortran. Formula Translation Επίλυση μαθηματικών και επιστημονικών προβλημάτων Χρησιμοποιείται και σήμερα σε επιστημονικές εφαρμογές 175

177 7.10 Να αναφέρετε τα βασικά χαρακτηριστικά της γλώσσας Cobol. Common Business Oriented Language Ανάπτυξη εμπορικών και διαχειριστικών εφαρμογών. Χρησιμοποιήθηκε από πολλές επιχειρήσεις και την δημόσια διοίκηση Χρησιμοποιείται και σήμερα Να αναφέρετε τα βασικά χαρακτηριστικά της γλώσσας Algol. Algorithm Language Ελάχιστη πρακτική εφαρμογή. Άσκησε επιρροή σε επόμενες γλώσσες Να αναφέρετε τα βασικά χαρακτηριστικά της γλώσσας PL/1. Programming Language /1 Προσπάθησε ανεπιτυχώς να καλύψει όλους τους τομείς προγραμματισμού Να αναφέρετε τα βασικά χαρακτηριστικά των γλωσσών LISP PROLOG. List Processor- Programming Logic Είναι δύο γλώσσες που δραστηριοποιούνται στον χώρο της τεχνητής νοημοσύνης (Έμπειρα συστήματα, παιχνίδια, επεξεργασία φυσικών γλωσσών) Να αναφέρετε τα βασικά χαρακτηριστικά της γλώσσας Basic. Begginer s All purpose Symbolic Instruction Code Αρχικά αναπτύχθηκε για εκπαίδευση αρχαρίων. Τα προγράμματα είναι σύντομα και εκτελούνται με την βοήθεια διερμηνευτή. Έγινε η δημοφιλέστερη γλώσσα. Η Microsoft την καθιέρωσε μέσα από τις εκδόσεις Quick Basic και Visual Basic σαν πρότυπο ανάπτυξης εφαρμογών σε Η/Υ 176

178 7.15 Να αναφέρετε τα βασικά χαρακτηριστικά της γλώσσας Pascal. Βασίστηκε πάνω στην Algol. Κατάλληλη για εκπαίδευση και δημιουργία ισχυρών προγραμμάτων γενικής χρήσης. Κατάλληλη για δημιουργία δομημένων προγραμμάτων. Αποτέλεσε την βάση για την ανάπτυξη ισχυρότερων γλωσσών όπως η ADA και η Modula Να αναφέρετε τα βασικά χαρακτηριστικά της γλώσσας C. Αναπτύχθηκε από την εταιρεία Bell Χρησιμοποιήθηκε για την δημιουργία του λειτουργικού συστήματος UNIX Έχει κοινά χαρακτηριστικά με την Pascal Κατάλληλη για ανάπτυξη δομημένων εφαρμογών αλλά έχει ταυτόχρονα και δυνατότητες γλωσσών χαμηλού επιπέδου. Οδήγησε στη ανάπτυξη της γλώσσας C++ που είναι μια γλώσσα αντικειμενοστραφούς προγραμματισμού Να αναφέρετε τα βασικά χαρακτηριστικά της γλώσσας Java. Είναι μια αντικειμενοστραφής γλώσσα Αναπτύχθηκε από την εταιρεία Sun Κατάλληλη για εφαρμογές που εκτελούνται σε διαφορετικούς υπολογιστές που συνδέονται στο Internet και έχουν διαφορετικά λειτουργικά συστήματα Τι είναι προγραμματισμός οδηγούμενος από το γεγονός; Εννοούμε την δυνατότητα να ενεργοποιούνται λειτουργίες του προγράμματος με την εκτέλεση ενός γεγονότος (π.χ. κλικ του ποντικιού) Τι είναι ο οπτικός προγραμματισμός; Είναι η δυνατότητα να δημιουργούμε γραφικά ολόκληρο το περιβάλλον μιας εφαρμογής (πχ τα παράθυρα, τα μενού επιλογών, τα πλαίσια διαλόγου κλπ). Γλώσσες που υποστηρίζουν οπτικό προγραμματισμό είναι για παράδειγμα η Visual Basic και η Visual C. 177

179 7.20 Να αναφέρετε τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου. Φυσικότερος και πιο ανθρώπινος τρόπος έκφρασης των προβλημάτων.(τα προγράμματα είναι πιο κοντά στα προβλήματα που επιλύουν). Η ανεξαρτησία από τον τύπο του υπολογιστή. Τα προγράμματα μπορούν να μεταφερθούν σε οποιονδήποτε υπολογιστή με ελάχιστες ή καθόλου μετατροπές. Η δυνατότητα της μεταφερσιμότητας των προγραμμάτων είναι σημαντικό προσόν. Η ευκολία της εκμάθησης και εκπαίδευσης ως απόρροια των προηγουμένων. Η διόρθωση λαθών και η συντήρηση προγραμμάτων είναι πολύ ευκολότερη. Συνολικά οι γλώσσες υψηλού επιπέδου ελάττωσαν σημαντικά το χρόνο και το κόστος παραγωγής νέων προγραμμάτων, αφού λιγότεροι προγραμματιστές μπορούν σε μικρότερο χρόνο να αναπτύξουν προγράμματα που χρησιμοποιούνται σε περισσότερους υπολογιστές Τι γνωρίζετε για τις γλώσσες 4ης γενιάς; Δεν απευθύνονται μόνο σε προγραμματιστές. Αντίθετα ο χρήστης μπορεί να επιλύει μόνος του μικρά προβλήματα εφαρμογών. Αυτό γίνεται γιατί αποκρύπτουν πολλές τεχνικές λεπτομέρειες, από την υλοποίηση των προγραμμάτων. Ο χρήστης μπορεί σχετικά εύκολα να υποβάλει ερωτήσεις στο σύστημα ή να παίρνει πληροφορίες από βάσεις δεδομένων και να καθορίζει ακριβώς τον τρόπο εμφάνισης των πληροφοριών αυτών. Πχ η γλώσσα SQL: Structured Query Language (δομημένη γλώσσα ερωτοαπαντήσεων) 7.22 Να αναφέρετε τις κατηγορίες στις οποίοες ταξινομούνται οι γλώσσεςπρογραμματισμού. Οι γλώσσες υψηλού επιπέδου διακρίνονται στις παρακάτω κατηγορίες: Διαδικασιακές - αλγοριθμικές γλώσσες. Είναι σχεδιασμένες για την υλοποίηση αλγορίθμων. Πχ Pascal, Basic Αντικειμενοστραφείς γλώσσες. Πχ Java,C++ Συναρτησιακές γλώσσες. Πχ LISP Μη διαδικασιακές γλώσσες. Χαρακτηρίζονται ως γλώσσες πολύ υψηλού επιπέδου. Πχ PROLOG Γλώσσες ερωτοαπαντήσεων. Πχ SQL 178

180 Ταξινόμηση ως προς την περιοχή χρήσης. Γενικής χρήσης. Θεωρητικά κάθε γλώσσα γενικής χρήσης μπορεί να χρησιμοποιηθεί για την επίλυση οποιουδήποτε προβλήματος. Στην πράξη όμως διακρίνονται σε δύο κατηγορίες. o o Επιστημονικής κατεύθυνσης Πχ Fortan Εμπορικής κατεύθυνσης Πχ Cobol Προγραμματισμού συστημάτων Πχ C Τεχνητής νοημοσύνης. Πχ Lisp, Prolog Ειδικής χρήσης. Χρησιμοποιούνται σε ειδικές περιοχές εφαρμογών πχ στα γραφικά με υπολογιστή 7.23 Με βάση ποια κριτήρια επιλέγουμε την καλύτερη γλώσσα προγραμματισμού Δεν υπάρχει γλώσσα αντικειμενικά καλύτερη από τις άλλες και ούτε πρόκειται να υπάρξει, αλλά πιο κατάλληλη ανάλογα με το είδος της εφαρμογής. Η επιλογή της πιο κατάλληλης γλώσσας γίνεται με βάση: Το είδος της εφαρμογής. Το υπολογιστικό περιβάλλον που θα εκτελεστεί. Τα προγραμματιστικά περιβάλλοντα που διαθέτουμε. Τις γνώσεις του προγραμματιστή Ποια είναι τα στοιχεία που δομούν μια γλώσσα προγραμματισμού ; Μια γλώσσα προγραμματισμού (όπως και οι φυσικές γλώσσες) προσδιορίζεται από τέσσερα στοιχεία: Το αλφάβητο. Είναι το σύνολο των στοιχείων που αποτελεί την γλώσσα. ( Πχ η ελληνική γλώσσα περιέχει τα εξής στοιχεία: 48 χαρακτήρες, τα σημεία στίξης καθώς και τα ψηφία ) Το λεξιλόγιο. Είναι το υποσύνολο όλων των ακολουθιών που δημιουργούνται από το αλφάβητο και είναι δεκτές από την γλώσσα. Πχ η ακολουθία ΑΒΓΑ είναι δεκτή ενώ η ΑΒΓΒΑ δεν είναι. Την γραμματική. Η γραμματική αποτελείται από το τυπικό και το συντακτικό. Τυπικό: είναι το σύνολο των κανόνων που καθορίζουν αν μία λέξη είναι αποδεκτή. Πχ Η λέξη «ΓΡΑΨΕ» 179

181 είναι αποδεκτή αλλά η «ΓΡΑΨΕΣ» όχι. Συντακτικό: Είναι το σύνολο των κανόνων που καθορίζει αν η διάταξη και η σύνδεση των λέξεων σε μία πρόταση είναι σωστή. Η γνώση συντακτικού στις φυσικές γλώσσες επιτρέπει την δημιουργία σωστών προτάσεων ενώ στις γλώσσες προγραμματισμού επιτρέπει την δημιουργία σωστών εντολών. Την σημασιολογία. Είναι το σύνολο των κανόνων που καθορίζει το νόημα των λέξεων άρα και το νόημα των προτάσεων που δημιουργούνται. Στις γλώσσες προγραμματισμού ο δημιουργός τους αποφασίζει για την σημασιολογία των λέξεων της γλώσσας Να αναλύσετε τις διαφορές φυσικών τεχνητών γλωσσών Μια βασική διαφορά είναι η δυνατότητα εξέλιξης: Οι φυσικές γλώσσες εξελίσσονται συνεχώς και δημιουργούνται νέες λέξεις, αλλάζουν οι κανόνες γραμματικής/ συντακτικού με την πάροδο του χρόνου. Αυτό γίνεται γιατί χρησιμοποιούνται για την επικοινωνία μεταξύ των ανθρώπων. Οι γλώσσες προγραμματισμού χρησιμοποιούνται για την επικοινωνία ανθρώπου Η/Υ και χαρακτηρίζονται από στασιμότητα. Ωστόσο και αυτές εξελίσσονται από τους δημιουργούς τους για να διορθώσουν αδυναμίες τους ή να καλύψουν μεγαλύτερο εύρος εφαρμογών αλλά και να ακολουθήσουν τις νέες εξελίξεις. Αλλάζουν σε: o o επίπεδο διαλέκτου. Πχ Basic QuickBasic σε επίπεδο επέκτασης Πχ Basic Visual Basic 7.26 Να περιγράψετε την τεχνική της ιεραρχικής σχεδίασης προγράμματος. Η τεχνική της ιεραρχικής σχεδίασης (ή αλλιώς τεχνική από επάνω προς τα κάτω ή top - down), χρησιμοποιεί την στρατηγική της συνεχούς διαίρεσης του προβλήματος σε υποπροβλήματα τα οποία είναι εύκολο να επιλυθούν οδηγώντας στην επίλυση του αρχικού προβλήματος. Περιλαμβάνει: Τον καθορισμό των βασικών λειτουργιών ενός προγράμματος σε ανώτερο επίπεδο, Την διάσπαση των λειτουργιών αυτών σε όλο και μικρότερες λειτουργίες μέχρι το τελευταίο επίπεδο όπου οι λειτουργίες είναι πολύ απλές. Χρησιμοποιούνται διάφορες διαγραμματικές τεχνικές για την υποβοήθηση της σχεδίασης. Υλοποιείται με τμηματικό προγραμματισμό. 180

182 7.27 Τι γνωρίζετε για τον τμηματικό προγραμματισμό; (βλέπε Κεφάλαιο 8 Υποπρογράμματα και κεφάλαιο 10 σχολικου βίβλιου) 7.28 Τι γνωρίζετε για το δομημένο προγραμματισμό ; Δεν είναι απλώς ένα είδος προγραμματισμού αλλά μια μεθοδολογία σύνταξης προγραμμάτων. Όλα τα προγράμματα μπορούν να γραφούν χρησιμοποιώντας μόνο τις τρεις παρακάτω λογικές δομές καθώς και συνδυασμών τους. o o o Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Κάθε πρόγραμμα όπως και κάθε ενότητα προγράμματος έχει μία είσοδο και μόνο μία έξοδο. (δηλαδή: έχει μία αρχή και μόνο ένα τέλος_προγράμματος) Αν και ο δομημένος προγραμματισμός αρχικά εμφανίστηκε ως μία προσπάθεια περιορισμού της εντολής GOTO σήμερα αποτελεί την βασική μεθοδολογία προγραμματισμού. Ο δομημένος προγραμματισμός βοηθάει την ανάλυση ενός προγράμματος σε τμήματα έτσι περιέχει τόσο την ιεραρχική σχεδίαση όσο και τον τμηματικό προγραμματισμό Γιατί η εντολή GOTO κρίνεται ακατάλληλη εντολή στον προγραμματισμό; Η χρήση της εντολής αλλάζει την ροή ενός προγράμματος Η αλλαγή αυτή της ροής κάνει τα προγράμματα δύσκολα στην παρακολούθηση την κατανόηση και την συντήρηση Να αναφέρετε τα πλεονεκτήματα δομημένου προγραμματισμού Δημιουργία απλούστερων προγραμμάτων. Άμεση μεταφορά των αλγορίθμων σε προγράμματα. Διευκόλυνση ανάλυσης του προγράμματος σε τμήματα. Περιορισμός των λαθών κατά την ανάπτυξη του προγράμματος. Διευκόλυνση στην ανάγνωση και κατανόηση του προγράμματος από τρίτους. Ευκολότερη διόρθωση και συντήρηση. 181

183 7.31 Τι γνωρίζετε για το πηγαίο πρόγραμμα (source); Το αρχικό πρόγραμμα που γράφει ο προγραμματιστής λέγεται πηγαίο πρόγραμμα. Η συγγραφή του γίνεται με τον συντάκτη (βλέπε παρακάτω). Το πηγαίο πρόγραμμα δεν είναι κατανοητό από τον υπολογιστή. (εκτός αν είναι γραμμένο απ ευθείας σε γλώσσα μηχανής) 7.32 Τι γνωρίζετε για τα λάθη που μπορεί να εμφανιστούν στο πηγαίο πρόγραμμα Τα λάθη σε ένα πρόγραμμα διακρίνονται σε λογικά και συντακτικά. Λογικά λάθη. o Οφείλονται σε σφάλματα κατά την υλοποίηση του αλγορίθμου. (πχ ΜΟ χ+ψ / 3 (ήθελε παρενθέσεις) ) o o Εντοπίζονται μόνο κατά την εκτέλεση του προγράμματος. Είναι τα πλέον σοβαρά και δύσκολα στην διόρθωση. Συντακτικά λάθη. o Οφείλονται σε αναγραμματισμούς γραμμάτων εντολών, παράληψη δήλωσης δεδομένων κλπ. {πχ Γραεψ αντί για Γράψε} o o Εντοπίζονται από τον μεταγλωττιστή ή τον διερμηνευτή Πρέπει να διορθωθούν ώστε να δημιουργηθεί το εκτελέσιμο πρόγραμμα Τι ονομάζουμε συντάκτη ; Ο συντάκτης είναι ουσιαστικά ένας μικρός επεξεργαστής κειμένου. (Σαν το Word - Wordpad κλπ.) Η συγγραφή του πηγαίου προγράμματος και η διόρθωση των λαθών του πηγαίου γίνεται με την βοήθεια του συντάκτη Τι γνωρίζετε για το μεταγλωττιστή ; Δέχεται σαν είσοδο ένα πρόγραμμα γραμμένο σε μία γλώσσα προγραμματισμού (υψηλού επιπέδου). Ανιχνεύει τα τυχόν συντακτικά λάθη. Αν βρεθούν λάθη ο προγραμματιστής τα διορθώνει (με τον συντάκτη) και υποβάλλει το πρόγραμμα ξανά προς μεταγλώττιση μέχρι να παραχθεί το σωστό. 182

184 Αν δεν υπάρχουν λάθη και μόνο τότε, παράγει το αντικείμενο πρόγραμμα, το οποίο είναι ισοδύναμο με το πηγαίο αλλά εκφρασμένο πλέον σε γλώσσα μηχανής. Αυτό είναι πλέον τελείως ανεξάρτητο από το αρχικό πρόγραμμα, αλλά δεν είναι ακόμη εκτελέσιμο: Η διαδικασία μέσω της οποίας καταλήγουμε στο εκτελέσιμο πρόγραμμα (γλώσσα μηχανής) είναι συνοπτικά: Πηγαίο πρόγραμμα μεταγλωττιστής αντικείμενο πρόγραμμα συνδέτηςφορτωτής Εκτελέσιμο πρόγραμμα Τι γνωρίζετε για το συνδέτη - φορτωτή ; Το αντικείμενο πρόγραμμα που παράγει ο μεταγλωττιστής είναι μεν σε μορφή κατανοητή από τον υπολογιστή (γλώσσα μηχανής) αλλά δεν είναι εκτελέσιμο. Χρειάζεται να συμπληρωθεί και να συνδεθεί με άλλα τμήματα προγράμματος απαραίτητα για την εκτέλεσή του. (Τα τμήματα αυτά είτε τα γράφει ο προγραμματιστής (υποπρογράμματα), είτε βρίσκονται στις βιβλιοθήκες της γλώσσας που χρησιμοποιεί.) Το πρόγραμμα που κάνει την σύνδεση αυτή ονομάζεται συνδέτης- φορτωτής Τι γνωρίζετε για το διερμηνευτή; Ο διερμηνευτής δέχεται ως είσοδο ένα πρόγραμμα γραμμένο σε γλώσσα υψηλού επιπέδου και εκτελεί μία μία τις εντολές του αρχικού προγράμματος. Η διαδικασία εκτέλεσης είναι η εξής: Διαβάζει μία από τις εντολές του αρχικού προγράμματος, ανιχνεύει τα (τυχόν) συντακτικά λάθη κάθε της εντολής, την μεταφράζει σε γλώσσα μηχανής την εκτελεί. Κατόπιν διαβάζει την επόμενη εντολή και επαναλαμβάνει την ίδια διαδικασία! 7.37 Ποιες ομοιότητες διαφορές γνωρίζετε για διερμηνευτή μεταγλωττιστή; Ομοιότητες: Και οι δύο μεταφράζουν το πηγαίο πρόγραμμα (υψηλού επιπέδου) σε γλώσσα μηχανής. Και οι δύο ανιχνεύουν τα συντακτικά λάθη. 183

185 Διαφορές: Ο μεταγλωττιστής μεταγλωττίζει όλο το πρόγραμμα και με την βοήθεια του συνδέτη φορτωτή παράγεται το εκτελέσιμο. Ο διερμηνευτής εκτελεί μία μία τις εντολές και δεν χρειάζεται συνδέτηφορτωτή Διαφορές ως απόρροια των παραπάνω είναι: Ο διερμηνευτής αφού εκτελεί τις εντολές μία μία έχει το πλεονέκτημα της άμεσης διόρθωσης των λαθών. Για τον λόγο αυτό χρησιμοποιείται συνήθως κατά την συγγραφή-διόρθωση ενός προγράμματος. Η εκτέλεση ενός προγράμματος με τον διερμηνευτή είναι πιο αργή, γιατί για να εκτελεστεί το πρόγραμμα, πρέπει κάθε φορά να ξαναγίνεται η διερμηνεία από την αρχή, ενώ ο μεταγλωττιστής παράγει μια φορά το αντικείμενο πρόγραμμα και δεν χρειάζεται ξανά μεταγλώττιση αφού είναι σχεδόν εκτελέσιμο (θυμήσου τον συνδέτη) Για να εκτελεστεί ένα προγράμμα με τον διερμηνευτή είναι απαραίτητη η παρουσία του πηγαίου προγράμματος ενώ με τον μεταγλωττιστή μόνο την πρώτη φορά Τι περιλαμβάνει ένα σύγχρονο προγραμματιστικό περιβάλλον ; Για την δημιουργία - εκτέλεση ενός προγράμματος απαιτούνται τουλάχιστον 3 προγράμματα: o o o Συντάκτης Μεταγλωττιστής Συνδέτης Τα σύγχρονα προγραμματιστικά περιβάλλοντα παρέχουν τα προγράμματα αυτά με ενιαίο τρόπο {και τα 3 προγράμματα σε 1} Το κάθε προγραμματιστικό περιβάλλον έχει διαφορετικά εργαλεία και ιδιότητες (ανάλογα με την γλώσσα προγραμματισμού). Για παράδειγμα ένα περιβάλλον οπτικού προγραμματισμού παρέχει και ειδικό Συντάκτη για την δημιουργία γραφικών (μενού διαλόγου κλπ) 184

186 Β. Θέματα για λύση 7.39 Συνδέστε τα στοιχεία της στήλης Α με τα στοιχεία της στήλης Β. ΣΤΗΛΗ Α ΣΤΗΛΗ Β 1. COBOL A. Οπτικός Προγραμματισμός 2. VISUAL BASIC Β. Εφαρμογές τεχνητής νοημοσύνης 3. ASSEMBLY Γ. Αντικειμενοστραφής Προγραμματισμός 4. FORTRAN Δ. Εμπορικές εφαρμογές 5. JAVA Ε. Γλώσσα ερωταπαντήσεων 6. SQL ΣΤ. Προγραμματισμός στο διαδίκτυο 7. PROLOG Ζ. Συμβολική γλώσσα 8. C++ Η. Επιστημονικές εφαρμογές 7.40 Να χαρακτηρίσετε τις παρακάτω προτάσεις ως σωστές ή λάθος. α. Ο δομημένος προγραμματισμός στηρίζεται στη χρήση τριών και μόνο στοιχειωδών λογικών δομών. β. Ο ιεραρχικός προγραμματισμός υλοποιείται μέσω του δομημένου προγραμματισμού. γ. Το αποτέλεσμα του μεταγλωττιστή (compiler) είναι το πηγαίο πρόγραμμα (source). δ. Ο διερμηνευτής (interpreter) μετατρέπει το εκτελέσιμο πρόγραμμα (executable) σε αντικείμενο πρόγραμμα (object). ε. Η γλώσσα Java είναι κατάλληλη για ανάπτυξη λογισμικού που θα λειτουργήσει σε κατανεμημένα περιβάλλοντα Να κάνετε τις σωστές συνδέσεις στον πίνακα που ακολουθεί : ΣΤΗΛΗ Α ΣΤΗΛΗ Β 1. Γλώσσα μηχανής Α. BASIC, PASCAL, C 2. Μεταγλωττιστής (Compiler) Β. Συμβολομεταφραστής (assembler) 3. Συμβολικές γλώσσες Γ. Αντικείμενο Πρόγραμμα (object) 4. Συνδέτης Φορτωτής Δ. Βιβλιοθήκες (libraries) 5. Γλώσσες Υψηλού επιπέδου Ε. Ακολουθίες από 0 και 1 Ζ. Διερμηνευτής (interpreter) 7.42 Να χαρακτηρίσετε τις παρακάτω προτάσεις ως σωστές ή λάθος. α. Ένα πρόγραμμα σε γλώσσα μηχανής είναι μια ακολουθία δυαδικών ψηφίων. β. Ο μεταγλωττιστής δέχεται στην είσοδο του ένα πρόγραμμα γραμμένο σε μια γλώσσα υψηλού επιπέδου και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής. γ. Το πηγαίο πρόγραμμα εκτελείται από τον υπολογιστή χωρίς μεταγλώττιση. 185

187 δ. Ο διερμηνευτής διαβάζει μια προς μία τις εντολές του πηγαίου προγράμματος και για κάθε μια εκτελεί αμέσως μια ισοδύναμη ακολουθία εντολών μηχανής. ε. Ένα πρόγραμμα σε γλώσσα μηχανής χρειάζεται μεταγλώττιση Να χαρακτηρίσετε τις παρακάτω προτάσεις ως σωστές ή λάθος. α. Ο συμβολομεταφραστής (assembler) είναι πρόγραμμα που χρησιμοποιήθηκε στη γλώσσα μηχανής. β. Συντακτικό μιας γλώσσας προγραμματισμού είναι το σύνολο των κανόνων που καθορίζουν πότε μια λέξη είναι αποδεκτή ή όχι. γ. Η γραμματική μιας γλώσσας χωρίζεται στο λεξιλόγιο και στο τυπολογικό. δ. Οι γλώσσες 4 ης γενιάς προσφέρουν στο χρήστη δυνατότητα να εκτελέσει αλλαγές στον κώδικα ενός προγράμματος. ε. Η εντολή GOTO είναι απαραίτητο κομμάτι του δομημένου προγραμματισμού Να χαρακτηρίσετε τις παρακάτω προτάσεις ως σωστές ή λάθος. α. Οι γλώσσες 3 ης γενιάς δεν παρέχουν δυνατότητες οπτικού προγραμματισμού. β. Η γλώσσα προγραμματισμού C++ αποτελεί σημείο αναφοράς στον προγραμματισμό του διαδικτύου. γ. Ο συντάκτης είναι ένα πρόγραμμα που χρησιμοποιείται για μετατροπή του πηγαίου προγράμματος σε αντικείμενο. δ. Ο interpreter (διερμηνευτής) μετατρέπει το αντικείμενο πρόγραμμα σε πηγαίο. ε. Ο δομημένος προγραμματισμός κατέστησε τη διόρθωση λαθών ενός προγράμματος δυσκολότερη διαδικασία. 186

188 ΚΕΦΑΛΑΙΟ 8 ο ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

189

190 Κεφάλαιο 8 ο Τµηµατικός Προγραµµατισµος Α. Θεωρία 8.1 Ορισμός τμηματικού προγραμματισμού Με τον όρο αυτό εννοούμε την τεχνική σχεδίασης και ανάπτυξης προγραμμάτων ως ένα σύνολο από απλούστερα τμήματα προγραμμάτων. Με απλά λόγια είναι η μεθοδολογία εκείνη που χρησιμοποιούν οι προγραμματιστές για να χωρίσουν ένα σύνθετο πρόγραμμα σε άλλα απλούστερα τα οποία όλα μαζί λειτουργούν σαν ολότητα. Συνήθως καθένα από τα απλούστερα προγράμματα επιτελεί ένα συγκεκριμένο έργο και ονομάζεται υποπρόγραμμα (Subprogram) ή αλλιώς υπορουτίνα Ιδιότητες και πλεονεκτήματα των υποπρογραμμάτων Κάθε υποπρόγραμμα πρέπει να πληροί τις 3 παρακάτω ιδιότητες : Να έχει μια είσοδο και μια έξοδο Να είναι ανεξάρτητο από τα άλλα Να μην είναι πολύ μεγάλο Ο τμηματικός προγραμματισμός όπως είδαμε σε προηγούμενο κεφάλαιο είναι βασική μεθοδολογία του δομημένου προγραμματισμού επειδή παρουσιάζει σημαντικά πλεονεκτήματα. Ας δούμε περιληπτικά μερικά από αυτά : Διευκολύνει την ανάπτυξη του προγράμματος Διευκολύνει την κατανόηση και τη διόρθωση των πιθανών λαθών του προγράμματος Απαιτεί λιγότερο χρόνο στη συγγραφή καθώς επίσης και λιγότερη προσπάθεια Επεκτείνει τις δυνατότητες των γλωσσών προγραμματισμού Είδη υποπρογραμμάτων Τα υποπρογράμματα που θα μελετήσουμε χωρίζονται σε 2 κατηγορίες : Στις διαδικασίες και στις συναρτήσεις. Κάθε κατηγορία έχει τα δικά της χαρακτηριστικά τόσο στον ορισμό όσο και στη χρήση δεν παύει όμως να υπάρχει μια κοινή αντιμετώπιση σε ότι αφορά την επίλυση τέτοιων προβλημάτων. Πρέπει να επισημάνουμε ότι το κάθε υποπρόγραμμα μπορεί να καλεί ένα άλλο και επίσης μπορεί να καλείται για χρήση από ένα άλλο. Η βασική ιδέα του τμηματικού προγραμματισμού φαίνεται στο παρακάτω σχήμα. 189

191 Η λειτουργία του προηγούμενου σχήματος είναι η εξής : Δουλεύουμε τμηματικά χωρίζοντας το πρόγραμμα σε διαδικασίες και συναρτήσεις τις οποίες στη συνέχεια καλούμαστε να συνδέσουμε και να λειτουργήσουμε ένα μοναδικό πρόγραμμα. Ποιος όμως συνδέει τα υποπρογράμματα ; Το κύριο πρόγραμμα. Ας θεωρήσουμε ένα παράδειγμα που ένα πρόγραμμα χωρίζεται σε 1 συνάρτηση και 1 διαδικασία. Άρα έχουμε 3 διαφορετικά τμήματα συμπεριλαμβανομένου και του κυρίου προγράμματος που θα κάνει τη σύνδεση των υποπρογραμμάτων με αυτό Παράμετροι Για να επιτύχουμε τη σύνδεση των διαφορετικών κομματιών χρησιμοποιούμε κάποιες μεταβλητές. Αυτές οι μεταβλητές που χρησιμοποιούνται για να περάσουμε κάποιες τιμές από το ένα τμήμα στο άλλο, ονομάζονται παράμετροι. Τώρα θα εξετάσουμε ξεχωριστά το κάθε είδος υποπρογράμματος που αναφέραμε προηγουμένως. 190

192 8.2 Συναρτήσεις Συνάρτηση είναι ένας τύπος υποπρογράμματος που υπολογίζει και επιστρέφει μία μόνο τιμή με το όνομα της (όπως οι συναρτήσεις στα Μαθηματικά). Σύνταξη : Μια συνάρτηση συντάσσεται σύμφωνα με τον παρακάτω τρόπο : ΣΥΝΑΡΤΗΣΗ Όνομα(Λίστα παραμέτρων) : Τύπος Συνάρτησης ΣΤΑΘΕΡΕΣ ΣΤ1 =... ΣΤ2 = ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ :... ΛΟΓΙΚΕΣ : ΑΡΧΗ...! Κύριο σώμα της συνάρτησης... Όνομα τιμή που θέλω να επιστραφεί ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ Σημαντικές παρατηρήσεις!!! Το Όνομα της συνάρτησης ακολουθεί τους ίδιους κανόνες με τα προγράμματα και τους αλγόριθμους. Η λίστα παραμέτρων είναι οι μεταβλητές που θα φέρουν τιμές μέσα στη συνάρτηση από το σημείο που την καλούμε. Ο Τύπος Συνάρτησης είναι ο τύπος δεδομένων της τιμής που επιστρέφει η συνάρτηση με το όνομα της. Έτσι μπορεί να γράψουμε : ΑΚΕΡΑΙΑ αν η τιμή που επιστρέφεται είναι ακέραιος αριθμός, ΠΡΑΓΜΑΤΙΚΗ, ΧΑΡΑΚΤΗΡΑΣ, ΛΟΓΙΚΗ ανάλογα με την κάθε περίπτωση. Οι σταθερές δηλώνονται αν υπάρχουν όπως και στο πρόγραμμα. Κατά τη δήλωση των μεταβλητών πρέπει υποχρεωτικά να δηλωθούν οι παράμετροι και όσες άλλες μεταβλητές θα χρειαστούν. Μέσα στο κύριο μέρος της συνάρτησης γίνεται ο υπολογισμός της τιμής που θέλουμε να επιστρέψουμε. Για να επιστρέψει όμως τιμή η συνάρτηση πρέπει οπωσδήποτε να την εκχωρήσουμε στο όνομα της συνάρτησης. 191

193 Κλήση : Μια συνάρτηση καλείται όποτε χρειαστούμε να εκτελεστεί ο υπολογισμός για τον οποίο κατασκευάστηκε. Η κλήση γίνεται γράφοντας το όνομα της συνάρτησης με τις κατάλληλες παραμέτρους. Ας δούμε ένα παράδειγμα που θα γίνει κατανοητή η χρήση των συναρτήσεων. Παράδειγμα!!! Να κατασκευαστεί συνάρτηση για τη μετατροπή βαθμών Fahrenheit σε Celsius. Στη συνέχεια να γράψετε κύριο πρόγραμμα που θα καλεί τη συνάρτηση. ΣΥΝΑΡΤΗΣΗ ΜΕΤ_ΒΑΘΜΩΝ(ΦΑΡ) : ΠΡΑΓΜΑΤΙΚΗ ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ : ΦΑΡ, ΚΕΛ ΑΡΧΗ ΚΕΛ (5/9)*(ΦΑΡ 32) ΜΕΤ_ΒΑΘΜΩΝ ΚΕΛ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ! ΔΗΛΩΣΗ ΣΥΝΑΡΤΗΣΗΣ! ΥΠΟΧΡΕΩΤΙΚΗ ΔΗΛΩΣΗ ΠΑΡΑΜΕΤΡΩΝ! ΥΠΟΛΟΓΙΣΜΟΣ! ΦΟΡΤΩΣΗ ΤΙΜΗΣ ΕΠΙΣΤΡΟΦΗΣ ΣΤΟ ΟΝΟΜΑ ΠΡΟΓΡΑΜΜΑ ΒΑΘΜΟΙ ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ : Φ, Κ ΑΡΧΗ ΓΡΑΨΕ ΔΩΣΕ ΒΑΘΜΟΥΣ ΦΑΡΕΝΑΙΤ ΔΙΑΒΑΣΕ Φ! α ΤΡΟΠΟΣ ΚΛΗΣΗΣ ΓΡΑΨΕ ΟΙ ΑΝΤΙΣΤΟΙΧΟΙ ΚΕΛΣΙΟΥ ΕΙΝΑΙ :, ΜΕΤ_ΒΑΘΜΩΝ(Φ)!! β ΤΡΟΠΟΣ ΚΛΗΣΗΣ Κ ΜΕΤ_ΒΑΘΜΩΝ(Φ) ΓΡΑΨΕ ΟΙ ΑΝΤΙΣΤΟΙΧΟΙ ΚΕΛΣΙΟΥ ΕΙΝΑΙ :, Κ!! γ ΤΡΟΠΟΣ ΚΛΗΣΗΣ ( ΜΕΤΑΤΡΟΠΗ ΤΩΝ 100 ΒΑΘΜΩΝ ΦΑΡΕΝΑΙΤ) ΓΡΑΨΕ ΜΕΤ_ΒΑΘΜΩΝ(100) ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Παρατηρήσεις : Σε αρχικό στάδιο γράψαμε πρώτα τη συνάρτηση και μετά το κύριο πρόγραμμα. Όταν προγραμματίζουμε πρώτα γράφουμε το κύριο πρόγραμμα προβλέποντας τι συναρτήσεις θα χρησιμοποιήσουμε και στη συνέχεια ακολουθούν αυτές. Το ίδιο ακριβώς ισχύει και για τις διαδικασίες. Επιπλέον πρέπει να τονίσουμε ότι η παράμετρος για την κλήση της συνάρτησης δεν είναι υποχρεωτικό να είναι διαφορετική από αυτήν που χρησιμοποιήθηκε στον ορισμό της συνάρτησης. Απλά οι παράμετροι στην κλήση πρέπει να είναι ίδιες στον αριθμό και στο είδος με αυτές στη δημιουργία της συνάρτησης. Τα ονόματα μπορεί να διαφοροποιούνται αρκεί όμως να δηλώνονται. 192

194 8.3 Διαδικασίες Διαδικασία είναι ένας τύπος υποπρογράμματος που μπορεί να εκτελεί όλες τις λειτουργίες ενός προγράμματος. Σύνταξη : Μια διαδικασία συντάσσεται σύμφωνα με τον παρακάτω τρόπο : ΔΙΑΔΙΚΑΣΙΑ Όνομα(Λίστα παραμέτρων) ΣΤΑΘΕΡΕΣ ΣΤ1 =... ΣΤ2 = ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ :... ΛΟΓΙΚΕΣ : ΑΡΧΗ... Σημαντικές παρατηρήσεις!!!! Κύριο σώμα της Διαδικασίας... ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ Το Όνομα της διαδικασίας ακολουθεί τους ίδιους κανόνες με τα προγράμματα και τους αλγόριθμους. Η λίστα παραμέτρων χωρίζεται σε δύο μεγάλες κατηγορίες μεταβλητών. Αυτές που φέρνουν τιμές από το κύριο πρόγραμμα στη διαδικασία που θα τις ονομάζουμε στο εξής : Πραγματικές και σε αυτές που χρησιμοποιούνται για να επιστρέφουν τιμές που υπολογίστηκαν από τη διαδικασία πίσω στο κύριο πρόγραμμα και θα τις ονομάζουμε Τυπικές. Τόσο οι πραγματικές τόσο και οι τυπικές μετά το τέλος της διαδικασίας επιστρέφουν πίσω την τελευταία τιμή που πήραν. Για παράδειγμα στέλνω έναν κενό πίνακα στη διαδικασία σαν παράμετρο και επιστρέφει με τιμές. Οι σταθερές δηλώνονται αν υπάρχουν όπως και στο πρόγραμμα. Κατά τη δήλωση των μεταβλητών πρέπει υποχρεωτικά να δηλωθούν οι παράμετροι και όσες άλλες μεταβλητές θα χρειαστούν. Μέσα στο κύριο μέρος της διαδικασίας γίνονται όλες οι λειτουργίες και οι υπολογισμοί που θέλουμε σαν να γίνονταν μέσα σε κανονικό πρόγραμμα. Κλήση : Μια διαδικασία καλείται στο σημείο που πρέπει να γίνουν οι λειτουργίες για τις οποίες την κατασκευάσαμε. Η κλήση γίνεται γράφοντας την εντολή ΚΑΛΕΣΕ Όνομα(Λίστα παραμέτρων) σε μια ξεχωριστή γραμμή του κυρίου προγράμματος. Η Λίστα παραμέτρων στην κλήση είναι προαιρετική. 193

195 Ας δούμε ένα παράδειγμα που θα γίνει κατανοητή η χρήση των διαδικασιών. Παράδειγμα!!! Να κατασκευαστεί διαδικασία η οποία θα δέχεται έναν κενό πίνακα 100 ακεραίων, θα διαβάζει τα στοιχεία του, θα υπολογίζει το μέσο όρο και θα επιστρέφει το αποτέλεσμα. Στη συνέχεια γράψτε το κατάλληλο κύριο πρόγραμμα που καλεί τη διαδικασία. ΔΙΑΔΙΚΑΣΙΑ ΠΙΝΑΚΑΣ(Α, ΜΟ) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Α[100], Ι ΠΡΑΓΜΑΤΙΚΕΣ : ΜΟ ΑΡΧΗ ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100 ΔΙΑΒΑΣΕ Α[Ι] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΜΟ 0 ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100 ΜΟ ΜΟ + Α[Ι] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΜΟ Μ0 / 100 ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ! ΔΗΛΩΣΗ ΔΙΑΔΙΚΑΣΙΑΣ! ΔΗΛΩΣΗ ΠΑΡΑΜΕΤΡΩΝ ΚΑΙ ΛΟΙΠΩΝ ΜΕΤΑΒΛΗΤΩΝ! ΕΙΣΑΓΩΓΗ ΣΤΟΙΧΕΙΩΝ ΣΤΟΝ ΠΙΝΑΚΑ! ΥΠΟΛΟΓΙΣΜΟΣ ΜΕΣΟΥ ΟΡΟΥ ΠΡΟΓΡΑΜΜΑ ΜΕΣΟΣ_ΠΙΝΑΚΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Χ[100] ΠΡΑΓΜΑΤΙΚΕΣ : ΜΕΣΟΣ ΑΡΧΗ ΚΑΛΕΣΕ ΠΙΝΑΚΑΣ(Χ, ΜΕΣΟΣ)! ΚΛΗΣΗ ΔΙΑΔΙΚΑΣΙΑΣ ΓΡΑΨΕ Ο ΜΕΣΟΣ ΟΡΟΣ=, ΜΕΣΟΣ! ΚΑΛΕΣΑΜΕ ΤΗ ΔΙΑΔΙΚΑΣΙΑ ΜΕ ΠΑΡΑΜΕΤΡΟΥΣ Χ ΚΑΙ ΜΕΣΟΣ. ΟΧΙ ΜΕ Α ΚΑΙ ΜΟ. ΒΕΒΑΙΑ Η! ΑΝΤΙΣΤΟΙΧΙΑ ΤΩΝ ΠΑΡΑΜΕΤΡΩΝ ΕΙΝΑΙ ΜΙΑ ΠΡΟΣ ΜΙΑ. ΔΗΛΑΔΗ Ο ΠΙΝΑΚΑΣ Χ ΠΗΓΕ ΣΤΗ! ΔΙΑΔΙΚΑΣΙΑ ΚΕΝΟΣ ΠΗΡΕ ΤΗ ΘΕΣΗ ΤΟΥ Ο Α, ΓΕΜΙΣΕ ΜΕ ΣΤΟΙΧΕΙΑ, Η ΜΕΤΑΒΛΗΤΗ ΜΕΣΟΣ ΠΗΓΕ! ΚΕΝΗ ΥΠΟΛΟΓΙΣΤΗΚΕ Ο ΜΟ ΚΑΙ ΕΠΕΣΤΡΕΨΑΝ ΟΙ ΤΙΜΕΣ ΣΤΟ ΚΥΡΙΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑ ΤΟ! ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ. ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Παρατήρηση : Για τα ονόματα των παραμέτρων ισχύουν τα ίδια ακριβώς που ισχύουν και στη συνάρτηση. Επιλέξαμε διαφορετικά στην σύνταξη και άλλα στην κλήση. Θα μπορούσαμε να χρησιμοποιούσαμε τα ίδια αλλά θα έπρεπε να δηλωθούν υποχρεωτικά τόσο στη διαδικασία όσο και στο κύριο πρόγραμμα. Β. Ερωτήσεις 8.1 Τι γνωρίζετε για τον τμηματικό προγραμματισμό ; 8.2 Ποια είναι τα χαρακτηριστικά που πρέπει να διακρίνουν ένα υποπρόγραμμα ; Να τα αναλύσετε. 8.3 Να αναπτύξετε τα πλεονεκτήματα του τμηματικού προγραμματισμού. 8.4 Ποια τα δύο είδη υποπρογραμμάτων που χρησιμοποιούμε και να δοθεί ορισμός για το καθένα. 194

196 8.5 Τι γνωρίζετε για τις παραμέτρους ( γενικά συνάρτηση διαδικασία ) ; 8.6 Να δοθεί η γενική μορφή σύνταξης (ορισμού) και κλήσης μιας διαδικασίας. 8.7 Να δοθεί η γενική μορφή σύνταξης (ορισμού) και κλήσης μιας συνάρτησης. 8.8 Να αναφέρετε τους κανόνες που πρέπει να ακολουθούν οι λίστες των παραμέτρων κατά την κλήση ενός υποπρογράμματος. 8.9 Ποια η σημασία των δομών δεδομένων στον τμηματικό προγραμματισμό ; Γ. Λυμένα Θέματα 8.10 Να κατασκευάσετε διαδικασία που θα δέχεται έναν ακέραιο αριθμό και θα επιστρέφει σε λογική μεταβλητή Αληθής αν ο αριθμός είναι πρώτος και Ψευδής αν είναι σύνθετος. Στη συνέχεια γράψτε κύριο πρόγραμμα που θα εμφανίζει τους πρώτους αριθμούς από το 2 έως το Υπόδειξη : Πρώτος είναι ένας αριθμός όταν οι μόνοι του διαιρέτες είναι το 1 και ο ίδιος ο αριθμός. Όλοι οι άλλοι αριθμοί είναι σύνθετοι. Σε ότι αφορά τη διαδικασία αναγνώρισης πρώτων αριθμών θα μετρήσουμε το πλήθος των διαιρετών. Στην περίπτωση που το πλήθος είναι 2 τότε ο αριθμός είναι πρώτος. Ας δούμε τη λύση που παρουσιάζει ιδιαίτερο ενδιαφέρον. ΔΙΑΔΙΚΑΣΙΑ ΠΡΩΤΟΙ(Α, FLAG) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Α, Ι, ΠΔ ΛΟΓΙΚΕΣ : FLAG ΑΡΧΗ ΠΔ 0 FLAG ΨΕΥΔΗΣ ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Α ΑΝ Α MOD Ι = 0 ΤΟΤΕ ΠΔ ΠΔ + 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ ΠΔ = 2 ΤΟΤΕ FLAG ΑΛΗΘΗΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΠΡΟΓΡΑΜΜΑ ΠΡ_ΑΡ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Χ ΛΟΓΙΚΕΣ : Λ ΑΡΧΗ ΓΙΑ Χ ΑΠΟ 2 ΜΕΧΡΙ 1000 ΚΑΛΕΣΕ ΠΡΩΤΟΙ(Χ, Λ) ΑΝ Λ = ΑΛΗΘΗΣ ΤΟΤΕ ΓΡΑΨΕ Χ, ΠΡΩΤΟΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ 195

197 8.11 Κατά την ημέρα του εορτασμού της εργατικής Πρωτομαγιάς 2010 μια επιχείρηση αποφάσισε να κρατήσει στατιστικά στοιχεία για την κατάσταση των απεργών υπαλλήλων της. Συγκεκριμένα κατασκευάστηκε πρόγραμμα που εκτελεί τις παρακάτω λειτουργίες : α. Εισαγωγή ονομάτων των 75 εργατών σε πίνακα β. Εισαγωγή σε κατάλληλο πίνακα με χρήση διαδικασίας κατά πόσο ένας εργάτης απεργεί ή όχι. Συγκεκριμένα αν στον πίνακα υπάρχει 1 ο εργάτης απεργεί ενώ αν υπάρχει 0 ο εργάτης δεν απεργεί. Σε διαφορετική περίπτωση θα εμφανίζονται κατάλληλα μηνύματα. γ. Υπολογισμός ποσοστού απεργών με χρήση συνάρτησης. δ. Διαχωρισμός του πίνακα των εργατών σε απεργούς και μη. Πρόκειται για μια σύνθετη άσκηση που χρησιμοποιεί 2 διαδικασίες και μια συνάρτηση. Επιπλέον γίνεται φανερός ο χειρισμός των πινάκων μέσα στα υποπρογράμματα. ΠΡΟΓΡΑΜΜΑ ΠΡΩΤΟΜΑΓΙΑ ΣΤΑΘΕΡΕΣ Ν=75 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Ι ΧΑΡΑΚΤΗΡΕΣ : ΕΡΓ[Ν], Ε1[Ν], Ε2[Ν] ΛΟΓΙΚΕΣ : ΑΠΕΡ[Ν] ΠΡΑΓΜΑΤΙΚΕΣ : ΠΟΣ ΑΡΧΗ ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν ΓΡΑΨΕ ΔΩΣΕ ΣΤΟΙΧΕΙΑ ΤΟΥ,Ι, ΕΡΓΑΖΟΜΕΝΟΥ ΔΙΑΒΑΣΕ ΕΡΓ[Ι] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΚΑΛΕΣΕ ΕΙΣΑΓΩΓΗ(ΑΠΕΡ, ΕΡΓ) ΠΟΣ ΠΟΣΟΣΤΟ(ΑΠΕΡ) ΓΡΑΨΕ ΤΟ ΠΟΣΟΣΤΟ ΤΩΝ ΑΠΕΡΓΩΝ ΕΙΝΑΙ :,ΠΟΣ ΚΑΛΕΣΕ ΔΙΑΧ(ΕΡΓ, Ε1, Ε2, ΑΠΕΡ) ΓΡΑΨΕ ΟΙ ΑΠΕΡΓΟΙ ΕΙΝΑΙ : ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν ΓΡΑΨΕ Ε1[Ι] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ 196

198 ΔΙΑΔΙΚΑΣΙΑ ΕΙΣΑΓΩΓΗ(Χ,Α) ΣΤΑΘΕΡΕΣ Ν=75 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Ι ΧΑΡΑΚΤΗΡΕΣ : Α[Ν] ΛΟΓΙΚΕΣ : Χ[Ν] ΑΡΧΗ ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν ΓΡΑΨΕ Ο,Α[Ι], ΑΠΕΡΓΕΙ ; ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ Χ[Ι] ΜΕΧΡΙΣ_ΟΤΟΥ (Χ[Ι] = 0) Ή (Χ[Ι] = 1) ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΣΥΝΑΡΤΗΣΗ ΠΟΣΟΣΤΟ(ΑΠΕΡ) : ΠΡΑΓΜΑΤΙΚΗ ΣΤΑΘΕΡΕΣ Ν=75 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Ι ΛΟΓΙΚΕΣ : ΑΠΕΡ[Ν] ΠΡΑΓΜΑΤΙΚΕΣ : Π ΑΡΧΗ Π 0 ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν ΑΝ ΑΠΕΡ[Ι] = 1 ΤΟΤΕ Π Π+1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΠΟΣΟΣΤΟ (Π/Ν)*100 ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΧ(ΕΡΓ, Ε1, Ε2, ΑΠΕΡ) ΣΤΑΘΕΡΕΣ Ν=75 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Ι, Κ, Λ ΧΑΡΑΚΤΗΡΕΣ : ΕΡΓ[Ν], Ε1[Ν], Ε2[Ν] ΛΟΓΙΚΕΣ : ΑΠΕΡ[Ν] ΑΡΧΗ Κ 0 Λ 0 ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν ΑΝ ΑΠΕΡ[Ι] = 1 ΤΟΤΕ Κ Κ+1 Ε1[Κ] ΕΡΓ[Ι] ΑΛΛΙΩΣ Λ Λ+1 Ε2[Λ] ΕΡΓ[Ι] ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ 197

199 8.12 Να σχηματίσετε τον πίνακα τιμών του παρακάτω προγράμματος.τι θα εκτυπωθεί; ΠΡΟΓΡΑΜΜΑ Πίνακας_Τιμών2 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β, Γ ΑΡΧΗ Α 3 Β 13 Γ 2 ΓΡΑΨΕ Α, Β, Γ ΚΑΛΕΣΕ Επεξεργασία_Τιμών2 (Β, Γ) ΓΡΑΨΕ Α, Β, Γ ΚΑΛΕΣΕ Επεξεργασία_Τιμών2 (Γ, Α) ΓΡΑΨΕ Α, Β, Γ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ Επεξεργασία_Τιμών2 (αριθμός1, αριθμός2) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: αριθμός1, αριθμός2 ΑΡΧΗ αριθμός1 αριθμός1 DIV 2 αριθμός2 αριθμός2 ^ 3 ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ Περιγραφή ενέργειας που εκτελείται Κυρίως Πρόγραμμα Υποπρόγραμμα Α Β Γ αριθμός1 αριθμός2 Κυρίως πρόγραμμα : εντολές εκχώρησης η κλήση διαδικασίας : με παραμέτρους Β=13, Γ= Εκτέλεση διαδικασίας : εντολές εκχώρησης 6 8 Επιστροφή τιμών Β=6, Γ=8 στο κυρίως πρόγραμμα η κλήση διαδικασίας : με παραμέτρους Γ=8, Α=3 8 3 Εκτέλεση διαδικασίας : εντολές εκχώρησης 4 27 Επιστροφή τιμών Γ=4, Α=27 στο κυρίως πρόγραμμα: Στην πρώτη εντολή ΓΡΑΨΕ θα εκτυπωθούν οι τιμές: 3, 13, 2 Στην δεύτερη εντολή ΓΡΑΨΕ θα εκτυπωθούν οι τιμές: 3, 6, 8 Στην τρίτη εντολή ΓΡΑΨΕ θα εκτυπωθούν οι τιμές: 27, 6, 4 198

200 Δ. Θέματα για λύση 1. ΘΕΜΑΤΑ ΜΕ ΣΥΝΑΡΤΗΣΕΙΣ 8.13 Α. Να γραφτεί συνάρτηση που θα υπολογίζει το μήκος ενός κύκλου ακτίνας R. Β. Στη συνέχεια να γράψετε κύριο πρόγραμμα που θα διαβάζει 5 διαφορετικές ακτίνες κύκλων και θα εμφανίζει το μήκος του κάθε κύκλου χρησιμοποιώντας τη συνάρτηση του υποερωτήματος α Α. Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που θα εισάγονται οι πλευρές ενός τριγώνου και με τη βοήθεια του τύπου του Ήρωνα θα υπολογίζεται το εμβαδόν του τριγώνου. Β. Στη συνέχεια να μετατρέψετε το παραπάνω πρόγραμμα ώστε να χρησιμοποιεί συνάρτηση για τον υπολογισμό του εμβαδού και να κατασκευάσετε και τη συνάρτηση Οι υπάλληλοι μιας εταιρείας που ασχολείται με το εμπόριο Η/Υ έχουν κρατήσεις 16% επί του μισθού τους. Α. Να δημιουργήσετε συνάρτηση η οποία δέχεται το μισθό ενός υπαλλήλου και θα υπολογίζει τις κρατήσεις. Β. Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που θα υλοποιεί τα παρακάτω : 1. Θα διαβάζει το όνομα και το μισθό των 30 υπαλλήλων της εταιρίας. 2. Θα εμφανίζει το όνομα και το καθαρό ποσό που θα εισπράξει ο κάθε υπάλληλος Να γραφεί συνάρτηση που θα μετατρέπει τους βαθμούς Φαρενάιτ σε Κελσίου και πρόγραμμα στη «ΓΛΩΣΣΑ» που θα κάνει τη μετατροπή για τους παρακάτω βαθμούς : -10, 0, 10,..., 100 o 5 F. Δίνεται ότι C = (F 32). Στη συνέχεια μετατρέψτε το 9 παραπάνω πρόγραμμα ώστε να μη χρησιμοποιεί συνάρτηση Να δημιουργήσετε συνάρτηση για τον υπολογισμό του εμβαδού κυκλικού τομέα μ ο 2 ο π ρ µ μοιρών και ακτίνας ρ σύμφωνα με τον τύπο της γεωμετρίας E =. Κατόπιν κατασκευάστε πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο θα διαβάζει την ακτίνα ενός κυκλικού τομέα και θα τοποθετεί σε κατάλληλο πίνακα ΕΜΒ τα εμβαδά για κυκλικούς τομείς από 1 ο έως και 360 ο. Στη συνέχεια το πρόγραμμα θα εμφανίζει τα ζεύγη ( Γωνία Εμβαδόν ) με αντίστροφη σειρά Να κατασκευάσετε συνάρτηση στη «ΓΛΩΣΣΑ» η οποία θα δέχεται 2 μονοδιάστατους πίνακες Α, Β ίδιας διάστασης, θα συγκρίνει αν ο Α περιέχει σε όλες τις θέσεις πολλαπλάσια των αντίστοιχων στοιχείων του Β και θα επιστρέφει τις τιμές Αληθής ή Ψευδής ανάλογα με την περίπτωση. 199

201 Στη συνέχεια ένα κύριο προγραμμα θα διαβάζει δύο πίνακες Χ[100], Υ[100] ακεραίων αριθμών και θα εμφανίζει το μήνυμα Ο Χ περιέχει τα πολλαπλάσια των στοιχείων του Υ χρησιμοποιώντας την παραπάνω συνάρτηση Να γίνει πρόγραμμα το οποίο θα διαβάζει 100 ακέραιους αριθμούς και θα εμφανίζει αν ο καθένας από αυτούς είναι άρτιος ή περιττός. Σημειώνεται οτι ο έλεγχος για το αν ένας αριθμός είναι άρτιος ή περιττός θα γίνεται μέσα σε συνάρτηση που θα επιστρέφει αληθής η ψευδής Μία εταιρεία απασχολεί 70 υπαλλήλους. Οι μηνιαίες αποδοχές κάθε υπαλλήλου κυμαίνονται από 300 έως και Α. Να γράψετε πρόγραμμα στη «ΓΛΩΣΣΑ» που για κάθε υπάλληλο 1. Να διαβάζει το ονοματεπώνυμο (διάφορο του κενού) και τις μηνιαίες αποδοχές και να ελέγχει την ορθότητα καταχώρησης των στοιχείων. 2. Να υπολογίζει το ποσό του φόρου κλιμακωτά με κλήσεις της συνάρτησης ΦΟΡΟΣ(ΜΙΣΘΟΣ), συμφωνά με τον επόμενο πίνακα: Μηνιαίες αποδοχές Ποσοστό κράτησης φόρου Έως και 700 0% Άνω των 700 έως και % Άνω των 900 έως και % Άνω των % 3. Να εμφανίζει το ονοματεπώνυμο, τις μηνιαίες αποδοχές, το φόρο και τις καθαρές μηνιαίες αποδοχές, που προκύπτουν μετά την αφαίρεση του φόρου. Β. Τέλος, το παραπάνω πρόγραμμα να υπολογίζει και να εμφανίζει. 1. Το συνολικό ποσό που αντιστοιχεί στο φόρο όλων των υπαλλήλων, 2. Το συνολικό ποσό που αντιστοιχεί στις καθαρές μηνιαίες αποδοχές όλων των υπαλλήλων Να γίνει συνάρτηση που θα δεχεται το μισθό ενός υπαλλήλου και θα υπολογίζει το φόρο που πρέπει να πληρώσει σύμφωνα με τον παρακάτω πίνακα. Μισθός Φόρος % ,5% % Στη συνέχεια να γίνει κύριο πρόγραμμα το οποίο θα διαβάζει για 1000 εργαζόμενους το μισθό και το πλήθος παιδιών και θα υπολογίζει το φόρο ως εξής. Για οικογένειες με λιγότερα από 4 παιδιά ο φόρος υπολογίζεται από τη σύναρτηση, ενώ για τις υπόλοιπες ο φόρος είναι 50. Τέλος να εμφανίζεται ο συνολικός φόρος που θα εισπραχθεί και ο μέσος όρος φόρου. 200

202 8.22 Να γίνει συνάρτηση που θα δέχεται ένα πίνακα Α[150] ακεραίων και θα επιστρεφει το μέγιστο του στοιχείο. Στη συνέχεια να γίνει κύριο προγραμμα που θα διαβάζει ένα πίνακα Β[150] και θα εμφανίζει το μέγιστο του κάνοντας χρήσης της συνάρτησης Να γίνει συνάρτηση που θα δέχεται 2 πίνακες Α[150,30] και Β[150,30] και θα υπολογίζει το ποσοστό των ίσων τους στοιχείων. Στη συνέχεια να γίνει κύριο πρόγραμμα που θα διαβάζει 2 κατάλληλους πίνακες και με χρήση της συνάρτησης θα εμφανίζει αν είναι ίσοι ή όχι Να γίνει συνάρτηση που θα υλοποιεί την x y+ z, x> 0 f ( x, y, z) = 2 2 x+ y z, x< 0. Στη συνέχεια να γίνει κύριο πρόγραμμα που θα διαβάζει 10 αριθμούς x, ένα y και ένα z και θα εμφανίζει την τιμή της συνάρτησης. Να γίνει έλεγχος ορθότητας ώστε το x να μην είναι Α. Να κατασκευάσετε συνάρτηση η οποία θα δέχεται ένα πίνακα Α με Ν στοιχεία και θα επιστρέφει το μέσο όρο του. Β. Να γίνει πρόγραμμα το οποίο θα διαβάζει ένα πίνακα Α[30] και στη συνέχεια θα εμφανίζει το μέσο όρο του με τη βοήθεια της συνάρτησης που κατασκευάσατε Α. Να κατασκευάσετε συνάρτηση η οποία θα δέχεται ένα πίνακα Α με Ν στοιχεία και θα επιστρέφει το μέγιστο στοιχείο του πίνακα. Β. Να γίνει πρόγραμμα το οποίο θα διαβάζει ένα πίνακα Α[300] και στη συνέχεια θα εμφανίζει το μέγιστο του με τη βοήθεια της συνάρτησης που κατασκευάσατε Να γίνει πρόγραμμα το οποίο θα διαβάζει ένα πίνακα Β[600,500] και θα εμφανίζει το μέγιστο στοιχείο της κάθε στήλης. Ο υπολογισμός του μεγίστου στοιχείου μιας στήλης θα γίνεται με τη βοήθεια κατάλληλης συνάρτησης που θα κατασκευάσετε Α. Να γίνει πρόγραμμα το οποίο θα διαβάζει ένα πίνακα Α[30,80] και στη συνέχεια θα δημιουργεί κατάλληλο μονοδιάστατο πίνακα στον οποίο θα τοποθετεί το μέσο όρο κάθε γραμμής του πίνακα. Β. Ο υπολογισμός του μέσου όρου μιας γραμμής θα υπολογίζεται από συνάρτηση που θα κατασκευάσετε για το σκοπό αυτό. 201

203 2. ΘΕΜΑΤΑ ΜΕ ΔΙΑΔΙΚΑΣΙΕΣ 8.29 Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» που θα διαβάζει 100 αριθμούς, θα τους αποθηκεύει σ ένα μονοδιάστατο πίνακα Π και στη συνέχεια θα ταξινομεί τον πίνακα με τη μέθοδο της φυσαλίδας. Για την αντιμετάθεση των μεταβλητών ορίστε διαδικασία Να γράψετε διαδικασία που να δέχεται έναν αριθμό (ακέραιος Χ) και έναν ακόμη αριθμό (ακέραιος Ν) και θα επιστρέφει τη δύναμη Χ Ν χωρίς τη χρήση του τελεστή ^. Δημιουργήστε ένα πρόγραμμα που θα διαβάζει έναν ακέραιο για βάση, 10 εκθέτες διαφορετικούς από το 0 (έλεγχος) και θα τυπώνει λίστα με τις δυνάμεις που υπολογίστηκαν Α. Να οριστεί μια διαδικασία ΕΙΣΑΓΩΓΗ(Α) η οποία θα εισάγει θετικούς αριθμούς σ ένα πίνακα Α[100]. Σε περίπτωση που ο αριθμός που δίνεται δεν ικανοποιεί τους περιορισμούς, θα τυπώνεται μήνυμα λάθους και θα ξαναδίνεται ο αριθμός. Β. Στη συνέχεια να γίνει κυριο πρόγραμμα το οποίο θα καλεί τη διαδικασία που διαβάζει πίνακα Β με 100 αριθμούς και θα εμφανίζει το μέγιστο στοιχείο του Να κατασκευάσετε διαδικασία στη «ΓΛΩΣΣΑ» ΤΙΜΕΣ(Α, κ, mo, μεγ, ελαχ) η οποία να υπολογίζει το μέσο όρο (mo), τη μέγιστη (μεγ) και την ελάχιστη (ελαχ) τιμή της κ- οστης γραμμής του πίνακα ακεραίων Α[100,100] Μια εταιρία κινητής τηλεφωνίας χρησιμοποιεί για την κοστολόγηση των πελατών της κλιμακωτή χρέωση σύμφωνα με τον παρακάτω πίνακα. Πάγιο 5 Γραπτό μήνυμα 0.09 / μήνυμα Χρόνος τηλεφωνημάτων Για τα πρώτα 500'' / δευτερ. Για τα 501'' - 800'' / δευτερ. Για τα 801'' και άνω / δευτερ. Α. Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο θα διαβάζει τον αριθμό των γραπτών μηνυμάτων και το χρόνο των τηλεφωνημάτων ενός συνδρομητή. Β. Να ορίσετε διαδικασία η οποία θα υπολογίζει και θα εμφανίζει την συνολική μηνιαία χρέωση του συνδρομητή Ένα ιδιωτικό εκπαιδευτήριο έχει 30 μαθητές Γ λυκείου που παρακολουθούν το μάθημα Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον της τεχνολογικής κατεύθυνσης. Όλοι οι μαθητές κατά τη διάρκεια της χρονιάς εξετάστηκαν σε 6 διαγωνίσματα. Να γραφεί πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο θα υλοποιεί τα παρακάτω : α. Θα καταχωρεί σε κατάλληλους πίνακες τα ονόματα και τους βαθμούς των μαθητών στα διαγωνίσματα, χρησιμοποιώντας διαδικασία. β. Σε έναν άλλο πίνακα θα καταχωρείται ο μέσος όρος του κάθε μαθητή. 202

204 γ. Θα ταξινομεί τον πίνακα των μέσων όρων σε φθίνουσα σειρά. Η αντιμετάθεση των μεταβλητών να υλοποιηθεί με χρήση διαδικασίας. δ. Θα εμφανίζει τα ονόματα των 3 καλύτερων μαθητών οι οποίοι θα λάβουν ένα μικρό δώρο λίγες μέρες πριν τις εξετάσεις. ε. Να κατασκευάσετε τα υποπρογράμματα που χρησιμοποιήσατε παραπάνω Να γίνει πρόγραμμα το οποίο: α. Να διαβάζει 2 πραγματικούς αριθμούς α, β. β. Να λύνει την εξίσωση αx+β=0. ΣΗΜΕΙΩΣΕΙΣ: Η επίλυση της εξίσωσης να γίνεται με ΔΙΑΔΙΚΑΣΙΑ της μορφής Επίλυση_εξίσωσης(α, β, x, είδος) όπου: α, β: Οι τιμές των συντελεστών της εξίσωσης (είσοδοι ΔΙΑΔΙΚΑΣΙΑΣ) χ: Η λύση της εξίσωσης (έξοδος ΔΙΑΔΙΚΑΣΙΑΣ) είδος: ΑΚΕΡΑΙΑ μεταβλητή (έξοδος ΔΙΑΔΙΚΑΣΙΑΣ) που περιγράφει το είδος της εξίσωσης ως εξής: 1 = Η εξίσωση έχει μια λύση 2 = Η εξίσωση είναι ΑΟΡΙΣΤΗ 3 = Η εξίσωση είναι ΑΔΥΝΑΤΗ Η εμφάνιση της τιμής του x (στο κυρίως πρόγραμμα) να γίνεται μόνο αν εξίσωση έχει μία λύση. Αλλιώς να εμφανίζεται ενημερωτικό μήνυμα 3. ΘΕΜΑΤΑ ΠΟΥ ΖΗΤΟΥΝ ΕΚΤΕΛΕΣΗ 8.36 Δίνεται η συνάρτηση : ΣΥΝΑΡΤΗΣΗ ΥΠΟΛ(Α,Β,Γ) : ΠΡΑΓΜΑΤΙΚΗ ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ : Α,Β,Γ ΑΡΧΗ ΑΝ Α > Β ΤΟΤΕ ΥΠΟΛ Α + Γ + Β ΑΛΛΙΩΣ_ΑΝ Β > Α Γ ΤΟΤΕ ΥΠΟΛ Β*Α*Γ ΑΛΛΙΩΣ ΥΠΟΛ 0 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ Να βρείτε τι θα εμφανίσουν οι εντολές α. ΓΡΑΨΕ ΥΠΟΛ(13,5,4) β. ΓΡΑΨΕ ΥΠΟΛ(0,5,1) γ. ΓΡΑΨΕ ΥΠΟΛ(0,0,0) 203

205 8.37 Δίνεται η παρακάτω συνάρτηση : Συνάρτηση Καθαρός(μισθός,Ε1,Ε2) : πραγματική Μεταβλητές Πραγματικές : μισθός, λ1, λ2 Χαρακτήρες : Ε1, Ε2 Αρχή Αν Ε1 = Ν τότε λ1 1 αλλιώς λ1 0 τελος_αν Αν Ε2 = Ν τότε λ2 1 αλλιώς λ2 0 τελος_αν Καθαρός μισθός/(1+λ1*15/100 + λ2*20/100) Τέλος_συνάρτησης Ποια τιμή θα καταχωρηθεί στη μεταβλητή Π μετά από τις παρακάτω εντολές : α. Κ Ο β. Κ Ν Λ Ν Λ Ν Μ 1500 Μ 1200 Π Καθαρός(Μ, Κ, Λ) Π Καθαρός(Μ, Κ, Λ) 8.38 Να σχηματίσετε τον πίνακα τιμών του παρακάτω προγράμματος. Τι θα εκτυπωθεί; ΠΡΟΓΡΑΜΜΑ Πίνακας_Τιμών ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β ΑΡΧΗ Α 2 Β 19 ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΚΑΛΕΣΕ Επεξεργασία_Τιμών5 (Β, Α) ΓΡΑΨΕ Α, Β ΜΕΧΡΙΣ_ΟΤΟΥ (Α > Β) ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ Επεξεργασία_Τιμών(αριθμός1, αριθμός2) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: αριθμός1, αριθμός2 ΑΡΧΗ αριθμός1 αριθμός1-2 αριθμός2 αριθμός2 + 5 ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ 204

206 8.39 Δίνεται το παρακάτω τμήμα προγράμματος και μια συνάρτηση: Διάβασε Κ Συνάρτηση G(Y, X) : Ακέραια L 3 Μεταβλητές Α 1 Ακέραιες: X, Y Όσο Α < 8 επανάλαβε Αρχή Αν Κ ΜΟD L = 0 τότε G (X + Y) DIV 3 Χ G(Α, L) Τέλος_συνάρτησης. αλλιώς Χ Α + L Τέλος_αν γραψε L, Α, Χ Α Α + 3 L L+ 1 Τέλος_επανάληψης α. Να γίνει πίνακας τιμών για Κ=8 β. Να βρείτε τι θα εμφανιστεί Δίνεται το παρακάτω πρόγραμμα και υποπρογράμμα: ΠΡΟΓΡΑΜΜΑ Κύριο ΔΙΑΔΙΚΑΣΙΑ ΑΡΙΘΜΟΙ(Β, Γ, Δ, Α) ΜΕΤΑΒΛΗΤΕΣ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Α,Β,Γ,Δ ΑΚΕΡΑΙΕΣ : Α,Β,Γ,Δ ΑΡΧΗ ΑΡΧΗ ΔΙΑΒΑΣΕ Α, Β, Γ, Δ Α Α + 2 ΚΑΛΕΣΕ ΑΡΙΘΜΟΙ(Α, Β, Δ, Γ) Β Β - 3 ΓΡΑΨΕ Α, Δ, Β, Γ Γ Α + Β ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Δ Α - 3*Δ + Β ΓΡΑΨΕ Α, Β, Γ, Δ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ Να βρείτε τι θα εμφανίσει αν εισαχθούν ως τιμές το Α = 5, Β = 4, Γ= 3, Δ = Δίνεται το παρακάτω πρόγραμμα που χρησιμοποιεί μια διαδικασία. Κατασκευάστε πίνακα τιμών για όλες τις μεταβλητές που περιέχει, καθώς επίσης και πίνακα με τα στοιχεία που θα εμφανιστούν. ΠΡΟΓΡΑΜΜΑ Πίνακας_Τιμών ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: α, β ΠΡΑΓΜΑΤΙΚΕΣ: γ ΑΡΧΗ α 2 β 855 γ 5 ΟΣΟ β >= γ ΕΠΑΝΑΛΑΒΕ α α + 2 ΚΑΛΕΣΕ Υπολογισμοί(α, β, γ) ΓΡΑΨΕ α, β, γ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ Υπολογισμοί(x, y, z) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: x, y ΠΡΑΓΜΑΤΙΚΕΣ: z ΑΡΧΗ y y DIV x z 2 * z + x ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ 205

207 4. ΕΠΑΝΑΛΗΠΤΙΚΑ ΣΥΝΔΥΑΣΤΙΚΑ ΘΕΜΑΤΑ 8.42 Να γράψετε υποπρόγραμμα που θα δέχεται μια γωνία σε μοίρες (μ), θα τη μετατρέπει σε ακτίνια (α) και θα επιστρέφει την συνεφαπτομένη της γωνίας (υπενθυμίζεται ότι η συνεφαπτομένη μιας γωνίας είναι η αντίστροφη τιμή της εφαπτομένης της γωνίας ο α µ αυτής και ότι ). ο π = Να γράψετε υποπρόγραμμα που να διαβάζει τα στοιχεία ενός πίνακα Χ[100] τα οποία πρέπει να ελέγχονται ώστε να είναι θετικοί άρτιοι αριθμοί. Στη συνέχεια το κύριο πρόγραμμα θα εμφανίζει ποιοι από αυτούς εχουν διαιρέτη το Να γράψετε υποπρόγραμμα που θα δέχεται σαν παράμετρο ένα πίνακα ακεραίων αριθμών Χ[8, 8] και θα επιστρέφει το άθροισμα των στοιχείων της κυρίας διαγωνίου α. Να γραφεί η παρακάτω συνάρτηση στη «ΓΛΩΣΣΑ». β. Στη συνέχεια να γραφεί πρόγραμμα που θα διαβάζει από το πληκτρολόγιο 10 πραγματικούς αριθμούς και θα υπολογίζει την τιμή της συνάρτησης. γ. Μετατρέψτε τη συνάρτηση σε διαδικασία προσέχοντας πάντα να έχουμε το ίδιο αποτέλεσμα Να γραφεί πρόγραμμα που θα διαβάζει ένα πίνακα 500 ακεραίων και θα ταξινομεί σε φθίνουσα σειρά τα στοιχεία του. Για την ταξινόμηση του πίνακα να κατασκευαστεί κατάλληλη διαδικασία Να γράψετε υποπρόγραμμα που να δέχεται δέκα αριθμούς αποθηκευμένους σε πίνακα και να τους επιστρέφει με διάταξη από τον μικρότερο προς τον μεγαλύτερο Να γράψετε πρόγραμμα το οποίο : α. Θα εισάγει στοιχεία σε πίνακα 20x < x < 10 D( x) = 0 αλλού β. Θα υπολογίζει το πλήθος των αρνητικών αριθμών, που βρίσκονται στις άρτιες γραμμές του πίνακα με ορισμό κατάλληλης διαδικασίας. γ. Θα τοποθετεί τα πολλαπλάσια του 5 σε κατάλληλο μονοδιάστατο πίνακα. δ. Θα υπολογίζει και θα εμφανίζει το γινόμενο των πολλαπλασίων του 4 που βρίσκονται στις άρτιες στήλες και περιττές γραμμές του πίνακα με χρήση συνάρτησης. ε. Θα βρίσκει το άθροισμα όλων των στοιχείων του πίνακα με χρήση συνάρτησης και θα το συγκρίνει με το παραπάνω γινόμενο εμφανίζοντας κατάλληλα μηνύματα. 206

208 8.49 Μια ομάδα ποδοσφαίρου διαθέτει 20 παίκτες. Να κατασκευάσετε πρόγραμμα το οποίο : α. Θα εισάγει τα ονοματεπώνυμα των παικτών σε κατάλληλο πίνακα β. Θα εισάγει σε κατάλληλο πίνακα τα γκολ που πέτυχε ο κάθε παίκτης σε καθέναν από τους 32 αγώνες του πρωταθλήματος. γ. Θα υπολογίζει το πλήθος των γκολ που πέτυχε κάθε παίκτης. δ. Θα βρίσκει και θα εμφανίζει τον πρώτο σκόρερ της ομάδας. ε. Θα ταξινομεί τα ονόματα των παικτών και τα γκολ που πέτυχαν σε φθίνουσα σειρά. Σε περίπτωση που 2 παίκτες πέτυχαν τον ίδιο αριθμό γκολ, η ταξινόμηση θα γίνεται με βάση το ονοματεπώνυμο. Όλη η ταξινόμηση να γίνει με χρήση διαδικασίας που θα κατασκευάσετε. στ. Θα εμφανίζει λίστα ονομάτων και τερμάτων όσων σκόραραν πάνω από 20 φορές Να κατασκευάσετε πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο : α. Θα χρησιμοποιεί διαδικασία για το διάβασμα 2 πινάκων Τ[50] και Σ[50,30]. Ο πρώτος περιέχει τα ονόματα και ο δεύτερος τα ημερήσια έξοδα 50 ανθρώπων σε διάστημα ενός μήνα. β. Θα τοποθετεί το μέσο όρο του κάθενός σε κατάλληλο πίνακα. Για τον υπολογισμό θα χρησιμοποιηθεί κατάλληλη συνάρτηση. γ. Θα ταξινομεί τους μέσους όρους και τα ονόματα σε αλφαβητική σειρά. δ. Θα χρησιμοποιεί μια διαδικασία για την εμφάνιση αυτών που έχουν μέσο όρο εξόδων άνω των 300 ευρώ. Σημειώνεται ότι τα υποπρογράμματα πρέπει να κατασκευαστούν Να γίνει πρόγραμμα το οποίο: α. Να διαβάζει έναν πίνακα Α, ακεραίων αριθμών, 10 θέσεων. β. Να διαβάζει έναν όμοιο πίνακα Β. γ. Να αποθηκεύει σε κάθε θέση ενός όμοιου πίνακα Γ το μεγαλύτερο από τα στοιχεία που περιέχουν στην αντίστοιχη θέση οι πίνακες Α και Β. δ. Να εμφανίζει τα περιεχόμενα του πίνακα Γ. ΣΗΜΕΙΩΣΕΙΣ: Το διάβασμα των πινάκων Α και Β να γίνεται με κλήσεις μιας ΔΙΑΔΙΚΑΣΙΑΣ. Η εύρεση του μεγίστου να γίνεται με κλήση ΣΥΝΑΡΤΗΣΗΣ. Η εμφάνιση του πίνακα Γ να γίνεται με κλήση ΔΙΑΔΙΚΑΣΙΑΣ. 207

209 8.52 Εκατό (100) υποψήφιοι του ΑΣΕΠ διαγωνίζονται σε τρία μαθήματα για την κάλυψη θέσεων του Δημοσίου. Να γραφεί κύριο πρόγραμμα σε ΓΛΩΣΣΑ που να κάνει τα παρακάτω: α. Διαβάζει τα ονόματα των 100 υποψηφίων του ΑΣΕΠ και τη βαθμολογία καθενός υποψηφίου σε τρία διαφορετικά μαθήματα. (Θεωρήστε ότι η βαθμολογία κάθε μαθήματος είναι από 1 έως 20). β. Βρίσκει και τυπώνει τον ελάχιστο και τον μέγιστο βαθμό καθενός υποψηφίου στα τρία μαθήματα που εξετάστηκε. γ. Να γραφεί υποπρόγραμμα, το οποίο να καλείται από το κύριο πρόγραμμα, για τον υπολογισμό και την εκτύπωση του ονόματος και του μέσου όρου κάθε υποψηφίου στα τρία μαθήματα που διαγωνίστηκε Να γίνει πρόγραμμα στη «ΓΛΩΣΣΑ» το οποίο : α. Θα διαβάζει το ονομα, το επώνυμο και το φύλο 1000 παιδιών. Η εισαγωγή των στοιχείων θα γίνεται με κατάλληλους ελέγχους ορθότητας. Τα στοιχεία θα εισάγονται στους δισδιάστατους πίνακες ΑΓ και ΚΟΡ. β. Στη συνέχεια θα ταξινομούνται οι δύο πίνακες αλφαβητικά με βάση το επώνυμο με κλήσεις της διαδικασίας ΦΥΣΣΑΛΙΔΑ(Χ,Υ) την οποία θα κατασκευάσετε. γ. Εμφανίστε τώρα τα ονοματεπώνυμα όλων των κοριτσιών. δ. Διαβάστε ένα επώνυμο αγοριού και αναζητήστε τη θέση που πιθανώς υπάρχει αυτό με χρήση κατάλληλης συνάρτησης ΑΝΑΖΗΤΗΣΗ(ΠΙΝ,ΚΕΥ,Υ) την οποία θα κατασκευάσετε και θα μας επιστρέφει τη θέση. ε. Εμφανίστε το μικρό όνομα του αγοριού που βρήκατε. Σε περίπτωση που δεν υπάρχει τυπώστε κατάλληλο μήνυμα Να αναπτύξετε ένα πρόγραμμα, ώστε Α Να διαβάζει έναν πραγματικό αριθμό μεγαλύτερο του μηδενός και μικρότερο του 1000 και να κάνει έλεγχο ορθής καταχώρησης του αριθμού, β. Να ελέγχει αν είναι ακέραιος με χρήση συνάρτησης και να εμφανίζει τη λέξη «ΑΚΕΡΑΙΟΣ» αλλιώς να εμφανίζει τη λέξη «ΠΡΑΓΜΑΤΙΚΟΣ», γ. Να ελέγχει, στην περίπτωση που ο αριθμός είναι ακέραιος, αν είναι άρτιος ή περιττός με χρήση διαδικασίας και να εμφανίζει τη λέξη «ΑΡΤΙΟΣ» ή «ΠΕΡΙΤΤΟΣ» αντίστοιχα. 208

210 8.55 Α. Να κατασκευάσετε υποπρόγραμμα που θα δέχεται ένα πίνακα με 8 γραμμές και 5 στήλες καθώς και τον αριθμό μιας στήλης και θα επιστρέφει το μέγιστο στοιχείο της συγκεκριμένης στήλης. Β. Να κατασκευάσετε υποπρόγραμμα που θα υπολογίζει το μέσο όρο ενός μονοδιάστατου πίνακα με μέγιστο πλήθος 100 στοιχεία. Γ. Να κατασκευάσετε κύριο πρόγραμμα το οποίο : 1. Θα διαβάζει ένα πίνακα Κ[8,5] με βαθμολογίες 8 παικτών ενός παιχνιδιού που κρίθηκαν από 5 κριτές ελέγχοντας τους βαθμούς ώστε να ανήκουν στην κλίμακα [0,5]. 2. Θα υπολογίζει και θα εμφανίζει τη μέγιστη βαθμολογία που δόθηκε από κάθε κριτή χρησιμοποιώντας το υποπρόγραμμα του ερωτήματος Α. 3. Θα υπολογίζει και θα εμφανίζει το μέσο όρο των μεγίστων βαθμολογιών των κριτών με χρήση του υποπρογράμματος του ερωτήματος Β. 4. Θα υπολογίζει και θα εμφανίζει το μέσο όρο των χειρότερων επιδόσεων όλων των αθλητών με χρήση του υποπρογράμματος του ερωτήματος Β Στα πλαίσια των πενταήμερων εκδρομών των σχολείων της Χίου ορίζεται από τη σχολική μονάδα ο αριθμός συνοδών καθηγητών ανάλογα με το πλήθος των μαθητών όπως φαίνεται στον παρακάτω πίνακα : Αριθμος συμμετεχόντων Πλήθος Συνοδών 1 30 μαθητές μαθητές μαθητές 4 Α. Να κατασκευάσετε υποπρόγραμμα το οποίο θα δέχεται το πλήθος των μαθητών που θα συμμετάσχουν από ένα σχολείο και θα επιστρέφει το πλήθος των συνοδών. Β. Να κατασκευάσετε πρόγραμμα το οποίο : 1. Θα δέχεται επαναληπτικά το όνομα του σχολείου και το πλήθος των μαθητών του, μέχρι να δοθεί μη αποδεκτός αριθμός. 2. Θα εμφανίζει το πλήθος των συνοδών και το όνομα του σχολείου. 3. Θα υπολογίζει το συνολικό αριθμό των συνοδών που απαιτούνται καθώς και το ποσοστό τους επι του συνόλου 800 εκπαιδευτικών που διδάσκουν σε όλα τα σχολεία. Σημείωση : όπου απαιτείται υπολογισμός του πλήθους των συνοδών να χρησιμοποιηθεί το υποπρόγραμμα του Ερωτήματος Α. 209

211 8.57 Α. Να κατασκευάσετε υποπρόγραμμα που θα δέχεται ένα μονοδιάστατο πίνακα με Ν ακέραια στοιχεία (μεγίστου πλήθους 1000) και θα δημιουργεί ένα νέο ο οποίος θα περιέχει τους άρτιους μόνο σε διαδοχική σειρά φροντίζοντας ώστε τα υπολοιπα στοιχεία να είναι μηδέν. Β. Να κατασκευάσετε κύριο πρόγραμμα το οποίο θα διαβάζει 2 πίνακες ακεραίων με Ν και Μ στοιχεία αντίστοιχα (απαιτείται έλεγχος εγκυρότητας των Ν και Μ) και στην συνέχεια θα δημιουργεί δύο νέους που περιέχουν μόνο τους άρτιους με κλήσεις του υποπρογράμματος που δημιουργήσατε στο Α ερώτημα Στο τμήμα Επιστήμης Υπολογιστών ενός ελληνικού πανεπιστημίου, ένας φοιτητής έχει τις εξής υποχρεώσεις στα πλαίσια του μαθήματος «Αντικειμενοστραφής Προγραμματισμός»: να κάνει 3 ασκήσεις, να δώσει μια Πρόοδο (Πρόοδος = διαγώνισμα πριν τις εξετάσεις) και να δώσει την τελική εξέταση. Προϋπόθεση για να συμμετάσχει στην τελική εξέταση είναι ο μέσος όρος των 3 ασκήσεων και της Προόδου να είναι από 5 και πάνω. Ο υπολογισμός του τελικού βαθμού γίνεται ως εξής : 1. Σε περίπτωση που ο βαθμός τελικής εξέτασης είναι κάτω του 5 τότε κάθε βαθμός άσκησης συμμετέχει σε ποσοστό 10% στον τελικό βαθμό, ο βαθμός Προόδου συμμετέχει σε ποσοστό 15% στον τελικό βαθμό και ο βαθμός της τελικής εξέτασης συμμετέχει σε ποσοστό 55% στον τελικό βαθμό. 2. Διαφορετικά κάθε βαθμός άσκησης συμμετέχει σε ποσοστό 6% στον τελικό βαθμό, ο βαθμός Προόδου συμμετέχει σε ποσοστό 12% στον τελικό βαθμό και ο βαθμός της τελικής εξέτασης συμμετέχει σε ποσοστό 70% στον τελικό βαθμό. Α. Να γράψετε ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΒΑΘΜ η οποία διαβάζει το βαθμό του φοιτητή σε μια υποχρέωση και τον αποθηκεύει στην πραγματική μεταβλητή Β. Η διαδικασία θα πρέπει να εξασφαλίζει ότι ο βαθμός που διαβάζεται είναι από 0 έως και 10. Β. Να γράψετε ΣΥΝΑΡΤΗΣΗ ΤΕΛΙΚΟΣ, η οποία δέχεται τους 5 βαθμούς (τρεις βαθμοί ασκήσεων, μια πρόοδος και μια τελική εξέταση) κάθε φοιτητή και υπολογίζει τον τελικό βαθμό στο μάθημα. Γ. Να γράψετε κύριο πρόγραμμα το οποίο : i. Θα διαβάζει τα ονοματεπώνυμα και τους βαθμούς στις υποχρεώσεις στο μάθημα «Αντικειμενοστραφής Προγραμματισμός» ενός συνόλου φοιτητών. Για την εισαγωγή και τον έλεγχο των βαθμών να γίνεται χρήση της Διαδικασίας του ερωτήματος Α. Η είσοδος τερματίζεται μόλις δοθεί ως ονοματεπώνυμο το κενό. ii. Θα υπολογίζει και θα εμφανίζει τον τελικό βαθμό του κάθε φοιτητή που έλαβε μέρος στην τελική εξέταση κάνοντας χρήση της συνάρτησης του ερωτήματος Β. iii. Θα εμφανίζει το ποσοστό των φοιτητών που δεν απέκτησαν το δικαίωμα να λάβουν μέρος στην τελική εξέταση. 210

212 8.59 Για την παρακολούθηση των θερμοκρασιών της επικράτειας κατά το μήνα Μάιο καταγράφεται κάθε μέρα η θερμοκρασία στις 12:00 το μεσημέρι για 20 πόλεις. Να αναπτύξετε πρόγραμμα το οποίο: α. Θα διαβάζει τα ονόματα των 20 πόλεων και τις αντίστοιχες θερμοκρασίες για κάθε μία από τις ημέρες του μήνα και θα καταχωρεί τα στοιχεία σε πίνακες. β. Θα εμφανίζει για κάθε πόλη το όνομά της και τη μέγιστη θερμοκρασία που καταγράφηκε σε αυτήν στη διάρκεια του μήνα. Ο υπολογισμός της μέγιστης θερμοκρασίας να γίνεται με τη χρήση υποπρογράμματος που θα κατασκευάσετε για το σκοπό αυτό. γ. Θα διαβάζει το όνομα μιας πόλης και θα εμφανίζει τη μέγιστη θερμοκρασία που καταγράφηκε στην πόλη αυτή στη διάρκεια του μήνα. Ο υπολογισμός της μέγιστης θερμοκρασίας πρέπει να γίνεται με τη βοήθεια του υποπρογράμματος που αναπτύχθηκε στο προηγούμενο ερώτημα (β). Αν η πόλη αυτή δεν υπάρχει να εμφανίζεται κατάλληλο μήνυμα. δ. Θα υπολογίζει και θα εμφανίζει τη μέγιστη θερμοκρασία που παρατηρήθηκε κατά τη διάρκεια όλου του μήνα και το όνομα της πόλης στην οποία καταγράφηκε. Ο υπολογισμός καθώς και η εμφάνιση των στοιχείων που προαναφέρθηκαν να γίνεται με τη χρήση υποπρογράμματος που θα κατασκευάσετε για το σκοπό αυτό Α. Να κατασκευαστεί υποπρόγραμμα που θα δεχεται ένα πίνακα Α[Ν,Μ] καθώς και το αριθμό μιας στήλης του (Σ) και θα τον επιστρέφει ταξινομημένο σε άυξουσα σειρά σύμφωνα με τα στοιχεία της Σ στήλης. Σημείωση : Μεγιστες τιμές Ν,Μ = 100 Β. Να κατασκευάσετε κύριο πρόγραμμα το οποίο θα διαβάζει ένα πίνακα με 50 γραμμές και 20 στήλες και στη συνέχεια θα τον ταξινομεί με τη χρήση του υποπρογράμματος του ερωτήματος Α σύμφωνα με μια στήλη του την οποία θα διαβάζει ελεγχοντας την εγκυρότητα της Τι θα εκτυπώσει το παρακάτω πρόγραμμα αν δοθούν ως αρχικές τιμές στην εντολή Διάβασε Α, Β, Γ οι τιμές 6,3,5 αντίστοιχα ; ΠΡΟΓΡΑΜΜΑ ΤΑΔΕ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Α, Β, Γ ΛΟΓΙΚΕΣ : ΤΙΜΗ ΑΡΧΗ ΔΙΑΒΑΣΕ Α, Β, Γ ΓΡΑΨΕ Α, Β, Γ ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ ΚΑΛΕΣΕ Δ1(Α, Β, Γ, ΤΙΜΗ) ΓΡΑΨΕ Α, Β, Γ ΜΕΧΡΙΣ_ΟΤΟΥ ΤΙΜΗ = ΑΛΗΘΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ Δ1(Γ, Β, Α, ΤΙΜΗ) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Α, Β, Γ ΠΡΑΓΜΑΤΙΚΕΣ : Χ ΛΟΓΙΚΕΣ : ΤΙΜΗ ΑΡΧΗ Χ 2*Γ MOD (Β + Α) ΓΡΑΨΕ Χ ΤΙΜΗ ΥΠΟΛΟΓ(Χ, Γ) Γ Γ + 2 Α Α + 1 ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΣΥΝΑΡΤΗΣΗ ΥΠΟΛΟΓ(Ζ,Β):ΛΟΓΙΚΗ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Β ΠΡΑΓΜΑΤΙΚΕΣ: Ζ, Υ ΑΡΧΗ Y Ζ Α_Μ(Β/2) AN Y > 0 TOTE ΥΠΟΛΟΓ ΑΛΗΘΗΣ ΑΛΛΙΩΣ ΥΠΟΛΟΓ ΨΕΥΔΗΣ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ Να γράψετε πρόγραμμα που θα επιτελεί την ίδια λειτουργία με το παραπάνω χωρίς τη χρήση υποπρογραμμάτων. 211

213 8.62 Δίνεται το παρακάτω πρόγραμμα ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_2 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Α, Β, Ι,Γ ΑΡΧΗ Α 5 Β 7 ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 5 ΜΕ ΒΗΜΑ 2 ΚΑΛΕΣΕ ΕΛΕΓΧΟΣ(Α,Β) Γ ΕΠ(Α,Β) ΓΡΑΨΕ Α,Β,Γ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ ΕΛΕΓΧΟΣ(Χ,Υ) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Χ, Υ ΑΡΧΗ ΑΝ Χ<Υ ΤΟΤΕ Χ Χ+3 Υ Υ-2 ΑΛΛΙΩΣ Χ Χ+Υ Υ Χ*Υ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΣΥΝΑΡΤΗΣΗ ΕΠ(Χ,Υ): ΑΚΕΡΑΙΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ : Χ, Υ ΑΡΧΗ ΑΝ (Χ+Υ) MOD 2 = 0 ΤΟΤΕ EΠ 1 ΑΛΛΙΩΣ ΕΠ 0 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ α. Να γίνει πίνακας τιμών όλων των μεταβλητών. β. Να βρείτε τι θα εμφανίσει γ. Να το μετατρέψετε έτσι ώστε να μη χρησιμοποιεί υποπρογράμματα. 5. ΘΕΩΡΗΤΙΚΕΣ ΑΣΚΗΣΕΙΣ 8.63 Μπορείτε να χρησιμοποιήσετε συνάρτηση για τα παρακάτω; Αν η επιλογή σας είναι ναι να γράψετε και τον τύπο της συνάρτησης. α. Υπολογισμός του μικρότερου από πέντε διαφορετικούς ακέραιους. β. Υπολογισμός των δυο μικρότερων από πέντε ακέραιους γ. Έλεγχος αν δυο αριθμοί είναι ίσοι δ. Να ταξινομεί και να επιστρέφει ταξινομημένους 5 αριθμούς ε. Έλεγχος αν ένας χαρακτήρας είναι φωνήεν ή σύμφωνο Χαρακτηρίστε τις παρακάτω προτάσεις με Σωστό ή Λάθος α. Μια συνάρτηση μπορεί να επιστρέφει μόνο ακέραιες ή πραγματικές τιμές. β. Οι τυπικές παράμετροι είναι μεταβλητές του κυρίως προγράμματος γ. Όταν ένας πίνακας περνάει σαν παράμετρος σε διαδικασία τότε πρέπει υποχρεωτικά στο κύριο πρόγραμμα και στη διαδικασία ο πίνακας να έχει το ίδιο μέγεθος. δ. Απαγορεύεται να χρησιμοποιείται το ίδιο όνομα μεταβλητής για το συμβολισμό μιας πραγματικής και της αντίστοιχης τυπικής παραμέτρου. ε. Μέσα σε μια διαδικασία δε μπορεί να διαβαστεί πίνακας. 212

214 ΚΕΦΑΛΑΙΟ 9 ο ΘΕΜΑΤΑ ΠΑΝΕΛΛΗΝΙΩΝ ΕΞΕΤΑΣΕΩΝ

215

216 Κεφάλαιο 9 ο Θέµατα Πανελληνίων Εξετάσεων ΜΕΡΟΣ Α ΕΝΝΟΙΑ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΒΑΣΙΚΕΣ ΑΛΓΟΡΙΘΜΙΚΕΣ ΔΟΜΕΣ ΘΕΜΑ Α/1 [Θέμα 1.Α Ημερήσια Λύκεια 2000] Να γράψετε στο τετράδιό σας τον αριθμό κάθε πρότασης και δίπλα το γράμμα «Σ», αν είναι σωστή, ή το γράμμα «Λ», αν είναι λανθασμένη. α. Επιλύσιμο είναι ένα πρόβλημα για το οποίο ξέρουμε ότι έχει λύση, αλλά αυτή δεν έχει βρεθεί ακόμη. Μονάδες 4 β. Η περατότητα ενός αλγορίθμου αναφέρεται στο γεγονός ότι καταλήγει στη λύση του προβλήματος μετά από πεπερασμένο αριθμό βημάτων (εντολών). Μονάδες 4 γ. Για να αναπαραστήσουμε τα δεδομένα και τα αποτελέσματα σε έναν αλγόριθμο, χρησιμοποιούμε μόνο σταθερές. Μονάδες 4 ΘΕΜΑ Α/2 [Θέμα 1.Β1 Ημερήσια Λύκεια 2000] Nα γράψετε στο τετράδιό σας τους αριθμούς της στήλης Α και δίπλα το γράμμα της στήλης Β που αντιστοιχεί στο σωστό είδος προβλημάτων. Μονάδες 6 ΣΤΗΛΗ Α Προβλήματα 1. Η διαδικασία λύσης τους είναι αυτοματοποιημένη 2. Δεν έχει βρεθεί λύση, αλλά δεν έχει αποδειχθεί και η μη ύπαρξη λύσης 3. Ο τρόπος λύσης τους μπορεί να επιλεγεί από πλήθος δυνατών λύσεων ΣΤΗΛΗ Β Είδος προβλημάτων α. Ανοικτά β. Δομημένα γ. Άλυτα δ. Ημιδομημένα ΘΕΜΑ Α/3 [Θέμα 1.Β2 Ημερήσια Λύκεια 2000] Να γράψετε στο τετράδιό σας τους αριθμούς της στήλης Α και δίπλα το γράμμα της στήλης Β που αντιστοιχεί στη σωστή αλγοριθμική έννοια. Μονάδες 6 ΣΤΗΛΗ Α Χαρακτηριστικά (Κριτήρια) 1. Περατότητα 2. Είσοδος 3. Έξοδος ΣΤΗΛΗ Β Αλγοριθμικές Έννοιες α. Δεδομένα β. Αποτελέσματα γ. Ακρίβεια στην έκφραση των εντολών δ. Πεπερασμένος χρόνος εκτέλεσης 215

217 ΘΕΜΑ Α/4 [Θέμα 1.Γ1 Ημερήσια Λύκεια 2000] Να αναφέρετε ονομαστικά ποιοι είναι οι εναλλακτικοί τρόποι παρουσίασης (αναπαράστασης) ενός αλγορίθμου. Μονάδες 8 ΘΕΜΑ Α/5 [Θέμα 1.Γ2 Ημερήσια Λύκεια 2000] Δίδονται τα παρακάτω βήματα ενός αλγορίθμου: α. Τέλος. β. Διάβασε δεδομένα. γ. Εμφάνισε αποτελέσματα. δ. Αρχή. ε. Κάνε υπολογισμούς. Να τοποθετηθούν στη σωστή σειρά με την οποία εμφανίζονται συνήθως σε αλγορίθμους. Μονάδες 8 ΘΕΜΑ Α/6 [Θέμα 2 Ημερήσια Λύκεια 2000] Έστω τμήμα αλγορίθμου με μεταβλητές Α,Β,C,D,X και Y. D 2 για Χ από 2 μέχρι 5 με_βήμα 2 Α 10*Χ Β 5*Χ+10 C Α+Β-(5*Χ) D 3*D-5 Υ Α+Β-C+D τέλος_επανάληψης Να βρείτε τις τιμές των μεταβλητών Α,B,C,D,X και Υ σε όλες τις επαναλήψεις. Μονάδες 20 ΘΕΜΑ Α/7 [Θέμα 3 Ημερήσια Λύκεια 2000] Σε τρεις διαφορετικούς αγώνες πρόκρισης για την Ολυμπιάδα του Σίδνεϋ στο άλμα εις μήκος ένας αθλητής πέτυχε τις επιδόσεις a,b,c. Να αναπτύξετε αλγόριθμο ο οποίος: α. Να διαβάζει τις τιμές των επιδόσεων a,b,c. Μονάδες 3 β. Να υπολογίζει και να εμφανίζει τη μέση τιμή των παραπάνω τιμών. Μονάδες 7 γ. Να εμφανίζει το μήνυμα «ΠΡΟΚΡΙΘΗΚΕ», αν η παραπάνω μέση τιμή είναι μεγαλύτερη των 8 μέτρων. Μονάδες 10 ΘΕΜΑ Α/8 [Θέμα 4 Ημερήσια Λύκεια 2000] Μια εταιρεία κινητής τηλεφωνίας ακολουθεί ανά μήνα την πολιτική τιμών που φαίνεται στον παρακάτω πίνακα: Πάγιο 1500 δραχμές Χρόνος τηλεφωνημάτων (δευτερόλεπτα) Να αναπτύξετε αλγόριθμο ο οποίος: Χρονοχρέωση (δραχμές/δευτερόλεπτο) , ,9 801 και άνω 0,5 216

218 α. Να διαβάζει τη χρονική διάρκεια των τηλεφωνημάτων ενός συνδρομητή σε διάστημα ενός μήνα. Μονάδες 3 β. Να υπολογίζει κλιμακωτά τη μηνιαία χρέωση του συνδρομητή. Μονάδες 12 γ. Να εμφανίζει (τυπώνει) τη λέξη «ΧΡΕΩΣΗ» και τη μηνιαία χρέωση του συνδρομητή. Μονάδες 5 ΘΕΜΑ Α/9 [Θέμα 1.Α Εσπερινά Λύκεια 2000] Δώστε τον ορισµό του αλγορίθµου. Μονάδες 10 ΘΕΜΑ Α/10 [Θέμα 1.Β Εσπερινά Λύκεια 2000] Σε τρία διαφορετικά σηµεία της Αθήνας καταγράφηκαν στις 12 το µεσηµέρι οι θερµοκρασίες a, b, c. Να αναπτύξετε αλγόριθµο που: α. Να διαβάζει τις θερµοκρασίες a, b, c. β. Να υπολογίζει και να εµφανίζει τη µέση τιµή των παραπάνω θερµοκρασιών. γ. Να εµφανίζει το µήνυμα «ΚΑΥΣΩΝΑΣ» αν η µέση τιµή είναι µεγαλύτερη των 37 βαθµών Κελσίου. Μονάδες 15 ΘΕΜΑ Α/11 [Θέμα 2.Α Εσπερινά Λύκεια 2000] Να γράψετε στο τετράδιό σας τον αριθµό κάθε πρότασης και δίπλα το γράµµα Σ αν είναι σωστή ή το Λ αν είναι λανθασµένη. Μονάδες 10 α. Όλα τα προβλήµατα µπορούν να λυθούν µε τη βοήθεια ηλεκτρονικού υπολογιστή. β. Ο υπολογισµός του εμβαδού τετραγώνου είναι πρόβληµα άλυτο. γ. Το διάγραμα ροής (flow chart) είναι ένας τρόπος περιγραφής αλγορίθµου. δ. Η οµάδα εντολών που περιέχεται σε µια δοµή επιλογής µπορεί να µην εκτελεστεί. ε. Τα στοιχεία ενός πίνακα µπορεί να είναι διαφορετικού τύπου. ΘΕΜΑ Α/12 [Θέμα 2.Β Εσπερινά Λύκεια 2000] Δίνεται το παρακάτω τµήµα αλγορίθµου Διάβασε a b 2 * a + 1 c a + b Αν c > b τότε b c Αλλιώς c b Τέλος_αν Εµφάνισε a, b, c Μετά την εκτέλεση του παραπάνω τµήµατος αλγορίθµου, ποιες θα είναι οι τιµές των µεταβλητών a,b,c που θα εµφανισθούν, όταν i) a = 10 και ii) a = -10 Μονάδες

219 ΘΕΜΑ Α/13 [Θέμα 3.Α Εσπερινά Λύκεια 2000] Να αναφέρετε ονοµαστικά τις τρεις βασικές δοµές που χρησιµοποιούνται για την ανάπτυξη αλγορίθµων. Μονάδες 10 ΘΕΜΑ Α/14 [Θέμα 3.Β Εσπερινά Λύκεια 2000] Να αναπτύξετε αλγόριθµο που να διαβάζει από το πληκτρολόγιο 100 ακεραίους αριθµούς, να υπολογίζει το γινόµενό τους και να το εµφανίζει. Μονάδες 15 ΘΕΜΑ Α/15 [Θέμα 4.Α Εσπερινά Λύκεια 2000] Να γράψετε στο τετράδιό σας τα γράµµατα της πρώτης στήλης και δίπλα σε κάθε γράμμα τον αριθµό της δεύτερης στήλης που αντιστοιχεί στο σωστό τύπο δεδοµένων. Μονάδες 10 ΔΕΔΟΜΕΝΑ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ α. Ύψος εφήβου 1. Ακέραιος β. Επώνυµο µαθητή 2. Πραγµατικός γ. Αριθµός επιβατών σε αεροπλάνο 3. Αλφαριθμητικός - Συμβολοσειρά 4. Λογικός ΘΕΜΑ Α/16 [Θέμα 4.Β Εσπερινά Λύκεια 2000] Να αναπτύξετε αλγόριθµο που να υπολογίζει και να εµφανίζει το µήκος της περιφέρειας L ενός κύκλου ακτίνας R. Η ακτίνα θα δίδεται από το πληκτρολόγιο. Χρησιµοποιήστε το τύπο L=2πR όπου π = 3,14. Μονάδες 15 ΘΕΜΑ Α/17 [Θέμα 1.Α Επαναληπτικές Ημερήσια Λύκεια 2000] 1. Να αναφέρετε ονοµαστικά τις κατηγορίες προβληµάτων µε κριτήριο τη δυνατότητα επίλυσής τους (επιλυσιµότητα). Μονάδες 9 2. Να γράψετε σε ψευδογλώσσα (ψευδοκώδικα) τη γενική µορφή (σύνταξη) κάθε µιας από τις τρεις δοµές επανάληψης. Μονάδες 15 ΘΕΜΑ Α/18 [Θέμα 1.Β Επαναληπτικές Ημερήσια Λύκεια 2000] Να γράψετε στο τετράδιό σας τον αριθµό κάθε πρότασης και δίπλα τη λέξη «Σωστό», αν είναι σωστή, ή τη λέξη «Λάθος», αν είναι λανθασµένη. Μονάδες 8 α. Στο διάγραµµα ροής το σχήµα του ρόµβου δηλώνει το τέλος ενός αλγορίθµου. β. Η εντολή εκχώρησης τιµής αποδίδει το αποτέλεσµα µιας έκφρασης (παράστασης) σε µια µεταβλητή. γ. Η συνθήκη που ελέγχεται σε µια δοµή επιλογής μπορεί να πάρει περισσότερες από δυο διαφορετικές τιµές. δ. Σε µια εντολή εκχώρησης είναι δυνατόν µια παράσταση στο δεξιό µέλος να περιέχει τη µεταβλητή που βρίσκεται στο αριστερό µέλος. 218

220 ΘΕΜΑ Α/19 [Θέμα 1.Γ Επαναληπτικές Ημερήσια Λύκεια 2000] Να γράψετε στο τετράδιό σας τους αριθµούς των τιµών της Στήλης Α και δίπλα το γράµµα της Στήλης Β που αντιστοιχεί στο σωστό τύπο δεδοµένων. Μονάδες 8 Στήλη Α Τιµή Στήλη B Τύπος Δεδοµένων α. Αλφαριθµητικός (συµβολοσειρά) 2. "Αληθής" β. Αριθµητικός (ακέραιος, πραγµατικός) 3. Ψευδής γ. Λογικός ,3 ΘΕΜΑ Α/20 [Θέμα 3 Επαναληπτικές Ημερήσια Λύκεια 2000] Μια οικογένεια κατανάλωσε X kwh (κιλοβατώρες) ηµερησίου ρεύµατος και Y kwh νυχτερινού ρεύµατος. Το κόστος ηµερησίου ρεύµατος είναι 30 δρχ. ανά kwh και του νυχτερινού 15 δρχ. ανά kwh. Να αναπτύξετε έναν αλγόριθµο ο οποίος: α. Να διαβάζει τα Χ, Υ Μονάδες 3 β. Να υπολογίζει και να εµφανίζει το συνολικό κόστος της κατανάλωσης ρεύµατος της οικογένειας. Μονάδες 9 γ. Να εµφανίζει µήνυµα ΥΠΕΡΒΟΛΙΚΗ ΚΑΤΑΝΑΛΩΣΗ, αν το συνολικό κόστος είναι µεγαλύτερο από δραχµές. Μονάδες 8 ΘΕΜΑ Α/21 [Θέμα 2 Επαναληπτικές Ημερήσια Λύκεια 2000] Έστω τµήµα αλγορίθµου µε µεταβλητές Χ, Μ, Ζ Μ 0 Ζ 0 Για Χ από 0 µέχρι 10 µε βήµα 2 Αν Χ < 5 τότε Ζ Ζ + Χ Αλλιώς Μ Μ + Χ - 1 Τέλος_αν Τέλος επανάληψης Να γράψετε στο τετράδιο σας τις τιµές των µεταβλητών Χ, Μ, Ζ σε όλες τις επαναλήψεις Μονάδες 20 ΘΕΜΑ Α/22 [Θέμα 4 Επαναληπτικές Ημερήσια Λύκεια 2000] Ο τελικός βαθµός ενός µαθητή σ ένα µάθηµα υπολογίζεται µε βάση την προφορική και γραπτή βαθµολογία του µε την ακόλουθη διαδικασία: Αν η διαφορά των δύο βαθµών είναι µεγαλύτερη από πέντε (5) µονάδες, τότε ο προφορικός βαθµός προσαρµόζεται (δηλαδή αυξάνεται ή µειώνεται) έτσι, ώστε η αντίστοιχη διαφορά να µειωθεί στις τρεις (3) µονάδες, αλλιώς ο προφορικός βαθµός παραµένει αµετάβλητος.ο τελικός βαθµός είναι ο µέσος όρος των δύο βαθμών. Παράδειγµα προσαρµογής προφορικού βαθµού: Αν ο γραπτός βαθµός είναι 18 και ο προφορικός 11, τότε ο προφορικός γίνεται 15, ενώ, αν ο γραπτός είναι 10 και ο προφορικός 19, τότε ο προφορικός γίνεται 13. Να αναπτύξετε αλγόριθµο ο οποίος: 219

221 α. Να διαβάζει τους δύο βαθµούς Μονάδες 3 β. Να υπολογίζει τον τελικό βαθµό σύµφωνα µε την παραπάνω διαδικασία Μονάδες 12 γ. Να εµφανίζει τον τελικό βαθµό και, αν αυτός είναι µεγαλύτερος ή ίσος του 10, το µήνυµα ΠΡΟΑΓΕΤΑΙ, αλλιώς το µήνυµα ΑΠΟΡΡΙΠΤΕΤΑΙ. Μονάδες 5 ΘΕΜΑ Α/23 [Θέμα 1.Β Ημερήσια Λύκεια 2001] Δίνεται η δομή επανάληψης. Για i από τιμή1 μέχρι τιμή2 με_βήμα β Εντολές Τέλος_επανάληψης Να μετατρέψετε την παραπάνω δομή σε ισοδύναμη δομή επανάληψης Όσο... επανάλαβε. Μονάδες 9 ΘΕΜΑ Α/24 [Θέμα 1.Γ Ημερήσια Λύκεια 2001] Δίνονται οι παρακάτω έννοιες: 1. Λογικός τύπος 5. Μεταβλητή 9. Σταθερά δεδομένων 2. Επιλύσιμο 6. Ημιδομημένο 10. Καθοριστικότητα 3. Ακέραιος τύπος 7. Πραγματικός τύπος 11. Άλυτο δεδομένων δεδομένων 4. Περατότητα 8. Αδόμητο 12. Ανοικτό Να γράψετε στο τετράδιο σας ποιες από τις παραπάνω έννοιες: α. Είναι στοιχεία μιας Γλώσσας Προγραμματισμού. β. Ανήκουν σε κατηγορίες προβλημάτων. Μονάδες 5 ΘΕΜΑ Α/25 [Θέμα 2 Ημερήσια Λύκεια 2001] Δίνεται το παρακάτω τμήμα αλγορίθμου. Χ 1 Όσο Χ<5 επανάλαβε Α Χ+2 Β 3*Α-4 Γ Β-Α+4 Αν Α > Β τότε Αν Α > Γ τότε ΜΑΧ Α αλλιώς ΜΑΧ Γ Τέλος_αν αλλιώς Αν Β > Γ τότε ΜΑΧ Β αλλιώς ΜΑΧ Γ Τέλος_αν Τέλος_αν Εμφάνισε Χ, Α, Β, Γ, ΜΑΧ Χ Χ+2 Τέλος_επανάληψης 220

222 Ποιες είναι οι τιμές των μεταβλητών Χ, Α, Β, Γ, ΜΑΧ που θα εμφανιστούν κατά την εκτέλεση του παραπάνω τμήματος αλγορίθμου; Μονάδες 20 ΘΕΜΑ Α/26 [Θέμα 1.A Ημερήσια Λύκεια 2001] Nα μεταφέρετε στο τετράδιο σας και να συμπληρώσετε τον παρακάτω πίνακα αλήθειας δυο προτάσεων Α, Β και των τριών λογικών πράξεων. Μονάδες 6 Πρόταση Α Πρόταση Β Ψευδής Ψευδής Ψευδής Αληθής Αληθής Ψευδής Αληθής Αληθής Α ή Β (Διάζευξη) Α και Β (Σύξευξη) όχι Α (Άρνηση) ΘΕΜΑ Α/27 [Θέμα 4 Ημερήσια Λύκεια 2001] Σε ένα Πρόγραμμα περιβαλλοντικής εκπαίδευσης συμμετέχουν 20 σχολεία. Στα πλαίσια αυτού του προγράμματος, εθελοντές μαθητές των σχολείων, που συμμετέχουν στο Πρόγραμμα, μαζεύουν ποσότητες τριών υλικών (γυαλί, χαρτί και αλουμίνιο). Να αναπτύξετε έναν αλγόριθμο, ο οποίος: α. Να διαβάζει τις ποσότητες σε κιλά των παραπάνω υλικών που μάζεψαν οι μαθητές σε κάθε σχολείο. Μονάδες 4 β. Να υπολογίζει τη συνολική ποσότητα σε κιλά του κάθε υλικού που μάζεψαν οι μαθητές σε όλα τα σχολεία. Μονάδες 8 γ. Αν η συνολική ποσότητα του χαρτιού που μαζεύτηκε από όλα τα σχολεία είναι λιγότερη των 1000 κιλών, να εμφανίζεται το μήνυμα «Συγχαρητήρια». Αν η ποσότητα είναι από 1000 κιλά και πάνω, αλλά λιγότερο από 2000, να εμφανίζεται το μήνυμα «Δίνεται έπαινος» και τέλος αν η ποσότητα είναι από 2000 κιλά και πάνω να εμφανίζεται το μήνυμα «Δίνεται βραβείο». Μονάδες 8 Παρατήρηση: Να θεωρήσετε ότι όλες οι ποσότητες είναι θετικοί αριθμοί. ΘΕΜΑ Α/28 [Θέμα 1.Α Εσπερινά Λύκεια 2001] Να αναφερθούν οι βασικές αλγοριθμικές δομές (συνιστώσες / εντολές ενός αλγορίθμου). Μονάδες 10 ΘΕΜΑ Α/29 [Θέμα 1.Β Εσπερινά Λύκεια 2001] Δίνονται οι παρακάτω έννοιες: 1. Έξοδος 2. Περατότητα 3. Διάγραμμα ροής - διαγραμματικές τεχνικές 4. Ψευδοκώδικας - κωδικοποίηση 5. Καθοριστικότητα 6. Αποτελεσματικότητα 7. Είσοδος 8. Ελεύθερο κείμενο 9. Φυσική Γλώσσα με βήματα Ποιες από τις παραπάνω έννοιες ανήκουν στα χαρακτηριστικά κριτήρια ενός αλγορίθμου και ποιες στους τρόπους περιγραφής παρουσίασης αναπαράστασης του. Μονάδες

223 ΘΕΜΑ Α/30 [Θέμα 1.Γ Εσπερινά Λύκεια 2001] Δίνεται τμήμα αλγορίθμου: Χ 13 Όσο Χ<=20 επανάλαβε εμφάνισε Χ Χ Χ+2 τέλος_επανάληψης εμφάνισε Χ α. Το παραπάνω τμήμα αλγορίθμου περιγράφει δομή επιλογής ή δομή επανάληψης; Μονάδες 3 β. Για ποια τιμή του Χ τερματίζεται ο αλγόριθμος; Μονάδες 3 γ. Κατά την εκτέλεση του τμήματος αλγορίθμου ποιες είναι οι τιμές του Χ που θα εμφανιστούν; Μονάδες 4 ΘΕΜΑ Α/31 [Θέμα 1.Δ.2 Εσπερινά Λύκεια 2001] Να αναφέρετε τους τελεστές σύγκρισης. Μονάδες 5 ΘΕΜΑ Α/32 [Θέμα 2 Εσπερινά Λύκεια 2001] Υποψήφιος αγοραστής οικοπέδου μετά από επίσκεψη σε μεσιτικό γραφείο πώλησης ακινήτων πήρε τις εξής πληροφορίες: Ένα οικόπεδο θεωρείται "ακριβό", όταν η τιμή πώλησης ανά τετραγωνικό μετρό είναι μεγαλύτερη των δραχμών, "φτηνό" όταν η τιμή πώλησης είναι μικρότερη των δραχμών και σε οποιαδήποτε άλλη περίπτωση η τιμή θεωρείται "κανονική". Να αναπτύξετε αλγόριθμο που για καθένα από 50 οικόπεδα: α. Να διαβάζει την τιμή πώλησης ολόκληρου του οικοπέδου και τον αριθμό των τετραγωνικών μέτρων του, Μονάδες 5 β. Να υπολογίζει την κατηγορία κόστους στην οποία ανήκει και να εμφανίζει το μήνυμα: "ακριβή τιμή" ή "φτηνή τιμή" ή "κανονική τιμή". Μονάδες 15 ΘΕΜΑ Α/33 [Θέμα 3 Εσπερινά Λύκεια 2001] Ένας μαθητής που τελείωσε το γυμνάσιο με άριστα ζήτησε από τους γονείς του να του αγοράσουν ένα υπολογιστικό σύστημα αξίας δραχμών. Οι γονείς του δήλωσαν ότι μπορούν να του διαθέσουν σταδιακά το ποσό, δίνοντας του κάθε εβδομάδα ποσό διπλάσιο από την προηγουμένη, αρχίζοντας την πρώτη εβδομάδα με δραχμές. Να αναπτύξετε αλγόριθμο που: α. Να υπολογίζει και να εμφανίζει μετά από πόσες εβδομάδες θα μπορέσει να αγοράσει το υπολογιστικό σύστημα, Μονάδες 10 β. Να υπολογίζει, να ελέγχει και να εμφανίζει πιθανό περίσσευμα χρημάτων. Μονάδες

224 ΘΕΜΑ Α/34 [Θέμα 4 Εσπερινά Λύκεια 2001] Σε κάποια εξεταστική δοκιμασία ένα γραπτό αξιολογείται από δυο βαθμολογητές στη βαθμολογική κλίμακα [0, 100].Αν η διαφορά μεταξύ των βαθμολογιών του α' και του β' βαθμολογητή είναι μικρότερη ή ίση των 20 μονάδων της παραπάνω κλίμακας, ο τελικός βαθμός είναι ο μέσος όρος των δυο βαθμολογιών. Αν η διαφορά μεταξύ των βαθμολογιών του α' και του β' βαθμολογητή είναι μεγαλύτερη από 20 μονάδες, το γραπτό δίνεται για αναβαθμολόγηση σε τρίτο βαθμολογητή. Ο τελικός βαθμός του γραπτού προκύπτει τότε από τον μέσο όρο των τριών βαθμολογιών. Να αναπτύξετε αλγόριθμο ο οποίος, αφού ελέγξει την εγκυρότητα των βαθμών στην βαθμολογική κλίμακα [0, 100], να υλοποιεί την παραπάνω διαδικασία εξαγωγής τελικού βαθμού και να εμφανίζει τον τελικό βαθμό του γραπτού στην εικοσαβάθμια κλίμακα. Μονάδες 20 Παρατήρηση : Να θεωρήσετε ότι όλες οι ποσότητες εκφράζονται ως πραγματικοί αριθμοί. ΘΕΜΑ Α/35 [Θέμα 1.Α Επαναληπτικές Ημερήσια Λύκεια 2001] Να γράψετε στο τετράδιο σας, ποιες από τις παρακάτω εντολές εκχώρησης είναι συντακτικά σωστές και ποιες λάθος. Μονάδες 3 α. 2 * Α Α β. Α 3 * Α + 5 γ. Β + 5 "Α" ΘΕΜΑ Α/36 [Θέμα 1.Β Επαναληπτικές Ημερήσια Λύκεια 2001] Για τις απλές αριθµητικές πράξεις: α. Να αναφερθούν οι αντίστοιχοι τελεστές Μονάδες 2 β. Να δοθεί η σειρά προτεραιότητας (ιεραρχία) των τελεστών αυτών στις αριθµητικές εκφράσεις. Μονάδες 2 ΘΕΜΑ Α/37 [Θέμα 1.Γ Επαναληπτικές Ημερήσια Λύκεια 2001] Να γράψετε στο τετράδιο σας από ένα παράδειγµα για τις ακόλουθες κατηγορίες προβληµάτων: α. άλυτο β. αδόµητο γ. ανοικτό δ. επιλύσιµο ε. δοµηµένο ΘΕΜΑ Α/38 [Θέμα 1.Δ Επαναληπτικές Ημερήσια Λύκεια 2001] ίνεται τµήµα αλγορίθµου Χ Α Αρχή_επανάληψης Χ Χ + 2 Εκτύπωσε Χ Μέχρις_ότου Χ >= Μ Μονάδες 10 α. Να δώσετε τη δοµή επανάληψης "Για από µέχρι βήµα" η οποία τυπώνει ακριβώς τις ίδιες τιµές µε το πιο πάνω τµήµα αλγορίθµου. Μονάδες 7 β. Τι θα τυπωθεί, αν Α = 4 και Μ = 9 ; Μονάδες 3 γ. Τι θα τυπωθεί, αν Α = -5 και Μ = 0 ; Μονάδες 3 223

225 ΘΕΜΑ Α/39 [Θέμα 1.Δ Επαναληπτικές Ημερήσια Λύκεια 2001] Αντιστοιχίστε σωστά τις εκφράσεις της Στήλης Α µε τις αλγοριθµικές έννοιες της Στήλης Β, γράφοντας στο τετράδιό σας τους αριθµούς της Στήλης Α και δίπλα το γράµµα της Στήλης Β. Μονάδες 10 Στήλη Α Εκφράσεις Στήλη Β Αλγοριθµικές έννοιες 1. Χ Χ + 2 α. αριθµητική έκφραση (παράσταση) Α > Β β. µεταβλητή 3. τύπωσε Β γ. λογική έκφραση (παράσταση) 4. Όσο Κ < 3 επανάλαβε εντολές Τέλος επανάληψης δ. δοµή ακολουθίας 5. Χ - (Χ/2) * 2 ε. δοµή επανάληψης στ. εντολή εκχώρησης ζ. εντολή εξόδου ΘΕΜΑ Α/40 [Θέμα 2 Επαναληπτικές Ημερήσια Λύκεια 2001] Καθώς εκτελείται το παρακάτω τµήµα αλγορίθµου, ποιες τιµές τυπώνονται µε την εντολή Τύπωσε i, A; Κ 4 Όσο Κ >= 1 επανάλαβε Α 1 Αν Κ <> 2 τότε Για i από 1 µέχρι Κ Α 2 * Α Εκτύπωσε i, A Τέλος_επανάληψης Τέλος αν Κ Κ / 2 Τέλος επανάληψης Μονάδες 20 ΘΕΜΑ Α/41 [Θέμα 3 Επαναληπτικές Ημερήσια Λύκεια 2001] Να αναπτύξετε αλγόριθµο ο οποίος υλοποιεί τη λειτουργία ενός αυτόµατου τυποποιητή πορτοκαλιών που είναι η παρακάτω: Για κάθε πορτοκάλι που εισάγεται στον τυποποιητή, διαβάζεται η τιµή του βάρους (Β) και η διάµετρός του (Δ). Το πορτοκάλι κατατάσσεται ανάλογα με το βάρος και τη διάµετρο του ως εξής: Αν 100 Β 150 και 8 < Δ < 10, τότε να τυπώνεται το µήνυµα "πρώτη διαλογή". Αν 6 < Δ < 8, τότε, ανεξαρτήτως βάρους, τυπώνεται το µήνυµα "δεύτερη διαλογή". Σε κάθε άλλη περίπτωση τυπώνεται το µήνυµα "χυµοποίηση". Μονάδες 20 ΘΕΜΑ Α/42 [Θέμα 2 Ημερήσια Λύκεια 2002] Να εκτελέσετε το παρακάτω τμήμα αλγορίθμου, για Κ = 24 και L = 40. Να γράψετε στο τετράδιο σας τις τιμές των μεταβλητών Χ, Υ καθώς αυτές τυπώνονται με την εντολή Εμφάνισε Χ, Υ (τόσο μέσα στη δομή επανάληψης όσο και στο τέλος του αλγορίθμου). 224

226 Χ Κ Y L Αν Χ > Υ τότε ΤΕΜΡ Χ Χ Υ Υ ΤΕΜΡ Τέλος_αν Όσο Υ<> 0 επανάλαβε ΤΕΜΡ Υ Υ Χ ΜOD Y Χ TEMP Εμφάνισε Χ, Υ Τέλος_επανάληψης Υ (Κ * L) DIV X Εμφάνισε Χ, Υ Μονάδες 20 ΘΕΜΑ Α/43 [Θέμα 3 Ημερήσια Λύκεια 2002] Με το νέο σύστημα πληρωμής των διοδίων, οι οδηγοί των τροχοφόρων έχουν τη δυνατότητα να πληρώνουν το αντίτιμο των διοδίων με ειδική μαγνητική κάρτα. Υποθέστε ότι υπάρχει μηχάνημα το οποίο διαθέτει είσοδο για την κάρτα και φωτοκύτταρο. Το μηχάνημα διαβάζει από την κάρτα το υπόλοιπο των χρημάτων και το αποθηκεύει σε μία μεταβλητή Υ και, με το φωτοκύτταρο, αναγνωρίζει τον τύπο του τροχοφόρου και το αποθηκεύει σε μία μεταβλητή Τ. Υπάρχουν τρεις τύποι τροχοφόρων: δίκυκλα (Δ), επιβατικά (Ε) και φορτηγά (Φ), με αντίτιμο διοδίων 1, 2 και 3 ευρώ αντίστοιχα. Να αναπτύξετε αλγόριθμο, ο οποίος: α. Ελέγχει τον τύπο του τροχοφόρου και εκχωρεί στη μεταβλητή Α το αντίτιμο των διοδίων, ανάλογα με τον τύπο του τροχοφόρου. Μονάδες 8 β. Ελέγχει την πληρωμή των διοδίων με τον παρακάτω τρόπο. Αν το υπόλοιπο της κάρτας επαρκεί για την πληρωμή του αντιτίμου των διοδίων, αφαιρεί το ποσό αυτό από την κάρτα. Αν η κάρτα δεν έχει υπόλοιπο, το μηχάνημα ειδοποιεί με μήνυμα για το ποσό που πρέπει να πληρωθεί. Αν το υπόλοιπο δεν επαρκεί, μηδενίζεται η κάρτα και δίνεται με μήνυμα το ποσό που απομένει να πληρωθεί. Μονάδες 12 ΘΕΜΑ Α/44 [Θέμα 1.Α Εσπερινά Λύκεια 2002] 1. Πότε λέμε ότι ένα πρόβλημα είναι α. επιλύσιμο β. άλυτο γ. δομημένο; Μονάδες 6 2. Με ποια κριτήρια κατηγοριοποιούνται τα προβλήματα σε επιλύσιμα, άλυτα και δομημένα; Μονάδες 4 3. Να αναφέρετε από ένα παράδειγμα για καθεμιά από τις παραπάνω κατηγορίες. Μονάδες 6 ΘΕΜΑ Α/45 [Θέμα 1.Β Εσπερινά Λύκεια 2002] Να αναφέρετε συνοπτικά τους λόγους, για τους ποιους αναθέτουμε την επίλυση ενός προβλήματος σε υπολογιστή. Μονάδες 4 225

227 ΘΕΜΑ Α/46 [Θέμα 1.Γ Εσπερινά Λύκεια 2002] Δίνεται o πίνακας αλήθειας : Πρόταση Α Ψευδής Πρόταση Β Αληθής όχι Β (Άρνηση) Α και Β (Σύξευξη) Α ή Β (Διάζευξη) Ψευδής Ψευδής Να μεταφέρετε τον παραπάνω πίνακα στο τετράδιο σας και να συμπληρώσετε κατάλληλα τις κενές θέσεις του. Μονάδες 6 ΘΕΜΑ Α/47 [Θέμα 1.Δ Εσπερινά Λύκεια 2002] Να γράψετε τα τμήματα αλγορίθμου, που αντιστοιχούν στα τμήματα των διαγραμμάτων ροής (α) και (β), που ακολουθούν. (α) ΘΕΜΑ Α/48 [Θέμα 4 Εσπερινά Λύκεια 2002] Στο πλαίσιο προγράμματος προληπτικής ιατρικής για την αντιμετώπιση του νεανικού διαβήτη έγιναν αιματολογικές εξετάσεις στους 90 μαθητές (αγόρια και κορίτσια) ενός Γυμνασίου. Για κάθε παιδί καταχωρίστηκαν τα ακόλουθα στοιχεία : 1. ονοματεπώνυμο μαθητή 2. κωδικός φύλου ("Α" για τα αγόρια και "Κ" για τα κορίτσια) 3. περιεκτικότητα σακχάρου στο αίμα. 226

228 Οι φυσιολογικές τιμές σακχάρου στο αίμα κυμαίνονται από 70 έως 110 mg/dl (συμπεριλαμβανομένων και των ακραίων τιμών). Να αναπτύξετε αλγόριθμο που : α. Θα διαβάζει τα παραπάνω στοιχεία (ονοματεπώνυμο, φύλο, περιεκτικότητα σακχάρου στο αίμα) και θα ελέγχει την αξιόπιστη καταχώριση τους (δηλαδή το φύλο να είναι μόνο "Α" ή "Κ" και η περιεκτικότητα σακχάρου στο αίμα να είναι θετικός αριθμός), Μονάδες 5 β. Θα εμφανίζει για κάθε παιδί του οποίου η περιεκτικότητα σακχάρου στο αίμα είναι εκτός των φυσιολογικών τιμών, το ονοματεπώνυμο, το φύλο και την περιεκτικότητα του σακχάρου, Μονάδες 5 γ. Θα εμφανίζει το συνολικό αριθμό των αγοριών των οποίων η περιεκτικότητα σακχάρου στο αίμα δεν είναι φυσιολογική. Μονάδες 5 δ. Θα εμφανίζει το συνολικό αριθμό των κοριτσιών των οποίων η περιεκτικότητα σακχάρου στο αίμα δεν είναι φυσιολογική. Μονάδες 5 ΘΕΜΑ Α/49 [Θέμα 1.Δ Επαναληπτικές Ημερήσια Λύκεια 2002] Ποιο είναι το αποτέλεσμα της εκτέλεσης του παρακάτω αλγορίθμου; Να αιτιολογήσετε την απάντηση σας. Μονάδες 7 227

229 ΘΕΜΑ Α/50 [Θέμα 1.Γ Επαναληπτικές Ημερήσια Λύκεια 2002] Η τιμή Α της βαθμολογίας σε ένα θέμα μπορεί να πάρει τις τιμές από 0 μέχρι και 20. (Το 0 και το 20 είναι επιτρεπτές τιμές). Ποια από τις παρακάτω λογικές εκφράσεις ελέγχει αυτή τη συνθήκη; Μονάδες 5 i. Α >= 0 ή Α <= 20 ii. Α > 0 και Α <= 20 iii. Α >= 20 και Α <= 0 iν. Α >= 0 και Α <= 20 ΘΕΜΑ Α/51 [Θέμα 1.Ε Επαναληπτικές Ημερήσια Λύκεια 2002] Να υπολογίσετε την τιμή της αριθμητικής έκφρασης Β*(Α div Β) + (Α mod Β) για τις παρακάτω περιπτώσεις: Μονάδες 6 i. Α = 10 και Β = 5 ii. Α = -5 και Β = 1 iii. Α = 1 και Β = 5 ΘΕΜΑ Α/52 [Θέμα 3 Επαναληπτικές Ημερήσια Λύκεια 2002] Σε ένα κέντρο νεοσύλλεκτων υπάρχει η πρόθεση να δημιουργηθούν δύο ειδικές διμοιρίες. Η διμοιρία Α θα αποτελείται από νεοσύλλεκτους πτυχιούχους τριτοβάθμιας εκπαίδευσης, ηλικίας από 24 έως και 28 χρόνων. Η διμοιρία Β θα αποτελείται από νεοσύλλεκτους απόφοιτους δευτεροβάθμιας εκπαίδευσης, ηλικίας από 18 έως και 24 χρόνων. Οι υπόλοιποι νεοσύλλεκτοι δεν κατατάσσονται σε καμία από αυτές τις διμοιρίες. Να αναπτύξετε αλγόριθμο ο οποίος: α. Διαβάζει το ονοματεπώνυμο, την ηλικία και έναν αριθμό που καθορίζει το επίπεδο σπουδών του νεοσύλλεκτου και παίρνει τιμές από 1 έως 3 (1: τριτοβάθμια εκπαίδευση, 2: δευτεροβάθμια εκπαίδευση, 3: κάθε άλλη περίπτωση) Μονάδες 5 β. Εκτυπώνει: i) το ονοματεπώνυμο του νεοσύλλεκτου ii) το όνομα της διμοιρίας (Α ή Β), εφόσον ο νεοσύλλεκτος κατατάσσεται σε μία από αυτές. Μονάδες 15 ΘΕΜΑ Α/53 [Θέμα 1.Α Ημερήσια Λύκεια 2003] Να γράψετε στο τετράδιο σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-6 και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι λανθασμένη. α. Ένας αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών. β. Οι ενέργειες που ορίζει ένας αλγόριθμος είναι αυστηρά καθορισμένες. γ. Η έννοια του αλγόριθμου συνδέεται αποκλειστικά με την Πληροφορική. δ. Ο αλγόριθμος τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης εντολών. ε. Ο πιο δομημένος τρόπος παρουσίασης αλγορίθμων είναι με ελεύθερο κείμενο. ζ. Ένας αλγόριθμος στοχεύει στην επίλυση ενός προβλήματος. Μονάδες

230 ΘΕΜΑ Α/54 [Θέμα 1.Β Ημερήσια Λύκεια 2003] Να γράψετε στο τετράδιο σας τους αριθμούς της Στήλης Α και δίπλα τα γράμματα της Στήλης Β που αντιστοιχούν σωστά. (Να σημειωθεί ότι σε κάποια στοιχεία της Ψευδογλώσσας της Στήλης Α αντιστοιχούν περισσότερα από ένα παραδείγματα εντολών της Στήλης Β). Μονάδες 10 ΘΕΜΑ Α/55 [Θέμα 2 Ημερήσια Λύκεια 2003] Να γράψετε στο τετράδιο σας τις τιμές των μεταβλητών Ν, Μ και Β, όπως αυτές τυπώνονται σε κάθε επανάληψη, και την τιμή της μεταβλητής Χ που τυπώνεται μετά το τέλος της επανάληψης, κατά την εκτέλεση του παρακάτω αλγόριθμου. Αλγόριθμος Αριθμοί Α 1 Β 1 Ν 0 Μ 2 Όσο Β < 6 επανάλαβε Χ Α + Β Αν Χ MOD 2= 0 τότε Ν Ν + 1 Αλλιώς Μ Μ + 1 Τέλος_αν Α Β Β Χ Εμφάνισε Ν, Μ, Β Τέλος_επανάληψης Εμφάνισε Χ Τέλος Αριθμοί Μονάδες

231 ΘΕΜΑ Α/56 [Θέμα 3 Ημερήσια Λύκεια 2003] Ο Δείκτης Μάζας του ανθρώπινου Σώματος (ΔΜΣ) υπολογίζεται από το βάρος (Β) σε χλγ. και το ύψος (Υ) σε μέτρα με τον τύπο ΔΜΣ=Β/Υ 2. Ο ανωτέρω τύπος ισχύει για άτομα άνω των 18 ετών. Το άτομο ανάλογα με την τιμή του ΔΜΣ χαρακτηρίζεται συμφωνά με τον παρακάτω πίνακα: Να γράψετε αλγόριθμο ο οποίος: ΔΜΣ < 18,5 "αδύνατο άτομο" 18,5 ΔΜΣ < 25 "κανονικό άτομο" 25 ΔΜΣ < 30 "βαρύ άτομο" 30 ΔΜΣ "υπέρβαρο άτομο" α. Να διαβάζει την ηλικία, το βάρος και το ύψος του ατόμου Μονάδες 3 β. Αν η ηλικία είναι μεγαλύτερη των 18 ετών, τότε 1. Να υπολογίζει το ΔΜΣ Μονάδες 5 2. Να ελέγχει την τιμή του ΔΜΣ από τον ανωτέρω πίνακα και να εμφανίζει τον αντίστοιχο χαρακτηρισμό Μονάδες 10 γ. Αν η ηλικία είναι μικρότερη ή ίση των 18 ετών, τότε να εμφανίζει το μήνυμα "δεν ισχύει ο δείκτης ΔΜΣ". Μονάδες 2 Παρατήρηση : Θεωρήστε ότι το βάρος, το ύψος και η ηλικία είναι θετικοί αριθμοί. ΘΕΜΑ Α/57 [Θέμα 1.Β Εσπερινά Λύκεια 2003] Οι εντολές που περιέχονται μέσα σε μια δομή επανάληψης της μορφής εκτελούνται τουλάχιστον μία φορά. ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ Εντολή 1 Εντολή 2 Εντολή ν ΜΕΧΡΙΣ_ΟΤΟΥ <συνθήκη> 1. Είναι σωστή ή λανθασμένη η παραπάνω πρόταση; Μονάδες 2 2. Να δικαιολογήσετε την απάντηση σας. Μονάδες 3 ΘΕΜΑ Α/58 [Θέμα 1.Δ Εσπερινά Λύκεια 2003] Να μετατρέψετε το παρακάτω τμήμα αλγορίθμου σε ισοδύναμο με τη χρήση της εντολής ΟΣΟ... ΕΠΑΝΑΛΑΒΕ: Κ 0 ΓΙΑ Α ΑΠΟ 5 ΜΕΧΡΙ 100 ΜΕ ΒΗΜΑ 10 Κ Κ + Α ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ Κ Μονάδες

232 ΘΕΜΑ Α/59 [Θέμα 1.Γ Εσπερινά Λύκεια 2003] Δίνεται ο αλγόριθμος: α. Ποιον τύπο δεδομένων θα επιλέγατε για τη δήλωση κάθε μεταβλητής; Μονάδες 2 β. Ποιες είναι οι διαδοχικές τιμές των i και sum; Μονάδες 6 γ. Ποιες τιμές θα εκτυπωθούν; Μονάδες 3 δ. Ποια αριθμητική παράσταση υπολογίζει ο αλγόριθμος; Μονάδες 4 ΘΕΜΑ Α/60 [Θέμα 3 Εσπερινά Λύκεια 2003] Για κάθε υπάλληλο δίνονται: ο μηνιαίος βασικός μισθός και ο αριθμός των παιδιών του. Δεχόμαστε ότι ο υπάλληλος μπορεί να έχει μέχρι και 20 παιδιά και ότι ο μηνιαίος βασικός μισθός του κυμαίνεται από 500 μέχρι και 1000 ευρώ. Οι συνολικές αποδοχές του υπολογίζονται ως το άθροισμα του μηνιαίου βασικού μισθού και του οικογενειακού επιδόματος του. Το οικογενειακό επίδομα υπολογίζεται ως εξής: 30 ευρώ για κάθε παιδί μέχρι και τρία παιδιά, και 40 ευρώ για κάθε παιδί πέραν των τριών (4ο, 5ο, 6ο κ.τ.λ.). α. Να προσδιορίσετε τις μεταβλητές που θα χρησιμοποιήσετε και να δηλώσετε τον τύπο των δεδομένων που αντιστοιχούν σ' αυτές. Μονάδες 4 β. Να γράψετε αλγόριθμο, ο οποίος: 1. εισάγει τα κατάλληλα δεδομένα και ελέγχει την ορθή καταχώριση τους, Μονάδες 7 2. υπολογίζει και εμφανίζει το οικογενειακό επίδομα και Μονάδες 7 3. υπολογίζει και εμφανίζει τις συνολικές αποδοχές του υπαλλήλου. Μονάδες 2 ΘΕΜΑ Α/61 [Θέμα 4 Εσπερινά Λύκεια 2003] Για κάθε μαθητή δίνονται τα στοιχεία: ονοματεπώνυμο, προφορικός και γραπτός βαθμός ενός μαθήματος. 231

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

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

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

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

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

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

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων...

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων... Περιεχόμενα Ανάλυση προβλήματος 1. Η έννοια πρόβλημα...13 2. Επίλυση προβλημάτων...17 Δομή ακολουθίας 3. Βασικές έννοιες αλγορίθμων...27 4. Εισαγωγή στην ψευδογλώσσα...31 5. Οι πρώτοι μου αλγόριθμοι...54

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

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

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

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

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων...

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων... Περιεχόμενα Ανάλυση προβλήματος 1. Η έννοια πρόβλημα...13 2. Επίλυση προβλημάτων...17 Δομή ακολουθίας 3. Βασικές έννοιες αλγορίθμων...27 4. Εισαγωγή στην ψευδογλώσσα...31 5. Οι πρώτοι μου αλγόριθμοι...54

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

Ανάπτυξη εφαρμογών/ Βασικές γνώσεις/ πρώτο θέμα ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΟΜΗΣ ΑΠΑΝΤΗΣΗΣ

Ανάπτυξη εφαρμογών/ Βασικές γνώσεις/ πρώτο θέμα ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΟΜΗΣ ΑΠΑΝΤΗΣΗΣ ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΟΜΗΣ ΑΠΑΝΤΗΣΗΣ 1. Ερωτήσεις -θέματα στη σελίδες 21, 49, 160 του σχολικού βιβλίου Μαθητή 2. Τεστ αυτοαξιολόγησης σελίδες 16, 27, 68 του τετραδίου του Μαθητή 3. Ν' αναφέρετε ονομαστικά τους

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

Κεφάλαιο 1 Ανάλυση προβλήματος

Κεφάλαιο 1 Ανάλυση προβλήματος Κεφάλαιο 1 Ανάλυση προβλήματος 1.1 Η έννοια πρόβλημα Με τον όρο πρόβλημα εννοείται μια κατάσταση η οποία χρειάζεται αντιμετώπιση, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. 1.2 Κατανόηση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ανάπτυξη εφαρµογών σε προγραµµατιστικό περιβάλλον (στοιχεία θεωρίας)

Ανάπτυξη εφαρµογών σε προγραµµατιστικό περιβάλλον (στοιχεία θεωρίας) Ανάπτυξη εφαρµογών σε προγραµµατιστικό περιβάλλον (στοιχεία θεωρίας) Εισαγωγή 1. Τι είναι αυτό που κρατάς στα χέρια σου. Αυτό το κείµενο είναι µια προσπάθεια να αποτυπωθεί όλη η θεωρία του σχολικού µε

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

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

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

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

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

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

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

ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ. Πρόβλημα είναι μία κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ. Πρόβλημα είναι μία κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ 1. Τι ονομάζουμε πρόβλημα; Πρόβλημα είναι μία κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. 2. Τι ονομάζουμε επίλυση προβλήματος;

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

1 Ανάλυση Προβλήματος

1 Ανάλυση Προβλήματος 1 Ανάλυση Προβλήματος 1.1 Η Έννοια Πρόβλημα Τι είναι δεδομένο; Δεδομένο είναι οτιδήποτε μπορεί να γίνει αντιληπτό από έναν τουλάχιστον παρατηρητή, με μία από τις πέντε αισθήσεις του. Τι είναι επεξεργασία

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.1 Θέματα Προς Απάντηση Να χαρακτηρίσετε καθεμία από τις ακόλουθες προτάσεις ως Σωστή (Σ) ή Λανθασμένη (Λ):

1.1 Θέματα Προς Απάντηση Να χαρακτηρίσετε καθεμία από τις ακόλουθες προτάσεις ως Σωστή (Σ) ή Λανθασμένη (Λ): 1.1 Θέματα Προς Απάντηση 1.1.1 Να χαρακτηρίσετε καθεμία από τις ακόλουθες προτάσεις ως Σωστή (Σ) ή Λανθασμένη (Λ): 1. Πρόβλημα είναι μια μαθηματική κατάσταση που πρέπει να αντιμετωπίσουμε. 2. Αν υποβάλλουμε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό Η έννοια του προβλήματος Τι είναι πρόβλημα; ΠΡΟΒΛΗΜΑΤΑ ΟΡΙΣΜΟΣ ΠΡΟΒΛΗΜΑΤΟΣ Πρόβλημα είναι κάθε κατάσταση που μας απασχολεί και χρήζει αντιμετώπισης,

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

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

Επιµέλεια Θοδωρής Πιερράτος Η έννοια πρόβληµα Ανάλυση προβλήµατος Με τον όρο πρόβληµα εννοούµε µια κατάσταση η οποία χρήζει αντιµετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή ούτε προφανής. Μερικά προβλήµατα είναι τα εξής:

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

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

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

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

ΦΡΟΝΤΙΣΤΗΡΙΟ ΦΑΣΜΑ 12/10/2014

ΦΡΟΝΤΙΣΤΗΡΙΟ ΦΑΣΜΑ 12/10/2014 Γ ΤΑΞΗ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ Α [40 μόρια] ΔΙΑΓΩΝΙΣΜΑ α) Να επιλέξτε το γράμμα Σ, αν μια πρόταση είναι σωστή και

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

Τάξη: Γ Λυκείου Κατεύθυνση: Τεχνολογική Μάθημα: Ανάπτυξη Εφαρμογών σε Προγ/κό Περιβάλλον Είδος Εξέτασης: Διαγώνισμα Ημερομηνία Εξέτασης:

Τάξη: Γ Λυκείου Κατεύθυνση: Τεχνολογική Μάθημα: Ανάπτυξη Εφαρμογών σε Προγ/κό Περιβάλλον Είδος Εξέτασης: Διαγώνισμα Ημερομηνία Εξέτασης: Τάξη: Γ Λυκείου Κατεύθυνση: Τεχνολογική Μάθημα: Ανάπτυξη Εφαρμογών σε Προγ/κό Περιβάλλον Είδος Εξέτασης: Διαγώνισμα Ημερομηνία Εξέτασης: Ονοματεπώνυμο: Βαθμός: Θέμα 1 ο - (0) Α. Να γράψετε στο τετράδιό

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ

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

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

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. Α2. Να αναφέρετε ονομαστικά: i) τα αλγοριθμικά κριτήρια ii) τους τρόπους αναπαράστασης αλγορίθμου. (μονάδες 10)

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ 1.1 Να δοθεί ο ορισμός του προβλήματος καθώς και τρία παραδείγματα

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

Ανάλυση προβλήματος. Κεφάλαιο 1

Ανάλυση προβλήματος. Κεφάλαιο 1 Ανάλυση προβλήματος Κεφάλαιο 1 Η έννοια πρόβλημα Με τον όρο πρόβλημα εννοείται μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής Στάδια αντιμετώπισης

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

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

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

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

ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ Γ Α... Β

ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ Γ Α... Β ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΠΡΟΣΟΜΟΙΩΣΗ ΑΠΟΛΥΤΗΡΙΩΝ ΕΞΕΤΑΣΕΩΝ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΔΕΥΤΕΡΑ 11 ΑΠΡΙΛΙΟΥ 2011 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ

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

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

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

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

Σελίδα 1 από 7 ΔΙΑΓΩΝΙΣΜΑ ΕΚΠ. ΕΤΟΥΣ ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / ΘΕΡΙΝΑ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Άσκηση 1. Ποια από τα κάτω αλφαριθμητικά είναι αποδεκτά ως ονόματα μεταβλητών σε έναν αλγόριθμο i. Τιμή

Άσκηση 1. Ποια από τα κάτω αλφαριθμητικά είναι αποδεκτά ως ονόματα μεταβλητών σε έναν αλγόριθμο i. Τιμή Θεωρία επισκόπηση 1 Η μεταβλητή είναι ένα συμβολικό όνομα κάτω από το οποίο βρίσκεται μια τιμή, η οποία μπορεί να μεταβάλλεται κατά την εκτέλεση του αλγορίθμου 1. Τύποι Δεδομένων (Μεταβλητών και Σταθερών)

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

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

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

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

Ανακτήθηκε από την ΕΚΠΑΙΔΕΥΤΙΚΗ ΚΛΙΜΑΚΑ edu.klimaka.gr ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

Ανακτήθηκε από την ΕΚΠΑΙΔΕΥΤΙΚΗ ΚΛΙΜΑΚΑ edu.klimaka.gr ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 30 MAΪΟΥ 2006 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Δομή Ακολουθίας

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

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

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

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

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

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. Στην εντολή εκχώρησης Χ ΨΕΥΔΗΣ η μεταβλητή Χ είναι τύπου χαρακτήρες.

ΘΕΜΑ Α. 1. Στην εντολή εκχώρησης Χ ΨΕΥΔΗΣ η μεταβλητή Χ είναι τύπου χαρακτήρες. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΤΕΤΑΡΤΗ 08/04/2015- ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6) ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιο

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

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

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

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

Γεώργιος Φίλιππας 23/8/2015

Γεώργιος Φίλιππας 23/8/2015 MACROWEB Προβλήματα Γεώργιος Φίλιππας 23/8/2015 Παραδείγματα Προβλημάτων. Πως ορίζεται η έννοια πρόβλημα; Από ποιους παράγοντες εξαρτάται η κατανόηση ενός προβλήματος; Τι εννοούμε λέγοντας χώρο ενός προβλήματος;

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

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

ΕΚΦΩΝΗΣΕΙΣ & ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΤΘ ΑΝΑ ΚΕΦΑΛΑΙΟ ΚΑΙ ΠΑΡΑΓΡΑΦΟ ΕΚΦΩΝΗΣΕΙΣ & ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΤΘ ΑΝΑ ΚΕΦΑΛΑΙΟ ΚΑΙ ΠΑΡΑΓΡΑΦΟ [μέχρι τη ομή Επιλογής] Περιεχόμενα >ΕΝΟΤΗΤΑ 1/ΚΕΦ.1.1/... 2 ΤΥΠΟΥ Β1: ΣΥΜΠΛΗΡΩΣΗΣ ΚΕΝΟΥ... 2 ΤΥΠΟΥ Β2: ΑΝΤΙΣΤΟΙΧΙΣΗΣ... 2 >ΕΝΟΤΗΤΑ 2/ΚΕΦ.2.1/...

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

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

Παλλατίδειο ΓΕΛ Σιδηροκάστρου Δομή Επανάληψης 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 Να βρείτε τις τιμές

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΓΛΩΣΣΟΜΑΘΕΙΑ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΓΛΩΣΣΟΜΑΘΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΓΛΩΣΣΟΜΑΘΕΙΑ Καλλιόπη Μαγδαληνού ΕΠΙΚΕΦΑΛΙΔΑ ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΗΛΩΣΕΙΣ ΣΤΑΘΕΡΩΝ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ πρόγραμμα τεστ σταθερές π = 3.14 μεταβλητές πραγματικές : εμβαδό, ακτίνα αρχή

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 1 ο

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 1 ο Να δοθεί ο ορισμός του προβλήματος καθώς και τρία παραδείγματα σημαντικών ιστορικών ή επιστημονικών προβλημάτων. Με τον όρο Πρόβλημα, εννοείται μια κατάσταση η οποία χρήζει αντιμετώπισης,και απαιτεί λύση

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

ΔΙΑΓΩΝΙΣΜΑ ΘΕΜΑΤΑ. 10. Τα επιλύσιμα προβλήματα κατηγοριοποιούνται περεταίρω με βάση το βαθμό δόμησης και το είδος επίλυσής τους.

ΔΙΑΓΩΝΙΣΜΑ ΘΕΜΑΤΑ. 10. Τα επιλύσιμα προβλήματα κατηγοριοποιούνται περεταίρω με βάση το βαθμό δόμησης και το είδος επίλυσής τους. Βουλιαγμένης 2/10/2011, Μάθημα : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΔΙΑΓΩΝΙΣΜΑ Καθηγητής/τρια: Χρόνος: 3 ώρες Ονοματεπώνυμο: Τμήμα: Γ ΘΕΜΑΤΑ Θέμα 1. Α. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω

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

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

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: 1ο ΓΕΛ Καστοριάς K εφ. 1 σχολικού βιβλίου 1. Επιλύσιμο είναι ένα πρόβλημα για το οποίο ξέρουμε ότι έχει λύση, αλλά αυτή δεν έχει βρεθεί ακόμη. 2. Για

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑ Κύριο ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β, Γ ΑΡΧΗ ΙΑΒΑΣΕ Α, Β, Γ ΚΑΛΕΣΕ ιαδ1(α, Β, Γ) ΓΡΑΨΕ Α, Β, Γ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΠΡΟΓΡΑΜΜΑ Κύριο ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β, Γ ΑΡΧΗ ΙΑΒΑΣΕ Α, Β, Γ ΚΑΛΕΣΕ ιαδ1(α, Β, Γ) ΓΡΑΨΕ Α, Β, Γ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 30 MAΪΟΥ 2006 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ονοματεπώνυμο: Βαθμός:

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Αν χ και y μεταβλητές με τιμές 5 και 10 αντίστοιχα να εξηγηθούν οι ακόλουθες εντολές εξόδου.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Αν χ και y μεταβλητές με τιμές 5 και 10 αντίστοιχα να εξηγηθούν οι ακόλουθες εντολές εξόδου. 2.1 Αν χ και y μεταβλητές με τιμές 5 και 10 αντίστοιχα να εξηγηθούν οι ακόλουθες εντολές εξόδου. 1) Η τιμή του χ είναι,χ Ητιμή του χ είναι 5 Ηεντολή εμφανίζει ότι υπάρχει στα διπλά εισαγωγικά ως έχει.

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

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

ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ : Γ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ : ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ ΜΑΘΗΜΑ ΤΑΞΗ ΚΕΦΑΛΑΙΟ 2 ο ΕΙΣΗΓΗΤΗΣ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ : Γ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ : ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ : ΚΑΖΑΝΤΖΗΣ ΧΡΗΣΤΟΣ 1. Γενικός

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

ΠΡΟΣΟΜΟΙΩΣΗ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γʹ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΕΠΠ ΤΡΙΤΗ 18 ΑΠΡΙΛΙΟΥ 2017 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΠΤΑ (7)

ΠΡΟΣΟΜΟΙΩΣΗ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γʹ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΕΠΠ ΤΡΙΤΗ 18 ΑΠΡΙΛΙΟΥ 2017 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΠΤΑ (7) ΠΡΟΣΟΜΟΙΩΣΗ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γʹ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΕΠΠ ΤΡΙΤΗ 18 ΑΠΡΙΛΙΟΥ 2017 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΠΤΑ (7) Θέμα Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς

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

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

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

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

Α1. (α). ώστε τον ορισµό του προβλήµατος (Μονάδες 3)

Α1. (α). ώστε τον ορισµό του προβλήµατος (Μονάδες 3) ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / ΑΠΟΦΟΙΤΟΙ ΣΕΙΡΑ: 1η ΗΜΕΡΟΜΗΝΙΑ: 28/11/2011 ΘΕΜΑ Α Α1. (α). ώστε τον ορισµό του προβλήµατος (Μονάδες 3) (β). ίνεται ο παρακάτω πίνακας που στην Στήλη 1 υπάρχουν κριτήρια κατηγοριοποίησης

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

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης Περιεχόμενα Δομές δεδομένων 37. Δομές δεδομένων (θεωρητικά στοιχεία)...11 38. Εισαγωγή στους μονοδιάστατους πίνακες...16 39. Βασικές επεξεργασίες στους μονοδιάστατους πίνακες...25 40. Ασκήσεις στους μονοδιάστατους

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

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

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

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

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

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

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

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

ΚΕΦΑΛΑΙΟ Ι ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΚΕΦΑΛΑΙΟ Ι ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ Πρόβλημα: Με τον όρο αυτό εννοείται μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. Δομή προβλήματος: Με τον όρο

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

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

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

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

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑ Κύριο ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β, Γ ΑΡΧΗ ΙΑΒΑΣΕ Α, Β, Γ ΚΑΛΕΣΕ ιαδ1(α, Β, Γ) ΓΡΑΨΕ Α, Β, Γ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΠΡΟΓΡΑΜΜΑ Κύριο ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β, Γ ΑΡΧΗ ΙΑΒΑΣΕ Α, Β, Γ ΚΑΛΕΣΕ ιαδ1(α, Β, Γ) ΓΡΑΨΕ Α, Β, Γ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 30 MAΪΟΥ 2006 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ Εισαγωγή στις Αρχές της επιστήμης των ΗΥ Ερωτήσεις και ασκήσεις για επανάληψη 1. Τι είναι πρόβλημα (σελ 14) 2. Ποιες είναι οι κατηγορίες προβλημάτων με βάση την επίλυση; Δώστε τον ορισμό για κάθε μια κατηγορία.

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

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

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

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

ΠΡΟΓΡΑΜΜΑ Κύριο ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β, Γ ΑΡΧΗ ΙΑΒΑΣΕ Α, Β, Γ ΚΑΛΕΣΕ ιαδ1(α, Β, Γ) ΓΡΑΨΕ Α, Β, Γ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΠΡΟΓΡΑΜΜΑ Κύριο ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β, Γ ΑΡΧΗ ΙΑΒΑΣΕ Α, Β, Γ ΚΑΛΕΣΕ ιαδ1(α, Β, Γ) ΓΡΑΨΕ Α, Β, Γ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 30 MAΪΟΥ 2006 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

Αναφέρατε τις ιδιότητες που πρέπει να διακρίνουν τα υποπρογράμματα. Μονάδες 3

Αναφέρατε τις ιδιότητες που πρέπει να διακρίνουν τα υποπρογράμματα. Μονάδες 3 ΘΕΩΡΙΑ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ Αναφέρατε τις ιδιότητες που πρέπει να διακρίνουν τα υποπρογράμματα. Μονάδες 3 Να αναφέρετε τους κανόνες που πρέπει να ακολουθούν οι λίστες των παραμέτρων κατά την κλήση ενός υποπρογράμματος.

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

ΠΕΚ ΠΕΙΡΑΙΑ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

ΠΕΚ ΠΕΙΡΑΙΑ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ ΠΕΚ ΠΕΙΡΑΙΑ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ 4-11-07 ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ ΚΕΦ. 2 ο -7 ο : Γ Γενικού Λυκείου (τεχνολογική κατεύθυνση) ΒΑΣΙΚΕΣ

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

ΘΕΜΑ Α. 1. Στην εντολή εκχώρησης Χ ΨΕΥΔΗΣ η μεταβλητή Χ είναι τύπου χαρακτήρες.

ΘΕΜΑ Α. 1. Στην εντολή εκχώρησης Χ ΨΕΥΔΗΣ η μεταβλητή Χ είναι τύπου χαρακτήρες. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΤΕΤΑΡΤΗ 08/04/2015- ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6) ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιο

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

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου Ορισµοί κεφαλαίου Αλγόριθµος είναι µια πεπερασµένη σειρά ενεργειών, αυστηρά καθορισµένων και εκτελέσιµων σε πεπερασµένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήµατος. Σηµαντικά σηµεία κεφαλαίου Κριτήρια

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 1 Ο. Εισαγωγή στις έννοιες Πρόβλημα, Αλγόριθμος, Προγραμματισμός, Γλώσσες Προγραμματισμού

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

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

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

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

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

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

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

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

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

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

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

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

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

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