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



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

7. ΠΕΙΡΑΜΑΤΙΣΜΟΣ ΚΑΙ ΚΡΙΤΙΚΗ ΑΠΟ ΤΟΝ ΙΔΙΟ ΤΟΝ ΔΗΜΙΟΥΡΓΟ, ΣΕ ΚΑΘΕ ΒΗΜΑ ΤΟΥ ΣΧΕΔΙΑΣΜΟΥ. Μακέτα εργασίας 1/50.

Αριστοτέλης Ο πατέρας της Δυτικής Επιστήμης

Σεισμοί και Σχολεία. ΤΑ ΕΚΠΑΙΔΕΥΤΙΚΑ τεύχος

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

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

ΠΡΟΟΔΟΣ ΠΡΟΣΚΟΠΟΥ. Οι διακρίσεις αυτές συνοδεύονται από αντίστοιχο διακριτικό για τη στολή, όπως αυτά

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Καβάλας Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανολογίας ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Λυμπεράκης Δημήτριος Α.Μ.

ΓΙΑ ΤΑ ΕΠΑΓΓΕΛΜΑΤΙΚΑ ΔΙΚΑΙΩΜΑΤΑ ΤΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΟΝ ΠΟΛΥΝΟΜΟ ΤΟΥ ΑΠΡΙΛΗ

ΣτΕ 4531/2009 Θέμα : [Νόμιμη απόρριψη αίτησης για οριοθέτηση ρέματος]

FORUM ΣΥΝΕΡΓΑΣΙΑ ΑΡΙΣΤΕΡΩΝ ΑΡΧΙΤΕΚΤΟΝΩΝ

Στον Πανούλη. Γιάννης

Η εκτίμηση της συμβολής της Τοπικής Αυτοδιοίκησης στην τουριστική ανάπτυξη.

ΙΣΤOPIA TOY ΝΕΟΤΕΡΟΥ ΚΑΙ TOY ΣΥΓΧΡΟΝΟΥ ΚΟΣΜΟΥ. ΤΟΜΟΣ 10ος

ΠΟΛΥΤΕΧΝΕΙΟ 73. Η λάμψη της εξέγερσης είναι παντοτινή...

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

Γ31/2960/ ΠΡΟΚΗΡΥΞΗ ΔΗΜΟΣΙΟΥ ΠΛΕΙΟΔΟΤΙΚΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΓΙΑ ΤΗΝ ΕΚΜΙΣΘΩΣΗ ΙΔΙΟΚΤΗΤΟΥ ΟΙΚΟΠΕΔΟΥ ΣΤΗ ΛΑΡΙΣΑ ΩΣ ΥΠΑΙΘΡΙΟΥ ΧΩΡΟΥ ΣΤΑΘΜΕΥΣΗΣ.

ΕΦΗΜΕΡΙΣ ΤΗΣ ΚΥΒΕΡΝΗΣΕΩΣ

Αρχαίοι Έλληνες μαθηματικοί. τους στη θετική σκέψη. Ερευνητική εργασία (Project)

ΔΙΑΚΗΡΥΞΗ. Ασφάλιση οχημάτων, μηχανημάτων έργου, φωτοβολταϊκών συστημάτων και του Δημαρχιακού Καταστήματος Δήμου Αλεξανδρούπολης για το έτος 2016

ΠΕΡΙΦΕΡΕΙΑΣ ΑΤΤΙΚΗΣ (ΝΠΔΔ)

976 ΕΦΗΜΕΡΙΣ ΤΗΣ ΚΥΒΕΡΝΗΣΕΩΣ (ΤΕΥΧΟΣ ΠΡΩΤΟ)

Έκθεση Εσωτερικής Αξιολόγησης

Η ΕΡΤ ΤΗΣ ΕΠΟΜΕΝΗΣ ΗΜΕΡΑΣ «ΠΟΙΑ ΕΡΤ ΘΕΛΟΥΜΕ»

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

Π. Δ. 350 / 1996 ΦΑΚΕΛΟΣ ΑΣΦΑΛΕΙΑΣ ΚΑΙ ΥΓΕΙΑΣ ΣΧΕΔΙΟ ΑΣΦΑΛΕΙΑΣ ΚΑΙ ΥΓΕΙΑΣ (Φ.Α.Υ. - Σ.Α.Υ.)

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

Α Π Ο Σ Π Α Σ Μ Α. ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΝΟΜΟΣ ΒΟΙΩΤΙΑΣ ΔΗΜΟΣ ΟΡΧΟΜΕΝΟΥ Αρ.Πρωτ.: 298/

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

ΟΙΚΟΝΟΜΙΚΩΝ ΥΠΗΡΕΣΙΩΝ ΠΡΟΜΗΘΕΙΩΝ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΥΛΙΚΟΥ. ΤΗΛΕΦΩΝΟ: ΦΑΞ: E mail:

ΔΗΛΩΣΗ ΤΗΣ ΟΛΓΑΣ ΜΟΥΣΙΟΥ-ΜΥΛΩΝΑ ΓΙΑ ΤΗ ΣΥΝΕΝΤΕΥΞΗ ΤΟΥ ΠΡΟΕΔΡΟΥ ΤΗΣ ΜΕΛΙΤΗΣ κ. Π. ΑΝΑΣΤΑΣΙΑΔΗ

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΔΙΑΔΙΚΑΣΙΑ ΑΝΕΓΕΡΣΗΣ ΚΑΙ ΜΕΤΑΦΟΡΑΣ ΤΟΥ ΠΑΛΑΙΟΥ Γ.Ν.Ν ΚΑΛΑΜΑΤΑΣ ΣΤΟ ΝΕΟ Γ.Ν.Ν. ΚΑΛΑΜΑΤΑΣ

Εκπαίδευση Ατόμων με Ειδικές Εκπαιδευτικές Ανάγκες Σπονδυλωτό Εξ Αποστάσεως Πρόγραμμα Εξειδίκευσης

ΜΕΡΟΣ Α ΒΙΒΛΙΟ ΕΡΓΑΣΙΩΝ ΟΝΟΜΑ.. ΤΑΞΗ...

