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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

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

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

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

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

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

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

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

ΑΛΓΟΡΙΘΜΟΙ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

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

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

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

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

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β. Καβακλή. Χειμερινό Εξάμηνο 2001

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


Αρχές Προγραμματισμού Η/Υ Μέθοδοι παρουσίασης του αλγόριθμου και Βασικές έννοιες

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

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

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

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ

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

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

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α A1. 2-Λάθος 3-Λάθος 4-Σωστό 5-Λάθος A2. integer. real. Boolean. char. string A3.

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

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

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

Τεχνικές Αναπαράστασης αλγορίθµων Ψευδοκώδικας Διάγραµµα Ροής Αλγοριθµικές δοµές (Ακολουθία Επιλογή Επανάληψη)

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

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

ΑΠΑΝΤΗΣΕΙΣ. H διαδικασία ανεύρεσης λογικών λαθών περιλαμβάνει : β- Σωστό. Διαπίστωση του είδους του λάθους γ- Σωστό δ- Λάθος

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

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

Γραπτές εξετάσεις στο μάθημα: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Θ) Εισηγητής: Γεωργίου Χρήστος ΘΕΜΑΤΑ & ΑΠΑΝΤΗΣΕΙΣ. Β. Χαρακτήρας(Αλφαριθμητικά)

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

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

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

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

Ενότητα 1: «Εισαγωγή στην Αλγοριθμική και τον Προγραμματισμό. Απλές ασκήσεις με γλώσσα Pascal»

Ψευδοκώδικας. November 7, 2011

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

- program p_name(input) - uses crt

Πληροφορική 2. Αλγόριθμοι

- program p_name(output); - uses crt;

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

Αλγόριθμοι. Βασικές έννοιες ΤΕΛΟΣ

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

8 FORTRAN 77/90/95/2003

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

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

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

Στην εντολή while η επανάληψη συνεχίζεται όσο η λογική έκφραση έχει τιμή false.

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

ΑΕΠΠ Ερωτήσεις θεωρίας

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

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

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

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

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

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ

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

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

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

4. Επιλογή και Επανάληψη

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

Transcript:

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

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

Πρόβλημα Πείτε ένα πρόβλημα..

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

Επίλυση προβλήματος Τα στάδια που αποτελούν τις βασικές προϋποθέσεις για την επίλυση ενός προβλήματος είναι: Κατανόηση προβλήματος. Δομή προβλήματος: Ανάλυση του προβλήματος σε απλούστερα προβλήματα που η σύνδεση τους θα μας δώσει το ζητούμενο αποτέλεσμα, δηλαδή τη λύση του προβλήματος. Καθορισμός απαιτήσεων: Περιλαμβάνει τη σαφή καταγραφή των δεδομένων, την αναλυτική διατύπωση του προβλήματος, τη λεπτομερειακή περιγραφή των ζητουμένων και τη διερεύνηση των αποτελεσμάτων.

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

Δεδομένα Δεδομένα: Το σύνολο εκείνων των στοιχείων που είναι απαραίτητα για την επίλυση του προβλήματος. Ορθότητα δεδομένων: Οι τιμές τους να είναι εντός των αποδεκτών ορίων. (Βαθμολογία μαθητή μεταξύ 1 και 20). Τα δεδομένα ενός προβλήματος πρέπει να χαρακτηρίζονται από: Σαφήνεια: Το νόημα τους να είναι ξεκάθαρο. Πληρότητα: Απαιτήσεις κατά την εισαγωγή των δεδομένων. (Να μην λείπει βαθμός σε κάποιο από τα μαθήματα ενός μαθητή κατά τον υπολογισμό του μέσου όρου) Ακρίβεια: Να μην προσδιορίζονται κατά προσέγγιση. Είναι πολύ σημαντικό να ελέγχουμε την πληρότητα και την ορθότητα των δεδομένων.

Ζητούμενα Ζητούμενα: Τα αποτελέσματα της διαδικασίας επίλυσης του προβλήματος. Η αποτύπωση της λύσης του προβλήματος μας. Πρέπει: Να παρουσιάζονται με τρόπο σαφή και κατανοητό. Να καλύπτουν όλες τις δυνατές περιπτώσεις και τις ιδιαιτερότητες των δεδομένων. (Ένα όνομα μπορεί να αποτελείτε από 4 αλλά και από 24 γράμματα.) Να εντοπίζονται εύκολα στην οθόνη ή το χαρτί εκτύπωσης.

Καθορισμός απαιτήσεων προβλήματος. Η πλήρης καταγραφή των δεδομένων και των ζητούμενων του προβλήματος καλείται καθορισμός απαιτήσεων προβλήματος. Οι παράγοντες που επηρεάζουν τον καθορισμό των απαιτήσεων ενός προβλήματος είναι: Η επιλογή δεδομένων. Ο έλεγχος ορθότητας των δεδομένων. Ο έλεγχος πληρότητας των δεδομένων. Ο καθορισμός των ζητούμενων.

Σκοπός μας είναι να δειχθεί η αναγκαιότητα καταγραφής του αλγορίθμου επίλυσης ενός προβλήματος στην όλη διαδικασία επίλυσης με τη χρήση υπολογιστή.

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

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

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

Παράδειγμα ψευδοκώδικα Αρχή Τέλος Διάβασε τα δεδομένα Όνομα μαθητή Επώνυμο μαθητή Αριθμός Δικαιολογημένων Απουσιών Αριθμός Αδικαιολόγητων Απουσιών Άθροισμα απουσιών = Δικαιολογημένες + Αδικαιολόγητες Αν (Άθροισμα απουσιών)<=100 Τότε Εμφάνισε το μήνυμα «Προάγεται» Αλλιώς Εμφάνισε το μήνυμα «Δεν Προάγεται» Εμφάνισε το όνομα και το επώνυμο του μαθητή

Ψευδοκώδικας Η καταγραφή του αλγόριθμου με απλές προτάσεις και σύμβολα. Χρησιμοποίηση της προστακτικής διαφόρων ρημάτων όπως: Διάβασε Πολλαπλασίασε Βάλε Εμφάνισε. Ο ψευδοκώδικας διαδόθηκε γιατί η μεταφορά του σε γλώσσα προγραμματισμού είναι εύκολη διαδικασία και δεν απαιτεί ιδιαίτερη εξειδίκευση.

Είδος εντολής Συνοπτική έκφραση Λειτουργία εντολής Δηλώσεις ορίων Αρχή, Τέλος Δηλώνουν την αρχή και το τέλος μιας ομάδας εντολών. Εισόδου Διάβασε Εισαγωγή δεδομένων από το πληκτρολόγιο ή μαγνητική μονάδα. Εξόδου Αντικατάστασης Αριθμητικών πράξεων Ελέγχου και επιλογής Εντολές επανάληψης Εμφάνισε, Τύπωσε, Γράψε Αντικατέστησε ή Βάλε Πρόσθεσε, Αφαίρεσε, Πολλαπλασίασε, Διαίρεσε, Υπολόγισε Αν συνθήκη Τότε εκτέλεσε την εντολή Α Αν συνθήκη Τότε εκτέλεσε την εντολή Α Αλλιώς εκτέλεσε την εντολή Β Επανέλαβε εφόσον συνθήκη Αρχή Εντολές Τέλος Επανέλαβε Εντολές Μέχρι συνθήκη Για ν φορές επανέλαβε Αρχή Εντολές Τέλος Εμφάνιση, εκτύπωση ή εγγραφή δεδομένων στην οθόνη, στον εκτυπωτή ή σε μαγνητική μονάδα αντίστοιχα. Το περιεχόμενο μιας περιοχής μνήμης αντικαθίσταται με το περιεχόμενο μιας άλλη περιοχής ή με το αποτέλεσμα μιας πράξης. Εκτελούνται αριθμητικές πράξεις ή αριθμητικές παραστάσεις. Γίνετε έλεγχος μιας συνθήκης με απλή επιλογή ενέργειας, ανάλογα με το εάν η συνθήκη αληθεύει. Γίνετε έλεγχος μιας συνθήκης με διπλή επιλογή ενέργειας, ανάλογα με το εάν η συνθήκη αληθεύει ή όχι. Αρχίζει και συνεχίζει την εκτέλεση των εντολών εφόσον η συνθήκη είναι αληθής. Διαφορετικά δεν αρχίζει καθόλου ή σταματά την εκτέλεση των εντολών επανάληψης όταν η συνθήκη γίνει ψευδής. Οι εντολές εκτελούνται όσο η συνθήκη είναι ψευδής. Όταν η συνθήκη γίνει αληθής, σταματά η εκτέλεση των εντολών. Εκτελεί τις εντολές για προκαθορισμένο αριθμό επαναλήψεων (ν φορές). Κλήση υποπρογράμματος Κάλεσε όνομα υποπρογράμματος Εκτελεί τις εντολές του υποπρογράμματος.

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

Αρχή Σχήμα Τέλος Λειτουργία Το οβάλ παριστάνει την αρχή ή το τέλος της διαδικασίας. Υπολογισμός ή Επεξεργασία Το ορθογώνιο παραλληλόγραμμο παριστάνει ένα υπολογισμό ή μια επεξεργασία. Υποπρόγραμμα Το ορθογώνιο παραλληλόγραμμο με διπλή κατακόρυφη γραμμή παριστάνει ομάδα εντολών ή υποπρόγραμμα. Είσοδος Έξοδος Το πλάγιο παραλληλόγραμμο δηλώνει διαδικασία εισόδου ή εξόδου. Ναι Συνθήκη Αληθής Όχι Ο ρόμβος παριστάνει μια συνθήκη ή μια επιλογή. Έχει μία μόνο είσοδο και ο υπολογισμός της συνθήκης οδηγεί σε δύο εξόδους ανάλογα με την ισχύει ή όχι της συνθήκης. Εκτύπωση Το ορθογώνιο που καταλήγει σε κυματοειδή γραμμή παριστάνει εκτύπωση. Ο κύκλος παριστάνει ένα σημείο διακλάδωσης. Τα βέλη δείχνουν τη ροή εκτέλεσης των διαδικασιών.

Παράδειγμα διαγράμματος ροής. Αρχή Διάβασε: Όνομα Επώνυμο Δικαιολογημένες Απουσίες Αδικαιολόγητες Απουσίες Απουσίες = Δικαιολογημένες + Αδικαιολόγητες Εμφάνισε Προάγεται Απουσίες <=100 Εμφάνισε Δεν προάγεται Εμφάνισε Όνομα, Επώνυμο Τέλος

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

Ακολουθία Εντολή 1 Εντολή 2 Εντολή 3

Επιλογή Αν τότε Όχι Συνθήκη Ναι Αν συνθήκη Τότε Εντολές Εντολές

Επιλογή Αν τότε αλλιώς Όχι Συνθήκη Ναι Αν συνθήκη Τότε Εντολές Α Εντολές Β Εντολές Β Αλλιώς Εντολές Α

Επιλογή μέσα σε επιλογή Όχι Εντολές Α Συνθήκη Α Όχι Εντολές Β Ναι Συνθήκη Β Ναι Εντολές Γ Αν συνθήκη Α Τότε Αν συνθήκη Β Τότε Εντολές Γ Αλλιώς Εντολές Β Αλλιώς Εντολές Α

Επανέλαβε εφόσον συνθήκη. Εντολές Εφόσον συνθήκη επανέλαβε Αρχή Εντολές Τέλος Συνθήκη Ναι Όχι Προσοχή!!! Οι εντολές μπορεί να μην εκτελεστούν καθόλου.

Επανάλαβε μέχρι συνθήκη. Εντολές Επανάλαβε Εντολές Μέχρι συνθήκη Συνθήκη Όχι Ναι Προσοχή!!! Οι εντολές εκτελούνται τουλάχιστον φορά.

Για ν φορές επανάλαβε. Για ν φορές επανάλαβε Εντολές Για ν φορές επανάλαβε Αρχή Εντολές Τέλος Προσοχή!!! Οι εντολές εκτελούνται ακριβός ν φορές.

Σκοπός μας είναι γνωρίσουμε τις αρχές και τις δυνατότητες της γλώσσας Pascal.

Η γλώσσα Pascal Σχεδιάστηκε από τον Nicklaus Wirth (Ελβετός επιστήμονας Πληροφορικής) το 1968. Πήρε το όνομα της προς τιμή του μαθηματικού και φιλοσόφου Blaise Pascal. Σχεδιάστηκε με στόχο να χρησιμοποιηθεί ως διδακτικό εργαλείο των αρχών του προγραμματισμού. Μερικά από τα ιδιαίτερα χαρακτηριστικά της είναι: Η δυνατότητα που δίνει στον προγραμματιστή να δημιουργεί δικούς του τύπους δεδομένων. Η χρήση μεταβλητών τύπου δείκτη και η δυνατότητα της δυναμικής διαχείρισης της κεντρικής μνήμης. Η σύνθετη εντολή, δηλαδή η χρήση μιας σειράς εντολών ως μια.

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

Βασικά στοιχεία της Pascal Το αλφάβητο της Pascal αποτελείτε από τα γράμματα του Ελληνολατινικού αλφαβήτου, τα αριθμητικά ψηφία (0-9) και τα ειδικά σύμβολα (+, -, *, \, / κα) Χρησιμοποιούμε ταυτότητες ή ονόματα τα οποία αναφέρονται σε σταθερές, μεταβλητές, τύπους δεδομένων, διαδικασίες, συναρτήσεις κλπ. Ένα όνομα αποτελείτε από μια σειρά χαρακτήρων (γράμματα του λατινικού αλφαβήτου, αριθμοί ή _) πρέπει να αρχίζει πάντα με γράμμα και δεν πρέπει να περιέχει κενά.

Βασικά στοιχεία της Pascal Στα προγράμματά μας πρέπει να δίνουμε ονόματα ενδεικτικά του περιεχομένου τους. Το όνομα δεν πρέπει να περιέχει κενά τα οποία μπορούμε να αντικαταστήσουμε με την _. Ο χαρακτήρας αυτός δεν πρέπει να είναι ο τελευταίος. Τα σχόλια περιέχονται μεταξύ δύο παρενθέσεων της μορφής { } ή (* *). Μπορεί να καταλαμβάνουν όσες γραμμές θέλουμε και να περιέχονται μεταξύ των στοιχείων μιας εντολής. Τα σχόλια είναι απαραίτητα για λόγους τεκμηρίωσης του προγράμματος μας. Κάθε σχόλιο θεωρείται ως ένα κενό.

Βασικοί Τύποι Δεδομένων Οι τύποι δεδομένων προσδιορίζουν τον τρόπο παράστασης των δεδομένων εσωτερικά στον υπολογιστή καθώς και το είδος της επεξεργασίας τους από τον υπολογιστή. Υπάρχουν απλοί και σύνθετοι τύποι δεδομένων. Οι σύνθετοι τύποι είναι αυτοί που ορίζονται από απλούς τύπους. Οι προσδιοριζόμενοι από την Pascal απλοί τύποι δεδομένων είναι οι: Ακέραιος (integer) Πραγματικός (real) Λογικός (boolean) Χαρακτήρας (char, string)

Ακέραιος (integer) Οι ακέραιοι της Pascal είναι ένα υποσύνολο των ακέραιων που γνωρίζουμε από τα μαθηματικά. Θεωρητικά ένας ακέραιος μπορεί να έχει οποιοδήποτε πλήθος ψηφίων. Πρακτικά όμως το πλήθος των ψηφίων περιορίζεται ανάλογα με τον τύπο του υπολογιστή. Μπορεί να είναι θετικοί ή αρνητικοί. Στην Turbo Pascal το εύρος του διαστήματος των ακέραιων είναι από -32768 έως 32767.

Ακέραιος (integer) Δήλωση Τύπου Διάστημα τιμών Πρόσημο Πλήθος bytes shortint -128 127 ΝΑΙ 1 byte integer - 32.768 32.767 ΝΑΙ 2 bytes longint -2.148.483.648 2.147.483.647 ΝΑΙ 4 byte byte 0 255 ΌΧΙ 1 byte word 0 65535 ΌΧΙ 2 byte

Πραγματικός (real) Χρησιμοποιείται: εκεί που οι αριθμητικές τιμές δεν είναι ακέραιοι αριθμοί ή όταν οι αναμενόμενες τιμές είναι εκτός ορίων του ακέραιου τύπου για πολύ μεγάλους ή πολύ μικρούς αριθμούς Οι πραγματικοί αριθμοί της Pascal είναι ένα υποσύνολο των πραγματικών που γνωρίζουμε από τα μαθηματικά. Τα σημαντικά ψηφία εκφράζουν την κινητή υποδιαστολή του υπολογιστή (ακρίβεια). Έχουν από 6 μέχρι 20 σημαντικά ψηφία.

Πραγματικός (real) Δήλωση Τύπου Διάστημα τιμών Σημαντικά Ψηφία Πλήθος bytes real 2,9 x 10-39.. 1,7 x 10 38 11-12 6 byte single 1,5 x 10-45.. 3,4 x 10 38 7-8 4 bytes double 5,0 x 10-324.. 1,7 x 10 308 15-16 8 byte extended 3,4 x 10-4932.. 1,1 x 10 4932 19-20 10 byte comp 263 x 10-1.. 263 x 10 1 19-20 8 byte

Πράξεις ακεραίων Επιτρεπτές πράξεις ακεραίων + πρόσθεση - αφαίρεση * πολλαπλασιασμός div ακέραια διαίρεση mod υπόλοιπο διαίρεσης Παραδείγματα 36 div 6 = 6 16 div 17 = 0 27 div 6 = 4 36 mod 6 = 0 16 mod 17 = 16 27 mod 6 = 3

Πράξεις πραγματικών Επιτρεπτές πράξεις πραγματικών + πρόσθεση - αφαίρεση * πολλαπλασιασμός / διαίρεση Αριθμητικές εκφράσεις είναι οι απεικονίσεις αριθμητικών παραστάσεων που μπορεί να περιέχουν σταθερές, μεταβλητές, συναρτήσεις, αριθμητικά σύμβολα και παρενθέσεις.

Προτεραιότητα πράξεων Υψηλή προτεραιότητα * πολλαπλασιασμός / διαίρεση div ακέραια διαίρεση mod υπόλοιπο διαίρεσης Χαμηλή προτεραιότητα + πρόσθεση - αφαίρεση Εκτελείται πρώτα η πράξη που είναι μέσα στην παρένθεση () Όταν τα σύμβολα έχουν την ίδια προτεραιότητα οι πράξεις εκτελούνται από αριστερά προς τα δεξιά.

Προτεραιότητα πράξεων Παραδείγματα 20 div 3 * 4 20 mod 3 * 4 6*3/2*4 6*3/(2*4) 6*3/2*4 6+3/(2*4) (6+3)/2*4

Λογικός (Boolean) Έχει δύο μόνο τιμές την Αληθή (true) και την Ψευδή (false) Πράξεις: Σύζευξη and Διάζευξη or Αποκλειστική Διάζευξη xor Άρνηση not Λογικές εκφράσεις είναι οι απεικονίσεις παραστάσεων που μπορεί να περιέχουν σταθερές, μεταβλητές, συναρτήσεις, αριθμητικά σύμβολα και παρενθέσεις και μπορούν να πάρουν μια λογική τιμή (αλήθεια ή ψέμα).

Λογικές πράξεις P Q P and Q P or Q P xor Q not P Αληθή Αληθή Αληθή Αληθή Ψευδή Ψευδή Αληθή Ψευδή Ψευδή Αληθή Αληθή Ψευδή Ψευδή Αληθή Ψευδή Αληθή Αληθή Αληθή Ψευδή Ψευδή Ψευδή Ψευδή Ψευδή Αληθή

Σχεσιακοί τελεστές Περιγραφή Pascal Μεγαλύτερο από > Μικρότερο από < Μεγαλύτερο ή ίσο από >= Μικρότερο ή ίσο από <= Διάφορο (διαφορετικό) <> Ανήκει in

Προτεραιότητα λογικών πράξεων Ο τελεστής and έχει μεγαλύτερη προτεραιότητα από τους or, < και >. O τελεστής or έχει την ίδια προτεραιότητα με τον xor. (x>1) and (x<10) ((x>=0) and (x<=10)) or (x=20) (x>1) and (x<10) and not(x=5) (x>1) or (x<-1) x<>0 (x>10) xor (x<20)

Χαρακτήρας (char) Περιγράφει δεδομένα ενός χαρακτήρα. Ο χαρακτήρας γράφεται μεταξύ εισαγωγικών. Α β b $ 1 & +

Αλφαριθμητικός (string) Είναι μια σειρά από 255 το πολύ χαρακτήρες. Περιλαμβάνονται μεταξύ μονών εισαγωγικών. Το κενό string (null string) έχει μηδέν χαρακτήρες:. Εάν δεν δηλώσουμε το μήκος του, τότε λαμβάνει το μέγιστο, δηλαδή 255 χαρακτήρες. Πρέπει να γράφεται στην ίδια γραμμή. Κώστας α 4578 Τομέας Πληροφορικής

Επικεφαλίδα. Κάθε πρόγραμμα στην Pascal αρχίζει με τη λέξη program που ακολουθείται από το όνομα του προγράμματος. Μετά το όνομα του προγράμματος μπορεί να υπάρχει μια προαιρετική λίστα με ονόματα αρχείων τα οποία μπορεί να είναι μονάδες εισόδου/εξόδου ή τα αρχεία που θα χρησιμοποιήσει κατά την εκτέλεση του. Η επικεφαλίδα καταλήγει πάντα σε ερωτηματικό (;). Παραδείγματα: program apousies; program ypologismos_mo (input,output);

Σειρά δηλώσεων. Η επικεφαλίδα ακολουθείται από προτάσεις δηλώσεων που αναφέρονται στους όρους που χρησιμοποιούνται στο πρόγραμμα. Οι προτάσεις δηλώσεων καταλήγουν πάντα σε ερωτηματικό (;). Η προτάσεις δηλώσεων ακολουθούν την εξής σειρά: Δηλώσεις σταθερών (const). Δηλώσεις τύπων (type). Δηλώσεις μεταβλητών (var). Δηλώσεις υποπρογραμμάτων: συναρτήσεων (functions) ή διαδικασιών (procedures).

Δηλώσεις Σταθερές. Χρησιμοποιούνται για τον καθορισμό ονομάτων δεδομένων τα οποία παραμένουν σταθερά. Οι προτάσεις δηλώσεων σταθερών ξεκινάνε με τη λέξη const (χωρίς ερωτηματικό). Ο τύπος δεδομένων της σταθεράς προσδιορίζεται από την τιμή της. Παραδείγματα: const pososto=18; pi=3.141592653; kodikos_a=9874478; nomos=`δωδεκανήσου`; taksi=`γ`; Τύπου Integer Τύπου Real Τύπου Longint Τύπου String(11) Τύπου Char

Δηλώσεις Μεταβλητές. Χρησιμοποιούνται για τον καθορισμό ονομάτων δεδομένων τα οποία μεταβάλλονται. Οι προτάσεις δηλώσεων σταθερών ξεκινάνε με τη λέξη var (χωρίς ερωτηματικό). Πρέπει να αναφέρεται και ο τύπος δεδομένων της κάθε μεταβλητής. Ο τύπος αναφέρεται στο τέλος της γραμμής μετά την άνο-κάτω τελεία (:). Εάν δύο οι περισσότερες μεταβλητές είναι του ίδιου τύπου μπορούμε να τις αναφέρουμε στην ίδια γραμμή χωρίζοντας τες με κόμμα (,). Παραδείγματα: var pososto_ forou, mistos, kath_apodoxes : real; eponymo : string[25]; katigoria : char;

Κύριο πρόγραμμα. Το κυρίως πρόγραμμα αρχίζει με τη λέξη begin που δηλώνει την αρχή των εντολών του προγράμματος και τελειώνει με την λέξη end. που δηλώνει το τέλος του. Ανάμεσα στο begin και το end. γράφονται εντολές σύμφωνα με τον αλγόριθμο του προβλήματος. Κάθε εντολή που γράφεται τελειώνει υποχρεωτικά με ένα ερωτηματικό (;) εκτός εάν είναι η τελευταία εντολή οπότε στην επόμενη γραμμή είναι το end..

Παράδειγμα δομής προγράμματος Pascal. program ipologismos_embadou; {Το πρόγραμμα υπολογίζει εμβαδόν κύκλων συγκεκριμένης ακτίνας και εμφανίζει το εμβαδόν του κάθε ενός και την ετικέτα που έχει.} const pi=3.14; var aktina : real; etiketa : string[15]; begin {Εντολές εισαγωγής δεδομένων, υπολογισμού εμβαδού και εμφάνισης αποτελεσμάτων με βάση τον αλγόριθμο.} εντολή1; εντολή2; εντολή3; end.

Σκοπός μας είναι να μπορούμε γρήγορα να υλοποιήσουμε ένα απλό πρόγραμμα σε γλώσσα Pascal.

Εντολές εισόδου/εξόδου Με τις εντολές εισόδου (read ή readln) εισάγουμε δεδομένα στο πρόγραμμα μας από τη μια μονάδα εισόδου πχ πληκτρολόγιο. Με τις εντολές εξόδου (write ή writeln) εμφανίζουμε τα περιεχόμενα μεταβλητών ή σταθερών ή ένα μήνυμα σε μια μονάδα εξόδου πχ οθόνη. Στην πραγματικότητα οι εντολές read, readln, write και writeln είναι διαδικασίες (υποπρογράμματα) της Pascal που για πρακτικούς λόγους ονομάζονται εντολές. Οι εντολές read, readln, write και writeln χρησιμοποιούνται και για ανάγνωση/εγγραφή από αρχεία τα οποία είναι καταχωρημένα στο δίσκο.

Εντολή read Μορφή: read (παράμετρος1, παράμτρος2, ); Η διαδικασία read ακολουθείτε από μια ή περισσότερες παραμέτρους που χωρίζονται μεταξύ τους με κόμμα (,). Οι παράμετροι αυτές είναι ονόματα των διευθύνσεων της μνήμης δηλαδή μεταβλητές. Η διαδικασία read διαβάζει δεδομένα και τα αποθηκεύει στις μεταβλητές κατά την σειρά που αυτές είναι γραμμένες. Όταν γίνεται εισαγωγή αριθμητικών και μόνο δεδομένων και εφόσον αυτά είναι περισσότερα από ένα ανά γραμμή, πρέπει να χωρίζονται με ένα τουλάχιστον κενό. Η εκτέλεση της διαδικασίας τελειώνει όταν αποθηκευθεί τιμή και στην τελευταία μεταβλητή της λίστας των παραμέτρων.

Παράδειγμα χρήσης της read var a,b,c,d,e,g,x:integer; f:real; Εντολή Δεδομένα Περιεχόμενο μεταβλητών μετά την εκτέλεση read(x); 22 x=22 read(a,b,c); 33 44 55 a=33 b=44 c=55 read(d,e); 66 77 d=66 e=77 read(f,g); 11.99 21 31 41 51 f=11.99 g=21 read(x,a,d); x=31 a=41 d=51

Εντολή readln Μορφή: readln (παράμετρος1, παράμτρος2, ); Η διαδικασία readln διαβάζει δεδομένα με βάση όσα είπαμε για τη διαδικασία read και στη συνέχεια μεταφέρει τον έλεγχο στην επόμενη γραμμή. Όταν εμφανίζεται χωρίς παραμέτρους ( readln(); )έχει ως αποτέλεσμα να περνάει ο έλεγχος στην επόμενη γραμμή και έτσι αγνοούνται τα δεδομένα της τρέχουσας γραμμής.

Παράδειγμα χρήσης της readln readln(a); readln(c); readln(b); Εντολή Δεδομένα Περιεχόμενο μεταβλητών μετά την εκτέλεση 10 20 30 40 50 60 a=10 b=30 c=50 readln(a,b,c); readln(d,e); readln(a,b); readln(c,d); readln(e); readln(a); readln(b); readln(c,d,e); readln(a,b); readln(); readln(c); 10 20 30 40 50 60 10 20 30 40 50 60 10 20 30 40 50 60 10 20 30 40 50 60 a=10 b=20 c=30 d=50 e=60 a=1 b=20 c=30 d=40 e=50 a=10 b=30 c=50 d=60 e=? (Η εκτέλεση σταματάει) a=10 b=20 c=50

Εντολή write Μορφή: write(παράμετρος1, παράμετρος2, ); Οι παράμετροι μπορεί να είναι σταθερές, μεταβλητές ή εκφράσεις. Η τιμή κάθε παραμέτρου τυπώνεται στη γραμμή από αριστερά προς τα δεξιά με τη σειρά που εμφανίζονται. Εάν πρόκειται να γραφούν συμβολοσειρές σταθερών (μηνύματα), αυτές θα πρέπει να περιέχονται μεταξύ απλών εισαγωγικών (`). Καλό είναι να χρησιμοποιείται κατά την εισαγωγή δεδομένων πριν από την εντολή read ή readln ώστε να εμφανίζει στην οθόνη σχετικό μήνυμα για να καταλάβει ο χρήστης ποια είναι τα ζητούμενα δεδομένα.

Εντολή writeln Μορφή: writeln(παράμετρος1, παράμετρος2, ); Η διαδικασία writeln τυπώνει με βάση όσα είπαμε για τη διαδικασία write και στη συνέχεια η επόμενη εντολή εισόδου ή εξόδου εκτελείτε στην αρχή της επόμενης γραμμής. Όταν εμφανίζεται χωρίς παραμέτρους ( writeln(); ) έχει ως αποτέλεσμα να περνάει ο έλεγχος στην επόμενη γραμμή.

Παράδειγμα χρήσης της writeln Περιεχόμενα παραμέτρων Εντολή i=2 writeln(i); 2 writeln(`i=`,i); i=2 writeln(`error=`,i); writeln(`error Message`); la=`pascal` ty=`turbo` writeln(ty,` `,la); writeln(ty,la); writeln(); writeln(`language=`,la); Αποτέλεσμα Error=2 Error Message TURBO Pascal TURBOPASCAL language=pascal

Μορφοποίηση εκτύπωσης Για να έχουμε κενές γραμμές αρκεί να δώσουμε την εντολή writeln(); τόσες φορές όσες είναι οι κενές γραμμές που θέλουμε. Για δεδομένα τύπου ακέραιου ή αλφαριθμητικού: Μπορεί να ακολουθεί την παράμετρο που θέλουμε να τυπώσουμε, μια τιμή η οποία να δηλώνει το επιθυμητό εύρος εκτύπωσης της παραμέτρου αυτής. Η τιμή αυτή αναγράφεται μετά την άνω-κάτω τελεία (:). Παράδειγμα: write(metabliti:5); write(`αριθμός μητρώου`:25); Αν η τιμή αυτή είναι μεγαλύτερη από το μήκος της παραμέτρου που πρόκειται να τυπωθεί τότε εμφανίζονται κενά στην αριστερή πλευρά της παραμέτρου ώστε να συμπληρωθεί το επιθυμητό εύρος. Διαφορετικά αγνοείται. Η στοίχιση γίνεται από δεξιά.

Μορφοποίηση εκτύπωσης Μόνο για δεδομένα τύπου πραγματικού: Μπορεί να ακολουθεί την παράμετρο που θέλουμε να τυπώσουμε, δύο τιμές. Η πρώτη να δηλώνει το επιθυμητό εύρος εκτύπωσης της παραμέτρου αυτής και η δεύτερη το πλήθος των δεκαδικών ψηφίων. Με τον τρόπο αυτό κάνουμε στρογγυλοποίηση και ο αριθμός εμφανίζεται με τη γνωστή από τα Μαθηματικά, μορφή και όχι με την επιστημονική μορφή. Παράδειγμα write (3.14159265:10:4); Θα εμφανίσει ως αποτέλεσμα 3.1416 (4 κενά πριν από τον αριθμό).

Αντικατάσταση := Μορφή: μεταβλητή:=έκφραση Το περιεχόμενο την μνήμης που ορίζεται με το όνομα της μεταβλητής που βρίσκεται αριστερά του := αντικαθίσταται από την τιμή που ορίζεται από την έκφραση η οποία βρίσκεται δεξιά του := Αριστερά του := έχουμε πάντα μια μεταβλητή. Δεξιά του := μπορούμε να έχουμε μεταβλητή, σταθερή τιμή, αριθμητική έκφραση ή λογική έκφραση. Υπολογίζεται πρώτα η τιμή του δεξιού μέρους και στη συνέχεια αυτή αποθηκεύεται στην θέση μνήμης της μεταβλητής του αριστερού μέρους.

Παραδείγματα αντικατάστασης Εντολή Αποτέλεσμα x:=1; Η μεταβλητή x παίρνει την τιμή 1 Η μεταβλητή x μπορεί να είναι τύπου integer. x:=x+1; Η μεταβλητή x παίρνει την τιμή 1+1 δηλαδή 2. y:=(3*x+5)/(x+3); Η μεταβλητή y παίρνει την τιμή 11/5. Η μεταβλητή y πρέπει να είναι τύπου real. οnoma:=`αρησ`; H μεταβλητή onoma παίρνει την τιμή ΑΡΗΣ. Η μεταβλητή onoma πρέπει να είναι τύπου string. star:=`*`; H μεταβλητή star παίρνει την τιμή *. Η μεταβλητή star πρέπει να είναι τύπου string ή char.

Ακολουθία Ακολουθία είναι μια σειρά από εντολές οι οποίες εκτελούνται η μία μετά την άλλη. Οι εντολές τελειώνουν πάντα με ερωτηματικό (;).

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

Όχι Συνθήκη Ναι Εντολές Α Εντολές Β

Εντολή: if then Μορφή: if συνθήκη then εντολή; Αν η συνθήκη (λογική έκφραση) είναι αληθής, τότε εκτελείται η εντολή (-ες) που ακολουθεί (-ουν) το then. if a<0 then a:=-a;

Εντολή: if then else Μορφή: if συνθήκη then εντολή; else εντολή; Αν η συνθήκη (λογική έκφραση) είναι αληθής, τότε εκτελείται η εντολή (-ες) που ακολουθεί (-ουν) το then, αλλιώς εκτελείται η εντολή (-ες) που ακολουθεί (-ουν) το else. if diaireths<>0 then piliko:=diaireteos div diaireths; else write(`λαθοσ. Διαίρεση με το 0`);

Σύνθετη εντολή Αν μετά το then ή το else ακολουθούν περισσότερες από μια εντολές θεωρούμε ότι αποτελούν μια ακολουθία από εντολές. Τις εντολές αυτές τις βάζουμε μεταξύ των begin και end;. if sxima=`κύκλος` then Ακολουθία εντολών begin embadon:=pi*r*r; perimetros:=2*pi*r; end;

Φωλιασμένες if Όταν η εντολή που ακολουθεί το then ή το else είναι ξανά μια εντολή επιλογής (εντολή if) τότε λέμε ότι έχουμε φωλιά επιλογών ή φωλιασμένη (nested) επιλογή. if a=b then write(`a=b`); else if a<b then write(`a<b`); else write(`a>b`); 1 η if 2 η if

Εντολή: CASE Μορφή: case έκφραση of ετικέτα_1, ετικετα_2 : εντολή_1; ετικέτα_3 : εντολή_2; else εντολή_3 end; Επιλέγεται για εκτέλεση η εντολή που αντιστοιχεί στην ετικέτα που είναι ίση με την έκφραση. Όλες οι ετικέτες πρέπει να είναι του ίδιου τύπου με αυτόν της έκφρασης. Ως ετικέτα μπορεί να είναι μια τιμή (`α`) ή μια λίστα τιμών (1,3,5) ή μια περιοχή τιμών (1..10).

Εντολή: CASE Αν η έκφραση δεν ταιριάζει με καμία από τις ετικέτες τότε εκτελείται η εντολή που βρίσκεται μετά το else, εφόσον υπάρχει. Αν η έκφραση δεν ταιριάζει με καμία από τις ετικέτες και δεν υπάρχει else τότε δεν εκτελείται καμία εντολή. Αν θέλουμε να εκτελέσουμε παραπάνω από μία εντολές (σύνθετη εντολή) για κάποια ετικέτα, τότε τις εντολές αυτές τις βάζουμε μεταξύ begin και end; Ουσιαστικά, η εντολή case αντικαθιστά πολλές εντολές if then.

Παράδειγμα CASE case gramma of `x`: writeln(`πάτησες Χ`); `y`,`y`: writeln(`πάτησες y ή Y`); else: writeln(`δεν πάτησες ούτε x ούτε y ούτε Y`); end; case ekthetis of 0: a:=1; 2 : a:=a*a; 3 : a:=a*a*a; end;

Παράδειγμα CASE case sxima of `parallilogramo` : begin perimetros:=(a+b)*2; embadon:=a*b; end; `kiklos` : begin perimetros:=2*pi*r; embadon:=pi*r*r; end; end;

Παράδειγμα CASE case praksi of '*' : apotelesma:= number1 * number2; '/' : apotelesma := number1 / number2; '+' : apotelesma := number1 + number2; '-' : apotelesma := number1 - number2; else writeln(`λάθος πράξη!`); end;

Σκοπός μας είναι να κατανοήσουμε τη χρησιμότητα της δομής επανάληψης, που παρέχει ο προγραμματισμός

Τύποι επαναλήψεων Οι προκαθορισμένοι: Το πλήθος των επαναλήψεων είναι δεδομένο πριν αρχίσουν οι επαναλήψεις. Οι μη προκαθορισμένοι ή απροσδιόριστοι: Το πλήθος των επαναλήψεων καθορίζεται κατά τη διάρκεια της εκτέλεσης των εντολών της επανάληψης. Επαναλήψεις όπου οι εντολές που περιέχουν εκτελούνται τουλάχιστον μια φορά. Επαναλήψεις όπου οι εντολές που περιέχουν μπορεί, δεδομένης συνθήκης, να μην εκτελεστούν καθόλου.

Τύποι ελέγχου επαναλήψεων Μετρητής επαναλήψεων: Ένας μετρητής αυξάνει ή μειώνεται κατά τη διάρκεια της επανάληψης μέχρι να φτάσει σε μία καθορισμένη τιμή. (πχ από 1 μέχρι 100) Έλεγχος γεγονότος: Η επανάληψη συνεχίζεται μέχρι να συμβεί το γεγονός στη διάρκεια της επανάληψης. (πχ μέχρι ο χρήστης να πατήσει Ε) Προσοχή στις `αιώνιες` επαναλήψεις!!!!

Εντολές Συνθήκη Ναι Όχι

Εντολή WHILE Μορφή: while συνθήκη do εντολή; Χρησιμοποιείται για μη προκαθορισμένο αριθμό επαναλήψεων. Ο έλεγχος γίνεται πριν από την εκτέλεση των εντολών επανάληψης. Υπάρχει περίπτωση να μην εκτελεστούν οι εντολές επανάληψης ούτε μια φορά, εάν η συνθήκη δεν ικανοποιείται αρχικά. Το σώμα της while είναι μια εντολή. Διαφορετικά πρέπει να χρησιμοποιήσουμε begin end.

Παράδειγμα WHILE program trapeza; var ipolipo, analipsi : real; begin ipolipo:=1000; while ipolipo>0 do begin write(`δώσε ποσό ανάληψης`); read(`analipsi`); ipolipo:=ipolipo-analipsi; end; writeln(`νέο υπόλοιπο: `,ipolipo:1:2); end.

Εντολές Συνθήκη Όχι Ναι

Εντολή REPEAT - UNTIL Μορφή: repeat εντολη; εντολή; until συνθήκη; Χρησιμοποιείται για μη προκαθορισμένο αριθμό επαναλήψεων. Ο έλεγχος γίνεται μετά από την εκτέλεση των εντολών επανάληψης. Οι εντολές επανάληψης εκτελούνται ΤΟΥΛΑΧΙΣΤΟΝ μια φορά, ακόμα και αν η συνθήκη ικανοποιείται από την αρχή. Ανάμεσα στις λέξεις repeat και until μπορούμε να συμπεριλάβουμε πολλές εντολές χωρίς τη χρήση των begin και end.

Εντολή REPEAT - UNTIL program sum2; var orio, ar, sum: real; begin write(`δώσε το μέγιστο αριθμό: `); readln(orio); sum:=0; repeat write(`δώσε έναν αριθμό: `); readln(ar); sum:=sum+ar; until sum>orio; writeln(`το άθροισμα είναι `,sum:10:4); end.

REPEAT UNTIL vs WHILE Το while χρησιμοποιεί τη συνθήκη για να συνεχίσει να την επανάληψη ενώ το repeat - until για να τη σταματήσει. Επιλέγουμε repeat - until όταν οι εντολές επανάληψης εκτελούνται οπωσδήποτε τουλάχιστον μια φορά αλλιώς επιλέγουμε το while. Εάν μπορούμε να χρησιμοποιήσουμε και τις δύο τοτε: Χρησιμοποιούμε τη while όταν το πρόβλημα αναφέρεται στη συνέχεια της επανάληψης. Χρησιμοποιούμε τη repeat - until όταν το πρόβλημα αναφέρεται στη διακοπή της επανάληψης.

Για ν φορές επανάλαβε Εντολές

Εντολή FOR Μορφή: for metritis:=1 to n do εντολή; Χρησιμοποιείται για προκαθορισμένο αριθμό επαναλήψεων. Η αύξηση της μεταβλητής ελέγχου (metritis) γίνεται με βήμα την μονάδα δηλαδή κάθε φορά αυξάνει κατά 1. Υπάρχει περίπτωση να μην εκτελεστούν οι εντολές επανάληψης ούτε μια φορά, εάν η αρχική τιμή της μεταβλητής ελέγχου είναι μεγαλύτερη από την τελική. Η μεταβλητή ελέγχου μπορεί να είναι μια έκφραση οποιουδήποτε διατεταγμένου τύπου π.χ. Χαρακτήρα.

Εντολή FOR Υπάρχουν δύο μορφές της εντολής: Η μεταβλητή ελέγχου αυξάνεται (χρήση to) 1,2,3... Η μεταβλητή ελέγχου ελλατώνεται (χρήση downto) 5,4,3,2... Το σώμα της for είναι μια εντολή. Διαφορετικά πρέπει να χρησιμοποιήσουμε begin end. Η εντολή for, όπως και άλλες μορφές επανάληψης, μπορεί να είναι και σε φωλιά (η μία μέσα στην άλλη).

Εντολή FOR for metritis:=1 to 10 do writeln(metritis); for i:=10 downto 0 do begin write(i); write(`, `); end; for letter_:=`a` to `Z` do write(letter_);

Εντολή FOR for teleytaio_gramma:=`a` to `G` do begin for typose_gramma:=`a` to teleytaio_gramma do write(typose_gramma); writeln; end; Κάνε το ίδιο αλλά ανάποδα.