ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

Σχετικά έγγραφα
Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Visual Basic Βασικές Έννοιες

Τύποι Δεδομένων. Κατηγορίες Τύπων Δεδομένων ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός Κων/νος Φλώρος

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

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

Κεφάλαιο 13 : Τύποι Δεδοµένων

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal

Προγραμματισμός PASCAL

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

a = 10; a = k; int a,b,c; a = b = c = 10;

Pascal - Βασικές Έννοιες

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

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

Εισαγωγή στην επιστήµη των υπολογιστών. Πράξεις µε µπιτ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

- program p_name(output); - uses crt;

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων

Βασικά στοιχεία της Java

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

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

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

ιαφάνειες παρουσίασης #2

Ανάπτυξη και Σχεδίαση Λογισμικού

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

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

7.1 Αλφάβητο. 7.2 Τύποι δεδομένων. 7.3 Σταθερές. 7.4 Μεταβλητές. 7.5 Αριθμητικοί τελεστές. 7.6 Συναρτήσεις. 7.7 Αριθμητικές εκφράσεις. 7.

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β.

Εισαγωγή στην επιστήµη των υπολογιστών. Πράξεις µε µπιτ

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Εισαγωγή στη γλώσσα προγραμματισμού C++

Στοιχειώδης προγραμματισμός σε C++

Κεφάλαιο 2 Η έννοια και η παράσταση της πληροφορίας στον ΗΥ. Εφ. Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος 1

Τύποι δεδομένων, τελεστές, μεταβλητές

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ:

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Δομημένος Προγραμματισμός (ΤΛ1006)

Προγραμματισμός Ι (ΗΥ120)

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

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

Βασικές έννοιες προγραμματισμού

Κεφάλαιο 4ο: Εντολές επιλογής

Pascal Βασικοί τύποι δεδοµένων

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

2.1. Εντολές Σχόλια Τύποι Δεδομένων

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Ασκήσεις Προγραμματισμού για το Μάθημα : Εφαρμογές Πληροφορικής. Π=3.14 Μεταβλητές Πραγματικές: X,A,B,Y Αρχή

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Γ Τάξη ΕΠΑ.Λ. Κώστας Κωσταλίας Εκπαιδευτικός ΠΕ19

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

3 ο Εργαστήριο Μεταβλητές, Τελεστές

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

Προγραμματισμός Ι (ΗΥ120)

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων

Πράξεις με δυαδικούς αριθμούς

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

Εισαγωγή στον Προγραμματισμό

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

o AND o IF o SUMPRODUCT

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Εισαγωγή στη γλώσσα προγραμματισμού Fortran 95

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 11

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ.

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C


1 Ο Λύκειο Ρόδου. Β ΓΕΛ ΕισΑρχΕπ Η/Υ. Γεωργαλλίδης Δημήτρης

Προγραμματισμός I (Θ)

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

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης)

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

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos

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

Αριθμητικά Συστήματα

Διαδικασιακός Προγραμματισμός

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

Εισαγωγή στην γλώσσα προγραμματισμού C

Εισαγωγή στη Fortran. Μάθημα 1 ο. Ελευθερία Λιούκα

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Διαδικασιακός Προγραμματισμός

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

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

ΠΕΡΙΕΧΟΜΕΝΑ Αλφάβητο και τύποι δεδομένων Σταθερές και μεταβλητές Τελεστές, συναρτήσεις και εκφράσεις Εντολή εκχώρησης Εντολές εισόδου - εξόδου Δομή

Εισαγωγή στον Προγραμματισμό