ΕΦΗΜΕΡΙΣΤΗΣ ΚΥΒΕΡΝΗΣΕΩΣ

Συνήγορος του Καταναλωτή Νομολογία ΠολΠρωτΑθ 2960/1996

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

8 η. Καινοτομίες στην εκπαίδευση : Καλές

ΔΙΑΚΗΡΥΞΗ Ο ΔΗΜΑΡΧΟΣ

Ε.Β.ΖΑΧΑΡΗΣ Α.Ε. Θεσσαλονίκη 17/12/2013

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

ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΚΑΙ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗ ΛΟΓΙΣΤΙΚΗ ΚΑΙ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ. Διπλωματική Εργασία

Ι. ΛΕΙΤΟΥΡΓΙΑ ΦΡΟΝΤΙΣΤΗΡΙΟΥ

Παρράσιο Πάρκο Πολιτιστικής Κληρονομιάς: Σχέδιο της Πρότασης

ΥΠΟΜΝΗΜΑ. Στην Επιτροπή Κρίσεως Βαρέων και Ανθυγιεινών επαγγελμάτων του άρθρου 20 ν.3790/2009

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

Θέσεις ΤΕΕ για τα Δημόσια Έργα και τις υποδομές τους

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. «Η ΟΡΓΑΝΩΣΕ ΤΟΥ ΤΜΙΙΜΑΤΟΣ ΠΡΟΜΗΘΕΙΩΝ ΣΕ ΜΙΑ ΕΠΙΧΕΙΡΗΣΗ i

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΝΟΜΟΣ ΕΒΡΟΥ ΔΗΜΟΣ ΣΟΥΦΛΙΟΥ ΤΕΧΝΙΚΗ ΥΠΗΡΕΣΙΑ ΑΡ.ΜΕΛ: 74/2013

3. ΠΕΡΙΓΡΑΦΙΚΟ ΤΙΜΟΛΟΓΙΟ ΜΕΛΕΤΗΣ

3. ΠΕΡΙΓΡΑΦΙΚΟ ΤΙΜΟΛΟΓΙΟ ΜΕΛΕΤΗΣ

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

ΚΕΙΜΕΝΑ ΝΕΟΕΛΛΗΝΙΚΗΣ ΛΟΓΟΤΕΧΝΙΑΣ

Ο περίπλους της Γης και της Ανταρκτικής. Τάξη Φύλλο Εργασίας 1 Μάθημα ΣΤ Δημοτικού Η θαλασσοπορία του Μαγγελάνου Γεωγραφία

ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ : Φ.Π.Α. ΚΑΙ ΟΙΚΟΝΟΜΙΚΟ ΑΠΟΤΕΛΕΣΜΑ

Παιδαγωγική ή Εκπαίδευση ΙΙ


Νικόλαος Τεντολούρης. Αθηνών και Διαβητολογικό Κέντρο, Γ.Ν.Α. Λαϊκό. πληθυσμού. Η συχνότητα του διαβήτη τύπου 2 εμφανίζει μεγάλη αύξηση σε παγκόσμια

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

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

ολική άρνηση στράτευσης

ΔΙΑΚΗΡΥΞΗ ΔΙΑΓΩΝΙΣΜΟΥ

ΑΝΑΚΟΙΝΩΣΗ υπ' αριθμ. ΣΟΧ 1/2015 για τη σύναψη ΣΥΜΒΑΣΗΣ ΕΡΓΑΣΙΑΣ ΟΡΙΣΜΕΝΟΥ ΧΡΟΝΟΥ Ο ΔΗΜΟΣ ΒΥΡΩΝΟΣ

Η ΑΠΑΞΙΩΣΗ ΕΝΟΣ ΘΕΣΜΟΥ «ΘΗΤΕΙΑ» Του Αντιστρατήγου ε.α. Σ. Παναγοπούλου

EΓKYKΛIOΣ 10 / 2014 ΘEMA: ΔΙΑΔΙΚΑΣΙΕΣ ΤΕΧΝΙΚΩΝ ΕΛΕΓΧΩΝ

ΕΛΛΗΝΙΚΗ ΠΟΔΟΣΦΑΙΡΙΚΗ ΟΜΟΣΠΟΝΔΙΑ. Παράρτημα Β Διατάξεις Εφαρμογής Κανονισμού για τους Ερασιτέχνες Ποδοσφαιριστές

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

ΑΙΤΙΟΛΟΓΙΚΗ ΕΚΘΕΣΗ ΣΤΟ ΣΧΕ ΙΟ ΝΟΜΟΥ «για τη δίκαιη δίκη και την αντιµετώπιση φαινοµένων αρνησιδικίας» Α. ΓΕΝΙΚΟ ΜΕΡΟΣ

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

Ευαγγελινή Αθανασοπούλου Κωνσταντία Λαδοπούλου Στέλλα Χαριτάκη

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ

Σ Υ Λ Λ Ο Γ Ο Σ Ε Λ Λ Η Ν Ω Ν Α Ρ Χ Α Ι Ο Λ Ο Γ Ω Ν

Θέμα: Η ΑΓΟΡΑ ΣΤΟΝ ΚΑΠΙΤΑΛΙΣΜΟ

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

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

Φροντιστήριο «ΕΠΙΛΟΓΗ» Ιατροπούλου 12 & σιδ. Σταθμού - Καλαμάτα τηλ.: & 96390

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

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

Επιμέλεια εργασίας: Ιωάννης Τραγουδάρας Αριθμός Μητρώου

ΠΡΟΣΩΡΙΝΗ ΥΠΟΣΤΥΛΩΣΗ - ΑΝΤΙΣΤΗΡΙΞΗ ΚΑΙ ΑΠΌΦΟΡΤΙΣΗ ΣΤΟΙΧΕΙΩΝ ΒΛΑΜΜΕΝΩΝ ΑΠΌ ΣΕΙΣΜΟ ΠΑΠΑΔΗΜΑΤΟΥ ΠΑΡΑΣΚΕΥΗ ΠΑΠΑΓΙΑΝΝΟΠΟΥΛΟΣ ΓΕΩΡΓΙΟΣ

