Διδακτικά Βιβλία του Παιδαγωγικού Ινστιτούτου

Αναζήτηση

Βρες
Εμφάνιση

Ανακεφαλαίωση

Κύριο διακριτικό γνώρισμα του υπολογιστή είναι η δυνατότητα προγραμματισμού του, με τη λειτουργία του να καθορίζεται από το πρόγραμμα που κάθε στιγμή εκτελεί. Ο προγραμματισμός, αποτελεί έναν από τους βασικούς τομείς της επιστήμης των υπολογιστών. Τα πρώτα προγράμματα γράφονταν στη γλώσσα μηχανής του υπολογιστή. Στη συνέχεια, για να διευκολυνθεί η διαδικασία του προγραμματισμού, σχεδιάστηκαν σταδιακά γλώσσες προγραμματισμού οι οποίες είναι πιο κοντά στον τρόπο έκφρασης τού ανθρώπου. Ένα πρόγραμμα, λοιπόν, μπορεί να είναι γραμμένο σε: - Γλώσσα μηχανής. - Συμβολική γλώσσα. - Γλώσσα υψηλού επιπέδου. Από τον πρώτο προγραμματιζόμενο υπολογιστή έως σήμερα, έχει επινοηθεί ένας πολύ μεγάλος αριθμός γλωσσών προγραμματισμού. Μερικές από τις πιο γνωστές και επιτυχημένες εμπορικά είναι η FORTRAN, η COBOL, η C και η SQL. Ανάλογα με το σκοπό για τον οποίο σχεδιάστηκαν, οι γλώσσες προγραμματισμού διακρίνονται σε: - Ειδικού σκοπού, επειδή σχεδιάστηκαν για να καλύπτουν τις απαιτήσεις ενός συγκεκριμένου φάσματος προβλημάτων. - Γενικού σκοπού, αυτές που σχεδιάστηκαν για να καλύπτουν ένα γενικότερο φάσμα προβλημάτων. Τα προγράμματα γράφονται είτε σε συμβολικές γλώσσες είτε σε γλώσσες υψηλού επιπέδου. Τη μετατροπή τους σε γλώσσα μηχανής αναλαμβάνουν κατά περίπτωση, οι συμβολομεταφραστές, οι μεταγλωττιστές και οι διερμηνευτές. Η συγγραφή των προγραμμάτων έχει εξελιχθεί σε μια δομημένη διαδικασία που διέπεται από τις αρχές δομημένου προγραμματισμού, σύμφωνα με τις οποίες ένα πρόγραμμα κατασκευάζεται από συνεργαζόμενα δομικά στοιχεία, τα οποία υλοποιούνται με βάση καθορισμένους τύπους προγραμματιστικών δομών. Οι δομές αυτές είναι: - Η διαδοχή. - Η επιλογή. - Η επανάληψη. Ανάλογα με το πώς προσεγγίζεται ο προγραμματισμός του υπολογιστή, έχουν δημιουργηθεί διάφορα πρότυπα προγραμματισμού. Αυτά είναι: - Ο διαδικαστικός προγραμματισμός. - Ο αντικειμενοστρεφής προγραμματισμός. - Ο λογικός προγραμματισμός. - Ο συναρτησιακός προγραμματισμός. Η κατασκευή ενός προγράμματος ακολουθεί ορισμένα βήματα. Τα πιο βασικά είναι: α) Προσδιορισμός των απαιτήσεων του προβλήματος. β) Ανάλυση του προβλήματος. γ) Σχεδιασμός αλγόριθμου για την επίλυση του προβλήματος. δ) Υλοποίηση του αλγόριθμου. ε) Έλεγχος και επαλήθευση του τελικού προγράμματος. στ) Συντήρηση και ενημέρωση του προγράμματος. ζ) Τεκμηρίωση. Για να διευκολυνθεί η διαδικασία ανάπτυξης προγραμμάτων, έχουν αναπτυχθεί προγραμματιστικά περιβάλλοντα, τα οποία στην απλή τους μορφή περιλαμβάνουν απλώς ένα συντάκτη κειμένων και τα κατάλληλα μεταφραστικά προγράμματα, ενώ την πιο σύνθετη μορφή τους αποτελούν περιβάλλοντα όπως τα εργαλεία CASE ή τα περιβάλλοντα οπτικού προγραμματισμού.

