Αναφορά στην Turbo Pascal και παρουσίαση του Test Reaction Time.
ΕΙΣΑΓΩΓΗ |
|
|
1.1 ΓΕΝΙΚΑ ΠΕΡΙ ΗΛΕΚΤΡΟΝΙΚΏΝ ΥΠΟΛΟΓΙΣΤΏΝ |
|
|
|
Η επεξεργασία των πληροφοριών αποτελεί εδώ και πολλά χρόνια αντικείμενο έρευνας και προσπαθειών με ένα κοινό στόχο : τη βελτίωση των συστημάτων παροχής πληροφοριών με όσο το δυνατόν ταχύτερη και ακριβέστερη εξυπηρέτηση και υποστήριξη. |
|
Είναι πια γνωστό ότι ο ηλεκτρονικός υπολογιστής είναι το απαραίτητο τμήμα ενός συστήματος επεξεργασίας πληροφοριών . Ακολουθώντας μια ραγδαία εξέλιξη, η επιστήμη των υπολογιστών τα τελευταία 30 χρόνια και βαδίζοντας πολλές στιγμές «χέρι-χέρι» με την ηλεκτρονική, πέτυχε θεαματικά αποτελέσματα τόσο κατασκευα-στικά όσο και λογιστικά. |
|
Οι όροι HARDWARE και SOFTWARE αποδίδουν επιγραμματικά ο πρώτος τη φυσική όψη ενός συστήματος Η/Υ και ο δεύτερος το σύνολο των προγραμμάτων που «αποφασίζουν» τη συμπεριφορά του. |
|
«Προγράμματα » ορίζεται να είναι ένα σύνολο οδηγιών και εντολών σε κάποια ειδική μορφή, κατανοητή από τον υπολογιστή. |
|
|
|
1.2 ΔΟΜΗ Η/Υ |
|
|
|
Ο Η/Υ, εργαλείο του ανθρώπου στην επίλυση ορισμένων προβλημάτων, θα αντικατροπτρίζει τη φιλοσοφία και τη λογική του δημιουργού του. Η δομή και η λειτουργία του θα είναι όμοιες με τον συνηθισμένο τρόπο επίλυσης: |
|
|
|
δεδομένα - επεξεργασία - αποτελέσματα |
|
|
|
Θα πρέπει λοιπόν να αναζητηθούν τα τμήματα εκείνα που θα επιτελέσουν αυτές τις τρεις βασικές εργασίες. Είναι: |
|
|
|
1) μονάδες εισόδου δεδομένων |
|
2) μονάδες επεξεργασίας |
|
3) μονάδες εξόδου πληροφοριών - αποτελεσμάτων. |
|
|
|
Κενρικός συντονιστής είναι η κεντρική μονάδα επεξεργασίας (αναφέρεται και σαν ΚΜΕ ή CPU από τις αγγλικές λέξεις: central processing unit) και οι μονάδες εισόδου - εξόδου συνδέονται γύρω από αυτήν. Η ΚΜΕ αποτελείται από την αριθμητική - λογική μονάδα όπου γίνονται αριθμητικές και λογικές πράξεις και από την μονάδα ελέγχου που αποφασίζει τη διαδοχή εκτέλεσης των πράξεων (εντολών). Οι εντολές εκτελούνται με βάση κάποιο πρόγραμμα που είναι αποθηκευμένο στην μνήμη ου Η/Υ. |
|
Στην μνήμη κρατούνται όλες οι πληροφορίες που απαιτούνται για την εκτέλεση ενός προγράμματος. Αποτελείται από δύο μέρη την: |
|
|
|
1. ROM (Read Only Memory) το περιεχόμενο της οποίας διατηρείται ανέπαφο ακόμα και όταν χάνεται το ηλεκτρικό ρεύμα και είναι μικρή. |
|
2. RAM (Random Access Memory) όπου αποθηκεύονται προγράμματα και δεδομένα. Το περιεχόμενο της οποίας χάνεται με τη διακοπή του ηλεκτρικού ρεύματος. Κάθε θέση της έχει μια διεύθυνση που είναι μοναδική και μέσω αυτής υπάρχει πρόσβαση. |
|
|
|
Το μέγεθος της μνήμης ενός υπολογιστή είναι καθοριστικό για τη γλώσσα προγραμματισμού που θα χρησιμοποιηθεί και το μέγεθος των προγραμμάτων που θα εκτελεσθούν. |
|
Η επικοινωνία της ΚΜΕ με τον έξω κόσμο επιτυγχάνεται με τα κυκλώματα επικοινωνίας (interfaces) με τα οποία συνδέονται μονάδες εισόδου - εξόδου. Οι πιο γνωστές μονάδες είναι το πληκτρολόγιο, η οθόνη και ο εκτυπωτής. |
|
Εκτός από τη μνήμη που αναφέρθηκε και αποτελεί τη κεντρική μνήμη του Η/Υ υπάρχει και η βοηθητική (περιφερειακή) μνήμη. Το μέγεθος της κεντρικής μνήμης που είναι περιορισμένο και η ιδιότητά της να χάνει το περιεχόμενό της με την διακοπή του ηλεκτρικού ρεύματος, καθιστούν απαραίτητη την ύπαρξη περιφερειακής μαγνητικής μνήμης, (δισκέτες, σκληροί δίσκοι, οπτικοί δίσκοι, μαγνητικές ταινίες) όπου προγράμματα και αρχεία πληροφοριών αποθηκεύονται για μελλοντικές χρήσεις. Η περιφερειακή μνήμη εξασφαλίζει τη δυνατότητα ανάκλησης και επαναχρησιμοποίησης προγραμμάτων και πληροφοριών. |
|
|
|
|
|
1.3 ΠΡΟΓΡΑΜΜΑΤΑ |
|
|
|
Όλα όσα μπορεί να κάνει ένας Η/Υ βασίζονται σε προγράμματα που αποτελούν το λογισμικό (SOFTWARE). |
|
Τα προγράμματα που είναι επιφορτισμένα να εποπτεύουν και να κατευθύνουν τη λειτουργία του υπολογιστή αποτελούν το λειτουργικό σύστημα (αναφέρεται και σαν OS από τις αγγλικές λέξεις Operating System). Αποστολή του είναι η σωστή διαχείριση των επιμέρους συσκευών του Η/Υ (οθόνη, πληκτρολόγιο, εκτυπωτής, δίσκοι δισκέτες), ο έλεγχος των προγραμμάτων που εκτελούνται και η επεξεργασία των διαταγών που δίνονται από τον χρήστη. |
|
Στη κατηγορία των μικροϋπολογιστών που έδωσαν τεράστια ώθηση στην επιστήμη της «πληροφορικής» τα πιο γνωστά λειτουργικά συστήματα είναι: |
|
|
|
· CP/M της εταιρείας Digital Research |
|
· UNIX της εταιρείας A.T.T. |
|
· OS της εταιρείας I.B.M. |
|
· MS-DOS, XENIX και WINDOWS της εταιρείας Microsoft |
|
|
|
Τα προγράμματα που αποτελούν το λειτουργικό σύστημα ανήκουν στο software που συνοδεύει το σύστημα του Η/Υ από τον κατασκευαστή και βοηθούν την επικοινωνία των χρηστών με τον υπολογιστή. Τα περισσότερα λειτουργικά συστήματα είναι αποθηκευμένα σε κάποιο μαγνητικό ή οπτικό μέσο, συνήθως δίσκο και «φορτώνονται» στον Η/Υ όταν τεθεί σε λειτουργία. |
|
Τα προγράμματα που γράφονται για την επίλυση ενός προβλήματος λέγονται προγράμματα εφαρμογής. Η μηχανογράφηση μιας εφαρμογής απαιτεί ανάλυση σε επιμέρους τμήματα, διαγραμματική απεικόνιση σε λογικά βήματα (λογικό διάγραμμα) και μετάφραση σε κάποια γλώσσα προγραμματισμού (κωδικοποίηση). |
|
|
|
1.4 ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ |
|
|
|
Γλώσσα προγραμματισμού είναι ένα αυστηρά καθορισμένο σύνολο κανόνων και λέξεων (εντολών) που αποτελεί τη βάση την ανάπτυξη των προγραμμάτων. |
|
Με την εμφάνιση της επιστήμης των υπολογιστών έχουν δημιουργηθεί πολλές γλώσσες προγραμματισμού, που η κάθε μια συγκεντρώνει πλεονεκτήματα και μειονεκτήματα. |
|
|
|
Τα βασικότερα πλεονεκτήματα για μια γλώσσα είναι: |
|
|
|
· Να είναι εύκολη, κατανοητή και γρήγορη. |
|
· Να μπορεί να χρησιμοποιηθεί σε όλες τις εφαρμογές που υπάρχουν ή μπορούν να προκύψουν. |
|
· Να μπορεί να «τρέχει» σε όλους τους Η/Υ. |
|
|
|
Καμιά γλώσσα δεν μπορεί να συγκεντρώσει τόσο γενικές απαιτήσεις άρα θα υπάρχει κάποιος προσανατολισμός, ανάλογα με τη χρήση και τις εφαρμογές, Άλλες γλώσσες είναι πιο κατάλληλες για εμπορικές εφαρμογές. άλλες για επιστημονικές και άλλες είναι εξειδικευμένες σε συγκεκριμένες δραστηριότητες (βάσεις δεδομένων, μουσική, ανάλυση σημάτων κλπ). |
|
|
|
Οι γλώσσες χωρίζονται σε δύο κατηγορίες: |
|
1. γλώσσες χαμηλού επιπέδου και |
|
2. γλώσσες υψηλού επιπέδου. |
|
|
|
Οι γλώσσες χαμηλού επιπέδου είναι πολύ κοντά στον Η/Υ και είναι δύσκολα κατανοητές. Αρχικά δημιουργήθηκαν οι γλώσσες μηχανής (machine language) και αργότερα οι γλώσσες assembly. Η assembly είναι μια συμβολική παράσταση της γλώσσας μηχανής που κάνει ευκολότερη τη δουλειά του προγραμματιστή. Το μεγαλύτερο πλεονέκτημά τους είναι η μεγάλη ταχύτητα εκτέλεσης των εντολών. |
|
Κάθε επεξεργαστής έχει τη δική του γλώσσα μηχανής με αποτέλεσμα κάθε Η/Υ με διαφορετικό επεξεργαστή να έχει διαφορετική γλώσσα μηχανής (μειονέκτημα). |
|
|
|
Οι γλώσσες υψηλού επιπέδου (high level languages) είναι όσες χρησιμοποιούν λέξεις με σημασία ίδια της εργασίας που πρέπει να εκτελεστεί. Αποτελούνται όλες από αγγλικές λέξεις και είναι εύκολα κατανοητές (οι λέξεις που χρησιμοποιούνται είναι απλές και γνωστές). |
|
Τα προγράμματα που γράφονται σε γλώσσες υψηλού επιπέδου είναι συνήθως ανεξάρτητα από τον Η/Υ. Μπορούν να εκτελεσθούν αυτούσια σε κάθε μηχάνημα ή έστω με ελάχιστες τροποποιήσεις. |
|
Ένα πρόγραμμα σε γλώσσα υψηλού επιπέδου για να εκτελεστεί μεταφράζεται σε γλώσσα μηχανής με τη βοήθεια ενός ειδικού προγράμματος που λέγεται γενικά μεταφραστής. |
|
|
|
Υπάρχουν δύο τύποι προγραμμάτων - μεταφραστών: |
|
1. compiler (μεταγλωττιστής) και |
|
2. interpreter (ερμηνευτής). |
|
|
|
Ο compiler παίρνει σαν στοιχείο εισόδου ένα πρόγραμμα σε γλώσσα υψηλού επιπέδου και από την επεξεργασία του παράγει το «ισοδύναμο» πρόγραμμα σε γλώσσα μηχανής. Ο προγραμματιστής γράφει το πηγαίο πρόγραμμα (source program) και ο compiler δημιουργεί το αντικειμενικό πρόγραμμα (object program). Άλλη επεξεργασία που γίνεται είναι η βελτιστοποίηση (optimization). Το πρόγραμμα βελτιώνεται για να γίνει πιο αποτελεσματικό (κυρίως ταχύτερο) όταν εκτελείται. |
|
|
|
Ο interpreter μεταφράζει μία - μία γραμμή του προγράμματος και τη δίνει για εκτέλεση, χωρίς να παράγει αντικειμενικό πρόγραμμα. Το σημαντικότερο πλεονέκτημα ενός interpreter είναι η ευκολία που παρέχει στη διόρθωση του προγράμματος αφού ο χρήστης δεν υποχρεώνεται να περιμένει την ολοκλήρωση της μεταγλώττισης (compilation). Το βασικότερο μειονέκτημα είναι η μικρή ταχύτητα εκτέλεσης. Ο χρόνος ολοκλήρωσης της λειτουργίας μιας εντολής περιλαμβάνει τον χρόνο ερμηνείας και τον χρόνο εκτέλεσης. |
|
|
|
Ένας επιτυχής συνδυασμός για κάποια γλώσσα είναι η ανάπτυξη του προγράμματος με interpreter και όταν εξαλειφθούν οι ατέλειες ανάλυσης και τα λάθη η χρησιμοποίηση compiler για τη δημιουργία αντικειμενικού προγράμματος (object), ώστε να αυξηθεί η ταχύτητα εκτέλεσης. |
|
|
|
Μια από τις πιο γνωστές γλώσσες υψηλού επιπέδου, είναι η PASCAL. |
Α.Π.Θ. 1996 Κράπης Δαμιανός
|