ΔΙΑΜΕΣΟΛΑΒΗΣΗ 194/2013. (Άρθρο 77 παρ. 3 Ν.3852/2010) Προς. 3. Kύριο *** *** *** Κοινοποίηση

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

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

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

ΑΠΟΦΑΣΗ Ο ΥΠΟΥΡΓΟΣ ΕΘΝΙΚΗΣ ΑΜΥΝΑΣ

Θ Ε Μ Α : «Εφαρμογή της παραγράφου 2β του άρθρου 1 του Ν. 4250/2014 για την διενέργεια δειγματοληπτικού ελέγχου»

ΤΡΙΗΡΗΣ. ΤΡΙΗΡΗΣ Σελίδα 1

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

ΕΡΓΟ: 3ο 2/θέσιο & 21ο 2/θέσιο Ολοήμερο Ν/Γ Αγρινίου, με τη μέθοδο της προκατασκευής

ΠΑΡΑΤΗΡΗΣΕΙΣ-ΔΙΕΥΚΡΙΝΗΣΕΙΣ ΕΠΙ ΤΩΝ ΚΡΙΤΗΡΙΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Τμήμα Εφαρμοσμένης Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών Εφαρμοσμένης Πληροφορικής

ΕΦΗΜΕΡΙΣ ΤΗΣ ΚΥΒΕΡΝΗΣΕΩΣ

κ.ο. ΑΝΑΣΥΝΤΑΞΗ Θέσεις της Πολιτικής Επιτροπής

Βαθμός Ασφαλείας: Αδιαβάθμητο Βαθμός Προτεραιότητας: Κοινό Χρόνος Διατήρησης: Τριετία

Κοινωνική Οικονομία: Μια βιώσιμη εναλλακτική?

ΕΙΔΙΚΗ ΠΡΟΚΗΡΥΞΗ ΤΟΥΡΝΟΥΑ ΒΟΛΕΪ VINTAGE ΜΙΚΤΟ Ε.Σ.ΠΕ.Δ.Α. ΑΓΩΝΙΣΤΙΚΗΣ ΠΕΡΙΟΔΟΥ

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

ΘΕΜΑ: «Συγκέντρωση και μετάδοση των αποτελεσμάτων των δημοτικών και περιφερειακών εκλογών της 18 ης Μαΐου 2014». ΓΕΝΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ

Με μεγάλη επιτυχία πραγματοποιήθηκαν οι εργασίες της 8 ης Παγκύπριας Συνέλευσης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΑΘΗΝΑ,

Transcript:

2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ 693 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΜΕ ΨΕΥΔΟΓΛΩΣΣΑ Χρήστος Κοίλιας Επ. Καθ. Τμ. Πληροφορικής ΤΕΙ Αθήνας ckoilias@teiath.gr ΠΕΡΙΛΗΨΗ Στην εργασία αυτή γίνεται μια προσπάθεια τυποποίησης μιας ψευδογλώσσας για τη γραφή αλγορίθμων. Μετά τη συγγραφή του σχολικού βιβλίου για το μάθημα Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον της Γ' Λυκείου Τεχνολογικής Κατεύθυνσης και τη χρήση του στα σχολεία μερικά χρόνια, είναι λογικό να έχουν εντοπιστεί ζητήματα που θέλουν βελτίωση. Η εργασία αυτή τίθεται σε δημόσια κρίση προκειμένου να απαντηθεί, αν το κείμενο αυτό είναι πλήρες, χωρίς ασάφειες και κατάλληλο για τη γραφή αλγορίθμων στο χαρτί. Η εργασία αυτή μπορεί να χρησιμοποιηθεί ως βάση σε μια πιθανή αναμόρφωση του σχολικού βιβλίου, όπως και σε μια πιθανή υλοποίηση ενός διερμηνευτή για χρήση από τους μαθητές. Ας σημειωθεί ακόμη ότι το κείμενο αυτό έχει επεκταθεί σε περιοχές πέρα από τη σχολική ύλη, ώστε να μπορεί να χρησιμοποιηθεί και από σπουδαστές και φοιτητές για τις ανάγκες μαθημάτων όπως Αλγοριθμική, Δομές Δεδομένων κ.α. ΛΕΞΕΙΣ ΚΛΕΙΔΙΑ: Αλγόριθμος, ψευδογλώσσα 1. ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΓΛΩΣΣΑΣ 1.1. Αλφάβητο Το σύνολο των χαρακτήρων που χρησιμοποιούνται στην ψευδογλώσσα περιλαμβάνει: όλα τα γράμματα της ελληνικής ή αγγλικής αλφαβήτου πεζά και κεφαλαία τους αριθμητικούς χαρακτήρες 0-9 τους επόμενους ειδικούς χαρακτήρες " εισαγωγικά (διπλά) ( ) παρενθέσεις [ ] αγκύλες * αστερίσκος + συν, κόμμα - μείον. τελεία / κάθετος : άνω-κάτω τελεία ; ερωτηματικό < μικρότερο από = ίσον

