Εισαγωγή

Αν δεν ξέρετε τίποτα για την PASCAL

Υποθέτοντας ότι δεν γνωρίζετε τίποτα για τον προγραμματισμό και για την Pascal, θα ξεκινήσουμε μελετώντας την Pascal. Αν είστε ήδη κάπως εξοικειωμένοι με τον προγραμματισμό και ειδικότερα με την Pascal, πιθανώς να θελήσετε να παραλείψετε ή να μελετήσετε γρήγορα τα πρώτα κεφάλαια. Θα πρέπει όμως  να διαβάσετε την εισαγωγή αυτή.  Υπάρχουν κάποια σχόλια για να σας τοποθετήσουν την σωστή κατεύθυνση. Σε κάθε κεφάλαιο συμπεριλαμβάνονται  απλά προγράμματα που  έχουν σχεδιαστεί για να σας διδάξουν τα βασικά στοιχεία της Pascal. Σχεδόν όλα τα προγράμματα είναι πολύ απλά αλλά χρήσιμα, και θα σας διδάξουν τις βασικές αρχές της Pascal. Έχω δει εκπαιδευτικό σύγγραμμα που περιείχε ένα πρόγραμμα 12 σελίδων ως πρώτο παράδειγμα. Στην ουσία υπήρχαν μόνο δυο προγράμματα ως παραδείγματα σε ολόκληρο το σύγγραμμα και ήταν αδύνατο να μάθει κανείς τα ουσιώδη μ' αυτόν τον τρόπο. Γι' αυτό το λόγο, θα αποφύγω να χρησιμοποιήσω  μεγάλα προγράμματα μέχρι το τέλος του εγχειριδίου αυτού. Με πρόθεση να εξηγήσω βασικές αρχές που χρησιμοποιούνται στον προγραμματισμό με τη Pascal, όλα τα προγράμματα θα είναι πολύ μικρά και περιεκτικά μέχρι το τελευταίο κεφάλαιο.


Μεγαλύτερα προγράμματα με PASCAL

Το κεφάλαιο 16 περιέχει μερικά πιο μεγάλα προγράμματα, για να σας δείξει πως να γράψετε ένα μεγάλο πρόγραμμα. Δε θα ήταν καλό να σας δείξουμε όλα τα δομικά συστατικά της Pascal και στο τέλος να μην τα τοποθετήσουμε όλα μαζί, με έναν λογικό τρόπο, με στόχο την επίδειξη ενός μεγάλου προγράμματος. Αμέσως μετά την ολοκλήρωση όλων των βασικών στοιχείων της Pascal, θα είναι πολύ εύκολο για σας να χρησιμοποιήσετε τα εργαλεία που μάθατε, με σκοπό να χτίσετε ένα μεγάλο πρόγραμμα κατά την επιθυμία σας ή όπως απαιτεί ένα project που θα αναλάβετε.

Ένα άλλο πρόβλημα που έχω παρατηρήσει σε παραδείγματα-προγράμματα είναι η χρήση μιας λέξης με διαφορετικές χρήσεις. Για παράδειγμα, ένα πρόγραμμα ταξινόμησης είναι αποθηκευμένο σε ένα αρχείο με το όνομα SORT, αλλά και το πρόγραμμα λέγεται SORT καθώς και διάφορα κομμάτια του προγράμματος ονομάζονται Sort1,Sort2 κ.λ.π. Αυτό μπορεί να οδηγήσει σε σύγχυση, αν δεν έχετε ιδέα αν το όνομα του προγράμματος πρέπει να είναι ίδιο με το όνομα του αρχείου, ή αν είναι απαραίτητος κανόνας να έχουν αντίστοιχα ονόματα τα διάφορα μέρη του προγράμματος. Γι' αυτό το λόγο, τα προγράμματα που έχω παραθέσει ως παραδείγματα, χρησιμοποιούν απολύτως αυθαίρετα ονόματα όταν η επιλογή του ονόματος δεν προσθέτει τίποτα στην αναγνωσιμότητα ή στην καθαρότητα του προγράμματος. Σαν επεξήγηση του γεγονότος αυτού, το πρώτο πρόγραμμα ονομάζεται Puppy_Dog. Αυτό δεν προσθέτει τίποτα στη κατανόηση του προγράμματος, αλλά καθιστά σαφές ότι το όνομα του προγράμματος δεν σημαίνει τίποτα για το Compiler της Pascal και αφορά μόνο στα περιεχόμενα του προγράμματος. Σύμφωνα με τις βασικές αρχές που σχεδιάστηκε η γλώσσα προγραμματισμού Pascal, κάποιες λέξεις είναι "δεσμευμένες" και μπορούν να χρησιμοποιηθούν μόνο για τον προκαθορισμένο τους σκοπό. Για περισσότερες πληροφορίες όσον αφορά αυτές τις λέξεις μπορείτε να ανατρέξετε στο εγχειρίδιο χρήσης της Pascal. Σε όλα τα προγράμματα σε αυτό το εκπαιδευτικό εγχειρίδιο οι δεσμευμένες λέξεις είναι γραμμένες με πεζά γράμματα και οι μεταβλητές που καθορίζονται από τον χρήστη είναι γραμμένες με το πρώτο γράμμα κεφαλαίο και τα άλλα πεζά, αυτό θα είναι και το standard από δω και στο εξής. Μην ανησυχείτε ακόμα για το ποιες είναι οι δεσμευμένες λέξεις, θα παρουσιαστούν αργότερα. Σε αυτό το εκπαιδευτικό εγχειρίδιο, όλες οι δεσμευμένες λέξεις θα γράφονται με έντονους χαρακτήρες προς βοήθεια των σπουδαστών. Επειδή θα βοηθούσε λίγο και πιθανώς θα ήταν πιο περίπλοκο, οι απλοί προκαθορισμένοι τύποι δεν θα γράφονται με έντονους χαρακτήρες.