Transcript:

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού (Programming language) (σελ 70 πλαίσιο) Μια γλώσσα προγραµµατισµού είναι ένα σύνολο κανόνων, συµβόλων και ειδικών λέξεων που χρησιµοποιούνται για τη δηµιουργία ενός προγράµµατος. Πρόγραµµα (program) είναι ένας αλγόριθµος διατυπωµένος σε µια γλώσσα προγραµµατισµού. Μια γλώσσα προγραµµατισµού χρησιµοποιείται για την αναπαράσταση ενός αλγορίθµου µε τέτοιο τρόπο ώστε να είναι κατανοητός από τον Η/Υ και να µπορεί να εκτελεστεί (ο αλγόριθµος) από αυτόν. Κάθε βήµα του αλγορίθµου εκφρασµένο σε µια γλώσσα προγραµµατισµού είναι µια εντολή (statement). Το σύνολο των εντολών ενός προγράµµατος ονοµάζεται πηγαίος κώδικας (source code) ή απλά κώδικας (code). Εξ ου και ο όρος ψευδοκώδικας. Μη ξεχνάτε ότι και για την αναπαράσταση αλγορίθµων µε ψευδοκώδικα χρησιµοποιήθηκαν συγκεκριµένα σύµβολα ( + - κτλ.) ειδικές λέξεις (Αν, Επανέλαβε, κτλ) και κανόνες για να διατυπώσουµε τα βήµατα (εντολές) του αλγορίθµου. Συντακτικό (Syntax) (σελ 70 πλαίσιο και ερωτ. 4 σελ 79) Το σύνολο των κανόνων που προσδιορίζουν πως γράφονται οι εντολές σε µια γλώσσα προγραµµατισµού. Σηµασιολογία (Semantics) (σελ 70 πλαίσιο και ερωτ. 5 σελ 79) Το σύνολο των κανόνων που προσδιορίζουν τη σηµασία (νόηµα) των εντολών που γράφουµε σε µια γλώσσα προγραµµατισµού. Κάθε εντολή σε µια γλώσσα προγραµµατισµού έχει ένα συγκεκριµένο νόηµα. ηλαδή διατάζει τον Η/Υ να κάνει κάτι. 1

1.1. Η γλώσσα Pascal Η γλώσσα Pascal σχεδιάστηκε από τον Nicklaus Wirth to 1968. Στόχος της γλώσσας ήταν να χρησιµοποιηθεί ως εργαλείο εκµάθησης προγραµµατισµού. Εξαιτίας της πληρότητάς της και της ευκολίας της χρησιµοποιήθηκε ευρέως και για εµπορικούς σκοπούς. Η Pascal υποστηρίζει τις αρχές του δοµηµένου και του τµηµατικού προγραµµατισµού. Μερικά από τα ιδιαίτερα χαρακτηριστικά της είναι (σελ 69 και ερωτ. 1 σελ 79) Δυνατότητα δηµιουργίας τύπων δεδοµένων από τον προγραµµατιστή Μεταβλητές τύπου pointer και η δυνατότητα δυναµικής διαχείρισης µνήµης Σύνθετη εντολή (compound statement). Το αλφάβητο της γλώσσας (Το σύνολο χαρακτήρων της Pascal) (σελ 70-2 η παρ.) Όπως σε µια οµιλούµενη γλώσσα έτσι και σε µια γλώσσα προγραµµατισµού υπάρχει ένα αλφάβητο που σε συνδυασµό µε τους κανόνες συντακτικού µας επιτρέπει να την γράφουµε. Δηλαδή το αλφάβητο της γλώσσας είναι ένα σύνολο συµβόλων τα οποία χρησιµοποιούµε για να γράφουµε εντολές της γλώσσας. Αυτά τα σύµβολα είναι συνήθως γράµµατα, αριθµοί και ειδικά σύµβολα (+, -, *, /, ;,, _ κτλ.) και απαιτούν για την αποθήκευσή τους χώρο ενός byte και όπως ξέρουµε ονοµάζονται και χαρακτήρες. Για το λόγο αυτό όταν µιλάµε για το αλφάβητο µιας γλώσσας αναφερόµαστε σ αυτό µε τον όρο σύνολο χαρακτήρων της γλώσσας. Το αλφάβητο της γλώσσας Pascal αποτελείται από: Γράµµατα του λατινικού αλφαβήτου µικρά και κεφαλαία (Α-Z a-z) Ψηφία του δεκαδικού συστήµατος (0-9) Ειδικοί χαρακτήρες + - * / = < > [ ]., : ; ( ) Αλφαριθµητικός χαρακτήρας Είναι ένας χαρακτήρας που είναι γράµµα ή αριθµός. Ονόµατα (identifiers) (σελ 70-3 η παρ. και ερώτ. 3 σελ. 79) Η Pascal δίνει τη δυνατότητα στον προγραµµατιστή να δίνει στα διάφορα αντικείµενα στης γλώσσας (µεταβλητές, σταθερές, τύπους δεδοµένων, συναρτήσεις κτλ.) συµβολικά ονόµατα που ονοµάζονται ταυτότητες ή ονόµατα (identifiers). Κανόνες σχηµατισµού ονοµάτων 1. Ένα όνοµα αποτελείται από γράµµατα του λατινικού αλφαβήτου, αριθµούς και το χαρακτήρα _ (Turbo Pascal) 2. Ο χαρακτήρας _ δεν µπορεί να είναι τελευταίος. 3. Ο πρώτος χαρακτήρας είναι γράµµα του λατινικού αλφαβήτου 4. Μέσα σε ένα όνοµα δεν επιτρέπονται κενά ή αλλαγές γραµµών 5. Δεν επιτρέπεται η χρήση ως ονόµατα κάποιον δεσµευµένων λέξεων από την ίδια τη γλώσσα (begin, end, if, writeln κτλ) 6. Κάθε όνοµα θα πρέπει να έχει σχέση µε το αντικείµενο που αναπαριστά (π.χ kratiseis) 7. Αντί για κενό µπορεί να χρησιµοποιηθεί ο χαρακτήρας _ (π.χ vasikos_misthos) Παράδειγµα έγκυρων ονοµάτων είναι τa Elem_Number Elem_Number_1 Elem_1_Number 2