694 2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ > μεγαλύτερο από μικρότερο ή ίσο μεγαλύτερο ή ίσο διάφορο # δίεση ^ άνω βέλος _ κάτω παύλα (underscore) και ένα γραφικό σύμβολο το (αριστερό βέλος) 1.2. Σταθερές Οι σταθερές στην ψευδογλώσσα μπορεί να είναι αριθμητικές ή αλφαριθμητικές. Για το σχηματισμό μιας αριθμητικής σταθεράς χρησιμοποιούνται οι αριθμητικοί χαρακτήρες και πιθανά ένας από τους χαρακτήρες +, -,. ή/και το κόμμα. To κόμμα είναι το δεκαδικό σημείο, ενώ η τελεία χρησιμοποιείται για το χωρισμό των χιλιάδων. Π.χ. 5, 123,27, -1, 1.000.000 κ.λπ. Για πολύ μεγάλες ή πολύ μικρές τιμές μπορεί να χρησιμοποιηθεί και η εκθετική μορφή π.χ. 0,5x10 12. Για το σχηματισμό μιας αλφαριθμητικής σταθεράς χρησιμοποιούνται οποιοιδήποτε χαρακτήρες περικλειόμενοι σε διπλά εισαγωγικά. Μια σταθερά μπορεί να έχει οποιοδήποτε πλήθος αριθμητικών ή αλφαριθμητικών χαρακτήρων αντίστοιχα. Ακόμη υπάρχουν οι λογικές σταθερές που είναι δύο, οι Αληθής και Ψευδής. 1.3. Μεταβλητές 1.3.1 Απλές Για το σχηματισμό μιας μεταβλητής χρησιμοποιείται οποιοσδήποτε αριθμός αλφαβητικών ή αριθμητικών χαρακτήρων και ο χαρακτήρας κάτω παύλα. Ο πρώτος χαρακτήρας είναι αλφαβητικός. Οι μεταβλητές χαρακτηρίζονται ως αριθμητικές, αλφαριθμητικές ή λογικές ανάλογα με την τιμή που θα αποδοθούν σε αυτές. Πριν από την απόδοση κάποιας τιμής σε μια μεταβλητή (με εντολή εισόδου ή εκχώρησης) η μεταβλητή έχει απροσδιόριστη τιμή. 1.3.2 Πινάκων Οι μεταβλητές πινάκων σχηματίζονται όπως και οι απλές μεταβλητές, αλλά ακολουθούνται από ζεύγος παρενθέσεων ή αγκυλών που περικλείουν έναν ή περισσότερους δείκτες (indexes) χωριζόμενους με κόμμα. Π.χ. το τρίτο στοιχείο του μονοδιάστατου πίνακα Α γράφεται Α(3) ή Α[3] και το στοιχείο της i-στής γραμμής και j-στής στήλης του δισδιάστατου πίνακα Χ γράφεται Χ(i, j) ή X[i, j]. Μπορεί ωστόσο να χρησιμοποιηθεί και ο συνήθης τυπογραφικός συμβολισμός Α 3 και Χ ij αντίστοιχα. Κάθε πίνακας μπορεί να έχει οποιοδήποτε πλήθος διαστάσεων και οποιοδήποτε πλήθος στοιχείων ανά διάσταση. Το πρώτο στοιχείο κάθε διάστασης είναι το υπ' αριθμόν 1.

2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ 695 1.3.3 Δείκτες (pointers) Οι μεταβλητές που αναφέρονται σε κόμβο δομής, στην οποία χρησιμοποιείται δεσμική τεχνική (λίστες, δένδρα, γράφοι) χρησιμοποιούν επί πλέον και το χαρακτήρα τελεία. Για παράδειγμα αν η μεταβλητή p είναι δείκτης προς έναν κόμβο λίστας, τότε οι μεταβλητές p.info και p.next διαθέτουν το περιεχόμενο του κόμβου και τη θέση του επόμενου κόμβου αντίστοιχα. 1.4. Τελεστές Τελεστές είναι τα σύμβολα που χρησιμοποιούνται στις διάφορες πράξεις. Υπάρχουν οι επόμενοι τελεστές. 1.4.1 Αριθμητικοί Οι αριθμητικοί τελεστές χρησιμοποιούνται για την εκτέλεση αριθμητικών πράξεων. Είναι οι: + για πρόσθεση - για αφαίρεση * για πολλαπλασιασμό / για διαίρεση mod για το υπόλοιπο ακέραιας διαίρεσης div για το πηλίκο ακέραιας διαίρεσης ^ για ύψωση σε δύναμη Σημ. Για την πράξη της ύψωσης σε δύναμη μπορεί να χρησιμοποιηθεί και ο συνήθης τυπογραφικός συμβολισμός π.χ. 2 3. 1.4.2 Σχεσιακοί Οι σχεσιακοί τελεστές χρησιμοποιούνται για τη σύγκριση δύο τιμών. Το αποτέλεσμα μιας σύγκρισης είναι είτε "αληθής" είτε "ψευδής". Σχεσιακοί τελεστές είναι οι επόμενοι: < μικρότερο > μεγαλύτερο = ίσο μικρότερο ή ίσο μεγαλύτερο ή ίσο διάφορο Σημ. Αντί των τριών τελευταίων τελεστών μπορεί να χρησιμοποιηθούν και οι συνδυασμοί των χαρακτήρων <=, >= και <> αντίστοιχα. 1.4.3 Λογικοί Οι λογικοί τελεστές υλοποιούν τις συνήθεις λογικές πράξεις. Το αποτέλεσμα μιας λογικής πράξης είναι "αληθής" ή "ψευδής". Είναι οι : όχι, και, ή. 1.4.4 Συναρτησιακοί τελεστές ή Συναρτήσεις Μια συνάρτηση χρησιμοποιείται για να εκτελέσει μια προκαθορισμένη λειτουργία σε έναν τελεστέο (ή περισσότερους). Κάθε συνάρτηση έχει ένα όνομα ακολουθούμενο από ζεύγος παρενθέσεων που περικλείουν τον τελεστέο. Στην ψευδογλώσσα μπορούν να χρησιμοποιηθούν όλες οι συνηθισμένες συναρτήσεις, όπως οι τριγωνομε-

