Download - Η ΓΛΩΣΣΑ PASCAL

Transcript
Page 1: Η  ΓΛΩΣΣΑ PASCAL

Η ΓΛΩΣΣΑ PASCAL

Page 2: Η  ΓΛΩΣΣΑ PASCAL

19/04/23 2

Γλώσσες υψηλού επιπέδουΓλώσσες υψηλού επιπέδου

Η γλώσσα PASCAL έφερε μεγάλες αλλαγές στον προγραμματισμό

Παρουσιάστηκε το 1970 και στηρίχτηκε πάνω στην ALGOL

Είναι μία γλώσσα γενικής χρήσης, η οποία είναι κατάλληλη τόσο για την εκπαίδευση όσο και τη δημιουργία ισχυρών προγραμμάτων κάθε τύπου

Χαρακτηριστικό της γλώσσας είναι η η καταλληλότητα για τη δημιουργία δομημένων προγραμμάτων

Page 3: Η  ΓΛΩΣΣΑ PASCAL

19/04/23 3

Γλώσσες υψηλού επιπέδουΓλώσσες υψηλού επιπέδου

Η PASCAL γνώρισε και συνεχίζει να γνωρίζει τεράστια εξάπλωση ειδικά στο χώρο των μικροϋπολογιστών και αποτέλεσε τη βάση για την ανάπτυξη άλλων ισχυρότερων γλωσσών όπως η ADA και η Modula-2

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

Page 4: Η  ΓΛΩΣΣΑ PASCAL

19/04/23 4

Γλώσσες υψηλού επιπέδουΓλώσσες υψηλού επιπέδου

Η τεχνική του δομημένου προγραμματισμού η οποία εξασφαλίζει τη δημιουργία προγραμμάτων απλών στη συγγραφή και την κατανόηση και εύκολων στη διόρθωση

Ο δομημένος προγραμματισμός και τα χαρακτηριστικά του θα παρουσιαστούν εκτενώς σε επόμενη παράγραφο

Page 5: Η  ΓΛΩΣΣΑ PASCAL

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

Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας

Σύνθετοι Τ.Δ. Αλφαριθμητικός

Page 6: Η  ΓΛΩΣΣΑ PASCAL

1.1. Ακέραιος (Ακέραιος (integer)integer)Εύρος: -32768 έως 32767

Τύποι ΑκεραίωνΔήλωσ

η τύπου

Διάστημα τιμώνΠρόσημ

ο

Πλήθος

bytes

shortint -128..127 NAI 1

integer -32768..32767 NAI 2

longint-

2148483648..2147483647

NAI 4

Page 7: Η  ΓΛΩΣΣΑ PASCAL

2.2. Πραγματικός (Πραγματικός (real)real)

Χρησιμοποιείται εκεί που οι αριθμητικές τιμές δεν είναι ακέραιοι αριθμοί ή οι αναμενόμενες τιμές του είναι εκτός των ορίων του ακέραιου τύπου.

Τύποι Πραγματικών Αριθμών

•real (–2,9x10-39.. 1.7x1038)

•single (-1.5x10-45.. 3.4x1038)

•Double (-5.0x10-324.. 1.7x10308)

Page 8: Η  ΓΛΩΣΣΑ PASCAL

Επιτρεπτές Πράξεις Επιτρεπτές Πράξεις ΑκεραίωνΑκεραίων

+ πρόσθεση

- αφαίρεση

* πολλαπλασιασμός

div ακέραια διαίρεση (πηλίκο)

mod υπόλοιπο διαίρεσης

Παραδείγματα

27 div 6 =

16 div 17 =

36 div 6 =

27 mod 6 =

16 mod 17 =

36 mod 6 =

4

0

6

3

16

0

Page 9: Η  ΓΛΩΣΣΑ PASCAL

Επιτρεπτές Πράξεις Επιτρεπτές Πράξεις Πραγματικών ΑριθμώνΠραγματικών Αριθμών

+ πρόσθεση

- αφαίρεση

* πολλαπλασιασμός

/ διαίρεση (πηλίκο)

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

Page 10: Η  ΓΛΩΣΣΑ PASCAL

Έκφραση Έκφραση:Συνδυασμός τελεστών (σύμβολα πράξεων)

και ορισμάτων – τελεστέων (μεταβλητές, σταθερές) καθώς και παρενθέσεων, με συγκεκριμένο νόημα.

Η διεργασία αποτίμησης μίας έκφρασης γίνεται με αντικατάσταση των μεταβλητών από τις τιμές τους και εκτέλεση των πράξεων

Η τελική τιμή μιας έκφρασης εξαρτάται από την ιεραρχία των πράξεων και τη χρήση των παρενθέσεων

Π.χ. Η έκφραση (α+β)/2, για α=10 και β=2 έχει τιμή 6. Η έκφραση α>β+5, για α=10 και β=2 έχει τιμή Αληθής

Το αποτέλεσμα μιας έκφρασης είναι πάντα μία τιμή.

Page 11: Η  ΓΛΩΣΣΑ PASCAL

Προτεραιότητα Προτεραιότητα Μαθηματικών ΤελεστώνΜαθηματικών Τελεστών

