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



Σχετικά έγγραφα
ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

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

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

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

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

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

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

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

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

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

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

Pascal. 26 Οκτωβρίου 2011

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

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

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

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

Pascal. 15 Νοεμβρίου 2011

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

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

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

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

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

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

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

Κεφάλαιο 7 Βασικά Θέματα Προγραμματισμού. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ I: ΕΙΣΑΓΩΓΗ, ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΚΑΙ ΔΟΜΕΣ ΕΛΕΓΧΟΥ... 1 ΚΕΦΑΛΑΙΟ 0 ΕΙΣΑΓΩΓΗ... 3

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


ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα.

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

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

- program p_name(output); - uses crt;

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

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

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

ΕΠΑ.Λ ΧΡΥΣΟΥΠΟΛΗΣ Γ Πληροφορική Προγραµµατισµός Υπολογιστών Κεφάλαιο 9 Σηµειώσεις 03. Εντολή Εκχώρησης - Αντικατάστασης

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΓΛΩΣΣΟΜΑΘΕΙΑ

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

Δομή προγράμματος στη Fortran

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1

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

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

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

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

Ερωτήσεις Σωστού-Λάθους

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

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

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

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

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

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

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

Βασικές Αρχές Προγραμματισμού

Δομή προγράμματος στη Fortran

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

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

Τυχαίοι αριθμοί struct Αρχεία Διαμορφώσεις Συναρτήσεις Χειρισμός σφαλμάτων ΠΕΜΠΤΗ ΔΙΑΛΕΞΗ

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

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

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

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

Ηλεκτρονικοί Υπολογιστές

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

1.5 ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ μικρόκοσμου «Προγραμματισμός Η/Υ»

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

Εργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός

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

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

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΤΕΛΟΣ 1ΗΣ ΑΠΟ 6 ΣΕΛΙ ΕΣ

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

Η γλώσσα προγραμματισμού Strange

Α3. Ποια είναι τα πλεονεκτήματα του Δομημένου προγραμματισμού; (Μονάδες 10)

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

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

Προγραμματιστικό Περιβάλλον

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

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

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

Transcript:

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β. Καβακλή Χειμερινό Εξάμηνο 2001 1 Σύνολο χαρακτήρων της Pascal Για να κωδικοποιήσουμε στον ΗΥ ένα πρόγραμμα χρησιμοποιούμε : το αλφάβητο της γλώσσας τους συντακτικούς της κανόνες Το σύνολο χαρακτήρων καθορίζει το ποιους χαρακτήρες μπορούμε να χρησιμοποιήσουμε όταν γράφουμε τα προγράμματά μας Η Pascal χρησιμοποιεί τα γράμματα του λατινικού αλφάβητου, κεφαλαία: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z και μικρά: a b c d e f g h i j k l m n p q r s t u v w x y z τα ψηφία του δεκαδικού συστήματος: 0 1 2 3 4 5 6 7 8 9 το κενό (blank) ορισμένους ειδικούς χαρακτήρες: + - * / = < > [ ]., : ; ^ ( ) 2 1

Παράδειγμα: ένα απλό πρόγραμμα επικεφαλίδα (heading) κορμός (blck) prgram hell (utput); {τυπώνει Hell there} begin write(utput, Hell there ); writeln(utput) end {hell}. 3 Ανατομία ενός προγράμματος prgram: δεσμευμένη λέξη (πρόγραμμα) hell: αναγνωριστικό (identifier) καθορίζει το όνομα του προγράμματος τα αναγνωριστικά εκλέγονται από τον προγραμματιστή και δηλώνουν τη σημασία του αφηρημένου αντικειμένου που αντιπροσωπεύουν πχ SALUTE, first, prg1pas, P007 (utput): παράμετρος του προγράμματος οι παράμετροι του προγράμματος προσδιορίζουν από πού παίρνει τα δεδομένα ένα πρόγραμμα και που στέλνει τα αποτελέσματα η λέξη utput (έξοδος) προσδιορίζει ότι τα αποτελέσματα θα σταλούν στην οθόνη του τερματικού μας ; : διαχωριστικό {τυπώνει Hell there} : σχόλιο ακολουθία χαρακτήρων που περιγράφουν τι κάνει το πρόγραμμα αγνοούνται από το μεταγλωττιστή επεκτείνονται σε περισσότερες της μιας γραμμής 4 2