696 2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ τρικές ημ(x), συν(x), εφ(x), τοξεφ(x), οι μαθηματικές abs(x) για την απόλυτη τιμή, exp(x) για την e x, log(x) για το δεκαδικό λογάριθμο, ln(x) για το φυσικό λογάριθμο, sqr(x) για την τετραγωνική ρίζα, int(x) για το ακέραιο μέρος κ.λπ. Ωστόσο είναι επιτρεπτό να χρησιμοποιηθούν και οι συνήθεις μαθηματικοί συμβολισμοί για ορισμένες από αυτές, όπως π.χ. [x] για το ακέραιο μέρος, x για την απόλυτη τιμή, x για την τετραγωνική ρίζα. Υπάρχουν ακόμη και οι επόμενες αλφαριθμητικές συναρτήσεις left(x, 1) επιστρέφει τον πρώτο αριστερό χαρακτήρα της αλφαριθμητικής μεταβλητής x. right(x, 2) επιστρέφει τους 2 δεξιότερους χαρακτήρες της x mid(x, i, j) επιστρέφει τους j χαρακτήρες της x ξεκινώντας από τον i-στό len(x) επιστρέφει τον αριθμό χαρακτήρων (μήκος) της x 1.4.5 Τελεστές αθροίσματος και γινομένου Σε σύνθετους αλγορίθμους μπορούν να χρησιμοποιηθούν και οι τελεστές και με σκοπό την απλοποίηση του αλγορίθμου. Οι τελεστές αυτοί χρησιμοποιoύνται όταν το άθροισμα ή γινόμενο δεν είναι το ζητούμενο αποτέλεσμα, αλλά ένα ενδιάμεσο αποτέλεσμα μιας πολύπλοκης διαδικασίας, όπως π.χ. στον επόμενο τύπο. ( a x ) β i n ij j= i+ 1 a ii j 1.5. Εκφράσεις Μια έκφραση μπορεί να είναι μια σταθερά, μια μεταβλητή ή μια τιμή που λαμβάνεται από ένα συνδυασμό σταθερών, μεταβλητών και συναρτήσεων με τη χρήση τελεστών. Σε κάθε έκφραση ακολουθείται η γνωστή από τα μαθηματικά ιεραρχία των πράξεων. Αν απαιτείται τροποποίηση της ιεραρχίας των πράξεων, αυτό επιτυγχάνεται με τη χρήση ζευγών παρενθέσεων. Οι εκφράσεις διακρίνονται σε αριθμητικές και λογικές. Στις αριθμητικές χρησιμοποιούνται μόνο αριθμητικοί τελεστές, ενώ στις λογικές χρησιμοποιούνται όλοι οι τελεστές. Για παράδειγμα η μαθηματική έκφραση x 2-1 --------- 2a + 3b γράφεται στην ψευδογλώσσα (x^2-1) / (2*a + 3*b) ενώ η 0<x<2k+1 γράφεται

2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ 697 x>0 και x<2*k+1 Οι σχεσιακοί τελεστές μπορούν να χρησιμοποιηθούν και με αλφαριθμητικούς τελεστέους. Για παράδειγμα η λογική έκφραση "αβγ" > "ααα" είναι αληθής. Σημ. Στην ψευδογλώσσα και ιδιαίτερα στη γραφή μεγάλων και πολύπλοκων εκφράσεων επιτρέπεται και η συνήθης μαθηματική γραφή, αρκεί να είναι σαφώς διατυπωμένη. 1.6 Δομή αλγορίθμου Κάθε αλγόριθμος ξεκινά με τη γραμμή Αλγόριθμος όνομα_αλγορίθμου και τελειώνει με τη γραμμή Τέλος όνομα_αλγορίθμου Το όνομα_αλγορίθμου σχηματίζεται σύμφωνα με τους κανόνες ονοματοδοσίας μεταβλητών. Μεταξύ αυτών των δύο γραμμών γράφονται οι του αλγορίθμου. Κάθε εντολή ορίζεται με μια δεσμευμένη λέξη, η οποία γράφεται με έντονα γράμματα στα έντυπα (βιβλία, σημειώσεις) και υπογραμμισμένη στα χειρόγραφα. Οι είναι συνήθως ρήματα σε προστακτική π.χ. διάβασε, γράψε κ.λπ. Οι γράφονται σε ξεχωριστές γραμμές. Περισσότερες από μία μπορούν να γραφούν σε μία γραμμή, εφόσον διαχωρίζονται με το χαρακτήρα άνωκάτω τελεία (:). Επεξηγηματικά σχόλια μπορούν να γράφονται οπουδήποτε στο σώμα του αλγορίθμου. Ένα σχόλιο αρχίζει με τον χαρακτήρα θαυμαστικό (!). Στη συνέχεια επεξηγούνται οι του αλγορίθμου. 2. ΕΚΧΩΡΗΣΗ, ΕΙΣΟΔΟΣ ΚΑΙ ΈΞΟΔΟΣ ΤΙΜΩΝ Η γενική μορφή της εντολής εκχώρησης είναι Μεταβλητή Έκφραση και η λειτουργία της είναι "εκτελούνται οι πράξεις στην έκφραση και η τιμή της εκχωρείται (αποδίδεται, μεταβιβάζεται) στη μεταβλητή". Η εντολή Αντιμετάθεσε μ1, μ2 αντιμεταθέτει τις τιμές των μεταβλητών μ1 και μ2.. Εκχώρηση τιμών επιτυγχάνεται και με τις εισόδου. Η εντολή Διάβασε λίστα_μεταβλητών επιτρέπει την είσοδο τιμών και την εκχώρηση αυτών στις μεταβλητές που αναφέρονται στη λίστα_μεταβλητών. Για την έξοδο τιμών (αποτελεσμάτων) μπορούν να χρησιμοποιηθούν οι Γράψε, Εμφάνισε ή Εκτύπωσε με ίδια σύνταξη. Κάθε μία από αυτές τις συνοδεύεται από μια λίστα μεταβλητών ή σταθερών. Π.χ. Γράψε "Τιμή=", value. Σημ. Και οι τρεις εξόδου είναι ισοδύναμες. Υπάρχουν και οι τρεις, διότι αν και ο αλγόριθμος επιλύει ένα πρόβλημα, ωστόσο συνήθως προορίζεται να μετατραπεί σε πρόγραμμα υπολογιστή. Στον προγραμματισμό χρειάζεται να προσδιορίζεται η συσκευή εξόδου. Έτσι χρησιμοποιείται η Εμφάνισε για την οθόνη, η Εκτύπωσε για τον εκτυπωτή και η Γράψε για οποιαδήποτε. Με την ίδια έννοια στην εντολή Διά-