Παραδείγματα

20 div 3 * 4 =

20 mod 3 * 4 =

6 * 3 / 2 * 4 =

6 * 3 / (2 * 4) =

6 + 3 / (2 * 4) =

Χαμηλότερη

Υψηλότερη

+-

*/

divmod

24

8

36

6,375

2,25

Page 12: Η  ΓΛΩΣΣΑ PASCAL

Προτεραιότητα ΤελεστώνΠροτεραιότητα Τελεστών

•Μεγαλύτερη προτεραιότητα έχουν οι πράξεις μέσα σε παρενθέσεις.

•Όταν τα σύμβολα έχουν την ίδια προτεραιότητα τότε οι πράξεις εκτελούνται από αριστερά προς τα δεξιά.

Page 13: Η  ΓΛΩΣΣΑ PASCAL

3.3. Λογικός (Λογικός (boolean)boolean)Έχει δύο μόνο τιμές: Αληθή (true)

Ψευδή (false)

Επιτρεπτές πράξεις:

•Σύζευξη (and)

•Διάζευξη (or)

•Άρνηση (not)

Page 14: Η  ΓΛΩΣΣΑ PASCAL

Λογικές εκφράσεις είναι οι απεικονίσεις παραστάσεων που μπορεί να περιέχουν σταθερές, μεταβλητές, συναρτήσεις, αριθμητικά σύμβολα και παρενθέσεις και μπορούν να πάρουν μια λογική τιμή (true ή false).

Μια λογική έκφραση παράγεται από δύο μεταβλητές ή σταθερές μέσων των σχεσιακών τελεστών.

Λογικές εκφράσειςΛογικές εκφράσεις

Page 15: Η  ΓΛΩΣΣΑ PASCAL

Περιγραφή Pascal

Μεγαλύτερο από

>

Μικρότερο από <

Μεγαλύτερο ή ίσο

>=

Μικρότερο ή ίσο <=

Διάφορο <>

Ανήκει in

Σχεσιακοί Τελεστές

Page 16: Η  ΓΛΩΣΣΑ PASCAL

4. Χαρακτήρας (char)Περιγράφει δεδομένα ενός χαρακτήρα

Π.χ.: ‘Α’, ‘Β’, ‘@’, ‘!’

Ο τύπος char είναι ένας διατεταγμένος τύπος ο οποίος περιλαμβάνει το σύνολο των χαρακτήρων του υπολογιστή μας.

Διάταξη:

0,1,2,3,...9

A,B,C,…Z, a,b,c,…z και ακολουθούν οι ελληνικοί χαρακτήρες

Α,Β,Γ,...Ω, α,β,γ,...ω

Page 17: Η  ΓΛΩΣΣΑ PASCAL

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

Είναι μία σειρά από 255 το πολύ χαρακτήρες.

Π.χ.: ‘Turbo Pascal’, ‘Bπ2’, ‘Ελένη’, ‘1346’, ‘’ Προσοχή!!!Προσοχή!!!

Η τιμή του string ‘1346’ είναι η σειρά των χαρακτήρων 1 3 4 6. Αν γράψουμε 1346 χωρίς τα εισαγωγικά τότε είναι ένας ακέραιος τον οποίο μπορούμε να χρησιμοποιήσουμε σε υπολογισμούς.

κενό (Null

string)

Page 18: Η  ΓΛΩΣΣΑ PASCAL

Δομή Προγράμματος Pascal

Ένα πρόγραμμα Pascal αποτελείται από 3 τμήματα:

Τίτλος Προγράμματος

Τμήμα δηλώσεων

Τμήμα εντολών

Page 19: Η  ΓΛΩΣΣΑ PASCAL

Τίτλος Προγράμματος

Αρχίζει με τη λέξη-κλειδί program και ακολουθείται από ένα όνομα που χαρακτηρίζει όλο το πρόγραμμα.

Σύνταξη:

Program όνομα_προγράμματος;

Page 20: Η  ΓΛΩΣΣΑ PASCAL

Τμήμα ΔηλώσεωνΔηλώνουμε όλα τα στοιχεία που πρόκειται

να

χρησιμοποιηθούν στο πρόγραμμα

• Σταθερές

• Τύπους

• Μεταβλητές

• Υποπρογράμματα

Page 21: Η  ΓΛΩΣΣΑ PASCAL

Βασικές Έννοιες Αλγορίθμων

Τα δεδομένα και τα ζητούμενα σε ένα πρόβλημα μπορεί να είναι:

Αριθμητικά, και πιο συγκεκριμένα Πραγματικά, π.χ. 10.5 0.30 Ακέραια, π.χ. 100 20

Αλφαριθμητικά ή Χαρακτήρες, π.χ. ‘Μαρκέλλα’ Λογικά που παίρνουν μόνο δύο τιμές Αληθής και Ψευδής

Τα παραπάνω αποτελούν τους τύπους των δεδομένων και η ακριβής κωδικοποίησή τους ποικίλει από Γλώσσα σε Γλώσσα

