Par8

Page 1

Κεφάλαιο 8

Η γλώσσα Pascal.


Εισαγωγή στην Pascal. Σχεδιάστηκε από τον διάσημο Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth (1967) και αναθεωρήθηκε το 1972. Δημιουργήθηκε για να ξεπεραστούν τα μειονεκτήματα των γλωσσών προγραμματισμού της δεκαετίας του 60. Το όνομά της δόθηκε προς τιμήν του μαθηματικού και φιλοσόφου Blaise Pascal. Πολύ καλή ως διδακτικό εργαλείο εκμάθησης προγραμματισμού Η/Υ. Χρησιμοποιήθηκε τον πρώτο καιρό όμως και στην βιομηχανία. Πρόκειται για μία γλώσσα γενικής χρήσης, απλή, εύκολη στην εκμάθηση και πλήρης. Υποστηρίζει τις αρχές προγραμματισμού.

2

του

1/11/2013

Δομημένου

και

Τμηματικού

Κέρος Α. Ιωάννης


Ιδιαίτερα χαρακτηριστικά της Pascal. Δυνατότητα δημιουργίας νέων τύπων δεδομένων. Χρήση μεταβλητών τύπου δείκτη δυναμικής διαχείρισης της μνήμης.

(pointers)

και

δυνατότητα

Χρήση σύνθετων εντολών (compound statement) ως μία συμπαγής εντολή.

3

1/11/2013

Κέρος Α. Ιωάννης


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

στον

αποτελεσματικό

αρχείων

και

Σήμερα, θεωρείται πρότυπο στον προγραμματισμό υπολογιστών.

4

1/11/2013

Κέρος Α. Ιωάννης


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

5

1/11/2013

Κέρος Α. Ιωάννης


Αλφάβητο της Pascal. Το επιτρεπτό σύνολο χαρακτήρων για την δημιουργία ενός προγράμματος είναι: Τα γράμματα του ελληνικού – λατινικού αλφαβήτου. Τα αριθμητικά ψηφία 0-9. Ειδικά σύμβολα +, -, *, ; κλπ.

6

1/11/2013

Κέρος Α. Ιωάννης


Κανόνες ονοματολογίας. Για να είναι αποδεκτό ένα όνομα μίας μεταβλητής ή σταθεράς στην Pascal, θα πρέπει να πληροί τους εξής κανόνες: 1. Να αποτελείται μόνο από γράμματα, ψηφία και την _ . 2. Να μην περιέχει κενά. 3. Να ξεκινά πάντα με γράμμα. 4. Να μην είναι το όνομα μίας δεσμευμένης λέξης. Είναι καλό τα ονόματα να είναι ενδεικτικά του περιεχομένου της μεταβλητής.

7

1/11/2013

Κέρος Α. Ιωάννης


Κανόνες ονοματολογίας. Αποδεκτά ονόματα μεταβλητών: plithos M_O Μη αποδεκτά ονόματα μεταβλητών: 1plithos

MO Write

8

Bath&mos 1/11/2013

Κέρος Α. Ιωάννης


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

Σύνθετοι τύποι της Pascal:

Integer (Ακέραιος).

String (Αλφαριθμητικός).

Real (Πραγματικός). Boolean (Λογικός). Char (Χαρακτήρας).

9

1/11/2013

Κέρος Α. Ιωάννης


Integer. Πρόκειται για αρνητικούς και θετικούς ακεραίους από το -∞ έως το + ∞ (θεωρητικά). Παράδειγμα 4, -9 κλπ. Πρακτικά, όμως περιορίζονται από –MAXINT-1 έως +ΜΑΧΙΝΤ, όπου ο MAXINT είναι ο μεγαλύτερος ακέραιος που μπορεί να αναπαρασταθεί στον υπολογιστή, συνήθως MAXINT=32767. Επιτρεπτές πράξεις με integer:

+, -, *, /, div, mod. :=. >, >=, <, <=, =, <>.

10

1/11/2013

Κέρος Α. Ιωάννης


Integer (συνέχεια…). Συνηθισμένες υποκατηγορίες ακεραίων: Ονομασία

11

Εύρος τιμών

Μέγεθος

Byte

0..255

1 byte

Shortint

-128..127

1 byte

Integer

-32768..32767

2 bytes

Word

0..65535

2 bytes

Longint

-2148483648 .. 2147483647

4 bytes

1/11/2013

Κέρος Α. Ιωάννης


Real. Πρόκειται για αρνητικούς και θετικούς πραγματικούς από το -∞ έως το + ∞ (θεωρητικά). Παράδειγμα 4.56, -9.6 κλπ. Πρακτικά, όμως περιλαμβάνει ένα υποσύνολο των πραγματικών αριθμών, το οποίου το εύρος και η ακρίβεια των δεκαδικών ψηφίων εξαρτάται από τον τύπο του υπολογιστή και του μεταφραστικού προγράμματος. Για την Pascal ότι δεν είναι ακέραιος ή δεν είναι μέσα στα όρια των ακεραίων θεωρείται πραγματικός.

+, -, *, /. Επιτρεπτές πράξεις με real:

:=. >, >=, <, <=, =, <>.

12

1/11/2013

Κέρος Α. Ιωάννης


Real

(συνέχεια…).

Συνήθως πρόκειται για αριθμούς από 10-38 έως 1038 με 6 έως 20 σημαντικά ψηφία (ανάλογα με την έκδοση της Pascal). Πως εκφράζονται οι πραγματικοί αριθμοί στην Pascal;

13

4.934456 E +04

4.934456 x10+04

49344.56

49344.56 E -04

49344.56 x10-04