698 2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ βασε η είσοδος των δεδομένων υποτίθεται ότι γίνεται από την πρότυπη συσκευή εισόδου, το πληκτρολόγιο. Είσοδος και έξοδος δεδομένων μπορεί να γίνει και από/προς βοηθητική μνήμη (βλ. παρ. 7). Εναλλακτική είσοδος και έξοδος τιμών παρέχεται με τη χρήση των εντολών Δεδομένα και Αποτελέσματα. Η εντολή Δεδομένα γράφεται δεύτερη (μετά την εντολή Αλγόριθμος) και περιγράφει εντός των συμβόλων //... // τα δεδομένα του αλγορίθμου, δηλαδή τις μεταβλητές που έχουν ήδη κάποια τιμή. Αντίστοιχα η εντολή Αποτελέσματα γράφεται προτελευταία και περιέχει τις μεταβλητές εξόδου. Οι επόμενοι δύο αλγόριθμοι είναι ισοδύναμοι. Αλγόριθμος Άθροισμα_1 Διάβασε α, β γ α + β Γράψε γ Τέλος Άθροισμα_1 Αλγόριθμος Άθροισμα_2 Δεδομένα // α, β // γ α + β Αποτελέσματα // γ // Τέλος Άθροισμα_2 Η χρήση των εντολών Δεδομένα και Αποτελέσματα γενικά προτιμάται προκειμένου ο αλγόριθμος να απαλλαγεί από τις λεπτομέρειες εισόδου/εξόδου και να επικεντρωθεί στο πρόβλημα που επιλύει (εκτός βέβαια αν το πρόβλημα είναι η εισαγωγή δεδομένων). Επίσης η χρήση τους συνιστάται στην περίπτωση που τα δεδομένα εισόδου ή/και εξόδου είναι πολυπληθή, όπως για παράδειγμα σε προβλήματα επεξεργασίας πινάκων. Τέλος η χρήση τους επιβάλλεται, στην περίπτωση που ένας αλγόριθμος καλείται από άλλον (βλ. παρ. 6). Σημ. Αν και η χρήση της μιας ή της άλλης μεθόδου αφήνεται γενικά στην ευχέρεια του συντάκτη του αλγορίθμου, ο σπουδαστής πρέπει να είναι προσεκτικός στην περίπτωση εξετάσεων προς αποφυγή βαθμολογικών απωλειών. Έτσι αν η εκφώνηση ενός θέματος λέει "Να γραφεί αλγόριθμος ο οποίος να διαβάζει...", τότε πρέπει να χρησιμοποιηθεί η εντολή Διάβασε. Αντίθετα αν η εκφώνηση λέει "Δίδεται ένας πίνακας Α. Να γραφεί αλγόριθμος ο οποίος...", τότε πρέπει να χρησιμοποιηθεί η εντολή Δεδομένα. 3. ΔΟΜΕΣ ΕΠΙΛΟΓΗΣ 3.1 Απλή Αν συνθήκη τότε εντολή ή Αν συνθήκη τότε Τέλος_αν 3.2 Διπλή Αν συνθήκη τότε αλλιώς

2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ 699 Τέλος_αν 3.3 Σύνθετη Αν συνθήκη_1 τότε _1 αλλιώς_αν συνθήκη_2 τότε _2... αλλιώς_αν συνθήκη_ν τότε _ν αλλιώς _αλλιώς Τέλος_αν 3.4 Πολλαπλή Επίλεξε έκφραση Περίπτωση τιμές_1 _1 Περίπτωση τιμές_2 _2... Περίπτωση τιμές_ν _ν Περίπτωση αλλιώς _αλλιώς Τέλος_επιλογών 3, 7 Σε αυτή τη δομή οι τιμές_i μπορεί να είναι: διάφορες τιμές (αριθμητικές ή αλφαριθμητικές) χωριζόμενες με κόμμα π.χ. 1, τιμές που ορίζονται με τη χρήση ενός σχεσιακού τελεστή π.χ. > 10 τιμές που είναι όροι αριθμητικής προόδου με λόγο 1 π.χ. από 5 μέχρι 10. 4. ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ 4.1 Δομή 'Οσο... επανάλαβε 'Οσο συνθήκη επανάλαβε Τέλος_επανάληψης Εκτελούνται οι όσο η συνθήκη είναι αληθής Παράδειγμα Αλγόριθμος Ευκλείδης Δεδομένα // x, y // z y

700 2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ Όσο z 0 επανάλαβε z x mod y x y y z Τέλος_επανάληψης Αποτελέσματα // x // Τέλος Ευκλείδης 4.2. Δομή Αρχή_επανάληψης... Μέχρις_ότου Αρχή_επανάληψης Μέχρις_ότου συνθήκη Εκτελούνται οι μέχρις ότου η συνθήκη γίνει αληθής. 4.3. Δομή Για... από... μέχρι Για μεταβλητή από τ1 μέχρι τ2 [με_βήμα β] Τέλος_επανάληψης Εκτελούνται οι με αρχική τιμή της μεταβλητής τ1 μέχρι και την τελική τιμή της μεταβλητής τ2. Στη δομή αυτή τ1, τ2 είναι αριθμητικές σταθερές, μεταβλητές ή εκφράσεις. Πρέπει τ1 τ2, αν β>0 και τ1 τ2, αν β<0. Το βήμα β, αν είναι 1, παραλείπεται. 4.4. Γενικό επαναληπτικό σχήμα 1η σύνταξη Κάνε [ {όσο μέχρις ότου} συνθήκη ] επανάληψη 2η σύνταξη Κάνε επανάληψη [ {όσο μέχρις ότου} συνθήκη ] Εκτελούνται οι όσο ισχύει η συνθήκη ή μέχρις ότου να ισχύσει η συνθήκη είτε στην αρχή είτε στο τέλος του βρόχου. Σε αυτό το σχήμα θα υπάρχει ένα μόνο εκ των όσο και μέχρις ότου ή κανένα. Στην τελευταία περίπτωση δημιουργείται ατέρμων βρόχος. 5. ΕΝΤΟΛΗ ΈΞΟΔΟΣ Η εντολή αυτή προκαλεί την έξοδο από μια επαναληπτική διαδικασία ή από έναν αλγόριθμο, όταν πληρείται κάποια συνθήκη. Παρέχει έναν εναλλακτικό τρόπο τερματισμού μιας επανάληψης ή μιας διαδικασίας (αλγόριθμου).