Για να εκφράσουμε και να υπολογίσουμε δεδομένα και ζητούμενα σε ένα αλγόριθμο χρησιμοποιούμε σταθερές, μεταβλητές και εκφράσεις

Page 22: Η  ΓΛΩΣΣΑ PASCAL

Σταθερές Σταθερά: Μια ποσότητα που έχει προκαθορισμένη τιμή που

δε μεταβάλλεται κατά τη διάρκεια εκτέλεσης ενός αλγορίθμου/προγράμματος

Παράδειγμα Αλφαριθμητική σταθερά : ‘Καλημέρα’ Αριθμητική σταθερά: 20

Μία σταθερά μπορεί να πάρει ένα συμβολικό όνομα σε ένα πρόγραμμα και χρησιμοποιείται για να αποθηκεύει παγκόσμιες σταθερές (πχ π=3.14, g=9.81) ή δεδομένα που δεν αλλάζουν για το συγκεκριμένο πρόβλημα (πχ φπα=0.19, Ν=100)

Η δήλωση και η χρήση συμβολικών ονομάτων αντί των αντίστοιχων σταθερών τιμών είναι προαιρετική, κάνει όμως πιο ευανάγνωστο και κατανοητό το πρόγραμμά μας.

Page 23: Η  ΓΛΩΣΣΑ PASCAL

ΣταθερέςΔηλώνονται με τη λέξη Const και περιέχουν τις σταθερές που πρόκειται να χρησιμοποιηθούν στο πρόγραμμα, δηλ. συμβολικά ονόματα για κάποιες τιμές που παραμένουν σταθερές και χρησιμοποιούνται συχνά μέσα στο πρόγραμμα.

Σύνταξη:

Const Όνομα = Τιμή;

: = :

: = :

Page 24: Η  ΓΛΩΣΣΑ PASCAL

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

• Το όνομα και ο τύπος καθορίζεται στην αρχή και δεν αλλάζει κατά την εκτέλεση του αλγορίθμου, ενώ η τιμή της μπορεί να αλλάξει.

• Αποτελεί ένα γλωσσικό αντικείμενο, που χρησιμοποιείται για να παραστήσει ένα στοιχείο δεδομένου (ή ζητούμενου).

•Οι μεταβλητές αντιστοιχίζονται από τον μεταγλωττιστή κάθε γλώσσας σε συγκεκριμένες θέσεις μνήμης του υπολογιστή.

Page 25: Η  ΓΛΩΣΣΑ PASCAL

Δηλώνονται με τη λέξη-κλειδί Var και περιέχει τις μεταβλητές που πρόκειται να χρησιμοποιηθούν στο πρόγραμμα.

Σύνταξη: Var Όνομα : Τύπος Δεδομένων;

Όταν περισσότερες από μία μεταβλητές είναι του ίδιου τύπου μπορούν να γραφτούν μαζί.

Π.χ. var x:integer; y:integer; var x,y,z:integer; z:integer;

Μεταβλητές

Page 26: Η  ΓΛΩΣΣΑ PASCAL

Ονοματολογία μεταβλητών & σταθερών στη αλγοριθμική ΓΛΩΣΣΑ

Υποχρεωτικοί κανόνες Περιλαμβάνουν μόνο Περιλαμβάνουν μόνο

Ελληνικούς ή αγγλικούς χαρακτήρες Αριθμητικά ψηφία τον χαρακτήρα _ (κάτω παύλα)

Ξεκινάνε πάντα με γράμμα και όχι με αριθμητικό ψηφίο ή κάτω παύλα

Δεν ταυτίζονται με «δεσμευμένες» λέξεις (λέξεις που έχουν κάποια ειδική χρήση στον αλγόριθμο ή το πρόγραμμα)

Προαιρετικοί κανόνες Συνήθως το όνομα τους έχει σχέση με το δεδομένο ή το

ζητούμενο που εκφράζουν Συνήθως χρησιμοποιούνται μικρά σε μέγεθος ονόματα (πχ. Μο

αντί για μέσος_όρος) Συνήθως το πρώτο γράμμα είναι κεφαλαίο και τα υπόλοιπα μικρά

Page 27: Η  ΓΛΩΣΣΑ PASCAL

Υποπρογράμματα

Δηλώσεις των υποπρογραμμάτων που ορίζει ο χρήστης εφόσον υπάρχουν

•Συναρτήσεις (functions)

•Υποπρογράμματα (procedures)

Page 28: Η  ΓΛΩΣΣΑ PASCAL

Τμήμα Εντολών

Περιέχει τις εκτελέσιμες προτάσεις του προγράμματος.

Αρχίζει με τη λέξη-κλειδί begin και τελειώνει με τη λέξη-κλειδί end.

Το τέλος των δηλώσεων και των προτάσεων δηλώνεται με το διαχωριστικό χαρακτήρα (;)

Στο τέλος του προγράμματος, δηλ. μετά το end βάζουμε τελεία.

Page 29: Η  ΓΛΩΣΣΑ PASCAL

program όνομα_προγράμματος;

const

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

var

δηλώσεις μεταβλητών;

begin

εντολή1;

:

εντολήΝ;

end.

Συνοπτικά η δομή φαίνεται παρακάτω: