ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ:



Σχετικά έγγραφα
2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία:

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


ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

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

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

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

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

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

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

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

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

ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ ΘΕΩΡΙΑ

Πληροφορική ΙΙ. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

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

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

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

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

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

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

του προγράμματος diagrama_rohs.zip )

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο Αν χ και y μεταβλητές με τιμές 5 και 10 αντίστοιχα να εξηγηθούν οι ακόλουθες εντολές εξόδου.

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

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

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

Ανάπτυξη εφαρμογών/ Βασικές γνώσεις/ πρώτο θέμα ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΟΜΗΣ ΑΠΑΝΤΗΣΗΣ

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

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

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

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

Ας δούμε λίγο την θεωρία με την οποία ασχοληθήκαμε μέχρι τώρα.

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

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

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

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 18/02/2013 ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α

Β ΛΥΚΕΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΝΟΕΜΒΡΙΟΣ 2018

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

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Η Δομή Επανάληψης. Εισαγωγή στην δομή επανάληψης Χρονική διάρκεια: 3 διδακτικές ώρες

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

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

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

ΣΗΜΕΙΩΣΕΙΣ ΣΤΟ ΜΑΘΗΜΑ «ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΕ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ»

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005

Επικοινωνία:

ΠΕΚ ΠΕΙΡΑΙΑ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

Συντάχθηκε απο τον/την Administrator Δευτέρα, 22 Φεβρουάριος :11 - Τελευταία Ενημέρωση Παρασκευή, 26 Φεβρουάριος :52

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

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

ΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης

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

ΔΟΜΗ ΕΠΙΛΟΓΗΣ. Οι διάφορες εκδοχές της

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Διδακτική της Πληροφορικής ΙΙ

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

Παλλατίδειο ΓΕΛ Σιδηροκάστρου

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

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

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

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

ΠΕΚ ΤΡΙΠΟΛΗΣ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

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

Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

Πρόβλημα 37 / σελίδα 207

Ενδεικτικές Ερωτήσεις Θεωρίας

Εισαγωγή στην Αριθμητική Ανάλυση

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

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

ΠΡΟΣ: Τηλέφωνο: Ινστιτούτο Εκπαιδευτικής Πολιτικής ΚΟΙΝ.:

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ: «Υπολογιστικά Μαθηματικά Και Πληροφορική» Κατεύθυνση: «Τεχνολογίες Πληροφορικής Και Επικοινωνιών Στην Εκπαίδευση» ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: ΕΚΠΑΙΔΕΥΤΙΚΟ ΛΟΓΙΣΜΙΚΟ ΣΥΓΓΡΑΦΗΣ ΨΕΥΔΟΚΩΔΙΚΑ ΚΑΙ ΣΥΝΔΕΣΗ ΤΟΥ ΜΕ ΤΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ BASIC & PASCAL Επιβλέπων Καθηγητής Χ. Παναγιωτακόπουλος Γεώργιος Κ. Μπουζούκος ΜΑΙΟΣ 2008 Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 1

Διπλωματική εργασία Γ. Μπουζούκου 2

Εκπαιδευτικό Λογισμικό Ψευδοκώδικα και σύνδεσή του με τις γλώσσες προγραμματισμού Basic & Pascal Γεώργιος Κ. Μπουζούκος Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 3

Διπλωματική εργασία Γ. Μπουζούκου 4

Πρόλογος Η παρούσα διπλωματική εργασία με θέμα: «Εκπαιδευτικό Λογισμικό Συγγραφής Ψευδοκώδικα και Σύνδεσή του με τις Γλώσσες Προγραμματισμού Basic & Pascal» εκπονήθηκε στα πλαίσια του μεταπτυχιακού προγράμματος με τίτλο: «Υπολογιστικά Μαθηματικά και Πληροφορική» με κατεύθυνση στις «Τεχνολογίες Πληροφοριών στην Εκπαίδευση», του τμήματος Μαθηματικών του Πανεπιστημίου Πατρών. Αισθάνομαι την ανάγκη να ευχαριστήσω τον επιβλέποντα καθηγητή μου κ. Παναγιωτακόπουλο Χρήστο επίκουρο καθηγητή του Παιδαγωγικού Τμήματος καθώς και τα μέλη της επιτροπής κ. Ράγγο Όμηρο επίκουρο καθηγητή του τμήματος Μαθηματικών και Ζαγούρα Χαράλαμπο καθηγητή επίσης του τμήματος Μαθηματικών για την πολύτιμη βοήθεια που μου προσέφεραν όχι μόνο κατά τη συγγραφή της διπλωματικής μου εργασίας, αλλά και καθ όλη τη διάρκεια των μεταπτυχιακών σπουδών μου. Ιδιαιτέρα ευχαριστώ την οικογένεια μου και τους γονείς μου Κωνσταντίνο και Θεοδώρα, για τη συναισθηματική ενθάρρυνση και την οικονομική υποστήριξή τους στο πέρασμα όλων αυτών των ετών που διήρκησαν οι πανεπιστημιακές σπουδές μου. Τέλος θέλω να ευχαριστήσω τους καθηγητές μέσης εκπαίδευσης κ. Γιαννακόπουλο Νίκο και κ. Βασιλακόπουλο Φώτη για το χρόνο που διέθεσαν για την αξιολόγηση του λογισμικού, καθώς και το φίλο καθηγητή Φυσικής κ. Πολυδωρόπουλο Πολύδωρο για τη σημαντική βοήθειά του. Γεώργιος Κ. Μπουζούκος Μάιος 2008 Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 5

Διπλωματική εργασία Γ. Μπουζούκου 6

ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΛΗΨΗ...11 ΚΑΤΑΣΚΕΥΗ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΛΟΓΙΣΜΙΚΟΥ ΣΥΓΓΡΑΦΗΣ ΨΕΥΔΟΚΩΔΙΚΑ...13 ΕΙΣΑΓΩΓΗ...13 ΕΚΠΑΙΔΕΥΤΙΚΟ ΛΟΓΙΣΜΙΚΟ... 13 ΛΟΓΙΣΜΙΚΟ ΨΕΥΔΟΚΩΔΙΚΑ... 14 ΕΡΕΥΝΗΤΙΚΟ ΕΡΩΤΗΜΑ ΕΠΙΔΙΩΚΟΜΕΝΟΙ ΣΤΟΧΟΙ ΟΦΕΛΗ... 15 1. ΔΟΜΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ ΨΕΥΔΟΚΩΔΙΚΑ...17 1.1 Η HTML... 17 Γλώσσες Προγραμματισμού στο Internet...17 Δημιουργία αρχείων HTML...18 Το Μοντέλο Αντικειμένων της Δυναμικής HTML ( DHTML )...18 Οι Δυναμικές εφαρμογές του Web...19 Έγγραφα HTML ως συλλογή από αντικείμενα...20 Ανεξαρτησία γλώσσας στο Μοντέλο Αντικειμένων της DHTML...20 1.2 Η JAVASCRIPT... 21 1.3 Η VBSCRIPT... 22 ActiveX Scripting...22 Η VBScript σε άλλες εφαρμογές και BROWSERS...22 2. ΑΛΓΟΡΙΘΜΟΙ ΔΟΜΕΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ...23 2.1 ΑΛΓΟΡΙΘΜΟΙ... 23 Τα κριτήρια ή χαρακτηριστικά αλγορίθμων...23 Τρόποι αναπαράστασης αλγόριθμων...24 Το αλφάβητο της Γλώσσας...27 Σταθερές Μεταβλητές...28 Τύποι Δεδομένων...28 Αριθμητικοί Τελεστές...29 Συναρτήσεις...29 Αριθμητικές Εκφράσεις...30 Σχόλια...30 Εντολές Εισόδου Εξόδου...31 Εντολή Εκχώρησης Τιμής...31 Δομή Αλγορίθμου - Προγράμματος...33 Λογικές Συνθήκες (Εκφράσεις)...36 Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 7

2.2 ΒΑΣΙΚΕΣ ΑΛΓΟΡΙΘΜΙΚΕΣ ΔΟΜΕΣ... 38 Ακολουθία...38 Επιλογή...39 Επανάληψη...46 Δεδομένα...55 Πίνακες...57 Βασικές έννοιες πινάκων...57 2.3 ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ... 61 Χαρακτηριστικά των γλωσσών προγραμματισμού...61 Ιστορική αναδρομή...62 Γλώσσες υψηλού επιπέδου...62 Κατηγοριοποίηση γλωσσών προγραμματισμού...66 3. ΟΙ ΑΛΓΟΡΙΘΜΟΙ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ - ΠΩΣ ΚΑΤΑΣΚΕΥΑΣΤΗΚΕ...69 4. ΑΞΙΟΛΟΓΗΣΗ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΛΟΓΙΣΜΙΚΟΥ ΣΥΓΓΡΑΦΗΣ ΨΕΥΔΟΚΩΔΙΚΑ...81 4.1 ΑΞΙΟΛΟΓΗΣΗ ΑΠΟ ΤΗΝ ΠΛΕΥΡΑ ΤΩΝ ΜΑΘΗΤΩΝ... 82 Εγκατάσταση, λειτουργία και αξιολόγηση...82 4.1.1 ΑΞΙΟΛΟΓΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΑΠΟ ΤΗΝ ΠΛΕΥΡΑ ΤΩΝ ΜΑΘΗΤΩΝ... 88 Αποτελέσματα Αξιολόγησης από τους μαθητές...91 4.2 ΑΞΙΟΛΟΓΗΣΗ ΑΠΟ ΤΗΝ ΠΛΕΥΡΑ ΤΩΝ ΕΚΠΑΙΔΕΥΤΙΚΩΝ... 93 4.2.1 ΑΞΙΟΛΟΓΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΑΠΟ ΤΗΝ ΠΛΕΥΡΑ ΤΟΥ ΚΑΘΗΓΗΤΗ... 93 Συνεντεύξεις στα πλαίσια Αξιολόγησης από τους καθηγητές...98 4.3 ΣΥΜΠΕΡΑΣΜΑΤΑ... 101 5. ΟΔΗΓΟΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΛΟΓΙΣΜΙΚΟΥ ΣΥΓΓΡΑΦΗΣ ΨΕΥΔΟΚΩΔΙΚΑ..103 5.1 ΕΓΚΑΤΑΣΤΑΣΗ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ... 103 5.2 ΧΡΗΣΗ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ... 104 5.3 ΠΛΟΗΓΗΣΗ ΣΤΟ ΛΟΓΙΣΜΙΚΟ... 106 5.4 ΛΕΙΤΟΥΡΓΙΑ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ... 108 5.5 ΤΑ ΚΟΥΜΠΙΑ ΚΑΙ ΟΙ ΛΕΙΤΟΥΡΓΙΕΣ ΤΟΥΣ... 109 Το κουμπί «Παραδείγματα»...109 Το κουμπί «Βοήθεια»...113 Το κουμπί «Λεξικό εντολών»...116 Το κουμπί «Εκτέλεση»...122 Τα κουμπιά «Άνοιγμα» και «Αποθήκευση»...123 Το κουμπί «Εκτύπωση»...129 Τα κουμπιά «Κώδικας Basic» και «Κώδικας Pascal»...129 Διπλωματική εργασία Γ. Μπουζούκου 8