Συντακτικός κανόνας Συντακτικός κανόνας στην Ελληνική γλώσσα: Ένα αναγνωριστικό (όνομα) πρέπει να αρχίζει με ένα γράμμα του λατινικού αλφάβητου και μπορεί να ακολουθείται μ ένα ή περισσότερα γράμματα του λατινικού αλφαβήτου ή ψηφίο Σε BNF μορφή <αναγνωριστικό>::=<γράμμα>{<γράμμα> <ψηφίο>} Συντακτικό διάγραμμα: αναγνωριστικό γράμμα γράμμα ψηφίο 5 Backus Naur Frm Backus Naur frm: μια μεταγλώσσα, δηλ. μια γλώσσα που μπορεί να χρησιμοποιηθεί για να περιγράψει συνοπτικά μια άλλη γλώσσα μετασύμβολο ::= < > { } σημασία ορίζεται ως η συντακτική κατηγορία ή διαζευκτικό μηδέν ή περισσότερες φορές ότι περικλείεται στα άγκιστρα 6 3

Σύνταξη γραμμάτων και ψηφίων <γράμμα>::= A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n p q r s t u v w x y z <ψηφίο>::= 0 1 2 3 4 5 6 7 8 9 ψηφίο 0 1 2 3 4 5 6 7 8 9 7 Κορμός προγράμματος Ο κορμός του προγράμματος αποτελείται από: μέρος ορισμών μέρος δηλώσεων μέρος εντολών (σώμα προγράμματος) Το σώμα ενός προγράμματος αρχίζει με την ειδική λέξη begin τελειώνει με την ειδική λέξη end μεταξύ των begin και end μπορούν να υπάρχουν εντολές που διαχωρίζονται μεταξύ τους με το ; Η εντολή write (utput, Hell there ) γράφει στην έξοδο (utput) ότι βρίσκεται ανάμεσα στις αποστρόφους, όπως ακριβώς είναι Η εντολή writeln (utput) αλλάζει γραμμή (γράφει μια νέα γραμμή στην έξοδο) Η ειδική λέξη end στο τέλος του προγράμματος ακολουθείται από μια τελεία (.) 8 4

Σύνταξη ενός προγράμματος της Pascal (BNF) <πρόγραμμα>::= <επικεφαλίδα προγράμματος>; <κορμός προγράμματος>. <επικεφαλίδα προγράμματος>::= prgram <αναγνωριστικό>(<παράμετροι προγράμματος>) <κορμός προγράμματος>::= <μέρος ορισμών και δηλώσεων> <μέρος εντολών> <μέρος εντολών>::= <σύνθετη εντολή> <σύνθετη εντολή> ::= begin <εντολή> {; <εντολή> }end <παράμετροι προγράμματος> ::= <αναγνωριστικό> {, <αναγνωριστικό>} 9 πρόγραμμα Σύνταξη ενός προγράμματος της Pascal (Συντακτικό διάγραμμα) prgram αναγνωριστικό ( παράμετροι προγράμματος ) κορμός προγράμματος. κορμός προγράμματος μέρος ορισμών και δηλώσεων μέρος εντολών μέρος εντολών σύνθετη εντολή σύνθετη εντολή begin εντολή end ; παράμετροι προγράμματος αναγνωριστικό, 10 5

Παράδειγμα: απλό πρόγραμμα 2 prgram manyhells (utput); {τυπώνει πολλά χαιρετίσματα} begin write (utput, Hell there ); write (utput,!hell my friend hell. ); writeln (utput); write (utput, Hw are yu? ); writeln (utput) end {manyhells}. Hell there!hell my friend hell. Hw are yu? 11 Δεδομένα Τα δεδομένα παριστάνουν πληροφορίες που πρέπει να δοθούν σε ένα πρόγραμμα. Το πρόγραμμα επεξεργάζεται τα δεδομένα για να παράγει αποτελέσματα Τα δεδομένα προέρχονται από το εξωτερικό περιβάλλον (συσκευές εισόδου) ή τη βοηθητική μνήμη του υπολογιστή (συσκευές μαγνητικών δίσκων) Αντιπροσωπεύουν γεγονότα, παρατηρήσεις, μετρήσεις, ιδέες για τον κόσμο κ.α. 12 6