2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ 701 6. ΚΛΗΣΗ ΑΛΓΟΡΙΘΜΟΥ ΑΠΟ ΑΛΓΟΡΙΘΜΟ Ένας αλγόριθμος μπορεί να κληθεί από έναν άλλο αλγόριθμο με χρήση της εντολής Κάλεσε. Η επικοινωνία μεταξύ των δύο αλγορίθμων μπορεί να γίνει με τους επόμενους τρόπους. 6.1 Με χρήση καθολικών μεταβλητών Στην περίπτωση αυτή οι μεταβλητές των δύο αλγορίθμων είναι κοινές. Το γεγονός αυτό επισημαίνεται με τη χρήση της δηλωτικής εντολής Καθολικές Μεταβλητές στην αρχή του καλούντος αλγορίθμου. Παράδειγμα Αλγόριθμος Καλών Καθολικές Μεταβλητές α, β, γ Διάβασε α, β Κάλεσε Καλούμενος Γράψε "Αποτέλεσμα = ", γ Τέλος Καλών Αλγόριθμος Καλούμενος γ α + β Τέλος Καλούμενος Στον καλούμενο αλγόριθμο δεν υπάρχουν οι Δεδομένα και Αποτελέσματα μια και χρησιμοποιούνται ίδιες μεταβλητές με αυτές του καλούντος αλγόριθμου. Όλες οι του καλούμενου αλγόριθμου μπορούν να εντεθούν στον καλούντα στη θέση της εντολής Κάλεσε. Ο τρόπος αυτός γενικά προτιμάται, όταν υπάρχουν πολλές μεταβλητές σε ένα πρόβλημα ή όταν καλούνται πολλοί και διαφορετικοί αλγόριθμοι από έναν (κύριο) αλγόριθμο, οι οποίοι επεξεργάζονται τα ίδια δεδομένα. 6.2 Με μεταβίβαση τιμών Στον τρόπο αυτό η εντολή Κάλεσε συνοδεύεται με το όνομα του καλούμενου αλγορίθμου ακολουθούμενο από λίστα μεταβλητών ή σταθερών μέσα σε παρενθέσεις. Οι τιμές των μεταβλητών ή σταθερών μεταβιβάζονται κατά την κλήση στις αντίστοιχες μεταβλητές της γραμμής Δεδομένα του καλούμενου αλγορίθμου. Όταν ο καλούμενος αλγόριθμος τερματίσει τη λειτουργία του, γίνεται επιστροφή στην αμέσως επόμενη εντολή της Κάλεσε. Κατά την επιστροφή μπορεί επίσης να μεταβιβάζονται τιμές της εντολής Αποτελέσματα. Παράδειγμα 1 Αλγόριθμος Καλών Διάβασε α, β Κάλεσε Καλούμενος (α, β, γ) Γράψε "Αποτέλεσμα = ", γ Αλγόριθμος Καλούμενος Δεδομένα // x, y // z x + y Αποτελέσματα // z //

702 2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ Τέλος Καλών Τέλος Καλούμενος Η αντιστοιχία των μεταβλητών των δύο αλγορίθμων γίνεται με τη σειρά που α- ναφέρονται στις αντίστοιχες γραμμές, δηλ. α x, β y και γ z. Συνώνυμες μεταβλητές διαφορετικών αλγορίθμων δεν έχουν καμία σχέση μεταξύ τους. Ο τρόπος αυτός προτιμάται όταν επιδιώκεται ανεξαρτησία των καλούμενων αλγορίθμων από τους καλούντες. Έτσι επιτυγχάνεται η επαναχρησιμοποίηση των αλγορίθμων σε διάφορα προβλήματα. Παράδειγμα 2 Ο επόμενος αλγόριθμος Search αναζητά το στοιχείο item στον μονοδιάστατο μη ταξινομημένο πίνακα Α που περιέχει Ν στοιχεία. Εφόσον το βρει, επιστρέφει τη θέση του και τη λογική μεταβλητή found ως αληθής, αλλιώς η found είναι ψευδής. Αλγόριθμος Search Δεδομένα // A, N, item // i 1 found ψευδής Όσο i <= N επανάλαβε Αν item = A(i) τότε index i i N+1 found αληθής αλλιώς i i + 1 Τέλος_αν Τέλος_επανάληψης Αποτελέσματα // index, found // Τέλος Search Η κλήση του αλγόριθμου αυτού από έναν άλλον αλγόριθμο γίνεται με τη χρήση της εντολής Κάλεσε Search(Pin, N, elem, position, exist) Ο καλών αλγόριθμος υποτίθεται ότι έχει διαβάσει το Ν και τα στοιχεία του πίνακα Pin, καθώς και το στοιχείο elem προς αναζήτηση. Στη συνέχεια καλείται ο αλγόριθμος Searh με την πιο πάνω εντολή. Κατά την κλήση μεταβιβάζονται οι τιμές των στοιχείων του πίνακα Pin στον Α, η τιμή του Ν στο Ν και η τιμή του elem στο item. Όταν τερματίσει ο αλγόριθμος Search, η τιμή των μεταβλητών index και found μεταβιβάζονται στις position και exist αντίστοιχα. Ο καλών αλγόριθμος ακολούθως εμφανίζει το αποτέλεσμα Pin(position) ανάλογα με την τιμή της exist. Ας σημειωθεί ότι με τον τρόπο αυτό οι μεταβλητές των δύο αλγορίθμων είναι ξένες μεταξύ τους, ακόμη και αν έχουν ίδια ονόματα (όπως στην περίπτωση του Ν). 6.3 Μεικτός τρόπος