6. ΚΩΔΙΚΑΣ ΛΟΓΙΣΜΙΚΟΥ ΣΥΓΓΡΑΦΗΣ ΨΕΥΔΟΚΩΔΙΚΑ...131 6.1 ΚΩΔΙΚΑΣ VBSCRIPT... 131 6.2 ΚΩΔΙΚΑΣ JAVASCRIPT... 168 6.3 ΚΩΔΙΚΑΣ HTML... 169 ΒΙΒΛΙΟΓΡΑΦΙΑ...192 ΕΛΛΗΝΟΓΛΩΣΣΗ ΒΙΒΛΙΟΓΡΑΦΙΑ... 193 ΞΕΝΟΓΛΩΣΣΗ ΒΙΒΛΙΟΓΡΑΦΙΑ... 194 ΠΗΓΕΣ ΑΠΟ ΤΟ ΔΙΑΔΙΚΤΥΟ... 194 Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 9

Διπλωματική εργασία Γ. Μπουζούκου 10

ΠΕΡΙΛΗΨΗ Ζούμε στην εποχή της τεχνολογικής επανάστασης και όπως είναι αντιληπτό οι ηλεκτρονικοί υπολογιστές, το διαδίκτυο και οι νέες τεχνολογίες της πληροφορίας και επικοινωνίας αποτελούν σήμερα αναπόσπαστο σημείο της ζωής μας. Μια διάσταση της χρησιμότητάς τους είναι ότι μπορούν να χρησιμοποιηθούν ως μέσα ενίσχυσης της μάθησης μέσω του λογισμικού εφαρμογών, το οποίο χαρακτηρίζεται ως «εκπαιδευτικό λογισμικό». Στην παρούσα διπλωματική εργασία αφού αρχικά παραθέτουμε λίγα πράγματα γενικά για το εκπαιδευτικό λογισμικό, δηλαδή τι είναι, που αποσκοπεί και πως βοηθά στη διαδικασία της μάθησης, στη συνέχεια αναφερόμαστε αναλυτικά στο λογισμικό ψευδοκώδικα που κατασκευάσαμε, στη δομή του και αιτιολογούμε το γιατί την επιλέξαμε, σε ποιες σχολικές βαθμίδες-τάξεις αναφέρεται, στους επιδιωκόμενους στόχους και τα οφέλη από τη χρήση του. Στη συνέχεια αναφερόμαστε στον τρόπο κατασκευής της εφαρμογής και στις τεχνολογίες που χρησιμοποιήσαμε για τη δόμησή της, δηλαδή στις γλώσσες Html, Vbscript, JavaScript και στους λόγους για τους οποίους επιλέξαμε αυτές τις συγκεκριμένες γλώσσες. Ακολούθως αναφερόμαστε περιγραφικά στους αλγορίθμους, τους τρόπους με τους οποίους εκτελείται ένα πλήθος εντολών κάθε φορά, δηλαδή τις αλγοριθμικές δομές και στις γλώσσες προγραμματισμού που διευκολύνουν την ακριβή διατύπωση των αλγορίθμων, δίνοντας σε κάθε ενότητα αντίστοιχα παραδείγματα. Έπειτα και αφού ολοκληρώθηκε η κατασκευή του λογισμικού, κάνουμε μια πρώτη προσπάθεια αξιολόγησής του και εξαγωγής κάποιων συμπερασμάτων, που προέκυψαν από παρατηρήσεις κατά τη δοκιμή του σε μαθητές σε εργαστηριακό περιβάλλον, αλλά και από προσωπικές συνεντεύξεις σε καθηγητές μέσης εκπαίδευσης. Τέλος, παραθέτουμε σε δύο ξεχωριστά παραρτήματα έναν λεπτομερή οδηγό εγκατάστασης και χρήσης του λογισμικού ψευδοκώδικα (1 ο παράρτημα) και έπειτα τον πλήρη κώδικα της εφαρμογής (2 ο παράρτημα). Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 11

Διπλωματική εργασία Γ. Μπουζούκου 12

ΚΑΤΑΣΚΕΥΗ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΛΟΓΙΣΜΙΚΟΥ ΣΥΓΓΡΑΦΗΣ ΨΕΥΔΟΚΩΔΙΚΑ ΚΑΙ ΣΥΝΔΕΣΗ ΤΟΥ ΜΕ ΤΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ BASIC & PASCAL ΕΙΣΑΓΩΓΗ Εκπαιδευτικό Λογισμικό 1 Το λογισμικό αποτελεί βασικό χαρακτηριστικό για τη λειτουργία του ηλεκτρονικού υπολογιστή και διακρίνεται σε δύο μεγάλες κατηγορίες: στο λογισμικό συστήματος και στο λογισμικό εφαρμογών. Το εκπαιδευτικό λογισμικό που ανήκει στην κατηγορία του λογισμικού εφαρμογών, αποτελεί ένα μέσο διευκόλυνσης της μάθησης και επίτευξης καθορισμένων μαθησιακών στόχων που ποικίλουν ανάλογα με το αντικείμενο και τις ηλικίες των εκπαιδευομένων στους οποίους απευθύνεται. Ο βασικός σκοπός ύπαρξης του εκπαιδευτικού λογισμικού δεν είναι η αντικατάσταση του έντυπου βιβλίου ή εγχειριδίου με ένα ηλεκτρονικό που θα διαβάζεται από την οθόνη του υπολογιστή, αλλά η συμπλήρωση και ο εμπλουτισμός του διδακτικού υλικού. Γενικότερα συμβάλει: στη φιλικότερη, ελκυστικότερη, πλουσιότερη και πολύπλευρη παρουσίαση της ύλης, στη βιωματική προσέγγιση της γνώσης, στην ενεργοποίηση του μαθητή μέσα από δημιουργικές δραστηριότητες, πειραματισμό και διερεύνηση, στη συμπύκνωση πολλών μακροσκελών κειμένων σε οπτικοακουστικά μηνύματα με μεγάλη περιεκτικότητα πληροφορίας, στη μείωση του χρόνου που αφιερώνει ο μαθητής και του κόπου που καταβάλλει για την αφομοίωση της ύλης-περιεχομένου, στην προώθηση της συνεργατικής αλλά και της εξατομικευμένης μάθησης (οι μαθητές στο πλαίσιο κοινών δραστηριοτήτων μαθαίνουν να συνεργάζονται αλλά και ο κάθε μαθητής ξεχωριστά μπορεί να ακολουθήσει τους δικούς του ρυθμούς μάθησης). 1 Πηγή: «Το εκπαιδευτικό λογισμικό και η αξιολόγησή του», (2003) Χ. Παναγιωτακόπουλος, Χ.Πιερρακέας, Π.Πιντέλας - Κεφάλαιο 1 ο. Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 13

Ανάλογα με τη μορφή της χρήσης και τον εκπαιδευτικό στόχο, υπάρχουν έξι βασικοί τύποι εκπαιδευτικού λογισμικού: Εξάσκησης-εκγύμνασης Εκπαίδευσης-φροντιστηρίου Λύσης προβλημάτων Προσομοιώσεων Εκπαιδευτικών παιχνιδιών Μοντελοποίησης Λογισμικό ψευδοκώδικα Το παρόν εκπαιδευτικό λογισμικό είναι ένας συμβολομεταφραστής ψευδογλώσσας σε γλώσσα υπερκειμένου και η κύρια εργασία του είναι να εκτελεί προγράμματα ψευδογλώσσας καθώς επίσης να τα μετατρέπει και στις γνωστές γλώσσες προγραμματισμού Basic και Pascal. Η ψευδογλώσσα 2 ή αλλιώς ψευδοκώδικας είναι μια μη πραγματική γλώσσα προγραμματισμού αλλά μια υποθετική, οι εντολές της οποίας γράφονται στα ελληνικά. Είναι εργαλείο που χρησιμοποιείται από προγραμματιστές, κυρίως στα αρχικά στάδια της σχεδίασης και κατασκευής ενός προγράμματος. Με τον ψευδοκώδικα, τα βήματα μιας λύσης ή η μορφή ενός αλγόριθμου περιγράφονται με σύντομες και περιεκτικές προτάσεις που όμως υπακούουν σε μια τυποποίηση που πλησιάζει την τυποποίηση μιας γλώσσας προγραμματισμού. Η εκπαιδευτική αυτή εφαρμογή αν και αναφέρεται κυρίως στις τάξεις της Γ γυμνασίου, της Α λυκείου και στον A κύκλο των τεχνικών λυκείων όπου υπάρχουν στα σχολικά εγχειρίδια εναλλακτικά ως γλώσσες προγραμματισμού οι Basic & Pascal, έχει την δυνατότητα να οδηγήσει σε μια γενικότερη επανάσταση στη διδασκαλία του μαθήματος της πληροφορικής στην β βάθμια εκπαίδευση μετατρέποντας το μάθημα από αμιγώς θεωρητικό (ασκήσεις και θεωρία στον πίνακα) σε εργαστηριακό, αφού οι μαθητές κάθε φορά μπορούν να εκτελούν το ψευδοκώδικά τους (και όχι σε Basic και Pascal όπως συνηθίζεται ). Όπως είναι γνωστό, γενικά στην δευτεροβάθμια εκπαίδευση της Ελλάδας διδάσκεται ως γλώσσα προγραμματισμού η ψευδογλώσσα (ψευδοκώδικας) και τα προγράμματα που γράφουν οι μαθητές της τεχνολογικής κατεύθυνσης της Γ Λυκείου όταν εφαρμόζουν αλγόριθμους αλλά και τα θέματα των πανελλαδικών εξετάσεων στο σχετικό μάθημα ("Ανάπτυξη εφαρμογών σε Προγραμματιστικό Περιβάλλον"), γράφονται με τη χρήση της ψευδογλώσσας, που είναι και ο κύριος λόγος κατασκευής αυτού του λογισμικού (που στηρίζεται στη χρήση του ψευδοκώδικα). 2 Πηγή: http://el.wikipedia.org/wiki/ψευδοκώδικας Διπλωματική εργασία Γ. Μπουζούκου 14