Ενώ τα Elem Number 1_Elem_Number _Elem_Number Elem_Number_ Δεν είναι έγκυρα ονόµατα Σχολια (σελ 70-5 η παρ) Τα σχόλια είναι κείµενο που γράφουµε σε οποιοδήποτε µέρος του κώδικα και χρησιµοποιούνται για να επεξηγήσουν τον αλγόριθµο. Τα σχόλια περιέχονται µεταξύ παρενθέσεων {...} ή (*...*). Κάθε σχόλιο οσοδήποτε µεγάλο και αν είναι θεωρείται ένα κενό. 2. Βασικοί τύποι δεδοµένων Τύπος Δεδοµένων (Data type) (σελ 70 πλαίσιο) Μια κατηγορία δεδοµένων µε ορισµένη απεικόνιση και ένα σύνολο λειτουργιών που µπορούν να εφαρµοστούν στο σύνολο των τιµών τους. Ένας τύπος είναι ένα σύνολο τιµών π.χ. ακέραιοι αριθµοί. Για κάθε τύπο δεδοµένων ορίζεται και ένα σύνολο λειτουργιών (πράξεων) που µπορούν να εφαρµοστούν στις τιµές αυτού του τύπου. π.χ. στους ακεραίους µπορούµε να κάνουµε πρόσθεση, αφαίρεση, πολλαπλασιασµό, διαίρεση. Κάθε δεδοµένο πρέπει να είναι ορισµένου τύπου. Ανάλογα µε τον τύπο καθορίζεται 1. Ο τρόπος αναπαράστασης και αποθήκευσης εσωτερικά στον Η/Υ (κινητής σταθερής υποδιαστολής) 2. Το είδος της επεξεργασίας τους.(πράξεις που µπορούν να γίνουν) Τύποι προσδιορισµένοι από τη Pascal Η Pascal έχει προσδιορίσει και υπάρχουν έτοιµοι για χρήση, ορισµένους βασικούς τύπους που χρησιµοποιούνται συχνά. Οι χρήστες ωστόσο µπορούν να ορίσουν δικούς τους τύπους. Κάθε µεταβλητή που χρησιµοποιείται σε ένα πρόγραµµα πρέπει να έχει δηλωθεί να είναι ενός συγκεκριµένου τύπου και αυτό θα καθορίσει στη συνέχεια τις τιµές που µπορούν να αποθηκευτούν και τις επιτρεπτές ενέργειες που µπορούν να γίνουν σ αυτή. Απλοί τύποι δεδοµένων στην Pascal Ακέραιος Πραγµατικός Λογικός Χαρακτήρας Σύνθετοι τύποι δεδοµένων στην Pascal Με βάση τους απλούς τύπους δεδοµένων µπορούν να οριστούν άλλοι σύνθετοι τύποι δεδοµένων όπως για παράδειγµα ο Αλφαριθµητικός τύπος (Ορµαθός χαρακτήρων) String. 3