Ερωτήσεις 1. Τι είναι αυτό που κάνει τον ίδιο υπολογιστή ικανό να εκτελεί εργασίες διαφορετικές μεταξύ τους; (Π.χ. να κάνει στατιστική ανάλυση, να σχεδιάζει σπίτια, να επεξεργάζεται βίντεο). - Το υλικό - 5Το λογισμικό - Άλλο 2. "Για να χρησιμοποιηθεί ο υπολογιστής ως εργαλείο σε ένα τομέα είναι αρκετό να προμηθευτούμε τα κατάλληλα προγράμματα. Το υλικό δεν έχει καμία σημασία." Συμφωνείτε; - Ναι - Όχι 3. Τι ονομάζεται πρόγραμμα υπολογιστή; 4. Τι εννοούμε λέγοντας ότι ο υπολογιστής προγραμματίζεται; 5. Τι είναι η γλώσσα μηχανής; 6 Να αναφέρετε τρεις κατηγορίες εντολών γλώσσας μηχανής. α) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . β) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . γ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7. Οι προγραμματισμός σε συμβολική γλώσσα είναι πιο …………. σε σχέση με τον προγραμματισμό σε γλώσσες υψηλού επιπέδου. (εύκολος / δύσκολος) 8. Αναφέρετε τρεις γλώσσες προγραμματισμού ειδικού σκοπού και τρεις γενικού. α) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . β) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . γ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . δ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ε) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . στ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9. Η LISP και η SMALLTALK είναι: - Γλώσσες προγραμματισμού υψηλού επιπέδου - Γλώσσες μηχανής του μικροεπεξεργαστή Z80 - Άλλο 10. Να περιγράψετε τα βήματα για την εκτέλεση ενός προγράμματος με τη χρήση μεταφραστή. 11. Ποιες από τις παρακάτω διαπιστώσεις είναι σωστές; - Ο τμηματικός προγραμματισμός αποτελεί στρατηγική κατασκευής προγραμμάτων - Ο δομημένος προγραμματισμός βασίζεται στην αρχή της λειτουργικής αποσύνθεσης - Η υπορουτίνα είναι μια δομή επιλογής 12. Ποιος ο σκοπός των εντολών συνθήκης στο διαδικαστικό προγραμματισμό; 13. Τι είναι οι μέθοδοι και τι οι ιδιότητες στον αντικειμενοστρεφή προγραμματισμό; 14. Τα δεδομένα στον αντικειμενοστρεφή προγραμματισμό αποθηκεύονται στις μεθόδους. Συμφωνείτε; - Ναι - Όχι 15. Τι είναι ένα προγραμματιστικό περιβάλλον και από τι αποτελείται; 16. Ποια βήματα ακολουθούνται κατά την ανάπτυξη λογισμικού; 17. Να συνδέσετε τα στοιχεία της πρώτης στήλης με αυτά της δεύτερης. Στάδιο Αποτέλεσμα Συγγραφή προγράμματος| | Εκτελέσιμο πρόγραμμα Μεταγλώττιση| |Πηγαίο πρόγραμμα Σύνδεση| |Αντικείμενο πρόγραμμα