Ερευνητικό ερώτημα επιδιωκόμενοι στόχοι οφέλη Η παρούσα εφαρμογή αποτελεί ένα δικτυακό εργαλείο ανοικτής εκπαίδευσης, που ως στόχο έχει να εισάγει τους μαθητές στην αλγοριθμική σκέψη και στην κατασκευή των αλγορίθμων για την επίλυση προβλημάτων καθώς και στις βασικές έννοιες του προγραμματισμού των ηλεκτρονικών υπολογιστών, χωρίς τη χρήση αυστηρής γλώσσας, αλλά της ψευδογλώσσας και των γενικών κανόνων της. Η δικτυακή μορφή του λογισμικού, εκτός από τη δυνατότητα που παρέχει για εύκολη επεξεργασία και περαιτέρω βελτίωση-ανάπτυξή του, απαλλάσσει τους μαθητές και γενικά όλους τους χρήστες από πιθανές δυσκολίες εγκατάστασης στους προσωπικούς υπολογιστές και θα μπορούσε να αποτελέσει μια μορφή για e-learning και εξάσκηση στη συγγραφή ψευδοκώδικα με εύκολη πρόσβαση από παντού για τον καθένα, που είναι εφικτή με ανάρτησή του από κάποιο φορέα στο διαδίκτυο. Πολλές φορές και μάλιστα στα σχολικά εγχειρίδια της πληροφορικής, οι εντολές του ψευδοκώδικα ακολουθούν μια τυποποίηση που πλησιάζει την τυποποίηση μιας γλώσσας προγραμματισμού. Σκοπός αυτής της εφαρμογής είναι η ανάπτυξη της αλγοριθμικής σκέψης μέσω της πρακτικής εξάσκησης και όχι η εκμάθηση μιας άλλης λιγότερο αυστηρής γλώσσας προγραμματισμού. Γι αυτό το λόγο, έχουν συμπεριληφθεί και προβλεφθεί πολλές διαφορετικές περιπτώσεις εντολών και δομών ψευδοκώδικα που διευκολύνουν την κατανόηση των αλγορίθμων από τους μαθητέςχρήστες. Τα οφέλη μιας τέτοιας διδακτικής προσέγγισης είναι σημαντικά 3 : Οι μαθητές μπορούν να βλέπουν άμεσα τα αποτελέσματα των προγραμμάτων που δημιουργούν και έτσι να τα κατανοούν καλύτερα και ευκολότερα. Οι καθηγητές μπορούν να ελέγχουν σε ελάχιστο χρόνο την ορθότητα ακόμα και των πιο μακροσκελών προγραμμάτων. Οι μαθητές-χρήστες που έχουν Η/Υ μπορούν και στο σπίτι να κάνουν εξάσκηση χρησιμοποιώντας το λογισμικό, αυξάνοντας με αυτόν τον τρόπο κατακόρυφα την αποδοτικότητα της μελέτης τους. Το εργαστήριο πληροφορικής αποκτά πλέον ζωτικό ρόλο. Πολλοί μαθητές ταυτόχρονα μπορούν να πειραματίζονται με δεδομένες ασκήσεις, μαθαίνοντας από τα λάθη τους. 3 Πηγή: http://www.spinet.gr/glossomatheia/ Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 15

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

1. ΔΟΜΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ ΨΕΥΔΟΚΩΔΙΚΑ Η εφαρμογή αυτή είναι στηριγμένη στις τεχνολογίες του διαδικτύου. Συγκεκριμένα οι τεχνολογίες που χρησιμοποιούνται είναι η γλώσσα HTML με όλα τα δυναμικά χαρακτηριστικά της Dynamic HTML (DHTML) κάνοντας χρήση αυτών με βάση της τεχνολογίες JavaScript και Vbscript. Επίσης για την διαχείριση των αρχείων χρησιμοποιούμε και τεχνολογία ActiveX. Για να μπορέσουμε να αναλύσουμε τον τρόπο σχεδίασης της εφαρμογής μας θεωρούμε απαραίτητο να αναφέρουμε τα βασικά χαρακτηριστικά των συγκεκριμένων τεχνολογιών. 1.1 Η HTML 4 H HTML είναι το ακρωνύμιο των λέξεων HyperText Markup Language (γλώσσα μορφοποίησης υπερκειμένου) και είναι η βασική γλώσσα δόμησης σελίδων του World Wide Web (ή απλά ιστού: Web). Είναι μία γλώσσα για υλοποίηση υπερκειμένων. Χρησιμοποιείται για να σημαίνει ένα τμήμα κειμένου και να το κάνει να εμφανίζεται καλύτερα. Επιτρέπει την ενσωμάτωση ήχου και εικόνων στις web σελίδες. Αρχικά είχε κατασκευασθεί με σκοπό μόνο την μορφοποίηση κειμένου, αλλά μεγάλωσε και ενσωμάτωσε σχεδιαστικές τεχνικές κ.α. Η γλώσσα χρησιμοποιεί ένα αριθμό από tags για την μορφοποίηση κειμένου, για την δημιουργία συνδέσμων (links) μετάβασης ανάμεσα των σελίδα, για την εισαγωγή εικόνων, ήχου κ.α. Όταν ένας Web Browser ανοίγει ένα αρχείο HTML τα στοιχεία (tags) μεταφράζονται σε κατάλληλα χαρακτηριστικά με αποτελέσματα στην εμφάνιση και στην λειτουργικότητα της συγκεκριμένης σελίδας. Γλώσσες Προγραμματισμού στο Internet Οι ενδογενείς αδυναμίες της HTML, μιας κατεξοχήν γλώσσας μορφοποίησης υπερκειμένου, σύντομα οδήγησαν στην ανάπτυξη γλωσσών προγραμματισμού στο Internet. Η χρήση των γλωσσών προγραμματισμού κρίθηκε απαραίτητη αφού η εξάπλωση του Internet και η χρήση των σελίδων HTML για αλληλεπίδραση με τους χρήστες (δυναμική αποστολή και λήψη δεδομένων) δεν μπορούσε να πραγματοποιηθεί μέσω της HTML. 4 Πηγή: Εργαστήριο Εφαρμογών Πληροφορικής στα ΜΜΕ. - Α.Π.Θ http://pacific.jour.auth.gr/html/ Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 17

Αρχικά, αναπτύχθηκε από την εταιρεία Netscape η γλώσσα JavaScript η οποία, όπως και η ΗTML μεταφράζεται από τον Web Browser κατά την εμφάνιση της σελίδας. H Microsoft ανέπτυξε απ' την πλευρά της μια δική της έκδοση της γλώσσας JavaScript την οποία ονόμασε JScript και μια έκδοση της γλώσσας Basic ειδικά για το Internet που ονόμασε VBScript. Έτσι πλέον με την χρήση των παραπάνω γλωσσών είναι δυνατό να ελεγχθούν και να προγραμματιστούν όλα σχεδόν τα αντικείμενα που μπορεί να περιέχει μία ιστοσελίδα και με τη χρήση είτε εντολών διαδικαστικού χαρακτήρα, είτε εντολών διακλάδωσης, όπως για παράδειγμα η δομή [if then else ]. Η χρήση τέτοιου είδους "προγραμμάτων" ή όπως ονομάζονται "scripts" είναι διαδικασία που έχει μεγάλες απαιτήσεις σε προγραμματισμό και απευθύνεται σε προγραμματιστές και μόνο. Δημιουργία αρχείων HTML Η δημιουργία αρχείων HTML είναι πολύ απλή. Αρκεί να τρέξουμε έναν οποιοδήποτε διορθωτή κειμένου text, όπως το Notepad (σημειωματάριο) των Windows, να γράψουμε τον κώδικα HTML που επιθυμούμε και να το αποθηκεύσουμε (σώσουμε) σε ένα αρχείο με κατάληξη.htm ή.html. Συνήθως αποθηκεύουμε με επέκταση.html όταν θα δημοσιεύσουμε τα αρχεία μας σε διακομιστή Unix. Αντίθετα ο εξυπηρετητής Windows NT/2000/2003 καταλαβαίνει τα αρχεία και σαν.htm και σαν.html. Το Μοντέλο Αντικειμένων της Δυναμικής HTML ( DHTML ) 5 Το γεγονός ότι η DHTML έχει κάτι που καλείται Μοντέλο Αντικειμένων (Object Model) μπορεί αρχικά να ακούγεται λίγο εντυπωσιακό αλλά στην πραγματικότητα είναι αρκετά απλό. Η χρήση του μοντέλου αντικειμένων σημαίνει ότι κοιτάμε σε κάτι που είμαστε αρκετά συνηθισμένοι και άνετοι με έναν νέο και πιο δυναμικό τρόπο. Το μοντέλο αντικειμένων (Object Model) είναι το αποτέλεσμα που προκύπτει αν διασπαστεί κάτι σε επιμέρους αντικείμενα. Σαν απόδειξη, αν έπρεπε να προσομοιώσουμε όλα τα κομμάτια ενός αυτοκινήτου μέσω αντικειμένων (το αντικείμενο της μηχανής, το αντικείμενο της μετάδοσης κτλ.) θα είχαμε ένα αυτοκίνητο μοντέλου αντικειμένων για την προσομοίωση. 5 Πηγή: Εργαστήριο Παράλληλης Κατανεμημένης Επεξεργασίας - Πανεπιστήμιο Μακεδονίας http://www.it.uom.gr/project/dhtml_jscripts/dhtml/kef3.htm Διπλωματική εργασία Γ. Μπουζούκου 18