2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ 703 Και οι δύο προηγούμενοι τρόποι μπορούν να αναμειχθούν. Σε αυτήν την περίπτωση άλλες μεταβλητές θα είναι καθολικές και άλλες θα μεταβιβάζονται κατά την κλήση. Παράδειγμα Στο προηγούμενο παράδειγμα ο πίνακας Α και το Ν γίνονται καθολικές μεταβλητές. Τότε η γραμμή δοδεμένων του αλγόριθμου Search γίνεται Δεδομένα // item // και η κλήση αυτού γίνεται Κάλεσε Search (elem, position, exist) Ο τρόπος αυτός προτιμάται όταν από έναν (κύριο) αλγόριθμο καλούνται πολλοί άλλοι αλγόριθμοι που επεξεργάζονται τα ίδια δεδομένα (π.χ. πίνακες, πεδία εγγραφής αρχείου κ.λπ.). Τα κοινά αυτά δεδομένα ορίζονται ως καθολικές μεταβλητές, ενώ τα ιδιαίτερα δεδομένα κάθε καλούμενου αλγόριθμου μεταβιβάζονται. 6.4 Αναδρομή 'Ένας αλγόριθμος μπορεί να καλεί και τον εαυτό του (αναδρομική κλήση). Στο επόμενο παράδειγμα παρουσιάζεται ο αναδρομικός αλγόριθμος υπολογισμού του μέγιστου κοινού διαιρέτη (αλγόριθμος του Ευκλείδη). Αλγόριθμος ΜΚΔ Δεδομένα // x, y // z x mod y Αν z 0 τότε Κάλεσε ΜΚΔ (y, z, m) αλλιώς m y Τέλος_αν Αποτελέσματα // m // Τέλος ΜΚΔ 7. ΑΠΟΘΗΚΕΥΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΚΑΙ ΕΙΣΟΔΟΣ ΠΡΟΑΠΟΘΗΚΕΥΜΕΝΩΝ ΤΙΜΩΝ Ένας αλγόριθμος επιλύει ένα πρόβλημα εκτελώντας πράξεις στα δεδομένα και παρουσιάζοντας τα αποτελέσματα της επεξεργασίας δεδομένων. Τα αποτελέσματα αυτά μπορεί να είναι δεδομένα για κάποιον άλλο αλγόριθμο. Στις υλοποιήσεις αλγορίθμων συχνά τα αποτελέσματα μιας επεξεργασίας απαιτείται να αποθηκεύονται μόνιμα σε μια βοηθητική μνήμη με τη μορφή αρχείων, προκειμένου να ανακαλούνται από εκεί, ενδεχόμενα σε άλλη χρονική στιγμή, για να τύχουν περαιτέρω επεξεργασίας. Στη συνέχεια παρουσιάζονται οι απαραίτητες σε ψευδογλώσσα για τη διαχείριση αρχείων. 7.1 Διαδοχικά (σειριακά) αρχεία Πριν χρησιμοποιηθεί ένα αρχείο δεδομένων χρειάζεται να ανοίξει. Το άνοιγμα ενός διαδοχικού αρχείου γίνεται με την επόμενη εντολή: Άνοιξε όνομα_αρχείου για [Είσοδο Έξοδο] ως #Ν

704 2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ Ένα μόνο είδος πρόσβασης θα γράφεται, ενώ Ν είναι ένας ακέραιος αριθμός που τατυτοποιεί το αρχείο. Η είσοδος δεδομένων από διαδοχικό αρχείο επιτυγχάνεται με την εντολή Διάβασε#Ν, λίστα_μεταβλητών Η εντολή Διάβασε διαβάζει την αμέσως επόμενη εγγραφή. Η έξοδος δεδομένων σε διαδοχικό αρχείο γίνεται με την εντολή Γράψε#Ν, λίστα_μεταβλητών Η εντολή αυτή γράφει την επόμενη εγγραφή επί του αρχείου. 7.2 'Αμεσα (random) αρχεία Το άνοιγμα ενός άμεσου αρχείου γίνεται με την επόμενη εντολή: Άνοιξε όνομα_αρχείου [για Είσοδο/Έξοδο] ως #Ν Μετά το άνοιγμα ενός άμεσου αρχείου περιγράφονται τα πεδία της εγγραφής του με την επόμενη εντολή. Πεδία#Ν, λίστα_μεταβλητών Η είσοδος δεδομένων από άμεσο αρχείο επιτυγχάνεται με την εντολή Διάβασε#Ν, αριθμός_εγγραφής Με την εντολή αυτή μεταφέρονται στις μεταβλητές της εντολής Πεδία#Ν οι τιμές των πεδίων της εγγραφής με αριθμό αυτόν που προσδιορίζεται με τον αριθμό_εγγραφής. Αντίστοιχα η έξοδος δεδομένων σε άμεσο αρχείο γίνεται με την εντολή Γράψε#Ν, αριθμός_εγγραφής Με την εντολή αυτή μεταφέρονται στην αντίστοιχη εγγραφή του αρχείου οι τιμές της λίστας_μεταβλητών της εντολή Πεδία#Ν. Και στους δύο τύπους αρχείων η συνάρτηση EOF(N) εξεταζόμενη πριν την ανάγνωση επιστρέφει τιμή Αληθής, αν έχει επέλθει το τέλος του αρχείου. Μετά το τέλος της επεξεργασίας ενός αρχείου, αυτό κλείνει με την εντολή: Κλείσε#Ν #1 πολ Παραδείγματα Εκτύπωση διαδοχικού αρχείου Αλγόριθμος List_Seq_File Άνοιξε "CUST.SEQ" για Είσοδο ως Όσο όχι ΕΟF(1) επανάλαβε Διάβασε#1, κωδ,ον_μο, ΑΦΜ, υ- Εκτύπωσε ον_μο, υπολ Τέλος_επανάληψης Κλείσε#1 Τέλος List_Seq_File Εκτύπωση άμεσου αρχείου Αλγόριθμος List_Rnd_File Άνοιξε "CUST.DAT" ως #1 Πεδία#1, κωδ, ον_μο, ΑΦΜ, υπολ i 0 Όσο όχι ΕΟF(1) επανάλαβε i i +1 Διάβασε#1, i Εκτύπωσε ον_μο, υπολ Τέλος_επανάληψης Κλείσε#1 Τέλος List_Rnd_File

2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ 705 ΒΙΒΛΙΟΓΡΑΦΙΑ 1. Βακάλη κ.α., Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον, Γ Λυκείου Τεχνολογικής Κατεύθυνσης, Βιβλίο μαθητή και καθηγητή, ΥΠΕΠΘ. 2. Δουκάκης Σπ., Ψαλτίδου Αλεξ., Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον, Βοήθημα Γ Λυκείου Τεχνολογικής Κατεύθυνσης, Εκδόσεις Νέων Τεχνολογιών, Αθήνα, 2002. 3. Κοίλιας Χρ. Δομές Δεδομένων και Οργανώσεις Αρχείων, Εκδόσεις Νέων Τεχνολογιών, Αθήνα, 1993..