Τι είναι ένας   COMPILER ;

Δυο τρόποι χρησιμοποιούνται για να εκτελέσειες ένα οποιοδήποτε πρόγραμμα σε υπολογιστή το οποίο είναι γραμμένο σε μια αναγνώσιμη μορφή Αγγλικών. Ο πρώτος τρόπος είναι να χρησιμοποιήσεις έναν διερμηνέα (interpreter). Ο διερμηνέας είναι ένα πρόγραμμα που ελέγχει κάθε γραμμή του "Αγγλικού" κώδικα, αποφασίζει τι σημαίνει κάθε γραμμή και τι ενέργειες πρέπει να εκτελεστούν. Αν κάποια γραμμή εκτελείται επανειλημμένα αναλύει και ανιχνεύει σε κάθε επανάληψη ώστε να υπολογίσει το αποτέλεσμα. Ο μεταγλωττιστής (compiler) από την άλλη πλευρά, είναι ένα πρόγραμμα το οποίο ελέγχει κάθε γραμμή μια φορά και τη μετατρέπει σε γλώσσα μηχανής (κώδικα που ο υπολογιστής κατανοεί άμεσα). Όταν το εκτελέσιμο πρόγραμμα εκτελείται, δεν χρειάζεται ο υπολογιστής να ασχοληθεί με το πρόγραμμα αλλά εκτελεί απευθείας τη εκτελέσιμη μορφή, με αποτέλεσμα την ταχύτερη εκτέλεση του προγράμματος.

Αυτό το εκπαιδευτικό εγχειρίδιο έχει γραφτεί ειδικά για τους Borland's International TURBO Pascal compilers εκδόσεων από 5.0 έως 6.0. Αυτοί είναι compilers υψηλής ποιότητας και μπορούν να κάνουν σχεδόν ότι τους ζητήσετε, αφού είναι αρκετά ευέλικτοι. Ο πραγματικός σκοπός του εγχειριδίου αυτού είναι   να χρησιμοποιήσει παραδείγματα κατανοητά από όλους τους καλούς Pascal Compilers. Οι προγραμματιστές της Borland έχουν συμπεριλάβει ένα πλήθος από δευτερεύοντα χαρακτηριστικά της γλώσσας και κατέληξαν σε ένα πολύ καλό προϊόν που κυριάρχησε στην αγορά των μικροϋπολογιστών. Αν παραβλέπαμε τελείως όλα αυτά τα επιπλέον χαρακτηριστικά, αυτό δε θα ήταν καλό για σάς, αλλά και αν συμπεριλαμβάναμε τα χαρακτηριστικά αυτά δεν θα επιτρέπαμε σε άλλους compilers να "δουλέψουν" αποτελεσματικά με τα παραδείγματά μας. Τελικά αποφασίσαμε να χρησιμοποιήσουμε τα επιπλέον  χαρακτηριστικά της Borland. Σε καμία περίπτωση πάντως, το παρόν εγχειρίδιο δεν θα σας διδάξει τα πάντα για την Pascal. Στόχος είναι η παρουσίαση όλων των βασικών χαρακτηριστικών της Pascal, ώστε με προσωπική ενασχόληση να ασχοληθείτε με τα τμήματα της γλώσσας που εσείς επιθυμείτε. Θα αντιληφθείτε σύντομα ότι η εμπειρία  είναι ο καλύτερός σας δάσκαλος.