Το μοντέλο αντικειμένων της DHTML εφαρμόζει την ίδια διαδικασία στον web browser και στις σελίδες HTML που αυτός περιέχει. Καθιστά δυνατή την πρόσβαση σε στοιχεία του browser, όπως η ιστορία του, καθώς και σε θέματα της σελίδας, όπως τα HTML στοιχεία που υλοποιούν την συγκεκριμένη σελίδα. Παρότι τα παραπάνω αποτελούν μια θετική εξέλιξη, υπάρχει η ανησυχία ότι το μοντέλο αντικειμένων που χρησιμοποιείται από τη Microsoft δεν θα είναι το ίδιο με άλλους φυλλομετρητές. Ένα από τα πιο δύσκολα θέματα εργασίας με τον Παγκόσμιο Ιστό (WWW) είναι η φαινομενική ατελείωτη απόκλιση προτύπων για την υλοποίηση διαφόρων ζητημάτων. Το WWW Consortium (W3C) προσπαθεί να εξασφαλίσει ότι αυτό δεν θα συμβεί με το μοντέλο αντικειμένων δημιουργώντας ένα πρότυπο - μοντέλο αντικειμένων- που καλείται W3C Document Object Model. Η Microsoft έχει καταστήσει σαφές ότι σκοπεύει να ακολουθήσει το συγκεκριμένο πρότυπο. Οι Δυναμικές εφαρμογές του Web 6 Όλοι μας θα έχουμε παρατηρήσει ότι όταν μπαίνουμε στο site ενός τουριστικού γραφείου, για παράδειγμα και καταχωρούμε τον επιθυμητό προορισμό, εμφανίζονται διαφορετικές ιστοσελίδες, με διαφορετικό κείμενο και διαφορετικές φωτογραφίες, ανάλογα με την καταχώρηση που έχουμε κάνει. Τα Web sites αυτού του είδους διαθέτουν μια εφαρμογή, που αποκαλείται εφαρμογή του Web (Web application), η οποία δέχεται τις αιτήσεις (requests) του χρήστη (επισκέπτη) του site και δημιουργεί μια απάντηση (response) που να ταιριάζει με το κάθε συγκεκριμένο ερώτημα (query) που υποβάλλεται. Επειδή η εφαρμογή του Web δημιουργεί αυτές τις ιστοσελίδες στον αέρα (on-the-fly), λέμε ότι επιστρέφει δυναμικό περιεχόμενο (dynamic content). Αυτό σημαίνει ότι η απόκριση απ αυτά τα sites, όπως είναι η εμφάνιση πληροφοριών για τα διάφορα τουριστικά μέρη, δημιουργείται δυναμικά κάθε φορά που καταχωρείται ένα συγκεκριμένο ερώτημα. Η DHTML συγκεντρώνει έναν αριθμό από τεχνολογίες ιστού που δουλεύουν μέσα από εύχρηστες κατασκευές. Επηρεαζόμενη από τις υπάρχουσες τεχνολογίες, όπως Cascading Style Sheets, ActiveX, Java Script και VBScript, η DHTML παρέχει ένα απίστευτα ποικίλο πεδίο εφαρμογών. Η DHTML ωστόσο αποτελεί κάτι περισσότερο από μια απλή κατηγορία για παλιά τεχνολογία. Με νέα χαρακτηριστικά, όπως δεσμευμένα δεδομένα και δεδομένα αντίληψης, η DHTML προσθέτει ένα επίπεδο επεκτασιμότητας το οποίο δεν ήταν προηγουμένως διαθέσιμο στον ιστό. 6 Πηγή: ΚΕΝΤΡΟ ΠΛΗ.ΝΕ.Τ. Ν. ΦΛΩΡΙΝΑΣ http://dide.flo.sch.gr/plinet/tutorials/tutorials-jsp-1-introductiion.html Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 19

Με βάση τα παραπάνω η DHTML είναι ένα αντικειμενικό μοντέλο το οποίο ανοίγει τα στοιχεία σε μια σελίδα του ιστού γράφοντας σ αυτή και χειρίζοντάς τη με τέτοιο τρόπο που πριν δεν ήταν ποτέ δυνατό. Βλέποντας έγγραφα HTML ως συλλογή από αντικείμενα 7 Ακόμη και ένα απλό έγγραφο HTML θα αποτελείται από δύο τμήματα : Την επικεφαλίδα <HEAD> Το σώμα <BODY> Το μοντέλο αντικειμένων της DHTML παρουσιάζει την HTML σελίδα και τον browser σαν μια μεγάλη συλλογή από αντικείμενα. Με αυτόν τον τρόπο μπορούμε να έχουμε πρόσβαση σε κάθε τμήμα της σελίδας που επιθυμούμε εισβάλλοντας στην συλλογή των αντικειμένων και ανακτώντας το τμήμα που θέλουμε. Σαν παράδειγμα το μοντέλο αντικειμένων της DHTML περιέχει ένα αντικείμενο που ονομάζεται body που επιτρέπει στους συγγραφείς σεναρίων να έχουν απ ευθείας πρόσβαση στα στοιχεία του σώματος (BODY) του εγγράφου. Επίσης περιέχει ένα αντικείμενο που ονομάζεται location που επιτρέπει προγραμματιστές σεναρίων να βρίσκουν πληροφορίες σχετικά με την σελίδα που έχουν δει πρόσφατα όπως το URL της ή το πρωτόκολλο που χρησιμοποιήθηκε. Ανεξαρτησία γλώσσας στο Μοντέλο Αντικειμένων της DHTML Το μοντέλο αντικειμένων είναι ένας σίγουρος τρόπος για να διασπάσουμε πολύπλοκα δεδομένα σε εύχρηστα κομμάτια, αλλά στο παρελθόν το μοντέλο αντικειμένων ήταν στενά συνδεδεμένο με μια συγκεκριμένη γλώσσα προγραμματισμού. Ένα από τα μεγάλα μειονεκτήματα ενός μοντέλου αντικειμένων όπως είναι το Microsoft Office Object Model, είναι η σύνδεση με μια συγκεκριμένη γλώσσα προγραμματισμού, που σ αυτήν την περίπτωση είναι η Visual Basic for Applications. (Γι αυτό δεν μπορούν να χρησιμοποιηθούν άλλες γλώσσες όπως Pascal, C, C++ ή Java). Αυτό δημιουργεί προβλήματα για δύο λόγους. Πρώτα ένα διαφορετικό μοντέλο αντικειμένων πρέπει να κατασκευαστεί για κάθε γλώσσα, που στην ουσία είναι η δημιουργία από την αρχή του ίδιου ακριβώς πράγματος. 7 Πηγή: Εργαστήριο Παράλληλης Κατανεμημένης Επεξεργασίας - Πανεπιστήμιο Μακεδονίας http://www.it.uom.gr/project/dhtml_jscripts/dhtml/kef3.htm#ανεξαρτησία Γλώσσας Στο Μοντέλο Αντικειμένων της DHTML Διπλωματική εργασία Γ. Μπουζούκου 20

Δεύτερον, ένα μοντέλο αντικειμένων που εξαρτάται από τη γλώσσα προγραμματισμού δίνει περισσότερη βάση στη γλώσσα που χρησιμοποιείται και όχι στο ίδιο το ερευνητικό έργο. Το μοντέλο αντικειμένων της DHTML προσπαθεί να αποτρέψει το συγκεκριμένο πρόβλημα με την μερική ανεξαρτησία από τις γλώσσες. Μπορούμε να έχουμε πρόσβαση στο μοντέλο αντικειμένων με VBscript όπως και με Javascript. Με λίγη περισσότερη εργασία έχουμε την ίδια χρήση από C++ ή από Java. Η παραπάνω ανεξαρτησία είναι ένας σημαντικός συντελεστής για την επιτυχία, γιατί δεν αναγκάζει τους κατασκευαστές να πάρουν τη δύσκολη απόφαση επιλέγοντας μία μόνο γλώσσα για την ανάπτυξη της DHTML. 1.2 Η JavaScript 8 Η JavaScript είναι μια γλώσσα συγγραφής σεναρίων (scripting language) που χρησιμοποιείται για να προσθέσει εφέ και διαλογικότητα (αλληλεπίδραση, διαδραστικότητα, interactivity) στις ιστοσελίδες μας και είναι ανταγωνιστική της γλώσσας προγραμματισμού VBScript. Δημιουργήθηκε από την εταιρεία Netscape και το αρχικό της όνομα ήταν LiveScript. Ο κώδικας της JavaScript γράφεται σε καθαρό κείμενο (ASCII μορφή) και ενσωματώνεται μέσα στον κώδικα της HTML, μπορεί δε να εκτελεστεί αμέσως ή όταν λαμβάνει χώρα ένα συμβάν (event). Δε γίνεται μεταγλώττιση (compilation) του κώδικα της JavaScript, αρκεί μόνο ο φυλλομετρητής (browser) να υποστηρίζει την JavaScript. Ο κώδικας της JavaScript περιέχεται ανάμεσα στα tags <script> και </script> και σαν χαρακτηριστικό (attribute) μπορούμε να χρησιμοποιήσουμε το type="text/javascript" ή το language="javascript". Μέσα σ' ένα αρχείο HTML μπορούμε να έχουμε όσα σύνολα tags <script> και </script> χρειαστούμε, είτε στο τμήμα head ή στο τμήμα body του εγγράφου. Η JavaScript όπως και η Vbscript χρησιμοποιεί όλες τις δυνατότητες των αντικειμένων της DHTML και μέσω αυτών μπορούν να αναπτυχθούν ολοκληρωμένες εφαρμογές πάνω σε μία ιστοσελίδα. 8 Πηγή: http://dide.flo.sch.gr/plinet/tutorials/tutorials-javascript.html Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 21

1.3 Η VBScript 9 Η VBScript είναι το νεότερο μέλος της οικογένειας των γλωσσών προγραμματισμού Visual Basic. Φέρνει την ενεργό γραφή σε μια μεγάλη ποικιλία από περιβάλλοντα, συμπεριλαμβανομένου και το Webclient Scripting στην έκδοση 3.0 του Microsoft Internet Explorer και το Webserver Scripting στην έκδοση 3.0 του Microsoft Information Server. Εφαρμόζεται έντονα για το προγραμματισμό δυναμικών ιστοσελίδων κάνοντας χρήση στα αντικείμενα της DHTML όπως η JavaScript αλλά και για το προγραμματισμό σημείων του λειτουργικού των WINDOWS αφού μέσω αυτής μπορούμε να δημιουργήσουμε scripts που ελέγχουν και διαχειρίζονται το λειτουργικό σύστημα των WINDOWS. ActiveX Scripting Η VBScript «μιλάει» και γενικά επικοινωνεί με τις εφαρμογές φιλοξενίας χρησιμοποιώντας ActiveX Scripting. Με την ActiveX Scripting οι ενδιαφερόμενοι και οι υπόλοιπες εφαρμογές φιλοξενίας δε χρειάζονται ειδική ολοκλήρωση του κώδικα για το κάθε τμήμα και περιεχόμενο του κειμένου. Η Microsoft δουλεύει με ποικίλες ομάδες του Internet με σκοπό να προσδιορίσει ένα σταθερό είδος ActiveX Scripting, τέτοιο ώστε οι μηχανές γραφής να μπορούν να είναι ευμετάβλητες και ελαστικές στη χρήση τους σε παγκόσμιο επίπεδο. Το ActiveX Scripting χρησιμοποιείται στο Microsoft Internet Explorer 3.0, στο Microsoft Internet Information Server 3.0 και τις μεταγενέστερες εκδόσεις τους. Η VBScript σε άλλες εφαρμογές και BROWSERS Αν ενδιαφερόμαστε να αναπτύξουμε ένα πρόγραμμα, μπορούμε να πάρουμε την ανάλογη άδεια εφαρμογής του VBScript χωρίς καμία χρέωση. Η Microsoft παρέχει δυαδικές εφαρμογές του VBScript για 32-bit Windows API, 16-bit Windows API και Macintosh. H VBScript και η ActiveX Scripting μπορούν επίσης να χρησιμοποιηθούν γενικότερα σαν μια γλώσσα γραφής και σε άλλες εφαρμογές και προγράμματα. 9 Πηγή: http://www.it.uom.gr/project/vbscript/15.htm Διπλωματική εργασία Γ. Μπουζούκου 22

2. ΑΛΓΟΡΙΘΜΟΙ ΔΟΜΕΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Το παρόν λογισμικό όπως προαναφέραμε στοχεύει στην ανάπτυξη δεξιοτήτων και ικανοτήτων αλγοριθμικής προσέγγισης μέσω της χρήσης του ψευδοκώδικα και δίνει τη δυνατότητα συγγραφής αλγορίθμων και μετατροπής αυτών στις γλώσσες Basic & Pascal. Γι αυτό το λόγο στο κομμάτι αυτό της εργασίας, κρίναμε σκόπιμο να αναφερθούμε συνοπτικά στους αλγορίθμους, στους τρόπους με τους οποίους εκτελείται ένα πλήθος εντολών κάθε φορά δηλαδή τις αλγοριθμικές δομές και στις γλώσσες προγραμματισμού που ως γνωστόν χρησιμοποιούνται για την ακριβή διατύπωση των αλγορίθμων, δίνοντας κάποια αντίστοιχα παραδείγματα. 2.1 Αλγόριθμοι 10 Η διαδικασία της επίλυσης ενός προβλήματος αποτελείται από μία πεπερασμένη ακολουθία βημάτων που μας οδηγούν στη λύση του. Η περιγραφή των βημάτων αυτών είναι ο αλγόριθμος. Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, με στόχο την επίλυση ενός προβλήματος. Τα κριτήρια ή χαρακτηριστικά ενός αλγορίθμου είναι τα εξής: Είσοδος (Input): Κάθε αλγόριθμος πρέπει να δέχεται ένα σύνολο μεταβλητών εισόδου (μπορεί να είναι και το κενό σύνολο), που αποτελούν τα δεδομένα του αλγορίθμου. Το κενό σύνολο σημαίνει ότι ο αλγόριθμος δημιουργεί τιμές μέσω συναρτήσεων ή μέσω εντολών. Έξοδος (Output): Σε κάθε αλγόριθμο αναμένεται κάποιο αποτέλεσμα, δηλαδή πρέπει να παρουσιάζονται μία ή περισσότερες μεταβλητές εξόδου. Το αποτέλεσμα αυτό μπορεί να είναι αξιοποιήσιμο από τον χρήστη ή από κάποιον άλλο αλγόριθμο. Περατότητα (finiteness): Κάθε αλγόριθμος πρέπει να προσδιορίζει τη λύση ενός προβλήματος μετά την εκτέλεση πεπερασμένου πλήθους εντολών. Υπολογιστική διαδικασία ονομάζεται μία διαδικασία που δεν τελειώνει μετά την εκτέλεση συγκεκριμένου πλήθους βημάτων-εντολών. Καθοριστικότητα (definiteness): Οι εντολές ενός αλγορίθμου θα πρέπει να είναι επακριβώς και αυστηρώς καθορισμένες, ώστε η εκτέλεσή τους να γίνεται χωρίς καμία αμφιβολία και χωρίς να χρειάζονται πρόσθετες πληροφορίες. 10 Πηγή: «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον», (1999) Κεφάλαιο 4 ο. Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 23

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

Στον ακόλουθο πίνακα 1 παρουσιάζονται τα σχήματα που χρησιμοποιούνται συνήθως σε ένα διάγραμμα ροής και η σημασία τους. Σύμβολο Σημασία Αρχή ή τέλος Εκτέλεση Πράξεων (υπολογισμός ή Επεξεργασία) Είσοδος ή έξοδος Ναι συνθήκη Όχι Έλεγχος Ροή εκτέλεσης διαδικασιών Έλεγχος και Πολλαπλή Επιλογή Πίνακας 1 Κωδικοποίηση Είναι μια μορφή προγράμματος, που όταν εκτελείται παράγει τα ίδια αποτελέσματα με τον αλγόριθμο. Για την κωδικοποίηση του αλγορίθμου χρησιμοποιείται μία αλγοριθμική γλώσσα που μοιάζει με την καθημερινή γλώσσα και λέγεται ψευδογλώσσα. Η ψευδογλώσσα χρησιμοποιεί συγκεκριμένες λέξεις, με αυστηρά καθορισμένη σημασία και τρόπο χρήσης. Οι λέξεις αυτές ονομάζονται δεσμευμένες λέξεις. Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 25

Παράδειγμα Εύρεση ελαχίστου μεταξύ τριών αριθμών και παρουσίαση με τους τέσσερις τρόπους παρουσίασης α) Ελεύθερο κείμενο Πάρε τον πρώτο αριθμό και θεώρησέ τον ελάχιστο. Κατόπιν σύγκρινε κάθε έναν από τους υπόλοιπους με τον ελάχιστο. Κάθε φορά που θα βρίσκεις κάποιον μικρότερο από τον ελάχιστο, κάνε αυτόν ελάχιστο, μέχρι να τελειώσουν οι τρεις αριθμοί. β) Φυσική γλώσσα με βήματα 1. Βάλε στο ελάχιστο τον πρώτο αριθμό Α 2. Εξέτασε επόμενο αριθμό Β 3. Αν Β μικρότερος από τον ελάχιστο, τότε βάλε στο ελάχιστο το Β 4. Εξέτασε επόμενο αριθμό Γ 5. Αν Γ μικρότερος από τον ελάχιστο, τότε βάλε στο ελάχιστο το Γ 6. Εμφάνισε ελάχιστο. γ) Ψευδογλώσσα Αλγόριθμος ελάχιστος_αριθμός Αρχή Διάβασε τους αριθμούς α, β, γ Θέσε το ΜΙΝ ίσο με το α Αν β<μιν τότε θέσε το ΜΙΝ ίσο με το β Αν γ<μιν τότε θέσε το ΜΙΝ ίσο με το γ Εμφάνισε το ΜΙΝ Τέλος Και εδώ όπως και στο ακόλουθο διάγραμμα ροής χρησιμοποιήσαμε καταχρηστικά λέξεις ή σύμβολα όπως την βάλε ή την ίσο με που στην πορεία θα αντικατασταθούν από κατάλληλα σύμβολα. Διπλωματική εργασία Γ. Μπουζούκου 26

δ) Διάγραμμα ροής Αρχή Διάβασε α, β, γ Βάλε το min στο α Στο διάγραμμα ροής χρησιμοποιήσαμε καταχρηστικά λέξεις ή σύμβολα όπως την βάλε ή το = που στην πορεία θα αντικατασταθούν από κατάλληλα σύμβολα. β<min MIN=β γ<μιν MIN=γ Εμφάνισε ΜΙΝ Τέλος Το αλφάβητο της Γλώσσας Χρησιμοποιώντας κωδικοποίηση, δηλαδή ψευδογλώσσα για την αναπαράσταση ενός αλγορίθμου μπορούμε να γράψουμε λέξεις, έννοιες, εντολές, προτάσεις με τα ακόλουθα στοιχεία, τα οποία αποτελούν το αλφάβητο της γλώσσας: Γράμματα, κεφαλαία και πεζά, του ελληνικού και του λατινικού αλφαβήτου. Ψηφία, του δεκαδικού συστήματος (από 0 ως και 9). Ειδικούς χαρακτήρες, δηλαδή σύμβολα όπως _,. /? + = -! * ( ) κλπ. Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 27

Σταθερές Μεταβλητές 11 Σε έναν αλγόριθμο χρησιμοποιούνται μεταβλητές και σταθερές. Σταθερά μεγέθη ή Σταθερές ονομάζονται εκείνα τα μεγέθη των οποίων η τιμή δεν αλλάζει κατά την εκτέλεση ενός αλγορίθμου, δηλαδή έχουν προκαθορισμένες τιμές. Μεταβλητά μεγέθη ή μεταβλητές ονομάζονται εκείνα τα μεγέθη που η τιμή τους αλλάζει κατά την εκτέλεση του αλγορίθμου. Όνομα της μεταβλητής ή της σταθεράς, ονομάζεται το σύμβολο ή η λέξη με το οποίο την παριστάνουμε. Τα ονόματα μπορούν να αποτελούνται από γράμματα και ψηφία, ενώ το μόνο σύμβολο που μπορούμε να χρησιμοποιήσουμε είναι η κάτω παύλα (_). Σαν ονόματα δεν μπορούν να χρησιμοποιηθούν λέξεις με προκαθορισμένη σημασία, δηλαδή οι δεσμευμένες λέξεις. Επίσης κάθε όνομα μεταβλητής ή σταθεράς πρέπει να αρχίζει οπωσδήποτε με γράμμα. Τύποι Δεδομένων Οι σταθερές και οι μεταβλητές ανήκουν σε κάποιον τύπο δεδομένων, που καθορίζει το σύνολο τιμών της σταθεράς ή της μεταβλητής. Οι τύποι είναι: ακέραιος, πραγματικός, χαρακτήρας ή αλφαριθμητικός και λογικός. Για να αναπτύξουμε πολύπλοκους αλγόριθμους, μπορούμε να ορίσουμε νέους τύπους δεδομένων (δομές δεδομένων). Τα μεγέθη, των οποίων οι τιμές τους είναι λέξεις ή κείμενα ή σύμβολα ή συνδυασμοί τους, δηλώνονται σαν χαρακτήρες ή αλφαριθμητικοί. Οι τιμές των χαρακτήρων βρίσκονται μέσα σε εισαγωγικά, δηλαδή π.χ. Γιακουμής Τα μεγέθη, των οποίων οι τιμές τους είναι ακέραιοι αριθμοί, δηλώνονται σαν ακέραιοι. Τα μεγέθη, των οποίων οι τιμές τους είναι πραγματικοί αριθμοί, δηλώνονται σαν πραγματικοί. Τα μεγέθη, των οποίων οι δυνατές τιμές τους είναι αληθής (true) ή ψευδής (false), δηλώνονται ως λογικές. 11 Πηγή σελίδων εργασίας 28-37: «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον», (2004) Κεφάλαιο 7 ο. Διπλωματική εργασία Γ. Μπουζούκου 28

Αριθμητικοί Τελεστές Οι αριθμητικοί τελεστές και οι πράξεις που συμβολίζουν, είναι οι ακόλουθοι: Πράξη Σύμβολο Πρόσθεση + Αφαίρεση - Πολλαπλασιασμός * Διαίρεση / Δύναμη Ακέραιο Πηλίκο Ακέραιο Υπόλοιπο ^ div mod Στο σημείο αυτό θα πρέπει να τονισθεί η ιδιαίτερη σημασία των τελεστών mod και div. Ο mod παριστάνει το ακέραιο υπόλοιπο μιας διαίρεσης, οπότε γράφοντας Α mod Β, εννοούμε σαν αποτέλεσμα της πράξης αυτής, το ακέραιο υπόλοιπο της διαίρεσης του Α προς το Β. Π.χ. 10 mod 3, δίνει σαν αποτέλεσμα 1 που είναι το ακέραιο υπόλοιπο της διαίρεσης του 10 με το 3. Ο div παριστάνει το ακέραιο πηλίκο μιας διαίρεσης, οπότε γράφοντας Α div Β, εννοούμε σαν αποτέλεσμα της πράξης αυτής, το ακέραιο πηλίκο της διαίρεσης του Α προς το Β. Π.χ. 14 div 3, δίνει σαν αποτέλεσμα 4 που είναι το ακέραιο πηλίκο της διαίρεσης του 14 με το 3. Ειδικά το mod χρησιμοποιείται για να διαπιστώσουμε αν ένας ακέραιος αριθμός είναι άρτιος ή περιττός. Επειδή το ακέραιο υπόλοιπο της διαίρεσης ενός αριθμού με το 2 είναι 0 ή 1, χρησιμοποιούμε την ιδιότητα αυτή για να κάνουμε την παραπάνω διαπίστωση. Δηλαδή αν Α mod 2 δίνει σαν αποτέλεσμα 0, τότε ο αριθμός Α είναι άρτιος, ενώ αν Α mod 2 δίνει σαν αποτέλεσμα 1, τότε ο αριθμός Α είναι περιττός. Συναρτήσεις Οι συναρτήσεις που μπορούμε να χρησιμοποιήσουμε είναι οι ακόλουθες: Τετραγωνική ρίζα, ημίτονο, συνημίτονο, εφαπτομένη, απόλυτη τιμή όπως βλέπουμε και στον παρακάτω πίνακα. Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 29

Συνάρτηση Τετραγωνική ρίζα Ημίτονο Συνημίτονο Εφαπτομένη Λογάριθμος e x Ακέραιο μέρος Απόλυτη τιμή Συμβολισμός Τ_Ρ(Χ) ΗΜ(Χ) ΣΥΝ(Χ) ΕΦ(Χ) ΛΟΓ(Χ) Ε(Χ) Α_Μ(Χ) Α_Τ(Χ) Αριθμητικές Εκφράσεις Μια αριθμητική έκφραση περιλαμβάνει αριθμούς (ακέραιους ή πραγματικούς), σταθερές, μεταβλητές, συναρτήσεις, αριθμητικούς τελεστές και παρενθέσεις. Οι εκφράσεις αυτές αποδίδουν κάποιο αποτέλεσμα μετά το τέλος των πράξεων. Οι πράξεις που εμφανίζονται σε μία αριθμητική έκφραση ακολουθούν μία συγκεκριμένη σειρά, που δεν είναι άλλη από την γνωστή μας από τα μαθηματικά προτεραιότητα: 1. Δυνάμεις 2. Πολλαπλασιασμοί και διαιρέσεις 3. Προσθέσεις και αφαιρέσεις Η παραπάνω σειρά αλλάζει αν παρεμβάλλονται παρενθέσεις. Π.χ. Η αριθμητική έκφραση: 5*Α^2+22/Χ-4*Κ-8 στα μαθηματικά σημαίνει 2 22 5A 4K 8. X Ενώ αν είχαμε χρησιμοποιήσει παρενθέσεις στην αριθμητική έκφραση: 2 5A 22 (5*Α^2+22)/(Χ-4*Κ-8) στα μαθηματικά θα σήμαινε X 4K 8. Σχόλια Τα σχόλια χρησιμοποιούνται ώστε να δίνονται επεξηγήσεις σε αυτόν που διαβάζει τον αλγόριθμο, ενώ δεν αποτελούν εντολές του αλγορίθμου. Για τον διαχωρισμό τους από τις κανονικές εντολές χρησιμοποιείται το σύμβολο των εισαγωγικών ( " ). Π.χ. εμφάνισε " O μέσος όρος είναι: ", ΜΟ Διπλωματική εργασία Γ. Μπουζούκου 30

Εντολές Εισόδου Εξόδου Όπως προαναφέραμε δύο από τα βασικά χαρακτηριστικά ενός αλγορίθμου είναι η είσοδος και η έξοδος. Η είσοδος υλοποιείται από την εντολή Διάβασε. Όταν ο αλγόριθμος συναντήσει την εντολή Διάβασε σταματά και περιμένει είσοδο τιμών από το πληκτρολόγιο. Η γενική μορφή της εντολής Διάβασε είναι: Διάβασε ονόματα μεταβλητών Π.χ. Διάβασε x, y Μετά την παραπάνω εντολή οι τιμές των μεταβλητών x, y είναι αυτές που δίνει ο χρήστης. Η έξοδος υλοποιείται από τις εντολές Εμφάνισε ή Τύπωσε ή Γράψε. Όταν ο αλγόριθμος συναντήσει μια από τις παραπάνω εντολές τυπώνει στην οθόνη ότι ορίζει η εντολή. Η γενική μορφή των παραπάνω εντολών είναι: Εμφάνισε μηνύματα, τιμές, ονόματα μεταβλητών ή σταθερών Η σειρά και το πλήθος των ορισμάτων, μηνύματα, τιμές, ονόματα μεταβλητών ή σταθερών, δεν είναι υποχρεωτική. Π.χ. Εμφάνισε "Η ηλικία του Κώστα είναι:", ηλικία Αν η αριθμητική τιμή της μεταβλητής ηλικία είναι 45 τότε στην οθόνη του υπολογιστή μας θα εμφανιστεί Η ηλικία του Κώστα είναι: 45 Εντολή Εκχώρησης Τιμής Η εντολή που αποδίδει τιμή σε μία μεταβλητή όταν εκτελείται ένας αλγόριθμος, ονομάζεται εντολή εκχώρησης και συμβολίζεται με το βελάκι. Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 31

Θα πρέπει να προσέξουμε το γεγονός ότι η σημασία του συμβόλου δεν είναι η γνωστή μαθηματική ισότητα. Η λειτουργία του είναι δυναμική. Αριστερά βρίσκεται μία μεταβλητή με άγνωστη τιμή και δεξιά μία παράσταση που αποτελείται από αριθμούς, σταθερές και μεταβλητές με γνωστή τιμή. Π.χ. Χ 5 Α 4*Χ Β Α-7 Υ Β^2 Στην πρώτη γραμμή εκχωρείται στο Χ η τιμή 5, δηλαδή το Χ πλέον έχει λάβει την τιμή 5. Στην δεύτερη γραμμή εκχωρείται στο Α το τετραπλάσιο της τιμής του Χ, δηλαδή 4*5=20, άρα το Α έχει λάβει την τιμή 20. Στην τρίτη γραμμή εκχωρείται στο Β η τιμή του Α μείον 7, δηλαδή 20-7=13, άρα το Β έχει λάβει την τιμή 13. Στην τέταρτη γραμμή εκχωρείται στο Υ η τιμή του Β υψωμένη στο τετράγωνο, δηλαδή 13*13=169, άρα το Υ έχει λάβει την τιμή 169. Σε μία εντολή εκχώρησης είναι δυνατό η παράσταση, η τιμή της οποίας εκχωρείται σε μία μεταβλητή, να περιέχει τη μεταβλητή αυτή. Αυτό σημαίνει ότι εκχωρεί στη μεταβλητή μία τιμή που εξαρτάται από την τρέχουσα τιμή της. Έτσι η εντολή εκχώρησης: Α Α+2 προσθέτει στην αρχική τιμή της μεταβλητής Α το 2. Η εντολή εκχώρησης δεν μπορεί να έχει στο αριστερό μέρος παράσταση. Έτσι η εντολή εκχώρησης 2*Α 3*Α+2 δεν είναι αποδεκτή. Το σύμβολο δεν έχει την σημασία που έχει η ισότητα στα μαθηματικά. Π.χ. η έκφραση Α=Α+2 είναι μαθηματικά αδύνατη γιατί δίνει 0=2 Όταν σε μία ομάδα εντολών υπάρχουν περισσότερες από μία εκχωρήσεις στην ίδια μεταβλητή, η τελική τιμή της είναι αυτή που εκχωρείται τελευταία. Π.χ. Α 5 Α 41 Τύπωσε Α * Το σύμβολο εισάγεται στο λογισμικό με πληκτρολόγηση του συμβόλου του μικρότερου < ακολουθούμενο από μια παύλα, χωρίς κενό ενδιάμεσα. Διπλωματική εργασία Γ. Μπουζούκου 32

Στην παραπάνω ομάδα εντολών η τελική τιμή του Α είναι 41, άρα στην οθόνη εμφανίζεται το 41. Αν θέλαμε να εμφανίζαμε όλες τις τιμές (και τις ενδιάμεσες), η ομάδα εντολών θα είχε ως εξής: Α 5 Τύπωσε Α Α 41 Τύπωσε Α Πρέπει επίσης να προσέχουμε τα ακόλουθα δύο σημεία σχετικά με τις εντολές εκχώρησης: 1. Για να είναι δυνατή η εκτέλεση μίας εντολής, θα πρέπει όλες οι μεταβλητές του δεξιού μέρους να έχουν τιμή, να μην είναι απροσδιόριστες. 2. Με το τέλος του αλγορίθμου πρέπει τα αποτελέσματα να έχουν τιμή, σαν αποτέλεσμα εντολών εκχώρησης. Δομή Αλγορίθμου - Προγράμματος Ο αλγόριθμος ή το πρόγραμμα αντίστοιχα, είναι πλέον έτοιμος να κατασκευαστεί. Αυτό που πρέπει να συμβεί στην συνέχεια, είναι να ακολουθηθούν οι κανόνες δόμησής του. Η πρώτη εντολή σε έναν αλγόριθμο-πρόγραμμα είναι η δεσμευμένη λέξη αλγόριθμος (πρόγραμμα) και κατόπιν το όνομά του, που αποτελούν την επικεφαλίδα. Εδώ θα πρέπει να υπενθυμίσουμε ότι το όνομα πρέπει να ξεκινά από χαρακτήρα (γράμμα του ελληνικού ή του λατινικού αλφαβήτου) και μπορεί να περιλαμβάνει αριθμούς, ενώ το μόνο σύμβολο που μπορεί να περιέχει είναι η κάτω παύλα (_). Η γενική μορφή της επικεφαλίδας είναι: αλγόριθμος όνομα_αλγορίθμου ή πρόγραμμα όνομα_προγράμματος Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 33

Κατόπιν ακολουθεί το τμήμα δηλώσεων των σταθερών (αν αυτές υπάρχουν) και των μεταβλητών. Οι σταθερές και οι μεταβλητές δηλώνονται ως εξής: Πρώτα γράφουμε την δεσμευμένη λέξη σταθερές και κατόπιν ακολουθούν τα ονόματά τους και η τιμή την οποία θα έχει η κάθε μία από αυτές. Στην συνέχεια γράφουμε την δεσμευμένη λέξη μεταβλητές και κατόπιν ακολουθούν οι τύποι τους (σύνολο τιμών τους) και τα ονόματά τους. Η γενική μορφή του τμήματος δηλώσεων είναι: ΣΤΑΘΕΡΕΣ ΣΤΑΘΕΡΑ_1=ΤΙΜΗ_1 ΣΤΑΘΕΡΑ_Ν=ΤΙΜΗ_Ν ΜΕΤΑΒΛΗΤΕΣ Τυπος_1: ονόματα Τυπος_2: ονόματα Τύπος_3: ονόματα Τύπος_4: ονόματα Τέλος, ακολουθεί το κύριο μέρος του προγράμματος-αλγορίθμου, το οποίο περιέχει όλες τις εκτελέσιμες εντολές. Το κύριο μέρος ξεκινά από τη δεσμευμένη λέξη αρχή και καταλήγει στην επίσης δεσμευμένη λέξη τέλος και ακολουθεί το όνομα του αλγορίθμου (ή ξεκινά με αρχή και καταλήγει σε τέλος_προγράμματος όνομα_προγράμματος αντίστοιχα). Η γενική μορφή του κυρίου μέρους είναι: αρχή εντολές τέλος όνομα_αλγορίθμου ή αρχή εντολές τέλος_προγράμματος όνομα_προγράμματος Οπότε η γενική δομή ενός προγράμματος-αλγορίθμου, είναι η ακόλουθη: αλγόριθμος όνομα_αλγορίθμου Διπλωματική εργασία Γ. Μπουζούκου 34

ΣΤΑΘΕΡΕΣ ΣΤΑΘΕΡΑ_1=ΤΙΜΗ_1 ΣΤΑΘΕΡΑ_Ν=ΤΙΜΗ_Ν ΜΕΤΑΒΛΗΤΕΣ Τύπος_1: ονόματα Τύπος_2: ονόματα Τύπος_3: ονόματα Τύπος_4: ονόματα αρχή εντολές τέλος όνομα_αλγορίθμου ή πρόγραμμα όνομα_προγράμματος ΣΤΑΘΕΡΕΣ ΣΤΑΘΕΡΑ_1=ΤΙΜΗ_1 ΣΤΑΘΕΡΑ_Ν=ΤΙΜΗ_Ν ΜΕΤΑΒΛΗΤΕΣ Τυπος_1: ονόματα Τυπος_2: ονόματα Τύπος_3: ονόματα Τύπος_4: ονόματα αρχή εντολές τέλος_προγράμματος όνομα_προγράμματος Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 35

Λογικές Συνθήκες (Εκφράσεις) Τελεστές σύγκρισης Μία συνθήκη ή έκφραση συγκρίνει δύο τιμές και επιστρέφει μία λογική τιμή που είναι: αληθής (true), που σημαίνει ότι η συνθήκη ισχύει ή ψευδής (false), που σημαίνει ότι η συνθήκη δεν ισχύει. Οι συνθήκες διατυπώνονται μέσω των τελεστών σύγκρισης. Οι τελεστές σύγκρισης είναι οι παρακάτω: Τελεστής Σημασία = ίσο > μεγαλύτερο < μικρότερο <= μικρότερο ή ίσο >= μεγαλύτερο ή ίσο <> διάφορο. Παράδειγμα: Η συνθήκη Α>5 είναι αληθής αν Α=8 (δηλαδή ισχύει) και ψευδής αν Α=2 (δηλαδή δεν ισχύει). Λογικές Πράξεις Υπάρχουν, όμως, και πιο σύνθετες συνθήκες που για να τις εκφράσουμε θα πρέπει να χρησιμοποιήσουμε τις λογικές (boolean) πράξεις: άρνηση (όχι-not), διάζευξη (ή-or) και σύζευξη (και-and). Άρνηση Η λογική πράξη της άρνησης υλοποιείται με τη δεσμευμένη λέξη όχι (NOT). Το αποτέλεσμα της άρνησης είναι το λογικό αντίστροφο της αρχικής λογικής τιμής. Δηλαδή, αν η αρχική λογική συνθήκη είναι αληθής, η άρνηση της είναι ψευδής και αντιστρόφως. Σύζευξη Η λογική πράξη της σύζευξης υλοποιείται με τη δεσμευμένη λέξη και (AND). Το αποτέλεσμα της σύζευξης μεταξύ δύο λογικών συνθηκών είναι αληθές, αν και οι δύο λογικές συνθήκες είναι αληθείς, ενώ είναι ψευδές σε κάθε άλλη περίπτωση. Διπλωματική εργασία Γ. Μπουζούκου 36

Διάζευξη Η λογική πράξη της διάζευξης υλοποιείται με τη δεσμευμένη λέξη ή (OR). Το αποτέλεσμα της διάζευξης μεταξύ δύο λογικών συνθηκών είναι ψευδές, αν και οι δύο λογικές συνθήκες είναι ψευδείς, ενώ είναι αληθές σε κάθε άλλη περίπτωση. ΣΥΝΘΗΚΗ Α ΣΥΝΘΗΚΗ Β Α ή Β (Διάζευξη) Α και Β (Σύζευξη) Όχι Α (Άρνηση) Ψευδής Ψευδής Ψευδής Ψευδής Αληθής Ψευδής Αληθής Αληθής Ψευδής Αληθής Αληθής Ψευδής Αληθής Ψευδής Ψευδής Αληθής Αληθής Αληθής Αληθής Ψευδής Σε μία συνθήκη μπορούμε επίσης να συνδυάσουμε δύο ή περισσότερες λογικές πράξεις. Στην περίπτωση αυτή η προτεραιότητα των πράξεων είναι: 1) NOT, 2) AND και 3) OR. Η σειρά αυτή μπορεί να αλλάξει χρησιμοποιώντας παρενθέσεις. Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 37

2.2 Βασικές Αλγοριθμικές Δομές 12 Αλγοριθμική δομή είναι ο τρόπος με τον οποίο εκτελείται ένα συγκεκριμένο πλήθος εντολών ενός αλγορίθμου. Οι βασικές αλγοριθμικές δομές είναι τρεις: η ακολουθία, η επιλογή και η επανάληψη. Στην ακολουθιακή δομή οι εντολές εκτελούνται η μία μετά την άλλη, μια φορά η καθεμία, χωρίς ο υπολογιστής να χρειαστεί να πάρει κάποια απόφαση για τον τρόπο εκτέλεσής τους. Στην δομή επιλογής οι εντολές χωρίζονται σε δύο ή περισσότερες ομάδες και εκτελούνται οι εντολές μίας μόνο ομάδας, ανάλογα με την τιμή μιας συνθήκης ή μιας μεταβλητής, ενώ οι υπόλοιπες ομάδες αγνοούνται. Στην επαναληπτική δομή (ή δομή επανάληψης) μία ακολουθία εντολών εκτελείται μία ή περισσότερες φορές, ανάλογα με την τιμή μίας συνθήκης ή μεταβλητής. Ακολουθία Οι εντολές εκτελούνται σειριακά, δηλαδή η μία μετά την άλλη. Η δομή αυτή (ακολουθιακή εκτέλεση εντολών) δίνεται σε μορφή ψευδογλώσσας ως εξής: εντολή 1 εντολή 2 εντολή ν Σαν παράδειγμα μπορούμε να δούμε τον αλγόριθμο υπολογισμού του εμβαδού κυλίνδρου με γνωστό ύψος και ακτίνα βάσης. (Το εμβαδόν του κυλίνδρου δίνεται από το άθροισμα των εμβαδών των δύο βάσεων με το εμβαδόν της παράπλευρής του επιφάνειας). αλγόριθμος Εμβαδόν_Κυλίνδρου σταθερές π=3,14 μεταβλητές πραγματικές: r, υ, Ε, Εβ, Επ αρχή Διάβασε r,υ Εβ π*r^2 Επ 2*π*r*υ 12 Πηγή: «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον», (2004) Ενότητα 2.4 Διπλωματική εργασία Γ. Μπουζούκου 38

Ε 2*Εβ + Επ Εμφάνισε Ε τέλος Όπου Εβ το εμβαδόν της βάσης του κυλίνδρου και Επ το εμβαδόν της παράπλευρης επιφάνειάς του. Επιλογή Όπως είδαμε στην προηγούμενη παράγραφο, οι ακολουθιακοί αλγόριθμοι εκτελούσαν διαδοχικά μια σειρά από εντολές, χωρίς να χρειάζεται να «αποφασίσουν» ποια εντολή θα εκτελείται κάθε φορά. Υπάρχουν όμως περιπτώσεις, όπου σε κάποιο στάδιο της εκτέλεσης των εντολών χρειάζεται να αποφασιστεί, ποια θα είναι η επόμενη εντολή που πρόκειται να εκτελεστεί. Τούτο γίνεται μέσω του αποτελέσματος μίας συνθήκης. Απλή επιλογή Στην απλή επιλογή ο αλγόριθμος καλείται να "αποφασίσει" με βάση μια συνθήκη, αν θα εκτελέσει μια ομάδα εντολών. Αν η συνθήκη ικανοποιείται τότε εκτελείται η ομάδα εντολών, ενώ σε αντίθετη περίπτωση αγνοείται. Η δομή της απλής επιλογής σε μορφή ψευδογλώσσας συντάσσεται ως εξής: αν <συνθήκη> τότε ομάδα εντολών Τέλος_αν Η δομή αυτή σε διάγραμμα ροής φαίνεται στο παρακάτω σχήμα: Ναι Συνθήκη Όχι Ομάδα Εντολών Σχήμα 1 Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 39

Παράδειγμα: Αλγόριθμος που υπολογίζει την απόλυτη τιμή μιας μεταβλητής χ. Δηλαδή, αν ο αριθμός είναι αρνητικός, να του δίνεται η τιμή x. Εδώ παρατηρούμε ότι, αν ο αριθμός είναι θετικός, δε χρειάζεται να εκτελεστεί τίποτα, καθώς ήδη ο αριθμός ισούται με την απόλυτη τιμή του. Οπότε χρησιμοποιούμε τη δομή της απλής επιλογής ως εξής: αλγόριθμος Απόλυτη_τιμή Μεταβλητές Πραγματικές: χ Αρχή Διάβασε χ αν x < 0 τότε x -x Τέλος_αν Τύπωσε χ Τέλος Απόλυτη_τιμή Σύνθετη επιλογή Στη σύνθετη επιλογή ο αλγόριθμος καλείται να "αποφασίσει", με βάση μια συνθήκη, ποια ομάδα εντολών από τις δύο που υπάρχουν, θα εκτελέσει. Αν η συνθήκη ικανοποιείται τότε εκτελείται η ομάδα εντολών 1 και αγνοείται η ομάδα εντολών 2, αλλιώς εκτελείται η ομάδα εντολών 2 και αγνοείται η ομάδα εντολών 1. Η σύνθετη επιλογή υλοποιείται με τέσσερις δεσμευμένες λέξεις: αν, τότε, αλλιώς, τέλος_αν. Η δομή αυτή δίνεται σε μορφή ψευδογλώσσας ως εξής: αν <συνθήκη> τότε ομάδα εντολών 1 αλλιώς ομάδα εντολών 2 Τέλος_αν Διπλωματική εργασία Γ. Μπουζούκου 40

Το διάγραμμα ροής της απλής επιλογής φαίνεται στο παρακάτω σχήμα: Ναι Συνθήκη Όχι Ομάδα Εντολών 1 Ομάδα Εντολών 2 Σχήμα 2 Η διαφορά της απλής επιλογής με την σύνθετη επιλογή 13 είναι ότι στην σύνθετη επιλογή υπάρχει η δεσμευμένη λέξη αλλιώς, ενώ στην απλή επιλογή δεν υπάρχει. Δηλαδή, στην απλή επιλογή ο αλγόριθμος καλείται να "αποφασίσει", με βάση μια συνθήκη, αν θα εκτελέσει ή όχι μια ομάδα εντολών, ενώ στην σύνθετη επιλογή ο αλγόριθμος καλείται να "επιλέξει" μεταξύ δύο ομάδων, ποια ομάδα εντολών θα εκτελέσει. Παράδειγμα: Αλγόριθμος που να υπολογίζει την δύναμη 1. αλγόριθμος Υπολογισμός_του_(-1) v μεταβλητές πραγματικές: α ακέραιες: ν αρχή διάβασε α, ν αν v mod 2=0 τότε α 1 αλλιώς α -1 τέλος_αν τύπωσε α τέλος Υπολογισμός_του_(-1) v 13 Μια σύνθετη επιλογή μπορεί πάντα να υλοποιηθεί με την χρήση δύο απλών επιλογών. Εκπ/κό Λογισμ. Συγγρ. Ψευδοκώδικα και σύνδεσή του με Basic & Pascal 41

Με την πράξη v mod 2 υπολογίζουμε (όπως έχει ήδη αναφερθεί) το ακέραιο υπόλοιπο της διαίρεσης v/2. Π.χ. αν ν=5 (περιττός), τότε ν mod 2=1, ενώ αν ν=4 (άρτιος) τότε ν mod 2=0. Έτσι με τη συνθήκη ν mod 2=0 ο αλγόριθμος ελέγχει αν ο αριθμός ν είναι άρτιος (αληθής) ή περιττός (ψευδής). Εμφωλευμένη επιλογή Όταν σε μία ομάδα εντολών μιας δομής επιλογής περιέχονται άλλες εντολές επιλογής, τότε λέμε ότι έχουμε την περίπτωση της εμφωλευμένης επιλογής. Η δομή αυτή δίνεται σε μορφή ψευδογλώσσας ως εξής: αν <συνθήκη1> τότε ομάδα εντολών 1 αλλιώς αν <συνθήκη2> τότε ομάδα εντολών 2 αλλιώς ομάδα εντολών 3 τέλος_αν τέλος_αν Εδώ θα πρέπει να τονισθεί ότι σύμφωνα με την παραπάνω σύνταξη, ο δεύτερος έλεγχος (συνθήκη2) δεσμεύεται από την άρνηση του πρώτου ελέγχου (όχι συνθήκη1). Είναι δηλαδή σαν να ελέγχουμε αν ισχύει (όχι συνθήκη1) και (συνθήκη2), δηλαδή και οι δύο παραπάνω συνθήκες ταυτόχρονα. Μία άλλη σύνταξη εμφωλευμένης επιλογής (με την ίδια λογική) είναι: αν <συνθήκη1> τότε ομάδα εντολών 1 αλλιώς_αν <συνθήκη2> τότε ομάδα εντολών 2 αλλιώς ομάδα εντολών ν τέλος_αν Μόνο ένα Τέλος_Αν Διπλωματική εργασία Γ. Μπουζούκου 42