ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ...Ι 1 1 π ^^ΗΒ Η ι ι Π Η ρ. _ J -I ""Τ!*^ '!! : - & Λ> ΤΕΤΡΑΔΙΟ ΜΑΘΗΤΗ Γ' ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ (Τεχνολογικής Κατεύθυνσης) ΟΡΓΑΝΙΣΜΟΣ ΕΚΔΟΣΕΩΣ ΔΙΔΑΚΤΙΚΩΝ ΒΙΒΛΙΩΝ ΑΘΗΝΑ
Ενέργεια 1.1.α: Έργο No 15: «Προγράμματα Βιβλία» Επιστημονικός Υπεύθυνος Ενέργειας: Θεόδωρος Γ. Εξαρχάκος Καθηγητής του Πανεπιστημίου Αθηνών Πρόεδρος του Παιδαγωγικού Ινστιτούτου «Αναμόρφωση / εκ νέου σύνταξη και συγγραφή Προγραμμάτων Σπουδών και Σχολικών Βιβλίων για το Ενιαίο Λύκειο» Επιστημονικός Υπεύθυνος Έργου: Γιάννης Σαλβαράς, Επίκουρος Καθηγητής του Δημοκρίτειου Πανεπιστημίου Θράκης Καλλιτεχνικός Υπεύθυνος Έργου: Σπύρος Ι. Παπασπύρου, Καθηγητής Εφαρμογών του ΤΕΙ Ηπείρου
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Ομάδα Συγγραφής ΑΘΗΝΑ ΒΑΚΑΑΗ, Λέκτωρ Πληροφορικής ΑΠΘ ΗΛΙΑΣ ΓΙΑΝΝΟΠΟΥΛΟΣ, Μηχανικός Πληροφορικής ΝΕΣΤΩΡ ΙΩΑΝΝΙΔΗΣ, Επίκουρος Καθηγητής Τμήματος Πληροφορικής ΤΕΙ Αθήνας ΧΡΗΣΤΟΣ ΚΟΙΛΙΑΣ, Επίκουρος Καθηγητής Τμήματος Πληροφορικής ΤΕΙ Αθήνας ΚΩΝ/ΝΟΣ ΜΑΛΑΜΑΣ, M.Sc. Πληροφορικής, Σύμβουλος Επιχειρήσεων, ΙΩΑΝΝΗΣ ΜΑΝΩΛΟΠΟΥΛΟΣ, Αναπληρωτής Καθηγητής Τμήματος Πληροφορικής ΑΠΟ ΠΑΝΑΓΙΩΤΗΣ ΠΟΛΙΤΗΣ, Δρ. Διδακτικής Πληροφορικής, Καθηγητής ΠΕ 19 Υπεύθυνος για το Παιδαγωγικό Ινστιτούτο Γιώργος Παπαδόπουλος, ΣΥΜΒΟΥΛΟΣ Π.Ι. (κατά τη συγγραφή) Επιτροπή Αξιολόγησης ΚΩΝ/ΝΟΣ ΠΑΛΟΥΡΗΣ, Καθηγητής ΠΕ 19 ΕΥΑΓΓΕΛΙΑ ΓΟΥΛΗ, Καθηγήτρια ΠΕ 19 ΔΗΜΗΤΡΙΟΣ ΔΕΣΠΟΤΗΣ, Αναπληρωτής Καθηγητής Πανεπιστημίου Πειραιώς ΚΩΝ/ΝΟΣ ΖΑΧΑΡΗΣ, ΠΛΗΝΕΤ Καρδίτσας ΑΛΕΞΑΝΔΡΟΣ ΣΙΔΕΡΙΔΗΣ, Καθηγητής Γεωπονικού Πανεπιστημίου Αθηνών Εικονογράφηση ΑΓΓΕΛΟΣ ΑΠΟΣΤΡΑΤΙΤΗΣ Ηλεκτρονική σελιδοποίηση ΑΝΝΑ ΑΡΓΥΡΟΠΟΥΛΟΥ - ΧΡΗΣΤΟΣ ΠΙΓΚΑΣ Εξώφυλλο: ΣΠΥΡΟΣ ΣΙΑΚΑΣ - ΝΙΚΟΣ ΓΕΩΡΓΙΟΥ Επιμέλεια: ΕΚΔΟΣΕΙΣ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ, Στουρνάρη 49Α, 106 82, Αθήνα, Τηλ. 38.45.594 Φορέας: ΕΛΛΗΝΙΚΗ ΕΤΑΙΡΙΑ ΕΠΙΣΤΗΜΟΝΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ (ΕΠΥ), Μαυρομιχάλη 16, Αθήνα, τηλ.: 3645274, e.mail:epy@epy.gr Συντονιστές έργου: Σπ. Μπακογιάννης, πρόεδρος Δ.σ. Βασ. Μιχαλακόπουλος, μέλος Δ.Σ.
ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ Α. ΒΑΚΑΑΗ, Η. ΓΙΑΝΝΟΠΟΥΛΟΣ, Ν. ΙΩΑΝΝΙΔΗΣ, Χ. ΚΟΙΛΙΑΣ, Κ. ΜΑΑΑΜΑΣ, Ι. ΜΑΝΩΑΟΠΟΥΑΟΣ, Π. ΠΟΑΙΤΗΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Τετράδιο Μαθητή Γ' Γενικού Λυκείου ΤΕΧΝΟΛΟΓΙΚΗΣ ΟΡΓΑΝΙΣΜΟΣ ΕΚΔΟΣΕΟΣ ΔΙΔΑΚΤΙΚΟΝ ΒΙΒΛΙΟ Ν
Λίγα λόγια για το μαθητή 9 1. Ανάλυση προβλήματος 11 2. Βασικές έννοιες αλγορίθμων 17 3. Δομές Δεδομένων και Αλγόριθμοι 29 4. Τεχνικές σχεδίασης αλγορίθμων 37 5. Ανάλυση αλγορίθμων 47 6. Εισαγωγή στον προγραμματισμό 57 7. Βασικές έννοιες προγραμματισμού 61 8. Επιλογή και επανάληψη 71 9. Πίνακες 87 10. Υποπρογράμματα 99 11. Σύγχρονα προγραμματιστικά περιβάλλοντα 113 12. Σχεδίαση διεπαφής χρήστη 151 13. Εκσφαλμάτωση προγράμματος 157 14. Αξιολόγηση Τεκμηρίωση 167 Παραρτήματα 179 Turbo Pascal 181 Quick Basic 191 Visual Basic 201 Delphi 227 Απαντήσεις στα τεστ αυτοαξιολόγησης 235
Αίγα λόγια για το μαθητή Αγαπητέ μαθητή, Στα χέρια σου κρατάς το Τετράδιο Μαθητή, ένα συμπληρωματικό, αλλά ταυτόχρονα και λειτουργικά απαραίτητο σύγγραμμα για τη διδασκαλία του μαθήματος "Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον". Σκοπός του μαθήματος δεν είναι να σε διδάξει και να εμβαθύνεις σε κάποια συγκεκριμένη γλώσσα προγραμματισμού. Η έμφαση και η προσπάθεια γίνεται στο να μπορέσεις : ί> να αναπτύξεις αναλυτική σκέψη και συνθετική ικανότητα, <Ξ> να καλλιεργήσεις αυστηρότητα στη διατύπωση, ea> να αναπτύξεις δημιουργικότητα και φαντασία στο σχεδιασμό, e» να αποκτήσεις ικανότητες μεθοδολογικού χαρακτήρα, c? να αναπτύξεις δεξιότητες αλγοριθμικής προσέγγισης, & να μπορείς να επιλύεις προβλήματα και να υλοποιείς απλά τη λύση τους με χρήση βασικών γνώσεων προγραμματιστικού περιβάλλοντος. Η θεωρητική πλευρά του μαθήματος καλύπτεται από το βιβλίο μαθητή. Σκοπός του τετραδίου αυτού είναι να σου προσφέρει μέσα από τα έτοιμα παραδείγματα που σου παρουσιάζει, αλλά και τις δραστηριότητες που σου προτείνει, μια πρακτική προσέγγιση των γνώσεων που παραθέτονται στο βιβλίο μαθητή. Με μια σειρά από τρόπους, μεθόδους και απλές τεχνικές χρήσης διαφόρων προγραμματιστικών περιβαλλόντων, σε βοηθάει στη μοντελοποίηση και επίλυση πραγματικών ή ιδεατών προβλημάτων. Τα παραδείγματα και οι δραστηριότητες που προτείνονται περιγράφονται είτε σε μια υποθετική γλώσσα προγραμματισμού, τη ΓΛΩΣΣΑ, είτε σε πραγματικές γλώσσες προγραμματισμού, την QuickBasic, την Turbo Pascal, τη Visual Basic και την Delphi. Κάποιες από τις γλώσσες αυτές, είναι αυτές που θα χρησιμοποιήσεις στο εργαστήριο Πληροφορικής του σχολείου σου. Η αναφορά των ρεπερτορίων εντολών και των τεχνικών κάθε μιας από τις γλώσσες αυτές δεν γίνεται διεξοδικά, αφού σκοπός του μαθήματος, όπως προείπαμε, δεν είναι η εκμάθηση κάποιας γλώσσας προγραμματισμού. Όμως για τη βοήθεια σου έχουμε εντάξει στο τέλος του τετραδίου εργασιών, ένα παράρτημα που περιλαμβάνει τέσσερα συνοπτικά εγχειρίδια χρήσης, καθένα από τα οποία αναφέρεται στις παραπάνω γλώσσες προγραμματισμού. Τα παραδείγματα που παρουσιάζονται και οι δραστηριότητες που προτείνονται: e?> αντλούν ιδέες από πραγματικές καταστάσεις και από εμπειρίες της καθημερινής ζωής ή θίγουν πολιτιστικά, πολιτισμικά και κοινωνικά θέματα ευρύτερου ενδιαφέροντος, δίνοντας σου έτσι το ερέθισμα για περαιτέρω προβληματισμό, «> συνδέονται αρκετές φορές με άλλα μαθήματα όπως μαθηματικά, φυσική, χημεία, βιολογία, για να σου υπενθυμίζουν έμμεσα ότι, ο υπολογιστής δεν είναι αυτοσκοπός, αλλά εργαλείο επίλυσης προβλημάτων, <& δίνουν μεγαλύτερη έμφαση στην ανάλυση του προβλήματος και στο σχεδιασμό της λύσης, παρά στην υλοποίηση της, υποδηλώνοντας σου έτσι συνέχεια ότι η προσπάθεια που θα πρέπει να καταβάλεις, δεν είναι προς κατεύθυνση της καλ
Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον λιέργεια τεχνικής, αλλά προς εκείνη της ανάπτυξης αναλυτικής και συνθετικής σκέψης. Συμβάσεις Για την καλύτερη αναγνωσιμότητα του τετραδίου έχουν χρησιμοποιηθεί και μερικά γνωστά εικονίδια από το βιβλίο μαθητή. Εκτός από αυτά, για τη διαβάθμιση των προτεινόμενων δραστηριοτήτων και ασκήσεων χρησιμοποιήθηκαν και τα παρακάτω: $fc $fc για μέτρια * $ $ για προωθημένη Ευχαριστίες Για τη δημιουργία των εγχειριδίων χρήσης των Turbo Pascal και Delphi βοήθησαν οι Κώστας Αντωνακόπουλος και Βαγγέλης Χαραλαμπόπουλος, τους οποίους ευχαριστούμε θερμά και από τη θέση αυτή. Θα θέλαμε επίσης να ευχαριστήσουμε όλους εκείνους τους συναδέλφους καθηγητές Πληροφορικής, και ιδιαίτερα τους Γιάννη Οικονόμου και Ιωάννη Φαμέλη, για τις επικοδομητικές παρατηρήσεις που μας έστειλαν κατά τον πρώτο χρόνο χρησιμοποίησης του βιβλίου, βοηθώντας μας με αυτόν τον τρόπο να διορθώσουμε και να βελτιώσουμε το περιεχόμενο του. Τέλος, θα θέλαμε να ευχαριστήσουμε το συνάδελφο Νίκο Κασιμάτη για τη συνεισφορά του στην παιδαγωγική προσέγγιση του περιεχομένου του βιβλίου. Οι συγγραφείς