2.1. Ακέραιος (integer) Τιµές Μια τιµή τύπου integer αποτελείται από - πρόσηµο (+,-) (αν δεν υπάρχει εννοείται +) - ακολουθία δεκαδικών ψηφίων Π.Χ.: 12-12 +12 0-3456 είναι τύπου Integer 1,98 0,0 1E10 δεν είναι τύπου Integer Εύρος Θεωρητικά ένας ακέραιος µπορεί να έχει οσαδήποτε ψηφία. Το εύρος των ακεραίων που µπορεί να αναπαρασταθεί εξαρτάται από τον υπολογιστή. Στην Pascal υπάρχει η µεταβλητή MaxInt που προσδιορίζει το εύρος των ακεραίων που είναι από -MaxInt -1 έως MaxInt. Στην Turbo Pascal MaxInt = 32767. Συνεπώς στην Pascal οι αριθµοί τύπου Integer είναι ένα υποσύνολο των ακεραίων αριθµών. Τύποι ακεραίων Ορισµένες εκδόσεις της Pascal υποστηρίζουν και άλλους τύπους ακεραίων όπως φαίνεται στον παρακάτω πίνακα. Κάθε τύπος καθορίζεται από το εύρος τιµών την ύπαρξη ή όχι πρόσηµου και το πλήθος των bytes που απαιτεί για να αποθηκευτεί. Δήλωση τύπου Εύρος τιµών πρόσηµο πλήθος Bytes shortint -128... 127 ΝΑΙ 1 integer -32768... 32767 ΝΑΙ 2 longint -2148483648... 2148483647 ΝΑΙ 4 byte 0... 255 OXI 1 word 0... 65535 OXI 2 Πράξεις Μεταξύ ακεραίων γίνονται όλες οι γνωστές από τα µαθηµατικά αριθµητικές πράξεις και το αποτέλεσµά τους ανήκει στο σύνολο τιµών των ακεραίων. Πράξεις παράδειγµα + Πρόσθεση - Αφαίρεση * Πολλαπλασιασµός div ακέραια διαίρεση 27 div 5 = 5 11 div 12 = 0 15 div 3 = 5 mod υπόλοιπο διαίρεσης 27 mod 5 = 2 11 mod 12 = 11 15 mod 3 = 0 4

2.2. Πραγµατικός (real) Τιµές Μια τιµή τύπου real αποτελείται από - πρόσηµο (+,-). Aν δεν υπάρχει εννοείται + - Ψηφία ακέραιου µέρους (πρέπει να έχει τουλάχιστον ένα ψηφίο) - Υποδιαστολή η οποία συµβολίζεται µε τελεία (.) - Ψηφία κλασµατικού µέρους (πρέπει να έχει τουλάχιστον ένα ψηφίο) - Μετά το κλασµατικό µέρος µπορεί να υπάρχει ένα e ακολουθούµενο από τον παράγοντα κλίµακας (µια ακολουθία ψηφίων µε πρόσηµο) - Το e µε τον παράγοντα κλίµακας µπορεί να ακολουθεί αµέσως µετά το ακέραιο µέρος οπότε δεν σηµειώνουµε την υποδιαστολή. Παραδείγµατα αριθµών τύπου real Αριθµητική Pascal 37,4 37.4-0,1-0.1-1,1-1.1 41,00 41.00 10,00017 10.00017 1,73x10-7 1.73e-7 ΕΠΙΣΤΗΜΟΝΙΚΗ ΓΡΑΦΗ 3x10 9 3e9 ΠΡΟΣΟΧΗ: Μια τιµή τύπου real µπορεί να είναι 5.36e-8. Αυτό συµβολίζει τον αριθµό 5.36x 10-8 δηλαδή τον αριθµό 0.0000000536 και όχι την πράξη 5.36/10 8. Το e δεν είναι πράξη. Αν το e ήταν πράξη θα µπορούσαµε να γράψουµε 5.36e-8e2 για συµβολίσουµε την πράξη 5.36/10 8 x 100. Αυτό όµως είναι συντακτικό λάθος. Π.Χ.: 5.67e+4 12.0-56700.0 0.000001 +0.70135e+1 7.0135 είναι τύπου Real 23 Α 3,14 7x10 3.12 19. 3. 14 δεν είναι τύπου Real Εύρος Σε µεταβλητές τύπου real µπορούν να αποθηκευτούν πραγµατικοί αριθµοί αλλά και ακέραιοι αριθµοί. Επειδή για την αποθήκευση τους χρησιµοποιείται η παράσταση κινητής υποδιαστολής έχουµε µεγαλύτερο εύρος τιµών. Έτσι οι αριθµοί τύπου real είναι ένα υποσύνολο των πραγµατικών αριθµών µε εύρος περίπου από 10-38 έως 10 +38 Τιµές τύπου real χρησιµοποιούνται όταν πρέπει να χειριστούµε αριθµητικές τιµές που δεν είναι ακέραιοι (ποσοστά) ή για τιµές που µπορεί να παραχθούν από µια πράξη (π.χ. διαίρεση δύο ακεραίων) Για την αποθήκευση πραγµατικών αριθµών χρησιµοποιείται η παράσταση κινητής υποδιαστολής µε αποτέλεσµα να έχουν µεγαλύτερο εύρος τιµών από τους ακέραιους. 5