Τύποι Δεδομένων Τα δεδομένα έχουν κάποιο τύπο (type) που ορίζει τη σημασία τους, το σύνολο των τιμών (values) που μπορούν να πάρουν και περιορίζει τι μπορεί να γίνει με αυτές. Η Pascal υποστηρίζει 4 βασικούς απλούς τύπους (simple types) δεδομένων: integer: υποσύνολο των ακεραίων αριθμών real: υποσύνολο των πραγματικών αριθμών blean: παίρνουν τιμές αλήθεια ή ψέμα char: υποσύνολο των χαρακτήρων Η Pascal εφαρμόζει αυστηρό έλεγχο τύπων, δεν επιτρέπει την ανάμειξη δεδομένων διαφόρων τύπων πχ δεν μπορεί να γίνει πολλαπλασιασμός ενός δεδομένου τύπου integer με ένα δεδομένου τύπου char 13 Σταθερές Μερικά από τα δεδομένα που χρησιμοποιούνται σε ένα πρόγραμμα δεν αλλάζουν ποτέ Τα δεδομένα αυτά μπορούν να παρασταθούν με σταθερές (cnstants) Οι ορισμοί των σταθερών ενός προγράμματος ακολουθούν την επικεφαλίδα του και αρχίζουν με την ειδική λέξη cnst cnst meresergasias = 5; asterisks = * ; nai = true; pi = 3.14159265368; Ο μεταγλωττιστής κατά τη διάρκεια της μεταγλώττισης αντικαθιστά όλα τα ονόματα των σταθερών του προγράμματος με τις αντίστοιχες τιμές τους 14 7

Μεταβλητές Μεταβλητές (variables): δεδομένα τα οποία υπόκεινται σε αλλαγή π.χ. τρέχον άθροισμα σ ένα υπολογιστή τσέπης Οι μεταβλητές παριστάνουν θέσεις της κύριας μνήμης του υπολογιστή Η «τιμή» μιας μεταβλητής αναφέρεται στο περιεχόμενο της θέσης μνήμης που αντιστοιχεί στη μεταβλητή αυτή Μπορούμε να χρησιμοποιήσουμε όσες μεταβλητές χρειαζόμαστε και να τις ονομάσουμε όπως μας βολεύει 15 Δήλωση μεταβλητών Οι δηλώσεις των μεταβλητών ακολουθούν τους ορισμούς των σταθερών (αν αυτοί υπάρχουν) var merkamat: integer; aktina, periferia, emvadn: real; simi_stixis: char; vrethike, petixe: blean; Η δήλωση μιας μεταβλητής αντιστοιχίζει απλά το αναγνωριστικό της με τη διεύθυνση μιας θέσης της μνήμης του υπολογιστή και περιγράφει τον τύπο των τιμών που μπορούν να αποθηκευτούν στη θέση αυτή Κατά τη δημιουργία της, η τιμή μιας μεταβλητής είναι αόριστη (το τυχαίο περιεχόμενο της θέσης μνήμης του υπολογιστή τη στιγμή που δημιουργείται η μεταβλητή). 16 8