4.934456

1/11/2013

Κέρος Α. Ιωάννης


Real (συνέχεια…). Συνηθισμένες υποκατηγορίες πραγματικών: Ονομασία

14

Εύρος τιμών

Μέγεθος

Single

-1.5x10-45 .. 3.4x1038

4 bytes

Real

-2.9x10-39 .. 1.7x1038

6 bytes

Double

-5.0x10-324 .. 1.7x10308

8 bytes

Comp

-263+1..263-1

8 bytes

Extended

-3.4x10-4932 .. 1.1x104932

10 bytes

1/11/2013

Κέρος Α. Ιωάννης


Παραδείγματα πράξεων με Integer – Real. 27 DIV 6 16 DIV 17 36 DIV 6 27 MOD 6

15

4 0 6

16 MOD 17

3 16

36 MOD 6 8/2 9/2

0 4.0 4.5

1/11/2013

Κέρος Α. Ιωάννης


Boolean. Η τυπική περιγραφή του τύπου αυτού προέρχεται από την άλγεβρα Boole.

Οι τιμές των λογικών μεταβλητών μπορεί να είναι δύο: True και False. Επιτρεπτές πράξεις με boolean: and, or, not, xor. :=. =, <>.

16

1/11/2013

Κέρος Α. Ιωάννης


Λογικοί Τελεστές. Πίνακας αληθείας λογικών τελεστών:

17

P

Q

P and Q Σύζευξη

P or Q Διάζευξη

P xor Q Αποκλειστική διάζευξη

not P Άρνηση

True

True

True

True

False

False

True

False

False

True

True

False

False

True

False

True

True

True

False

False

False

False

False

True

1/11/2013

Κέρος Α. Ιωάννης


Char. Η περιγραφή των τιμών του τύπου αυτού εξαρτάται από το σύνολο των χαρακτήρων που διαθέτει ο υπολογιστής (ASCII). Στον κώδικα ASCII υπάρχει διάταξη των χαρακτήρων, για παράδειγμα : 0, 1, 2, …, 9, Α, Β, C, …, Z, a, b, c, …,z, Α, Β, Γ,…,Ω, α, β, γ, …, ω Επιτρεπτές πράξεις με char: <. <=, >, >=, =, <>. :=.

18

1/11/2013

Κέρος Α. Ιωάννης


String. Πρόκειται για μία σειρά από 255 το πολύ χαρακτήρες. (Εάν δεν δηλωθεί το μήκος του λαμβάνεται το μέγιστο, δηλαδή 255 χαρακτήρες)

Παραδείγματα: ‘Τομέας Πληροφορικής’ ‘Vathmos’ ‘1236’

Προσοχή !!!

19

Vathmos

Μεταβλητή

‘Vathmos’

Περιεχόμενο μεταβλητής τύπου string 1/11/2013

Κέρος Α. Ιωάννης


Οι () πάντα προηγούνται

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

1. *, /, DIV, MOD 2. +, 20 DIV 3 *4 20 MOD 3 *4

24 8

6*3/2*4

36

6*3/(2*4) 6+3/(2*4)

20

Σε ίδια προτεραιότητα εκτελούνται από αριστερά προς τα δεξιά

2.25 6.375 1/11/2013

Κέρος Α. Ιωάννης


Οι () πάντα προηγούνται

Λογικές εκφράσεις. Πρόκειται για απεικονίσεις παραστάσεων με σταθερές, μεταβλητές, συναρτήσεις, αριθμητικά σύμβολα, σχεσιακούς και λογικούς τελεστές και παρενθέσεις. Μπορούν να πάρουν μία λογική τιμή (True/False). Προτεραιότητα τελεστών 1. NOT 2. *, /, DIV, MOD, AND 3. +, -, XOR,OR

Σε ίδια προτεραιότητα εκτελούνται από αριστερά προς τα δεξιά

4. =, <>, >, >=, <, <=

21

1/11/2013

Κέρος Α. Ιωάννης


Λογικές εκφράσεις (συνέχεια). (2<>10) or (6<3) and (4<9) 20 div 3 <=6

True True

Προσοχή !!! ΛΑΘΟΣ

x>1 and x<10 ΣΩΣΤΟ (x>1) and (x<10)

22

1/11/2013

Κέρος Α. Ιωάννης


Δομή Προγράμματος Pascal. Program όνομα (input, output); Const pososto=18; Μονάδες εισόδου – εξόδου η αρχεία που θα nomos=‘Kilkis’; χρησιμοποιήσει το max=100.5; πρόγραμμα. (Προαιρετικό) ok=True; Type Δηλώσεις νέων τύπων (εκτός ύλης) Var epidoma, MO: real; eponimo, onoma: string[25]; Δηλώσεις Procedures - Functions Begin . .

23

End.

Επικεφαλίδα

Δηλώσεις σταθερών

Δηλώσεις νέων τύπων (Εάν υπάρχουν)

Δηλώσεις μεταβλητών Δηλώσεις υποπρογραμμάτων (Εάν υπάρχουν) Κύριο πρόγραμμα

1/11/2013

Κέρος Α. Ιωάννης


Παράδειγμα Προγράμματος Pascal. Program example; (PC8Exe1.pas) Const p=3.14; Var Akt,Emb: real; Begin Write(‘Δώστε την ακτίνα: ’); Readln(Akt); Emb:=p*Akt*Akt; Write(‘Το εμβαδόν είναι: ’,Emb); End.

24

1/11/2013

Προσοχή στα ; Κάθε εντολή τελειώνει με ;

Προσοχή στο End.

Κέρος Α. Ιωάννης


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.