Τύποι πραγµατικών Ορισµένες εκδόσεις της Pascal υποστηρίζουν και άλλους τύπους πραγµατικών όπως φαίνεται στον παρακάτω πίνακα Δήλωση τύπου Εύρος τιµών σηµαντικά ψηφία πλήθος Bytes real -2.9x10-39... 1.7x10 38 11-12 6 single -1.5x10-45... 3.4x10 38 7-8 4 double -5.0x10-324... 1.7x10 308 15-16 8 extended -3.4x10-4932... 1.1x10 4932 19-20 10 comp -263 1... 263-1 19-20 8 Πράξεις Μεταξύ πραγµατικών γίνονται όλες οι γνωστές από τα µαθηµατικά αριθµητικές πράξεις και το αποτέλεσµά τους ανήκει στο σύνολο τιµών των πραγµατικών. Επειδή ο τρόπος αναπαράστασης των πραγµατικών αριθµών είναι πιο πολύπλοκος απ ότι των ακεραίων οι πράξεις µε πραγµατικούς αριθµού απαιτούν περισσότερο χρόνο απ ότι οι πράξεις µε ακεραίους Πράξεις + Πρόσθεση - Αφαίρεση * Πολλαπλασιασµός / διαίρεση παράδειγµα Αριθµητικές εκφράσεις Οι αριθµητικές εκφράσεις είναι η απεικόνιση αριθµητικών παραστάσεων που περιέχουν αριθµητικές τιµές (σταθερές), µεταβλητές, συναρτήσεις, αριθµητικά σύµβολα (τελεστές πράξεων) παρενθέσεις. Π.Χ. : 3+Α*(Β/3)DIV3-(3+X) Για την εκτέλεση των πράξεων σε µια αριθµητική έκφραση πρέπει να λάβουµε υπόψη την προτεραιότητα των µαθηµατικών τελεστών Χαµηλότερη προτεραιότητα Υψηλότερη προτεραιότητα + (Πρόσθεση) * (Πολλαπλασιασµός) - Αφαίρεση / Διαίρεση DIV (Ακέραια διαίρεση) MOD (Υπόλοιπο ακέραιας διαίρεσης) 6

ΠΡΟΣΟΧΗ Αν µια αριθµητική παράσταση περιέχει παρενθέσεις πρώτα εκτελούνται οι πράξεις µέσα στις παρενθέσεις και µετά οι υπόλοιπες Οι πράξεις + και έχουν την ίδια προτεραιότητα Οι πράξεις * / DIV MOD έχουν την ίδια προτεραιότητα Όταν έχουµε πράξεις µε την ίδια προτεραιότητα εκτελούνται µε τη σειρά από αριστερά προς τα δεξιά. Παραδείγµατα Έκφραση Αποτέλεσµα 20DIV3*4 24 30-20DIV3*4 6 20MOD3*4 8 6*3/2*4 36 6*3/2*4-5+7 38 6*3/(2*4) 2.25 6+3/(2*4) 6.375 Τύπος αποτελέσµατος Ο τύπος του αποτελέσµατος µιας αριθµητικής πράξης εξαρτάται από τα ορίσµατα της και από την πράξη. Έτσι: Η διαίρεση (/) δίνει αποτέλεσµα τύπου real Οι πράξεις DIV Και MOD δίνουν αποτέλεσµα τύπου integer Το αποτέλεσµα του πολλαπλασιασµού, της πρόσθεσης και της αφαίρεσης (*,+,-) εξαρτάται από τα ορίσµατα: αν και τα δύο είναι integer τότε το αποτέλεσµα είναι integer, αν ένα από τα δύο ή και τα δύο είναι real τότε το αποτέλεσµα είναι real. Για παράδειγµα Πράξη Αποτέλεσµα Τύπος 3/2 1.5 Real 4/2 2.0 Real 13 DIV 3 4 Integer 13 MOD 3 1 Integer 2 + 12 14 Integer 2.0 + 1 3.0 Real 3 * 3 9 Integer 5 * 2.5 12.5 Real 7

2.3. Λογικός (Boolean) Μια µεταβλητή τύπου Boolean µπορεί να έχει δύο τιµές - Αληθής - Ψευδής Οι παραπάνω τιµές διατυπώνονται στην Pascal µε τα εξής προκαθορισµένα ονόµατα - True - False Μια τιµή τύπου Boolean µπορεί να χρησιµοποιηθεί για να εξετάσουµε το αποτέλεσµα ενός ελέγχου (συνθήκης). Για παράδειγµα αν η µεταβλητή X είναι τύπου Boolean και η µεταβλητή A τύπου integer τότε µπορούµε να γράψουµε στην Pascal Χ = Α<10. Τότε ανάλογα µε την τιµή του Α η µεταβλητή X θα πάρει την τιµή True (αν η συνθήκη είναι αληθής ή False αν η συνθήκη είναι ψευδής. Δηλαδή αν θέλουµε να ελέγξουµε την τιµή της µεταβλητής Α σύµφωνα µε αυτά που γράψαµε παραπάνω θα πρέπει να εξετάσουµε την τιµή της µεταβλητής X. Λογικές πράξεις Μεταξύ τιµών τύπου Boolean µπορούν να γίνουν πράξεις που ονοµάζονται λογικές πράξεις. Οι βασικές λογικές πράξεις είναι οι εξής: o Λογική Σύζευξη (Λογικό γινόµενο) o Λογική διάζευξη (Λογικό άθροισµα) o Λογική άρνηση o Αποκλειστική διάζευξη Για κάθε µία από τις παραπάνω πράξεις ορίζονται στην Pascal αντίστοιχοι Λογικοί τελεστές µε τα παρακάτω δεσµευµένα ονόµατα o AND (Λογική Σύζευξη) o OR (Λογική διάζευξη) o NOT (Λογική άρνηση) o XOR (Αποκλειστική διάζευξη) Αν P και Q δύο µεταβλητές τύπου Boolean, τότε παρουσιάζουµε στον παρακάτω πίνακα τα αποτελέσµατα των λογικών πράξεων µεταξύ αυτών των µεταβλητών για κάθε δυνατό συνδυασµό τιµών τους (πίνακας αλήθειας) P Q P AND Q P OR Q NOT P P XOR Q False False False False True False False True False True True True True False False True False True True True True True False False 8

Λογικές Παραστάσεις Κατά αναλογία των αριθµητικών παραστάσεων έχουµε τις λογικές παραστάσεις. Μια λογική παράσταση σχηµατίζεται από - µεταβλητές τύπου Boolean - σταθερές τιµές τύπου Boolean (True ή False) - συσχετίσεις - παρενθέσεις Που συνδέονται µε λογικούς τελεστές. Η τιµή µιας λογικής παράστασης είναι πάντα τύπου Boolean (true η false) Παραδείγµατα λογικών εκφράσεων - Αν Χ = Α = R = True - Αν Y = C = B = P = False - Αν K = -2, L = 1, M = -4 TOTE - X or Y = True - A and B or C = False - not P and (P or R) = True - (K <= L) and (L < M + 5) = False Συσχέτιση Μια συσχέτιση είναι µια αριθµητική παράσταση που αναπαριστά συγκρίσεις αριθµητικών τιµών µε τη χρήση σχεσιακών τελεστών (τελεστές συσχέτισης ή τελεστές σύγκρισης). Στον παρακάτω πίνακα παρουσιάζουµε τους σχεσιακούς τελεστές Περιγραφή Μαθηµατικά Pascal Μεγαλύτερο από > > Μικρότερο από < < Μεγαλύτερο ή ίσο Μικρότερο ή ίσο >= <= Ίσο = = Διάφορο Ανήκει <> in Παραδείγµατα συσχετίσεων (K <= L) (L < M + 5) 9

Προτεραιότητα λογικών τελεστών Ο τελεστής AND (λογικός πολλαπλασιασµός) έχει µεγαλύτερη προτεραιότητα από τον τελεστή OR (λογική πρόσθεση). Και οι δύο τελεστές έχουν µεγαλύτερη προτεραιότητα από τους σχεσιακούς τελεστές. ΣΥΝΕΠΩΣ Όταν σε µια λογική παράσταση έχουµε συσχετίσεις και λογικές πράξεις θα πρέπει οι συσχετίσεις να βρίσκονται σε παρενθέσεις. - (χ>1) and (χ < 10) είναι διαφορετικό από χ>1 and χ < 10. Το τελευταίο είναι σαν να γράφαµε χ>(1 αnd χ) < 1 το οποίο έχει εντελώς διαφορετική σηµασία - ((χ>=0) and (x <= 10)) or (x = 20) είναι ισοδύναµο µε (χ>=0) and (x <= 10) or (x = 20) αφού ο τελεστής AND έχει µεγαλύτερη προτεραιότητα. 2.4. Χαρακτήρας (Char) Τιµές Μια τιµή τύπου char είναι ένας χαρακτήρας από το σύνολο χαρακτήρων του υπολογιστή. Στην Pascal µια τιµή αυτού του τύπου είναι ένας χαρακτήρας που περικλείεται µεταξύ. Παράδειγµα Τα παρακάτω είναι τιµές τύπου char : Α, Β, $, & Ο τύπος char είναι διατεταγµένος. 2.5. Αλφαριθµητικός τύπος (Character string) Τιµές Μια τιµή τύπου string είναι µια ακολουθία χαρακτήρων που περικλείεται µέσα σε Π.Χ. : α Α ; αλλα Pascal Δοµηµένος Προγραµµατισµός Το µέγιστο πλήθος των χαρακτήρων ενός String είναι 255. Οι χαρακτήρες ενός string θα πρέπει να ανήκουν στο σύνολο χαρακτήρων του υπολογιστή και όχι απαραίτητα στο σύνολο χαρακτήρων της Pascal. Π.Χ. : Το string αλλα περιέχει γράµµατα του ελληνικού αλφαβήτου που δεν ανήκουν στο σύνολο χαρακτήρων στης Pascal. Για να συµπεριλάβουµε την απόστροφο σε ένα string θα πρέπει να την γράψουµε δύο φορές. Π.Χ. : Απ την άλλη Δεν µπορεί ένα string να γραφτεί σε δύο γραµµές. 10

Μήκος Το πλήθος των χαρακτήρων ενός string Προσοχή Το κενό είναι χαρακτήρας και µετριέται στο µήκος. Π.Χ. : α (1) Α (1) ; (1) αλλα (4) Pascal (6) Δοµηµένος Προγραµµατισµός (25) Απ την άλλη (12) Κενό string (null string) Ένα string µε µήκος 0. Ένα string µε µήκος 1 είναι ισοδύναµο µε µια τιµή τύπου char. ΠΡΟΣΟΧΗ Τα vathmos και 2345 είναι διαφορετικά από τα vathmos και 2345 αντίστοιχα. Στην πρώτη περίπτωση µιλάµε για strings ενώ στη δεύτερη περίπτωση µιλάµε για ένα όνοµα (πιθανόν µεταβλητής) και για µια τιµή τύπου integer. Επιπλέον το 3+Α*5/(Β/4) είναι διαφορετικό από το 3+Α*5/(Β/4). Το πρώτο είναι string και το δεύτερο αριθµητική έκφραση. 11