Παράδειγμα merkamat aktina periferia emvadn simi_stixis vrethike petixe αόριστη τιμή τύπου integer αόριστη τιμή τύπου real αόριστη τιμή τύπου real αόριστη τιμή τύπου real αόριστη τιμή τύπου char αόριστη τιμή τύπου blean αόριστη τιμή τύπου blean 17 Εντολές εκχώρησης Οι μεταβλητές ενός προγράμματος παίρνουν τιμές μέσω εντολών εκχώρησης aktina := 3.0; periferia := 2 * pi * aktina; simi_stixis :=! ; merkamat := 5000*meresergasias; vrethike := alhthia; Η εκτέλεση μιας εντολής εκχώρησης αλλάζει την τιμή της μεταβλητής που βρίσκεται στο αριστερό σκέλος της εντολής Η τιμή που είχε η μεταβλητή πριν από την εκτέλεση της εντολής εκχώρησης χάνεται για πάντα Όλες οι μεταβλητές μιας εντολής εκχώρησης πρέπει να έχουν δηλωθεί. Όλες οι μεταβλητές που βρίσκονται στο δεξί μέλος μιας εντολής εκχώρησης πρέπει οπωσδήποτε να έχουν ήδη πάρει (ορισμένες) τιμές 18 9

Παράδειγμα: άθροισμα ακεραίων prgram athrisma (utput); {βρίσκει το άθροισμα 2 ακεραίων} var a, b, c: integer; begin a:= 357; b:= -186; c:= a+b; write(utput, t athrisma tvn 357 kai 186 ); write(utput, einai is me, c); writeln(utput) end {athrisma}. t athrisma tvn 357 kai 186 einai is me 171. 19 Τιμές τύπου Integer Ο τύπος integer μας επιτρέπει να διαβάζουμε να επεξεργαζόμαστε και να τυπώνουμε τους ακέραιους αριθμούς που μπορούν να αποθηκευτούν σε έναν υπολογιστή Το σύνολο των ακεραίων τιμών που μπορούν να αποθηκευτούν σε έναν υπολογιστή είναι ένα γνήσιο υποσύνολο των ακεραίων: -maxint, -maxint + 1,, -1, 0, 1,, +maxint - 1, +maxint Η τομή της σταθεράς maxint εξαρτάται από το μήκος της λέξης του ΗΥ που χρησιμοποιούμε μήκος λέξης 16: maxint = 32726 μήκος λέξης 32: maxint = 2147483647 Οι αριθμητικές πράξεις σε αντικείμενα τύπου integer εκτελούνται ορθά μόνον όταν όλοι οι όροι, τα ενδιάμεσα αποτελέσματα και το τελικό αποτέλεσμα βρίσκονται στην περιοχή [-maxint,, maxint] Το φαινόμενο όπου ένας από τους τελεστέους βρίσκεται έξω από την περιοχή αυτή ονομάζεται υπερχείλιση (verflw) 20 10

Σύνταξη ακεραίων στην Pascal ακέραιος δεκαδικό ψηφίο + - <ακέραιος>::=<απρόσημος ακέραιος> +<απρόσημος ακέραιος> -<απρόσημος ακέραιος> <απρόσημος ακέραιος>::=<δεκαδικό ψηφίο>{<δεκαδικό ψηφίο>} cnst thetiks = +1; arnitiks = -thetiks; megists = maxint; elaxists = -maxint; amessdrash = 100; bhma = -15 Οι Οι ακέραιοι ακέραιοι δεν δεν επιτρέπεται επιτρέπεται να να περιέχουν περιέχουν κόμματα κόμματα var x,y,z: integer; akerais1, akerais2, athrisma: integer; 21 Παραστάσεις τύπου integer Αριθμητικοί τελεστές: + άθροισμα - διαφορά * γινόμενο div (ακέραιο) πηλίκο md (ακέραιο) υπόλοιπο Άλγεβρα (-a + b)c ab c a + b c x(y+w(3-v)) y+2 x+4 Pascal (-a+b) *c a*b div c a+b div c x*(y+w*(3-v)) (y+2) div (x+4) 22 11