Τι έκδοση της TURBO Pascal ;

Μερικά από τα προγράμματα που παρατίθενται ως παραδείγματα δεν θα δουλεύουν με παλιότερες εκδόσεις της γλώσσας. Αυτό βασικά οφείλεται στό γεγονός ότι οι δυνατότητες αντικειμενοστραφούς προγραμματισμού ενσωματώθηκαν μετά την έκδοση 5.5 και βελτιώθηκαν στην έκδοση 6.0. Τα πιο πολλά προγράμματα όμως θα δουλεύουν με οποιαδήποτε έκδοση. Θα πρέπει να τονίσουμε ότι σε κάθε έκδοση της Pascal έχει προστεθεί κάτι σε σχέση με τις προηγούμενες εκδόσεις, και κάθε νεώτερη έκδοση του compiler παράγει μεταγλωττισμένο κώδικα ταχύτερο και μικρότερου μεγέθους. Αργότερα όταν θα έχετε συμφιλιωθεί με τις τεχνικές προγραμματισμού, ίσως θελήσετε να αποκτήσετε την τελευταία έκδοση της γλώσσας.


Τι συμβαίνει με τις εκδόσεις 5.5 και 6.0

Τα κεφάλαια 14 και 15 αυτού του εγχειριδίου είναι γραμμένα ειδικά για τις Turbo Pascal 5.5 και 6.0, για να συζητήσουμε την χρήση του αντικειμενοστραφούς προγραμματισμού και πώς να χρησιμοποιήσετε τα επιπλέον χαρακτηριστικά της Borland. Επειδή το θέμα του αντικειμενοστραφούς προγραμματισμού είναι ένα πολύ μεγάλο και διαφορετικό πεδίο έρευνας και μόνο λίγος χώρος έχει αφιερωθεί για αυτό το θέμα στο παρόν εγχειρίδιο, γι' αυτό τα κεφάλαια αυτά θα σας δώσουν μόνο μια γενική εικόνα για το τι είναι αντικειμενοστραφής προγραμματισμός και το πως θα το χρησιμοποιήσετε. Θα σας δοθούν 13 ολόκληρα παραδείγματα για να ξεκινήσετε με αυτήν την νέα και σημαντική προσπάθεια και αυτή η εισαγωγή ελπίζουμε να αποτελέσει κίνητρο για μελέτη του θέματος σε μεγαλύτερο βάθος.


Προετοιμασία για τη χρήση αυτού του εγχειριδίου

Αντιγράψτε τα αρχεία στον υποκατάλογο της Turbo Pascal που δουλεύετε και είστε έτοιμοι να ξεκινήσετε, υπό τον όρο βέβαια ότι έχετε ήδη μάθει πως ξενικά το σύστημα και πως ανοίγετε στον editor της Pascal ένα αρχείο. Βεβαιωθείτε ότι έχετε κρατήσει αντίγραφο ασφαλείας από τον αρχικό δίσκο της Pascal και πως δεν θα χάσετε όλες τις πληροφορίες κατά λάθος στον δίσκο διανομής. Θα πρέπει να είστε εξοικιωμένοι με τον Editor της έκδοσης που χρησιμοποιείτε πριν ξεκινήσετε.

Αν δεν χρησιμοποιείτε Turbo Pascal θα είστε πάλι σε θέση να μεταγλωττίσετε και να εκτελέσετε τα περισσότερα από τα προγράμματα αυτά που χρησιμοποιούν την βασική σύνταξη της Pascal. Θα υπάρχουν όμως και κάποιες εκφράσεις, που ισχύουν μόνο στην Turbo Pascal, που δεν θα είναι αποδεκτές. Αυτό θα γίνει κυρίως αισθητό στο κεφάλαιο που αναφέρεται στην standard είσοδο και έξοδο όπου υπάρχουν κυρίως οι διαφορές στους compilers. Δυστυχώς αυτή είναι μια από τις πιο σημαντικές όψεις σε όλες τις γλώσσες προγραμματισμού, αφού είναι απαραίτητο να εισάγεις και να εξάγεις δεδομένα (data) από και προς τον υπολογιστή σου για να κάνεις κάτι  χρήσιμο. Επίσης θα δείτε ότι το κεφάλαιο 13, το οποίο καλύπτει το θέμα των μονάδων (units), είναι μοναδικό στην Turbo Pascal και δεν θα δουλέψει με άλλους compilers της Pascal.

Τι γίνεται με τις ασκήσεις προγραμματισμού ;

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

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

 

[Up] [1]