Γλωσσάριο Αλγόριθμος: Μια βήμα προς βήμα διαδικασία η οποία οδηγεί στην επίλυση ενός προβλήματος. Πρέπει να είναι σαφής και να έχει συγκεκριμένο σημείο τερματισμού. Αντικείμενο πρόγραμμα: Το προϊόν της μετάφρασης του πηγαίου προγράμματος από ένα μεταφραστή. Αντικειμενοστρεφής προγραμματισμός: Μοντέλο προγραμματισμού στο οποίο τα δεδομένα και ο κώδικας είναι οργανωμένα σε αντικείμενα που επικοινωνούν μεταξύ τους με μηνύματα. Διερμηνευτής Interpreter: Μεταφραστικό πρόγραμμα, μέσω του οποίου εκτελείται ένα πρόγραμμα που είναι γραμμένο σε γλώσσα υψηλού επιπέδου. (Δες επίσης "μεταφραστής".) Εργαλεία ανάπτυξης λογισμικού με τη βοήθεια υπολογιστή - Case tools: Ολοκληρωμένα εργαλεία για ανάπτυξη λογισμικού με τη βοήθεια υπολογιστή. Δομημένος προγραμματισμός: Ένα σύνολο από τεχνικές που έχουν σκοπό τη βελτίωση της ποιότητας του παραγόμενου λογισμικού. ΣυντάκτηςEditor: Πρόγραμμα με το οποίο γράφονται απλά κείμενα, χωρίς μορφοποίηση. Συνήθως χρησιμοποιείται για τη συγγραφή προγραμμάτων. Λογικός προγραμματισμός: Μοντέλο προγραμματισμού το οποίο έχει τις αρχές του στη Μαθηματική Λογική. Μεταγλωττιστής Compiler: Πρόγραμμα το οποίο μεταφράζει-μεταγλωττίζει σε γλώσσα μηχανής ένα πρόγραμμα γραμμένο σε γλώσσα υψηλού επιπέδου. Πηγαίο πρόγραμμα: Η αρχική μορφή (μορφή κειμένου) ενός προγράμματος γραμμένου σε κάποια γλώσσα προγραμματισμού. Πρόγραμμα: Ένα σύνολο εντολών γραμμένων σε κάποια γλώσσα προγραμματισμού, με σκοπό την εκτέλεση συγκεκριμένων εργασιών από τον υπολογιστή. Συμβολική γλώσσα: Γλώσσα προγραμματισμού που αποτελείται από μνημονικές λέξεις, οι οποίες βρίσκονται σε άμεση (μία προς μία) αντιστοιχία με τις εντολές της γλώσσας μηχανής. Συμβολομεταφραστής Assembler: Πρόγραμμα το οποίο μετατρέπει σε γλώσσα μηχανής ένα πρόγραμμα γραμμένο σε συμβολική γλώσσα. Συναρτησιακός προγραμματισμός: Μοντέλο προγραμματισμού το οποίο στηρίζεται στη μαθηματική έννοια της συνάρτησης. Συνδέτης Linker: Ειδικό πρόγραμμα που συνδέει κατάλληλα το αντικείμενο πρόγραμμα με άλλα αντικείμενα προγράμματα, ώστε αυτό να μετατραπεί σε αυτόνομο εκτελέσιμο πρόγραμμα. Οπτικός προγραμματισμός: Ανάπτυξη προγραμμάτων με γραφικές μεθόδους. Υπορουτίνα: Ανεξάρτητο τμήμα κώδικα, το οποίο μπορεί να κληθεί για εκτέλεση από διάφορα σημεία ενός προγράμματος. Αποτελεί βασικό εργαλείο στο δομημένο προγραμματισμό. Ενδιαφέρουσες και χρήσιμες διευθύνσεις του Διαδικτύου http://www.amzi.com Εταιρεία που ειδικεύεται στην Prolog. Διαθέτει χωρίς κόστος μία καλή έκδοση της γλώσσας. http://www.brain.uni-freiburg.de/~klaus/fpc/ Μεταφραστής Pascal για DOS και Linux. http://www.delorie.com/djgpp/ Μεταφραστής C για DOS. http://www.microsoft.com Εκτός από τα γνωστά της λειτουργικά συστήματα, η Microsoft διαθέτει περιβάλλοντα ανάπτυξης για διάφορες γλώσσες όπως C, C++ και Basic. http://www.inspise.com Θα βρείτε πληροφορίες για τα πολύ επιτυχημένα περιβάλλοντα ανάπτυξης της Borland. http://www.iecc.com/compilers/crenshaw/ Θα βρείτε γενικές οδηγίες για τον τρόπο κατασκευής ενός μεταγλωττιστή. http://archie.inesc.pt/free-dir/free-toc.html Κατάλογος από μη εμπορικούς μεταφραστές για διάφορες γλώσσες προγραμματισμού. http://www.vlib.org/Computing.html Γενικές πληροφορίες για τον προγραμματισμό. http://www.pascal-central.com/ Καλό σημείο εκκίνησης για αναζήτηση πληροφοριών σχετικών με τη γλώσσα Pascal. http://www.flamingolingo.com/programming.c/ Διαθέτει πολλές πληροφορίες για τη γλώσσα προγραμματισμού C. http://www.nvg.ntnu.no/~sk/lang/lang.html Εκτενής αλφαβητικός κατάλογος με γλώσσες προγραμματισμού. Ομάδες νέων Στις ομάδες νέων υπάρχει ένας μεγάλος αριθμός ομάδων που αφορά θέματα προγραμματισμού υπολογιστών. Ενδεικτικά αναφέρουμε τις: comp.compilers comp.programming comp.lang.* (ομάδες για γλώσσες προγραμματισμού) news.answers (Θα βρείτε πολύ ενδιαφέροντα FAQs) Βιβλιογραφία D.E Knuth, The art of computer Programming, vols 1,2,3, Εκδόσεις Addison-Wesley, 1969,73 Πρόκειται για ένα κλασσικό σύγγραμμα απαραίτητο για όποιον θα ήθελε να ασχοληθεί σοβαρά με τον προγραμματισμό. Elliot B. Koffman, Turbo Pascal, 5th Edition, Εκδόσεις Addison-Wesley. 1998 Καλογραμμένο βιβλίο το οποίο μέσω της γλώσσας Pascal, παρουσιάζει την τεχνική της επίλυσης προβλημάτων με υπολογιστή. Ι.Κ. Κάβουρα, Δομημένος προγραμματισμός με Pascal, Εκδόσεις Κλειδάριθμος Παρουσιάζει το δομημένο προγραμματισμό μέσα από τη διδασκαλία της Pascal. Θεόδωρου Ζ. Καλαμπούκη, Δομές δεδομένων με Pascal, Αθήνα 1991 Παρουσίαση των δομών δεδομένων μέσα από την Pascal. E. Horrowitz, Βασικές αρχές γλωσσών προγραμματισμού, Εκδόσεις Κλειδάριθμος Περιλαμβάνει πληθώρα θεμάτων γύρω από τις θεμελιώδεις έννοιες και αρχές των γλωσσών προγραμματισμού.