Προκαθορισμένες συναρτήσεις H Pascal διαθέτει προκαθορισμένες συναρτήσεις που παίρνουν ως παράμετρο (όρισμα) ένα αντικείμενο τύπου integer και επιστρέφουν αποτέλεσμα επίσης τύπου integer sqr(x) δίνει το τετράγωνο του x, δηλ x*x abs(x) δίνει την απόλυτη τιμή του x, δηλ. τον x αν ο x >= 0 και τον x αν x < 0 Παράδειγμα: Άλγεβρα y 4 y 7 x 2 x + 3 Pascal sqr(sqr(y)) ή sqr(y*y) ή y*y*y*y abs(y 7) abs(sqr(x) x +3) 23 Είσοδος αντικειμένων τύπου integer Η είσοδος των δεδομένων τύπου integer επιτυγχάνεται με την εντολή read (διάβασε) που έχει τη γενική μορφή: read (input, λίστα μεταβλητών τύπου integer) <λίστα μετμαβλητών>::=<μεταβλητή>{,<μεταβλητή>} Παράδειγμα: read (input, a); read (input, alpha, beta, gama); οι τιμές που πληκτρολογούνται πρέπει να ξεχωρίζονται μεταξύ τους με ένα ή περισσότερα διαστήματα ή κενές γραμμές Η εκτέλεση της εντολής read έχει ως αποτέλεσμα την ανάγνωση των διαδοχικών τιμών που πληκτρολογούνται και την εκχώρηση των τιμών αυτών στις μεταβλητές της λίστας Για να μπορεί ένα πρόγραμμα να διαβάσει δεδομένα που πληκτρολογούνται πρέπει να περιλαμβάνει τη λέξη inut (είσοδος) στις παραμέτρους του: prgram hell (input); 24 12

Έξοδος αντικειμένων τύπου integer Για να μπορέσει ένα πρόγραμμα να εμφανίσει τα αποτελέσματά του στην οθόνη πρέπει να περιλαμβάνει τη λέξη utput (έξοδος) στις παραμέτρους του prgram hell (utput); Η έξοδος των δεδομένων γίνεται με την εντολή write (γράψε): write(utput, λίστα παραστάσεων και συμβολοσειρών) Η εκτέλεση της εντολής write έχει σαν αποτέλεσμα τον υπολογισμό των παραστάσεων και την εμφάνιση των τιμών τους και των συμβολοσειρών στην οθόνη Τα αποτελέσματα εμφανίζονται στην οθόνη από αριστερά προς τα δεξιά και από πάνω προς τα κάτω Η εντολή writeln(utput) αλλάζει γραμμή 25 Παράδειγμα: υπολογισμός αθροίσματος prgram athrisma (input, utput); {βρίσκει το άθροισμα δυο οποιωνδήποτε ακεραίων} var a, b: integer; begin write (utput, parakalv plhktrlghsete 2 akeraiys ); writeln (utput); read (input, a, b); writeln (utput); write (utput, t athrisma tvn a, kai, b); writeln (utput); write (utput, einai is me, a+b); writeln (utput) end {athrisma}. parakalv plhktrlghsete 2 akeraiys 15 20 t athrisma tvn 15 kai 20 einai is me 35 26 13

Εμφάνιση ακέραιων παραστάσεων παραστάσεων Οι ακέραιες παραστάσεις εμφανίζονται σ ένα ορισμένο πλάτος πεδίου (πχ 8 χαρακτήρες) Αν το αντικείμενο που πρόκειται να εμφανιστεί έχει λιγότερους χαρακτήρες από το πλάτος πεδίου τότε εμφανίζεται στο δεξιότερο μέρος του πεδίου Η Pascal μας δίνει τη δυνατότητα να καθορίζουμε οι ίδιοι το πλάτος του πεδίου ως εξής: write (utput, 2*x+7:5) θα τυπώσει την τιμή της ακέραιας παράστασης 2*x+7 σε πλάτος πεδίου ίσο με 5 αν το πλάτος πεδίου είναι μικρότερο απ όσο χωράει η τιμή της παράστασης τότε εμφανίζεται ολόκληρη η τιμή Δεν επιτρέπεται να διασπάμε μια συμβολοσειρά μεταξύ δύο διαφορετικών γραμμών write (utput, A KAI B ); 27 Παράδειγμα prgram asterakia (utput); begin writeln (utput, * :1); writeln (utput, * :2); writeln (utput, * :3); writeln (utput, * :4); writeln (utput, * :5); writeln (utput, * :6); end {asterakia}. * * * * * * 28 14