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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΠΤΥΧΙΑΚΗ ΑΣΚΗΣΗ Τ. Ε. Ι. ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ"

Transcript

1 ΠΤΥΧΙΑΚΗ ΑΣΚΗΣΗ Τ. Ε. Ι. ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΘΕΜΑ: «Η PROLOG ΩΣ ΓΛΩΣΣΑ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΑΠΟ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ» ΣΠΟΥΔΑΣΤΗΣ: ΖΑΡΠΑΣ ΝΙΚΟΛΑΟΣ Α.Μ. 220 ΥΠΕΥΘΥΝΟΣ ΚΑΘΗΓΗΤΗΣ: Dr. ΣΤΕΡΓΙΟΣ ΠΑΠΑΔΗΜΗΤΡΙΟΥ ΚΑΒΑΛΑ 2005

2 ΠΕΡΙΕΧΟΜΕΝΑ ΕΝΟΤΗΤΑ 1 ΓΝΩΡΙΜΙΑ ΜΕ ΤΗΝ PROLOG 1.1 ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ ΓΕΝΙΚΑ Η ΠΡΩΤΗ ΕΠΑΦΗ...5 ΕΝΟΤΗΤΑ 2 Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG 2.1 ΓΕΓΟΝΟΤΑ (FACTS) ΚΑΝΟΝΕΣ (RULES) ΣΥΝΤΑΞΗ ΕΝΟΣ ΚΑΝΟΝΑ ΠΩΣ ΕΡΜΗΝΕΥΟΝΤΑΙ ΟΙ ΚΑΝΟΝΕΣ ΣΥΝΔΥΑΣΜΟΣ ΓΕΓΟΝΟΤΩΝ ΚΑΙ ΚΑΝΟΝΩΝ ΣΥΜΠΕΡΑΣΜΑΤΙΚΑ ΣΥΝΘΕΤΟΙ ΟΡΟΙ (COMPLEX TERMS) ΑΝΤΙΚΕΙΜΕΝΑ ΤΗΣ PROLOG ΟΙ ΣΤΑΘΕΡΕΣ ΟΙ ΜΕΤΑΒΛΗΤΕΣ ΕΝΟΠΟΙΗΣΗ-ΤΑΥΤΟΠΟΙΗΣΗ ΤΕΛΕΣΤΕΣ...33 ΕΝΟΤΗΤΑ 3 Η PROLOG ΚΑΙ ΟΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ 3.1 ΑΝΑΖΗΤΗΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΤΥΦΛΗ ΑΝΑΖΗΤΗΣΗ (Blind search) ΠΡΩΤΑ ΚΑΤΑ- ΒΑΘΟΣ ΑΝΑΖΗΤΗΣΗ (depth first search) ΠΡΩΤΑ ΠΛΑΤΟΣ- ΒΑΘΟΣ ΑΝΑΖΗΤΗΣΗ (depth first search)...45

3 3.1.2 ΕΥΡΙΣΤΙΚΗ ΜΕΘΟΔΟΣ ΑΝΑΖΗΤΗΣΗΣ ΠΡΩΤΑ- Ο- ΚΑΛΥΤΕΡΟΣ (Best first) ΑΝΑΡΡΙΧΗΣΗ ΛΟΦΟΥ ΠΡΟΣΟΜΕΙΩΜΕΝΗ ΑΝΟΠΤΗΣΗ Η ΕΥΡΙΣΤΙΚΗ ΜΕΘΟΔΟΣ IDA* ΟΠΙΣΘΟΔΡΟΜΗΣΗ (Backward chaining) ΚΑΙ ΕΜΠΡΟΣΘΙΟΔΡΟΜΗΣΗ (Forward chaining) ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ PROLOG ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΚΛΕΙΔΙΑ ΤΡΟΠΟΙ ΕΡΩΤΑΠΑΝΤΗΣΕΩΝ SQL ΚΑΙ PROLOG ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ ΕΠΙΛΟΓΗ (SELECTION) ΠΡΟΒΟΛΗ (PROJECTION) ΚΑΡΤΕΣΙΑΝΟ ΓΙΝΟΜΕΝΟ (CARTESIAN PRODUCT) ΕΝΩΣΗ (UNION) ΔΙΑΦΟΡΑ (DIFFERENCE) ΤΟΜΗ (INTERSECTION) ΣΥΝΔΕΣΗ (JOIN) ΔΙΑΙΡΕΣΗ (DIVISION) ΜΕΘΟΔΟΙ ΑΝΑΠΑΡΑΣΤΑΣΗΣ ΓΝΩΣΗΣ ΛΟΓΙΚΗ ΚΑΝΟΝΕΣ ΠΑΡΑΓΩΓΗΣ ΣΗΜΑΣΙΟΛΟΓΙΚΑ ΔΙΚΤΥΑ ΠΛΑΙΣΙΑ ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΚΑΙ ΜΕΙΟΝΕΚΤΗΜΑΤΑ ΕΤΟΙΜΑ ΠΡΟΓΡΑΜΜΑΤΑ ΣΕ PROLOG ΜΗΧΑΝΙΣΜΟΣ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΜΗΧΑΝΙΣΜΟΣ ΕΠΕΞΗΓΗΣΗΣ ΕΡΩΤΗΣΗ ΕΠΙΤΕΥΞΗΣ ΣΤΟΧΟΥ ΔΙΑΔΙΚΑΣΙΑ ΕΞΟΔΟΥ ΔΙΑΔΙΚΑΣΙΑ ΚΑΘΑΡΙΣΜΟΥ ΜΙΑΣ ΒΑΣΗΣ ΠΡΟΣΠΕΛΑΣΗ ΔΕΔΟΜΕΝΩΝ ΜΕ ΦΥΣΙΚΗ ΓΛΩΣΣΑ.75

4 ΕΝΟΤΗΤΑ 1 Η PROLOG ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ ΓΕΝΙΚΑ. Η ΠΡΩΤΗ ΕΠΑΦΗ. 1

5 ΕΝΟΤΗΤΑ 1 - ΓΝΩΡΙΜΙΑ ΜΕ ΤΗΝ PROLOG 1.1 ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ Ιστορικά θα πρέπει να ξεκινήσει κανείς από τους χρόνους των αρχαίων Ελλήνων (Αριστοτέλης κ.ά.) όπου είχαν τεθεί φιλοσοφικά ερωτήματα για τη φύση της γνώσης και των διαδικασιών συλλογισμού. Αργότερα η προσπάθεια αυτή συστηματοποιήθηκε και τυποποιήθηκε στα τέλη του 19 ου αιώνα και τον 20 αιώνα από επιστήμονες όπως οι Frege, Boole, Russell, Tarski, Quine, Peano, Herbrand κ.α. Στα πλαίσια αυτά σημαντική υπήρξε η προσπάθεια στην κατεύθυνση της αυτόματης εξαγωγής συμπερασμάτων και αυτόματης απόδειξης θεωρημάτων. Στα 1930 ο Herbrand πρότεινε ένα μηχανικό τρόπο στην απόδειξη θεωρημάτων, που όμως ήταν πολύ αργός. Το όνομα αυτό αποδόθηκε, κατά τη διάρκεια ενός ταξιδιού με το τραίνο Παρίσι-Μασσαλία, από τη γυναίκα τού Philippe Roussel. Ο Ρ. Roussel και ο Michel Van Caneghem δούλεψαν μαζί με τον "πατέρα" της Prolog, τον Alain Colmerauer, στις πρώτες εκδόσεις της γλώσσας. Τα πρώτα βήματα για τη δημιουργία της Prolog έγιναν το 1971 και ο διερμηνευτής (iηterpreter) της Prolog γράφτηκε για πρώτη φορά σε Algol, σε ένα ΙΒΜ Ακολουθεί, μερικά χρόνια αργότερα, ένας διερμηνευτής γραμμένος σε 1101 TRAN. Την ίδια εποχή βρίσκεται στη Μασσαλία (την πατρίδα της Prolog) () Άγγλος Daνid Warren, με σκοπό τη βελτίωση των επιδόσεων της Prolog. Από αυτή την προσπάθεια θα γεννηθεί, το 1977, ο πρώτος μεταφραστής (compiler) της Prolog, γραμμένος εν μέρει σε FORTRAN και ο υπόλοιπος σε Prolog! Η σύνταξη της Prolog του Warren που ονομάζεται και Prolog του (Εδιμβούργου) ήταν διαφορετική από την αρχική Prolog της Μασσαλίας. Οι εκδόσεις της Prolog θ' ακολουθήσουν στη συνέχεια γεωμετρική πρόοδο (υπάρχει μάλιστα και μία ελληνική διάλεκτος). Η σύνταξη του Εδιμβούργου, όμως, που είναι και αυτή που υιοθετήσαμε, αρχίζει σιγά-σιγά να επιβάλλεται σαν πρότυπο. Από Ελληνικής πλευράς η ενασχόληση με την Prolog στο Ινστιτούτο Πληροφορικής και Τηλεπικοινωνιών του Ε.Κ.Ε.Φ.Ε "Δημόκριτος" έχει ιστορία περισσότερο από μια δεκαετία. Στα χρόνια αυτά η ερευνητική ομάδα Τεχνητής Νοημοσύνης τού Ινστιτούτου ήρθε σε επαφή με την Prolog από πολλές οπτικές γωνίες. Από τη μια μεριά ασχολήθηκε με την τεχνολογία υλοποίησης διερμηνέων της γλώσσας. Καρπός αυτής της δουλειάς υπήρξε η ανάπτυξη διαφόρων πειραματικών διερμηνέων οι οποίοι υλοποιήθηκαν αρχικά σε FORTRAN και ακολούθως σε C και έχουν τρέξει κάτω από λειτουργικά συστήματα MS-DOS, PRIMOS και UΝΙΧ. Η προσπάθεια αυτή συμπυκνώνεται στην ανάπτυξη του διερμηνέα της Δ-Ρrοlοg ο οποίος είναι υλοποιημένος σε γλώσσα C, τρέχει κάτω από MS-DOS και UΝIΧ. Ο διερμηνέας της Δ-Ρrοlοg έχει την επιπλέον δυνατότητα να τρέχει προγράμματα τα οποία είναι γραμμένα με Ελληνικούς χαρακτήρες. Από την άλλη μεριά η Prolog χρησιμοποιήθηκε. σαν εργαλείο για την ανάπτυξη αρκετών εφαρμογών (διδακτορικές διατριβές, διπλωματικές 2

6 ΕΝΟΤΗΤΑ 1 - ΓΝΩΡΙΜΙΑ ΜΕ ΤΗΝ PROLOG εργασίες κλπ.). Μεταξύ των εφαρμογών αυτών περιλαμβάνονται συστήματα επενεργασίας και κατανόησης της φυσικής Ελληνικής γλώσσας, έμπειρα συστήματα, χειρισμός και επεξεργασία συμβολικών παραστάσεων, διαχείριση χρονικών συμβάντων, υλοποίηση μεθόδων αναπαράστασης γνώσης κ.α. 1.2 ΓΕΝΙΚΑ Prolog, κατ' αρχήν, σημαίνει Programmer eη Logique. Η Prolog δεν είναι απλά μια ακόμα γλώσσα προγραμματισμού περισσότερο ή λιγότερο αποτελεσματική από τις πολλές άλλες που ήδη υπάρχουν, αλλά είναι η γλώσσα που εισάγει μια νέα αντίληψη στον προγραμματισμό. Είναι μια γλώσσα του Λογικού Προγραμματισμού που βασίζεται στη Λογική και σχεδιάστηκε για την επίλυση προβλημάτων από την περιοχή της Τεχνητής Νοημοσύνης, αλλά επηρεάστηκε σημαντικά τη γενικότερη εξέλιξη της επιστήμης των Υπολογιστών. Η ανάλυση ενός προβλήματος συνίσταται στον ορισμό κάποιων δομών δεδομένων και στην επινόηση ενός αλγορίθμου για την επίλυση του. Η γραφή ενός προγράμματος για την επίλυση ενός προβλήματος στις συμβατικές γλώσσες προγραμματισμού (Pascal, C, FORTRAN κ.λ.π ) είναι η διατύπωση ενός συνόλου εντολών (instructions) της αντίστοιχης γλώσσας οι οποίες εκτελούνται από τον Η/Υ. Ε είναι ο όρος «εντολή», που χρησιμοποιήθηκε για να εκφράζει την αντίληψη του προγραμματισμού κατά την οποία δίνεται έμφαση στη ροή του ελέγχου. Από την άλλη μεριά, η γραφή ενός προγράμματος Prolog συνίσταται στην περιγραφή των δεδομένων και των σχέσεων που τα διέπουν με τη βοήθεια προτάσεων ενός υποσυνόλου της λογικής πρώτης τάξης, που ονομάζονται προτάσεις Horn. Η προγραμματιστική αντίληψη που εισάγεται με την Prolog και γενικότερα με το λογικό προγραμματισμό είναι τέτοια ώστε αν θεωρήσουμε ότι (η εξίσωση στον Kowalski) Αλγόριθμος= λογική +έλεγχος Τότε ο προγραμματιστής οφείλει να περιγράψει μόνο τη λογική του προβλήματος ενώ ο έλεγχος αφήνετε στο σύστημα του λογικού προγραμματισμού. Ο κυριότερος σταθμός στην αυτόματη απόδειξη θεωρημάτων από προτάσεις της λογικής πρώτης τάξης υπήρξε η εργασία του Robinson (1965) με καρπό την "Αρχή της ανάλυσης" (Resolution principle). Η αρχή της ανάλυσης είναι μια γενίκευση του κανόνα συμπερασματολογίας «τρόπος σκέψης» (modus ponens) και βασίζεται στην ιδέα: Α Λ(~Α V Γ) ==> Γ Η αρχή αυτή, σε συνδυασμό με τη διαδικασία της ταυτοποίησης ατομικών τύπων, αποτελεί ένα πολύ ισχυρό και απλό στην υλοποίησή του μηχανισμού 3

7 ΕΝΟΤΗΤΑ 1 - ΓΝΩΡΙΜΙΑ ΜΕ ΤΗΝ PROLOG αυτόματης εξαγωγής συμπερασμάτων. Το 1969 ο Green χρησιμοποίησε ένα σύστημα εξαγωγής συμπερασμάτων γραμμένο σε Lίsp, σε μία εφαρμογή ερωταπαντήσεων (Question Answering System). Ακολούθησαν διάφορα Συστήματα Παραγωγής (Production Systems) με εφαρμογή στην Απόδειξη Θεωρημάτων (Theorem Proving), όπως των Roger και Moore (1972), του KowaIskl (1970) κ.ά. Με την απομόνωση των προτάσεων Horn που είναι υποσύνολο των προτάσεων της Λογικής Α' τάξης, (προτάσεις που περιλαμβάνουν το πολύ ένα θετικό ατομικό τύπο), η υλοποίηση μιας γλώσσας προγραμματισμού που να δέχεται, να ερμηνεύει και να μπορεί να εξάγει αυτόματα συμπεράσματα από τις προτάσεις αυτές. Με τη βοήθεια της αποδεικτικής διαδικασίας της αρχής της Ανάλυσης, ήταν πλέον μια υπόθεση ολίγου χρόνου. Η γλώσσα αυτή που ονομάστηκε Prolog (PROgrammlng Ιn LOGlc), αναπτύχθηκε από τη γαλλική ερευνητική ομάδα τεχνητής νοημοσύνης,του Alan Colmerauer, στο Πανεπιστήμιο Lumιny της Μασσαλίας, Οι πρώτες δημοσιεύσεις. γύρω από την Prolog εμφανίζονται κατά τα έτη Παράλληλα, η αλματώδης ανάπτυξη της τεχνολογίας των υπολογιστών οδήγησε τη χρήση τους σε νέες εφαρμογές όπως η κατανόηση φυσικής γλώσσας ή τα έμπειρα συστήματα, που απαιτούν "ιδιαίτερη νοημοσύνη". Η Τεχνητή Νοημοσύνη είναι ο κλάδος της επιστήμης των υπολογιστών που ασχολείται με αυτά τα θέματα, καθώς και με τα "εργαλεία" που χρειάζονται για την επίλυση και επεξεργασία των θεμάτων αυτών. Έτσι η Prolog είναι μια γλώσσα της Τεχνητής Νοημοσύνης, επί πλέον όμως δεν παύει να είναι και μια γλώσσα γενικής χρήσης (general purpose) και υπάρχουν αρκετές εφαρμογές σε συνεργασία με Τράπεζες Δεδομένων ακόμα και σε μηχανογραφικά συστήματα. Το βασικό της μειονέκτημα, που είναι ο σχετικά αργός μηχανισμός της συνεπαγωγής, φαίνεται ότι θα ξεπεραστεί από την ανάπτυξη της τεχνολογίας με τα παράλληλα υπολογιστικά συστήματα. Στη διάδοση της Prolog σημαντικό ρόλο έπαιξε η αναγγελία του προγράμματος των υπολογιστών της 5ης γενιάς, από τους Ιάπωνες το 1981: Το πρόγραμμα αυτό θα έχει σαν βασική υποδομή το Λογικό Προγραμματισμό, υλοποιημένο με Prolog ή με μια παρεμφερή προς αυτή γλώσσα. Η περιοχή του λογικού προγραμματισμού εξακολουθεί να παραμένει μια εξαιρετικά ενεργός ερευνητικά περιοχή. Σημαντική ερευνητική δραστηριότητα αφορά την ανάπτυξη παράλληλων γλωσσών λογικού προγραμματισμού. Η έρευνα στην κατεύθυνση αυτή έχει δώσει ήδη αρκετά χειροπιαστά αποτελέσματα. Άλλες ερευνητικές κατευθύνσεις αφορούν τη βελτίωση του ελέγχου του μηχανισμού απόδειξης της Prolog (μερικά αποτελέσματα αφορούν τη λεγόμενη έξυπνη οπισθοδρόμηση (intelligent backtracking), την εισαγωγή μηχανισμού καθυστέρησης της εκτέλεσης κάποιων κλήσεων (delay) κ.λ.π.), τη διεύρυνση του υποσυνόλου της λογικής που χρησιμοποιείται σαν γλώσσα προγραμματισμού, τον συνδυασμό του λογικού προγραμματισμού με άλλες προγραμματιστικές φιλοσοφίες όπως συναρτησιακό προγραμματισμό (functional programming), και προγραμματισμό προσανατολισμένο σε αντικείμενα (object-oriented 4

8 ΕΝΟΤΗΤΑ 1 - ΓΝΩΡΙΜΙΑ ΜΕ ΤΗΝ PROLOG programmlng) καθώς και η ανάπτυξη ενδιάμεσων για επικοινωνία με αλγοριθμικές γλώσσες προγραμματισμού και με βάσεις δεδομένων. Σημαντική είναι και η προσπάθεια συνδυασμού του λογικού προγραμματισμού με μεθοδολογίες προγραμματισμού με περιορισμούς (constraint programming) όπου παρέχεται στο χρήστη η δυνατότητα να ορίζει, με εξαιρετικά δηλωτικό τρόπο, περιορισμούς (constraints) που πρέπει να ισχύουν μεταξύ μεγεθών του προς επίλυση προβλήματος. Τέλος, σημαντική έρευνα γίνεται ώστε να αναπτυχθούν περιβάλλοντα λογικού προγραμματισμού, αυτόματης απόδειξης ορθότητας προγραμμάτων, μετασχηματισμού προγραμμάτων και αυτόματου προγραμματισμού. 1.3 Η ΠΡΩΤΗ ΕΠΑΦΗ Επειδή ο καλύτερος τρόπος για να καταλάβει κανένας μια γλώσσα προγραμματισμού είναι να γράψει ένα εύκολο πρόγραμμα. Για να γράψει κάποιος ένα πρόγραμμά στην Prolog δεν είναι απαραίτητο να γνωρίζει πολλά πράγματα από προγραμματισμό διότι δεν θα χρειαστεί να αποστηθίσουμε λέξεις-κλειδιά όπως FOR,WHILE, IF.. THEN κ.λ.π. Φτάνει μόνο να καταγράψουμε τη γνώση μας χωρίς περίπλοκες εντολές. Όπως για παράδειγμα ζώο(τίγρης). Εδώ δεν κάναμε κάτι το ιδιαίτερο απλά καταγράψαμε μια γνώση που έχουμε για την ιδιότητα του σκύλου ότι είναι ζώο. Αυτό ήταν το πρώτο μας πρόγραμμα στην Prolog. Τώρα θα εμπλουτίσουμε το πρόγραμμα μας: ζώο(τίγρης). ζώο(λεοπάρδαλη). ζώο(λιοντάρι). "Ωραία, και τώρα τι γίνεται; ", θ' αναρωτηθεί κανείς. "Ποια είναι τ' αποτελέσματα αυτού του προγράμματος; ". Το πρώτο αποτέλεσμα είναι ότι, χάρη στην Prolog, ο ηλεκτρονικός υπολογιστής γνωρίζει ότι ο τίγρης,η λεοπάρδαλη και το λιοντάρι είναι ζώα. Τώρα η Prolog περιμένει να περάσει τις εξετάσεις μ' ένα όμορφο ερωτηματικό:? Το πρώτο πράγμα που θα ρωτήσουμε την Prolog είναι να μας πει αν ο τίγρης, είναι. ζώο. Μετά από το ερωτηματικό. Θα γράψουμε :?ζώο(τίγρης). 5

9 ΕΝΟΤΗΤΑ 1 - ΓΝΩΡΙΜΙΑ ΜΕ ΤΗΝ PROLOG Και η Prolog θα μας απαντήσει: =ναι Το πρώτο πρόγραμμά μας δουλεύει. Καταφέραμε επιτέλους να πούμε σε έναν ηλεκτρονικό υπολογιστή ότι ο τίγρης, είναι ζώο (και όχι, Π.χ., μάρκα υπολογιστών), Τώρα θα τον ρωτήσουμε και πιο πολύπλοκο "Θέλω να μου δώσεις όλα τα ζώα που γνωρίζεις". Πώς, όμως, θα εκφράσουμε την έννοια του όλα; Θα χρησιμοποιήσουμε γι' αυτό μία μεταβλητή Χ. Θα ρωτήσουμε τον ηλεκτρονικό υπολογιστή?ζώο(χ) Και ο υπολογιστής μέσω της Prolog θα μας απαντήσει: Χ= τίγρης Χ= λεοπάρδαλη Χ= λιοντάρι Με την απάντηση του αυτή θα μας δώσει όλες τις "τιμές" του Χ, για τις οποίες η σχέση ζώο(χ) επαληθεύετε. Φυσικά δεν περιμένουμε να μας απαντήσει Χ= ελέφαντας και αυτό γιατί δεν υπάρχει στην βάση γνώσης μας ότι ζώο(ελέφαντας). Δηλαδή δεν γνωρίζει η Prolog πώς ο ελέφαντας είναι ζώο. Αν ας πούμε προσθέσουμε μέσα στο πρόγραμμα μας ζώο(βιβλίο). η Prolog στην ερώτηση,? ζώο(βιβλίο) θα μας απαντούσε καταφατικά =ναι Η γλώσσα Prolog αναπτύσσεται μέσα στον εσωτερικό της κόσμο, ο οποίος; αποτελείται από γεγονότα. Ένα γεγονός μπορεί να αντιπροσωπεύει μία σχέση, μια πληροφορία ή ένα δεδομένο. Αυτά τα γεγονότα όμως, δεν αντανακλούν αναγκαστικά στην εξωτερική πραγματικότητα. παρά μόνο στο βαθμό που επιθυμεί ο προγραμματιστής. Ας δώσουμε, τώρα, μερικά άλλα παραδείγματα γεγονότων, τα οποία θα μπορούσαμε να προγραμματίσουμε στην Prolog. 6

10 ΕΝΟΤΗΤΑ 1 - ΓΝΩΡΙΜΙΑ ΜΕ ΤΗΝ PROLOG φίλος ( σπύρου, κώστας ). αγαπάει ( γιάvνης, μαρία ). κοστίζει ( χρυσαφί, πολύ ). είναι ( ομάδα, ολυμπιακός ). αγαπάει (σπύρος, αλέξανδρο ). κωδικός( πελάτη, 12123). ημερομηνία ( λήξης, 12, σεπτεμβρίου, 1989). δίνει( βιβλιοπώλης, βιβλίο, πελάτη). βρέχει. Ένα γεγονός στην Prolog, λοιπόν, έχει ένα όνομα και διάφορα αντικείμενα. Έτσι όταν γράφουμε : φίλος ( σπύρου, κώστας ). εκφράζουμε ένα γεγονός, το οποίο εκφράζει μία σχέση μεταξύ διαφόρων παραμέτρων. Το όνομα της σχέσης θα το ονομάσουμε κατηγόρημα (predicate), Οι παράμετροι της σχέσης ονομάζονται και αντικείμενα ή όροι (terms) αυτής της σχέσης. Ας πάρουμε το εξής πρόγραμμα: αγαπάει ( νίκος, σοφία). αγαπάει( δημήτρης, ελένη). έξυπνο(κουτάβι). έξυπνο(δελφίνι). χιονίζει. Το πρόγραμμα αυτό αποτελείται από πέντε γεγονότα, (δηλαδή από πέντε σχέσεις). Τα δύο πρώτα αντιστοιχούν στο κατηγόρημα αγαπάει και δέχονται δυο όρους, τα δύο επόμενα υλοποιούν το κατηγόρημα έξυπνο και αφορούν έναν όρο. Το τελευταίο γεγονός είναι ένα γεγονός χωρίς όρους και αντιστοιχεί στο κατηγόρημα χιονίζει. Όταν, για να εκφράσουμε τη γνώση ότι το ποτήρι είναι ασημένιο, καταγράφουμε στο πρόγραμμά μας το γεγονός, Π.χ. ασήμι ( ποτήρι).αναφερόμαστε σ' ένα συγκεκριμένο αντικείμενο. Δηλαδή σ' ένα συγκεκριμένο ποτήρι ή μία συγκεκριμένη κατηγορία ποτηριών. Έχουμε να κάνουμε με μια σταθερά (γι' αυτό και χρησιμοποιήσαμε σαν πρώτο γράμμα της λέξης το μικρό 'π'). Αν όμως, γράφαμε ασήμι(ποτήρι) Θα σήμαινε ότι οτιδήποτε αντικείμενο (ακόμα κι ένα δέντρο) είναι φτιαγμένο από ασήμι. Αυτό οφείλεται στο ότι χρησιμοποιήσαμε μία. μεταβλητή (κεφαλαίο «Π»). 'Έτσι, αν ρωτούσαμε? ασήμι(δέντρο), 7

11 ΕΝΟΤΗΤΑ 1 - ΓΝΩΡΙΜΙΑ ΜΕ ΤΗΝ PROLOG η Prolog θα μας απαντούσε καταφατικά (κάτι που δεν θα ήταν σύμφωνο με τις δικές μας γνώσεις). Υπάρχουν φυσικά και περιπτώσεις όπου, μέσα σ' ένα γεγονός, χρειάζεται να χρησιμοποιήσουμε κάποια μεταβλητή. Τώρα,θα υποθέσουμε ότι τα αντικείμενα, στα οποία αναφερόμαστε με τη βοήθεια κατηγορημάτων, απεικονίζονται από σταθερές. Στη συνέχεια θα δούμε μερικούς κανόνες για την σύνταξη των διαφόρων γεγονότων στη Prolog: Το όνομα του κατηγορήματος, όπως και το όνομα των αντικειμένων του πρέπει να αρχίζει πάντα από μικρό γράμμα (να είναι, δηλαδή, σταθερά). Στο εσωτερικό ενός ονόματος επιτρέπεται να τοποθετούμε το σύμβολο _ (κάτω παύλα = underscore) για να ενώνουμε δύο διαφορετικές λέξεις (τηλέφωνο_ φίλου, έχει_ μόνο κλπ.). Οι όροι του γεγονότος (όταν υπάρχουν) τοποθετούνται μέσα σε παρένθεση και διαχωρίζονται (όταν είναι περισσότεροι του ενός) με κόμματα. Η εκφώνηση ενός γεγονότος τελειώνει πάντοτε με τελεία. Οι μεταβλητές, τις οποίες για την ώρα θα χρησιμοποιήσουμε. μόνο κατά τη διάρκεια των ερωτήσεων, αρχίζουν πάντα με κεφαλαίο γράμμα. Ας εξετάσουμε κι ένα δείγμα συντακτικών λαθών που θα μπορούσαμε να είχαμε κάνει κατά τη γραφή των γεγονότων Φρούτο (μήλο) Φρούτο (μήλο) Λείπει η τελεία. Το όνομα του κατηγορήματος δεν αρχίζει με κεφαλαίο. Φρούτο (μήλο αχλάδι ) Λείπει το κόμμα μεταξύ των αντικειμένων. 1821(επανάσταση) έχει πάρει (βιβλίο) Το όνομα δεν αρχίζει με γράμμα. Το όνομα του κατηγορήματος αποτελείται από δύο λέξεις,χωρίς να μεσολαβεί η κάτω παύλα. Εννοείται ότι οι διάφορες διάλεκτοι της Prolog δεν ακολουθούν πάντα την ίδια σύνταξη και αναγνωρίζουν (συνήθως) μόνο λατινικούς χαρακτήρες. 8

12 ΕΝΟΤΗΤΑ 1 - ΓΝΩΡΙΜΙΑ ΜΕ ΤΗΝ PROLOG 9

13 ΕΝΟΤΗΤΑ 2 Η PROLOG ΩΣ ΓΛΩΣΣΑ ΓΕΓΟΝΟΤΑ (FACTS)... ΚΑΝΟΝΕΣ (RULES)... ΣΥΝΘΕΤΟΙ ΟΡΟΙ (COMPLEX TERMS).. ΑΝΤΙΚΕΙΜΕΝΑ ΤΗΣ PROLOG. ΕΝΟΠΟΙΗΣΗ-ΤΑΥΤΟΠΟΙΗΣΗ.. ΤΕΛΕΣΤΕΣ 10

14 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG 2.1 Γεγονότα (facts) Η απλούστερη μορφή πρότασης (clause) στην Prolog είναι το γεγονός (fact) κωδικοποιούμε πρωταρχικές γνώσεις γύρω από το πρόβλημα που θέλουμε να επιλύσουμε, τις γνώσεις δηλαδή που δεν παράγονται από άλλες. Για παράδειγμα, με ένα γεγονός μπορούμε να δηλώσουμε στην Prolog ότι δύο αντικείμενα συνδέονται μεταξύ τους με σχέση (relationship). Ας πάρουμε ένα παράδειγμα για να κατανοήσουμε καλύτερα τις τεράστιες δυνατότητες της Prolog. Είναι Κυριακή βράδυ και θέλουμε να καταγράψουμε τα αποτελέσματα των ποδοσφαιρικών αγώνων του τελευταίου μήνα : ποιος έπαιξε εναντίον ποιού, ποιο είναι το αποτέλεσμα του αγώνα κλπ. Είναι πρωταρχικό στην Prolog, πριν αρχίσουμε το γράψιμο οποιουδήποτε προγράμματος, να βρούμε ποιο είναι το όνομα του γεγονότος που επιθυμούμε να εκφράσουμε. Το γεγονός σ' αυτή την περίπτωση είναι ότι η ομάδα α έπαιξε εναντίον της ομάδας β και έφερε το αποτέλεσμα γ. Αν Π.χ. ο Παναθηναϊκός κέρδισε εκτός έδρας τον Ολυμπιακό με 2-0, θα μπορούσαμε να γράψουμε το εξής γεγονός: έπαιξε(ολυμπιακός, παναθηναϊκός, 0, 2). Το έπαιξε ονομάζεται κατηγόρημα (predicate) ενώ τα ολυμπιακός και παναθηναϊκός αποτελούν τα ορίσματα (arguments). Ο αριθμός των oρισμάτων που αντιστοιχεί σε κάποιο κατηγόρημα ονομάζεται τάξη (arity) του κατηγορήματος αυτού. Η συγκεκριμένη διάταξη των oρισμάτων δεν παίζει κανένα ρόλο αρκεί να ακολουθείται με συνέπεια για όλες τις σχέσεις με το ίδιο κατηγόρημα. Το κατηγόρημα μαζί με τα ορίσματα που περιλαμβάνει ονομάζεται ατομικός τύπος (atomic formula). Στην πρόταση ομάδα (ολυμπιακός) ο ολυμπιακός έχει την ιδιότητα (property) ομάδα Υπάρχουν, όμως, χίλιοι-δύο άλλοι τρόποι στην Prolog για να εκφράσουμε το ίδιο γεγονός που περιγράψαμε πιο πάνω αγώνας (ολυμπιακός, παναθηναϊκός, 0, 2) ή κέρδισε (παναθηναϊκός, ολυμπιακός, 2, 0) ή παναθηναϊκός (ολυμπιακός, 2, 0) ή ολυμπιακός (έχασε, 2, Ο, παναθηναϊκός) ή νίκη (εκτός έδρας, παναθηναϊκός, 2, 0, ολυμπιακός). κλπ. Άρα καταλήγουμε στα εξής συμπεράσματα: Ένα σύνολο από γεγονότα είναι ένα πρόγραμμα Prolog. Ένα γεγονός περιλαμβάνει έναν και μόνο ατομικό τύπο. Ένας ατομικός τύπος αποτελείται από ένα κατηγόρημα τάξης και μεγαλύτερο ή ίσο του μηδενός και από κ ορίσματα. Ένα όρισμα μπορεί να είναι ένα άτομο. 11

15 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG Η Prolog δεν μας επιβάλλει κανέναν από τους παραπάνω ή τους υπόλοιπους δυνατούς τρόπους. Εμείς Θα πρέπει να διαλέξουμε τον τρόπο που μας αρέσει και που αντιπροσωπεύει καλύτερα το γεγονός. Ας μην ξεχνάμε, όμως, ότι οι απαντήσεις της Prolog αποτελούνται από τα αντικείμενα, με τα οποία κατασκευάσαμε τα γεγονότα μας. Αν είχαμε δηλαδή ένα γεγονός του τύπου: κέρδισε(παναθηναϊκός, 2). Δεν θα είμαστε, στη συνέχεια, σε θέση να μάθουμε ούτε ποιόν κέρδισε ο παναθηναϊκός, ούτε το ακριβές σκορ του αγώνα. Ας διαλέξουμε, λοιπόν, το συμβολισμό: αγώνας(ολυμπιακός, παναθηναϊκός, 0, 2). Αξίζει να παρατηρήσουμε ότι αυτό το γεγονός δεν είναι το ίδιο με : αγώνας (παναθηναϊκός, ολυμπιακός:, 2, 0), γιατί, ενώ το πρώτο εκφράζει ότι ο παναθηναϊκός κέρδισε τον ολυμπιακός εκτός έδρας, το δεύτερο εκφράζει ότι ο παναθηναϊκός έπαιξε στο γήπεδό του.ας καταγράψουμε, λοιπόν, μερικά από τα ποδοσφαιρικά αποτελέσματα του τελευταίου μήνα: αγώνας(ολυμπιακός, παναθηναϊκός, 0, 2). αγώνας(ολυμπιακός, αεκ, 3, 3). αγώνας (ολυμπιακός, άρης, 0,0 ). αγώνας(παναθηναϊκός, ολυμπιακός, 1, 1). αγώνας(παναθηναϊκός, άρης, 5, 0). αγώνας(άρης, αεκ, 1, 0). αγώνας(αεκ, παναθηναϊκός, 0, 0). αγώνας(αεκ, ολυμπιακός, 2, 1). Είμαστε τώρα σε θέση να ρωτήσουμε την Prolog. Στην πρώτη ερώτηση που Θα υποβάλουμε, θα επαληθεύσουμε το αποτέλεσμα ενός αγώνα:? αγώνας(άρης, αεκ, 1, Ο). =ναι και συνεχίζουμε:? αγώνας(αεκ, άρης, Ο, Ο). =όχι 12

16 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG Πράγματι, η Prolog δεν γνωρίζει τέτοιον αγώνα. Μπορούμε, όμως, να ρωτήσουμε ποιοι ήταν οι αντίπαλοι της αεκ. Επειδή θέλουμε να μάθουμε όλους τους αντιπάλους της, θα χρησιμοποιήσουμε μία μεταβλητή. Δεν είμαστε,φυσικά αναγκασμένοι να ονομάζουμε τη μεταβλητή μας Χ. Ας την ονομάσουμε Αντίπαλος. Πράγματι, η Prolog τη θεωρεί μεταβλητή, γιατί το όνομά της αρχίζει με κεφαλαίο γράμμα (το Α). Επιθυμούμε, ακόμα, να μάθουμε το αποτέλεσμα του κάθε αγώνα της αεκ με τους διαφόρους αντιπάλους της. Θα χρησιμοποιήσουμε γι' αυτό το σκοπό δύο άλλες μεταβλητές : Σκορ_αεκ και Σκορ-αντιπάλου και θα ρωτήσουμε? αγώνας(αεκ, Αντίπαλος, Σκορ_αεκ, Σκορ-αντιπάλου). Μ' άλλα λόγια: "Ποια είναι τα γεγονότα που συμπεριλαμβάνουν το αντικείμενο αεκ και ποια είναι τα άλλα τρία αντικείμενο που το ακολουθούν ;" Η Prolog Θα μας απαντήσει: Αντίπαλος = παναθηναϊκός Σκορ_αεκ=0 Σκορ-αντιπάλου=0 Αντίπαλος= ολυμπιακός Σκορ_αεκ=2 Σκορ-αντιπάλου=1 Μας παρουσιάζει, δηλαδή,τα αποτελέσματα όλων των αγώνων της αεκ στην έδρα της.αν, τώρα,θέλουμε να μάθουμε τα αποτελέσματα όλων των αγώνων εκτός έδρας της αεκ θα ρωτήσουμε :? αγώνας(αντίπαλος, αεκ, Σκορ-αντιπάλου, Σκορ_αεκ ). και θα πάρουμε Αντίπαλος= ολυμπιακός Σκορ-αντιπάλου=3 Σκορ_αεκ=3 Αντίπαλος= άρης Σκορ-αντιπάλου=1 Σκορ_αεκ=0 Ας υποθέσουμε τώρα ότι θέλουμε να μάθουμε όλες τις ισοπαλίες. Μια ισοπαλία χαρακτηρίζεται από το ίδιο σκορ των δυο αντιπάλων.επειδή,όμως δεν γνωρίζουμε εκ των προτέρων ποιο μπορεί να είναι το σκορ της κάθε ισοπαλίας,θα χρησιμοποιούμε την ίδια και μόνο μεταβλητή (την οποία θα ονομάσουμε, π.χ.,χ)και θα ρωτήσουμε :?αγώνας (ομάδα1, ομάδα2, Χ, Χ). 13

17 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG Δηλαδή : «Πες μου ποιες είναι οι ομάδες (ομάδα1 και ομάδα2 ), για τις οποίες το σκορ (Χ) είναι το ίδιο». Χρησιμοποιήσαμε δυο μεταβλητές για τις ομάδες,γιατί θέλουμε να μάθουμε όλες τις ομάδες που έφεραν ισοπαλία.δεν γνωρίζουμε, δηλαδή,εκ, των προτέρων τα ονόματα αυτών των ομάδων.η Prolog θα μας απαντήσει με τέσσερις λύσεις : ομάδα1=ολυμπιακός ομάδα2=αεκ Χ=3 ομάδα1=ολυμπιακός ομάδα2=άρης Χ=0 ομάδα1=παναθηναικός ομάδα2=ολυμπιακός Χ=1 ομάδα1=αεκ ομάδα2= παναθηναϊκός Χ=0 Μας απάντησε. δηλαδή. με όλες τις ισοπαλίες τού μήνα, δείχνοντας μας και το ισόπαλο σκορ του αγώνα. Ο προσεκτικός αναγνώστης θα παρατήρησε ότι η ερώτηση αγώνας (ομάδα1, ομάδα2, Χ, Χ) δεν είναι το ίδιο πράγμα με την ερώτηση αγώνας (ομάδα1, ομάδα2, Χ, Υ). Με την πρώτη ερώτηση την αναγκάζουμε να εντοπίσει τα γεγονότα όπου η τρίτη παράμετρος (το σκορ της γηπεδούχου) είναι ίδια με την τέταρτη (το σκορ της επισκέπτριας). Αντίθετα, αν είχαμε χρησιμοποιήσει δύο διαφορετικές μεταβλητές, η Prolog θα μας είχε υποδείξει όλα τα σκορ. Μέσα σ' αυτά θα εμφανίζονταν, φυσικά, και τ' αποτελέσματα όπου το Χ ισούται με το Υ. Με άλλα λόγια η δεύτερη ερώτηση (Χ και Υ) είναι πιο γενική από την πρώτη (μόνο Χ). Τώρα ας υποθέσουμε ότι είμαστε οπαδοί του άρη και θέλουμε να δούμε όλες. τις ισοπαλίες του άρη εκτός έδρας. Επειδή δεν γνωρίζουμε εκ των προτέρων τον αντίπαλό του, θα χρησιμοποιήσουμε μία μεταβλητή Υ και θα ρωτήσουμε? αγώνας(υ, άρης, Χ, Χ). Με άλλα λόγια, "Δώσε μου το όνομα της ομάδας Υ που έπαιξε στην έδρα της (πρώτη παράμετρος του γεγονότος) εναντίον του άρη και που έφερε το ίδιο σκορ με τον άρη (Χ)". Η Prolog θα μας απαντήσει με μία μόνο λύση: Υ =ολυμπιακός Χ =0 14

18 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG Μήπως ο άρης έχει φέρει ισοπαλία στην έδρα του;? αγώνας(άρης, ομάδα, Χ, Χ). =όχι Υπάρχει κανένας αγώνας όπου η αεκ να μην έχει καταφέρει να βάλει κανένα, τέρμα παίζοντας στην έδρα της;? αγώνας( άεκ, ομάδα, 0, Χ). Εδώ ζητάμε από την Prolog να μας βρει μία ομάδα (που αντιπροσωπεύεται από τη μεταβλητή ομάδα) που να έχει παίξει εκτός έδρας εναντίον τής άεκ και να έχει φέρει το σκορ Χ. Το σκορ της άεκ δεν είναι μεταβλητή, δεδομένου ότι το γνωρίζουμε (0). Η Prolog θα μας απαντήσει: ομάδα= παναθηναϊκός Χ=0 Πράγματι, στον αγώνα της εναντίον του παναθηναϊκού η αεκ είχε φέρει ισοπαλία (0-0),χωρίς να έχει πετύχει κανένα τέρμα. Πέρα από όσα είδαμε ως εδώ,όμως η Prolog μας δίνει τη δυνατότητα να διατυπώνουμε και σύνθετες ερωτήσεις.π.χ. «Ποια είναι η ομάδα που κέρδισε με 1-0 στην έδρα της την αεκ και ηττήθηκε με 5-0 εκτός έδρας από τον παναθηναϊκό».για να εκφράσουμε το και στην Prolog,χρησιμοποιούμε το σύμβολο (,). Έτσι θα γράψουμε:?αγώνας (Χ, αεκ, 1, 0), αγώνας (παναθηναϊκός, Χ,5,0) η Prolog θα συμβουλευτεί το πρόγραμμα μας και θα προσπαθήσει να εντοπίσει τα δυο γεγονότα που ικανοποιούν την ερώτηση μας.η απάντηση της θα είναι : Χ= άρης Η εξαγωγή συμπερασμάτων με βάση τη γνώση που περιλαμβάνει ένα πρόγραμμα γίνεται υποβάλλοντας ερωτήσεις στο πρόγραμμα αυτό. Μια απλή ερώτηση περιλαμβάνει μια κλήση (call) κάποιας πρότασης του προγράμματος μας. Ο ατομικός τύπος μιας ερώτησης μπορεί να περιλαμβάνει μεταβλητές στις θέσεις αγνώστων ορισμάτων τα οποία ζητάμε να μάθουμε υποβάλλοντας την ερώτηση.τα ονόματα των μεταβλητών ξεκινούν με κεφαλαίο χαρακτήρα ή _ Ένα πρόγραμμα μπορεί να δώσει όλες τις δυνατές απαντήσεις σε μια ερώτηση που υποβάλλουμε. 15

19 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG 2.2 Οι κανόνες (rules) Διαπιστώσαμε ότι η λειτουργία της Prolog στηρίζεται σε μία μεθοδική εξέταση μιας ολόκληρης βάσης δεδομένων (που καμιά φορά ονομάζουμε και βάση γεγονότων). Παίρνοντας υπ' όψη της μία αρχική ερώτησή μας, η Prolog αρχίζει να τη συγκρίνει με κάθε ένα από τα γεγονότα που της δηλώσαμε. Όταν καταφέρει και ενοποιήσει την ερώτησή μας μ' ένα γεγονός, τότε δίνει τη λύση (δηλαδή το αποτέλεσμα των ενοποιήσεών της) και συνεχίζει μέχρι να εξαντλήσει όλα. Τα γεγονότα Σύνταξη ενός κανόνα Ο προγραμματισμός της Prolog, όμως, δεν περιορίζεται στη διατύπωση απλών γεγονότων. Η γλώσσα Prolog μας δίνει τη δυνατότητα να εκφράσουμε με έναν ή πολλούς κανόνες, τις γνώσεις που διέπουν ένα συγκεκριμένο πρόβλημα. Ας πάρουμε ένα συγκεκριμένο παράδειγμα. Επιθυμούμε να συμβολίσουμε το γενεαλογικό δέντρο μίας οικογένειας: Η Δανάη και ο Άλκης είναι αδέρφια και οι γονείς τους ονομάζονται Αγησίλαος και Σάρα. Ο Άλκης παντρεύτηκε μοναχοκόρη του Μενέλαου και της Κλειώς, τη Λουίζα. Τα δυο παιδία τους ονομάζονται Νίκος και Αλέξανδρος. Αν επιθυμούμε να προγραμματίσουμε τα οικογενειακά γεγονότα θα γράψουμε: πατέρας (δανάη, αγησίλαος) πατέρας (άλκης, αγησίλαος) πατέρας (λουίζα, μενέλαος) πατέρας (νίκος, άλκης) πατέρας (άλκης, αγησίλαος) πατέρας (αλέξανδρος, άλκης) μητέρα (δαναή, σάρα) μητέρα (άλκης, σάρα) μητέρα (λουίζα, κλειώ) μητέρα (νίκος, λουίζα) μητέρα (αλέξανδρος, λουίζα) γιαγιά (νίκος, σάρα) γιαγιά (αλέξανδρος, σάρα) γιαγιά (νίκος, κλειώ) γιαγιά (αλέξανδρος, κλειώ) αδέρφια(δανάη, άλκης) αδέρφια(νίκος, αλέξανδρος) 16

20 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG Προσέχοντας, βέβαια, να μην χρησιμοποιούμε κεφαλαία στη θέση των κύριων ονομάτων, γιατί αλλιώς η Prolog θα τα ερμηνεύσει σαν μεταβλητές. Το ότι γράφουμε: γιαγιά(αλέξανδρος, σάρα). σημαίνει ότι η γιαγιά του Αλέξανδρου ονομάζεται Σάρα. Αν τώρα γράφαμε γιαγιά(αλέξανδρος, σάρα). αυτό θα σήμαινε ότι όλος ο κόσμος έχει μία γιαγιά πού τη λένε Σάρα. Θα ήταν δηλαδή σαν να γράφαμε γιαγιά (Χ, σάρα). Αν κάναμε το λάθος και γράφαμε γιαγιά(αλέξανδρος, Σάρα). αυτό θα σήμαινε το ίδιο πράγμα με το γιαγιά(αλέξανδρος, Χ). Δηλώνει ότι όλος ο κόσμος είναι η γιαγιά του Αλέξανδρου. Ας κάνουμε τώρα μερικές ερωτήσεις στην Prolog για να επαληθεύσουμε τα διάφορα γεγονότα. ποια είναι τα παιδιά του Αλκη;?πατέρας (Παιδί, άλκης) Παιδί =νίκος Παιδί= Αλέξανδρος Ποια είναι τα αδέρφια?αδέρφια (Χ, Υ) X=νίκος Y=αλέξανδρος Να όμως η πρώτη γνωστή παγίδα της Prolog.Αν τώρα ρωτήσουμε :?αδέρφια(αλέξανδρος, Χ) =όχι η Prolog θα μας πληροφορήσει ότι δεν βρήκε κανένα Χ που να εκπληρώνει αυτή τη σχέση. Πράγματι, στο πρόγραμμά μας είχαμε γράψει αδέλφια(νίκος, αλέξανδρος). 17

21 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG Όταν η Prolog προσπαθήσει να ενοποιήσει την παραπάνω ερώτηση, θα αποτύχει. Για την Prolog, το γεγονός ότι ο Νίκος είναι ο αδελφός του Αλέξανδρου δεν είναι το ίδιο πράγμα με το γεγονός ότι ο Αλέξανδρος είναι αδελφός του Νίκου. Το ίδιο πρόβλημα θα προκύψει όταν ρωτήσουμε?αδέλφια(άλκης, Υ). όπου και πάλι η Prolog δεν θα βρει καμία λύση. Δεν υπάρχει, δηλαδή, στη Prolog καμία πληροφορία που να εξηγεί ότι η αδελφική σχέση είναι συμμετρική. Για την ώρα, η μόνη λύση είναι να προσθέσουμε τα δύο αυτά γεγονότα αδέλφια(άλκης, δανάη). αδέλφια(αλέξανδρος, νίκος). Σ' αυτό το σημείο πρέπει ν' αναρωτηθούμε αν είναι πράγματι ανάγκη vα προγραμματίσουμε όλα αυτά τα γεγονότα. Όταν Π.χ. γράφουμε το γεγονός παππούς (νίκος, μενέλαος). δεν θα ήταν πιο έξυπνο (και κομψό, από λογική άποψη) να υποδείξουμε στη' Prolog γιατί ο Μενέλαος είναι παππούς του Νίκου; Ας προσπαθήσουμε να της το πούμε, λοιπόν: «Ο μενέλαος είναι ο παππούς του νίκου διότι η κόρη του μενέλαου είναι η μητέρα του νίκου.» «Ο παππούς του νίκου λέγεται μενέλαος διότι η μητέρα του νίκου είναι η λουίζα και ο πατέρας της λουίζας είναι ο μενέλαος.» Άρα: παππούς (νίκος, μενέλαος) μητέρα (νίκος, λουίζα) πατέρας (λουίζας, μενέλαος) Αυτό, όμως, ισχύει για όλες τις οικογένειες. Πράγματι, σε κάθε οικογένεια,ο πατέρας της μητέρας κάποιου είναι και ο παππούς του τελευταίου (η Prolog, αν και εξελιγμένη γλώσσα, δεν ασχολείται με τα σύγχρονα επιτεύγματα της τεχνητής γονιμοποίησης). Θα μπορούσαμε, δηλαδή, να γράψουμε αυτό τον κανόνα, αντικαθιστώντας με μεταβλητέ ς τα συγκεκριμένα ονόματα και να γράψουμε. Π.χ. αντί νίκος Ν, αντί λουίζα Λ και αντί μενέλαος Μ. Στη θέση της λέξης διότι θα μπορούσαμε να βάλουμε το οποιοδήποτε "συνώνυμό" του όταν, εάν κ.λπ. Έτσι, θα είχαμε: παππούς(ν, Μ) όταν μητέρα(ν, Λ) και πατέρας(λ, Μ). 18

22 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG Μ' άλλα λόγια, ο παππούς του Ν λέγεται Μ όταν (ή διότι, ή εάν) η μητέρα του Ν είναι η Λ και ο πατέρας της. Λ είναι ο Μ. Αντί των τριών συνωνύμων όταν, διότι, εάν), στη γλώσσα προγραμματισμού Prolog θα χρησιμοποιήσουμε ένα και μόνο συμβολισμό το :- Όσο για το και, θα το αντικαταστήσουμε απλώς με το γνωστό κόμμα,. Άρα το παραπάνω,που είναι και ο πρώτος κανόνας, γραφτεί στην πραγματικότητα: παππούς(ν, Μ) :- μητέρα(ν, Λ), πατέρας(λ, Μ). Οι κανόνες, όπως και τα γεγονότα, τελειώνουν πάντα με μία τελεία. Με τον ίδιο τρόπο ανακαλύπτουμε ένα σωρό άλλους "οικογενειακούς" κανόνες: γιαγιά(χ, γ) ; πατέρας(χ, Ζ), μητέρα(ζ, Υ). Μ' άλλα λόγια, «η γιαγιά ενός Χ είναι η Υ όταν αυτός ο Χ έχει έναν πατέρα λένε Ζ και η μητέρα αυτού του τελευταίου ονομάζεται Υ». 'Ένας άλλος κανόνας θα ήταν Π.χ. γιαγιά(ενός, Γ) :- μητέρα(ενός, Μ), μητέρα(μ, Ρ). Χρησιμοποιώντας έναν κανόνα,λύνουμε και το πρόβλημα που προέκυψε με το κατηγόρημα αδέρφια.δυο άτομα Χ και Υ είναι αδέρφια (μη ετεροθαλή ), όταν έχουν την ίδια μητέρα και τον ίδιο πατέρα.αυτός ο κανόνας θα εκφραζόταν στην Prolog : αδέρφια( Χ,Υ):- πατέρας (Χ, Ζ), πατέρας(χ, Μ), μητέρα (Χ, Μ), μητέρα (Υ, Μ). Εκφράσαμε το γεγονός ότι πρέπει να έχουν τον ίδιο πατέρα, χρησιμοποιώντας την ίδια μεταβλητή Ζ. Το ίδιο κάναμε και για την μητέρα, χρησιμοποιώντας τη μεταβλητή Μ. Με λίγη παρατηρητικότητα, επαληθεύουμε ότι ο κανόνας αδέλφια έγινε τώρα συμμετρικός. Αν, δηλαδή, ανταλλάξουμε το Χ με το Υ, ο κανόνας παραμένει ο ίδιος, δεδομένου ότι το όνομα των μεταβλητών δεν παίζει κανένα ρόλο στην Prolog. Λύσαμε έτσι το πρόβλημα της συμμετρικότητας για το συγκεκριμένο κατηγόρημα, το οποίο αντιμετωπίζαμε,όταν χρησιμοποιούσαμε μόνο γεγονότα. (Στην πραγματικότητα, ο ορισμός αυτός της αδελφικής 19

23 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG σχέσης έχει ένα μειονέκτημα καθότι δεν αποκλείει τη δυνατότητα ο Χ να είναι ίδιος με τον Υ, να είναι δηλαδή ο αδελφός τού εαυτού του! Το μειονέκτημα αυτό θα αρθεί όταν θα εξετάσουμε την άρνηση). Χάρη στους κανόνες, αποφύγαμε επίσης να γράψουμε με λεπτομέρειες ποιος είναι ο παππούς του καθενός, ποια είναι η γιαγιά, ποια είναι τ' αδέλφια κ.λ.π, Οι κανόνες που παρουσιάστηκαν έχουν γενική μορφή και ισχύουν (ευτυχώς) και για πιο...γόνιμες οικογένειες. Παρατηρούμε ότι εκφράσαμε κάθε κανόνα, συνδυάζοντας ένα σύνολο από σχέσεις. Το πρώτο σκέλος ενός κανόνα, η σχέση δηλαδή που προηγείται του :-, ονομάζεται αριστερό σκέλος. Το αριστερό σκέλος ενός κανόνα,prolog αποτελείται πάντα από μία και μοναδική σχέση. Μετά από το ':-' ( πού σημαίνει όταν) συναντούμε το δεξιό σκέλος του κανόνα. Το δεξιό σκέλος αποτελείται πάντα από μία ή περισσότερες σχέσεις, συνεζευγμένες μεταξύ τους με το σύμβολο, (που σημαίνει και) Πώς ερμηνεύονται οι κανόνες Όταν γράφουμε έναν κανόνα είναι σαν να δηλώνουμε στην Prolog ορισμένες πληροφορίες-συνθήκες. Πότε π.χ. ο Χ είναι ο παππούς του Υ, ποια είναι η γιαγιά του Χ κ. τ.λ Το ίδιο κάναμε όταν δηλώναμε ορισμένα μεμονωμένα γεγονότα, όπως ότι ο πατέρας της Λουίζας είναι ο Μενέλαος, ότι το μήλο είναι φρούτο κ. ο. κ Σε γενική μορφή βλέπουμε,λοιπόν,ότι ένα πρόγραμμα Prolog αποτελείται από δηλώσεις, είτε πρόκειται για γεγονότα είτε για κανόνες. Η άποψη ότι η Prolog μπορεί να ειδωθεί σαν ένα σύνολο δηλώσεων ονομάζεται δηλωτική ερμήνευση.η δηλωτική ερμηνεύση δεν είναι όμως και η μοναδική για να καταλάβουμε τι σημαίνει ένας κανόνας.ας δούμε, για παράδειγμα, τον εξής κανόνα : γιαγιά(χ, Υ) μητέρα (Χ, Ζ) μητέρα(ζ, Υ) Ο κανόνας αυτός μπορεί να ερμηνευθεί στα ελληνικά και μ' έναν άλλο τρόπο. Είναι σαν να λέμε στην Prolog: "Για να βρεις ποια είναι η γιαγιά του Χ, βρες τη μητέρα του Χ (την οποία θα ονομάσεις Ζ) και ύστερα βρες τη μητέρα της Ζ". Εξηγήσαμε στην Prolog τη διαδικασία που θα πρέπει να ακολουθήσει, αν ποτέ χρειαστεί να βρει τη γιαγιά μας (εννοούμε το όνομα της γιαγιάς μας, φυσικά). Περιγράψαμε, δηλαδή, μία διαδικαστική ερμήνευση του κανόνα μας. Το ίδιο θα συμβεί και αν ερμηνεύσουμε διαδικαστικά τα διάφορα γεγονότα: του προγράμματός μας. Όταν Π.χ. γράφουμε το γεγονός πατέρας(λουίζα, μενέλαος). είναι σαν να λέμε το εξής: "Αν ψάχνεις να βρεις ποιος είναι ο πατέρας της λουίζας, μην πηγαίνεις πιο μακριά: είναι ο μενέλαος". 20

24 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG Συμπεραίνουμε ότι ένα πρόγραμμα Prolog ερμηνεύεται κατά δύο τρόπους: δηλωτικά ή διαδικαστικά. Ένας προγραμματιστής, ο οποίος έχει συνηθίσει άλλες γλώσσες προγραμματισμού, θα προτιμήσει ίσως τη διαδικαστική ερμηνεία. Οι περισσότερες γλώσσες προγραμματισμού ερμηνεύονται κατά ένα διαδικαστικό τρόπο. Η Prolog είναι ίσως η μόνη γλώσσα που μπορεί να ερμηνευτεί και με τους δύο τρόπους. Η διαφοροποίηση δηλωτικός / διαδικαστικός ίσως φανεί λίγο λεπτή στον αναγνώστη. Ας προσπαθήσουμε να την εξηγήσουμε με έναν απλό τρόπο: Αν θέλουμε να δείξουμε σε κάποιον το δρόμο, θα του πούμε Π.χ. "Πάρε τον πρώτο δρόμο αριστερά και μετά από εκατό μέτρα θα περάσεις απέναντι και στα δεξιά θα δεις ένα περίπτερο. Προχώρα καμιά εκατοστή μέτρα και στρίψε πάλι αριστερά". Παρατηρούμε ότι η εξήγηση που δίνουμε είναι διαδικαστική. Εκφράζουμε, δηλαδή, τη διαδικασία των εντολών ("πάρε", "στρίψε", "προχώρα"), την οποία θα πρέπει να ακολουθήσει ο συνομιλητής μας. Αν θέλουμε τώρα να εξηγήσουμε σε κάποιο διαβάτη ποιο είναι το δημαρχείο, Θα του πούμε: "Το δημαρχείο είναι εκείνο το αναπαλαιωμένο κτήριο. Έχει μία σημαία στον τρίτο όροφο. Η είσοδός του είναι από το πίσω μέρος, απέναντι από το παντοπωλείο". Εδώ δεν του εξηγούμε πως θα πάει αλλά του δίνουμε, ορισμένες πληροφορίες, οι οποίες θα του είναι χρήσιμες για να εντοπίσει το δημαρχείο. Η εξήγηση μας είναι δηλωτική, γιατί δεν χρησιμοποιούμε εντολές (πάρε, στρίψε κ. τ. λ ) αλλά δηλώσεις (είναι, βρίσκεται κ. τ.λ ). Η ανθρώπινη γλώσσα λειτουργεί και με τους δυο αυτούς τρόπους : Στρίψε δεξιά.θα δεις ένα περίπτερο στο δεξί σου χέρι.εκεί θα πάρεις το πρώτο στενό και θα βρεις το δημαρχείο είναι το κτίριο με τη σημαία στον τρίτο όροφο Η Prolog πλησιάζει αυτό τον τρόπο σκέψης και μας επιτρέπει, με την ίδια σύνταξη, και τους δύο τρόπους έκφρασης. Είμαστε σε θέση, χάρη στην Prolog, να ερμηνεύσουμε το πρόγραμμά μας με δύο διαφορετικούς τρόπους. Με τις ίδιες εντολές η Prolog μας επιτρέπει δηλωτικό ή διαδικαστικό προγραμματισμό Εκτός.από τη δηλωτική/διαδικαστική ερμηνεία υπάρχει κι ένας άλλος τρόπος για να διαβαστεί ένας κανόνας στην Prolog. Ας πάρουμε για παράδειγμα τον εξής κανόνα: θνητός(χ) :- άνθρωπος(χ). Αυτός ο κανόνας ερμηνεύεται: "Κάποιος Χ είναι θνητός όταν είναι άνθρωπος". Η τελευταία πρόταση είναι ισοδύναμη με την: "Αν ο Χ είναι άνθρωπος τότε είναι θνητός" που αντιστοιχεί στο διάβασμα του κανόνα από τα δεξιά προς τα αριστερά ερμηνεύοντας το σύμβολο :- με τη λέξη τότε. Ας πάρουμε τέλος δύο κανόνες που υλοποιούν το κατηγόρημα παίρνω: παίρνω(αδιάβροχο) :- βρέχει παίρνω(αδιάβροχο) :- χιονίζει. Χρησιμοποιήσαμε δύο κανόνες για να εκφράσουμε ότι υπάρχουν δύο περιπτώσεις (λογικό ή) στις οποίες πρέπει να πάρουμε αδιάβροχο: όταν βρέχει ή 21

25 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG όταν χιονίζει. Η Prolog μας επιτρέπει να συγχωνεύσουμε τους δύο προηγούμενους κανόνες σ' έναν, χρησιμοποιώντας το σύμβολο του λογικού ή που είναι το ; (ελληνικό ερωτηματικό) : παίρνω(αδιάβροχο) :- (βρέχει; χιονίζει). Η συγχώνευση σ' αυτή την περίπτωση ήταν δυνατή καθότι τ' αριστερά σκέλη των δύο κανόνων είναι όμοια. Οι παρενθέσεις ορίζουν το πεδίο του λογικού ή. Θα έπρεπε όμως να υπογραμμίσουμε ότι η χρήση του λογικού ή στο δεξιό σκέλος του ίδιου κανόνα, όπως επίσης και το διάβασμα του κανόνα από τα δεξιά προς τ' αριστερά (με τη βοήθεια του αν τότε) αποπροσανατολίζουν τον αρχάριο προγραμματιστή και περιπλέκουν τη λογική του προγράμματος. Όσο μας αφορά, στη συνέχεια θα χρησιμοποιήσουμε εναλλάξ τη δηλωτική ερμηνεία (με τη βοήθεια του όταν) όταν θα αναλύουμε τη διατύπωση ενός κανόνα, και τη διαδικαστική ερμηνεία όταν θα εξετάζουμε τη διαδικασία απόδειξης της Prolog. Για να εκφράσουμε το λογικό ή θα χρησιμοποιούμε διαφορετικούς κανόνες Συνδυασμός γεγονότων και κανόνων Μπορούμε, φυσικά, να συνδυάσουμε κανόνες και γεγονότα για να εκφράσουμε πιο πολύπλοκα δεδομένα. Ας υποθέσουμε, για παράδειγμα, πως γνωρίζουμε ότι το μήλο, το αχλάδι και όλα τα εσπεριδοειδή είναι φρούτα. Η πρώτη λύση είναι να γράψουμε: φρούτο(μήλο). φρούτο(αχλάδι). φρούτο( εσπεριδοειδή). Μ' ένα τέτοιο πρόγραμμα θα είχαμε τον εξής διάλογο:? φρούτο(μήλο). =ναι? φρούτο(φρούτο). Φρούτο= μήλο Φρούτο= αχλάδι Φρούτο= εσπεριδοειδή?φρούτο(πορτοκάλι). =όχι Η Prolog νομίζει ότι τα εσπεριδοειδή είναι ένα μοναδικό είδος φρούτων και δεν μπορεί να συμπεράνει ότι το πορτοκάλι είναι και αυτό ένα φρούτο, γιατί δεν έχει καμιά πληροφορία γι' αυτό. 22

26 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG Η λύση είναι να χρησιμοποιήσουμε έναν κανόνα, ο οποίος θα υποδεικνύει στην Prolog ότι, εκτός των φρούτων μήλο και αχλάδι, ένα οποιοδήποτε αντικείμενο Χ μπορεί να θεωρηθεί φρούτο, όταν ανήκει στην κατηγορία των εσπεριδοειδών. Έτσι, έχουμε το πρόγραμμα: φρούτο(μήλο). φρούτο(αχλάδι). φρούτο(χ) :- εσπεριδοειδή (Χ). εσπεριδοειδή(πορτοκάλι). εσπεριδοειδή (μανταρίνι). Το πρόγραμμά μας υλοποιεί δύο κατηγορήματα : Το κατηγόρημα φρούτο και το κατηγόρημα εσπεριδοειδή. Το πρώτο αποτελείται από δύο γεγονότα και έναν κανόνα, ενώ το δεύτερο μόνο από δύο γεγονότα. Ποια είναι όμως η διαφορά από το να γράφαμε: φρούτο(μήλο). φρούτο(αχλάδι). φρούτο(πορτοκάλι). φρούτο(μανταρίνι). Η διαφορά είναι σημαντική. Εννοείται ότι, κατ' αρχήν, και στις δύο περιπτώσεις η Prolog θα ήξερε να μας απαντήσει σωστά για τα τέσσερα φρούτα. Στην πρώτη όμως περίπτωση, θα είχαμε τα εξής πλεονεκτήματα: α) Η Prolog είναι ικανή να μας απαντήσει και σε ερωτήσεις που αφορούν τα εσπεριδοειδή, πράγμα που δεν είναι δυνατό στη δεύτερη περίπτωση. β) Αν προσθέσουμε κι ένα άλλο γεγονός στα εσπεριδοειδή (Π.χ. λεμόνια), η Prolog θα έχει αυτομάτως μάθει ότι πρόκειται για φρούτο. Αυτό οφείλεται στη γενικότητα του κανόνα που θέσαμε. Τα δύο γεγονότα και ο κανόνας που αντιστοιχούν στο κατηγόρημα φρούτο μπορούν, φυσικά, να ερμηνευτούν και με διαδικαστικό τρόπο: "Αν προσπαθείς να αποδείξεις ότι ένα αντικείμενο είναι φρούτο, τότε θα πρέπει ν' αποδείξεις ότι είναι ή μήλο ή αχλάδι, εκτός κι αν καταφέρεις ν' αποδείξεις ότι ανήκει στα εσπεριδοειδή" Συμπερασματικά Ένα πρόγραμμα Prolog εκτός από γεγονότα μπορεί να περιλαμβάνει και κανόνες.οι κανόνες ορίζουν νέες σχέσεις με τη βοήθεια άλλων σχέσεων που έχουν ήδη ορισθεί. 23

27 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG Ένας κανόνας έχει τη μορφή : Α:-Β1,.,Βκ. Το Α ονομάζεται κεφαλή (head) του κανόνα και αποτελεί το αποτέλεσμα της εφαρμογής του κανόνα ενώ τα Β1,,Βκ αποτελούν το σώμα (body) Του κανόνα και περιλαμβάνει τις συνθήκες (κλήσεις) που πρέπει να ισχύουν για να αληθεύει η κεφαλή, η κεφαλή χωρίζεται από το σώμα με το συμβάν «:-» που διαβάζεται «αν».τα Α,Β1,,Βκ είναι ατομικοί τύποι. 2.3 Σύνθετοι Όροι Όπως είδαμε μέχρι τώρα τα ορίσματα ενός κατηγορήματος μπορεί να είναι άτομα, αριθμοί ή μεταβλητές. Τα άτομα, οι αριθμοί και οι μεταβλητές ονομάζονται απλοί όροι (simple terms). Εκτός από τους απλούς όρους είναι δυνατόν στην Prolog να συνδυάσουμε σχετικές μεταξύ τους πληροφορίες και να κατασκευάσουμε πιο πολύπλοκες συντακτικές δομές. Οι δομές αυτές ονομάζονται σύνθετοι όροι (compound terms) και έχουν τη μορφή: φ(η,, τκ ) όπου το φ ονομάζεται συναρτησιακό σύμβολο (functor) τάξης κ. Τα ορίσματα τ1,..,τκ είναι και αυτά απλοί ή σύνθετοι όροι Οι απλοί και οι σύνθετοι όροι ονομάζονται απλά όροι (terms). Οι σύνθετοι όροι βοηθούν στην οργάνωση των δεδομένων σε ένα πρόγραμμα γιατί επιτρέπουν να χειριστούμε σαν μια απλή οντότητα μια ομάδα από σχετικές μεταξύ τους πληροφορίες. Ας δούμε τώρα ένα παράδειγμα χρήσης συνθέτων όρων. Ζητάμε να κωδικοποιήσουμε σε ένα πρόγραμμα τον παρακάτω πίνακα που περιέχει μισθολογικά στοιχεία των υπαλλήλων μιας εταιρείας. Διαλέγουμε να κωδικοποιήσουμε κάθε γραμμή του πίνακα με ένα γεγονός της μορφής: στοιχεία _ υπαλλήλου ( όνομα( όνομα( Όνομα),επώνυμο( Επώνυμο), πατρώνυμο( Πατρών ) ),. διεύθυνση( οδός( Οδός), αριθμός( Αριθμός), πόλη(πόλη),τκ(τκ), τηλ (Τηλ) ), μισθός( βασικός( Βασικός), κρατήσεις(κρατήσεις), επιδόματα( Επιδόματα) ) ). 24

28 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG Το πρόγραμμα είναι: ΟΝΟΜΑΤΕΠΩΝΥΜΟ ΔΙΕΥΘΥΝΣΗ ΜΙΣΘΟΣ Όνομα Επώνυμο Πατρών. Οδός Αριθμ Πόλη Τ.Κ Τηλέφωνο Βασικός Κρατ(%) Επίδ(%) ό Νίκος Νικολάου Μηνάς Ερμού 33 Αθήνα Γιώργος Γεωργίου Νίκος Φωκά 29 Αθήνα Αντώνης Αντωνίου Πέτρας Ρήγα 15 Πάτρα στοιχεία _ υπαλλήλου ( όνομα(όνομα( νίκος),επώνυμο(νικολάου), πατρώνυμο(μηνάς) ), διεύθυνση ( οδός( ερμού), αριθμός( 33 ), πόλη( αθήνα), τκ( 12345), τηλ( ), μισθός( βασικός( 55000), κρατήσεις(20), επιδόματα( 35 ) ) ). στοιχεία _ υπαλλήλου ( όνομα( όνομα( γιώργος), επώνυμο( γεωργίου), πατρώνυμο( νίκος) ), διεύθυνση( οδός( Φωκά),αριθμός( 29), πόλη( αθήνα), τκ( 34231), τηλ( ) ), μισθός( βασικός( 59500),κρατήσεις( 25), επιδόματα( 38 ) ) ). στοιχεία _ υπαλλήλου ( όνομα( όνομα( αντώνης). επώνυμο( αντωνίου), πατρώνυμο( πέτρος) ), διεύθυνση ( οδός( ρήγα),αριθμός( 15), πόλη( πάτρα), τκ( ), τηλ( ) ), μισθός( βασικός ( 65000),κρατήσεις ( 19), επιδόματα( 40 ) ) ). Με βάση το πρόγραμμα αυτό η ερώτηση "Ποια είναι τα επώνυμα των υπαλλήλων που μένουν στην Αθήνα;" διατυπώνεται:? στοιχεία _ υπαλλήλου ( όνομα(_,επώνυμο( Επών ),_), διεύθυνση (_,_πόλη( αθήνα)_,_),_). ενώ η ερώτηση "Ποια είναι τα τηλέφωνα των υπαλλήλων που μένουν στην Αθήνα;" διατυπώνεται:? στοιχεία _ υπαλλήλου (_.διεύθυνση (_,_πόλη( αθήνα),_,τηλ(τ) ),_). 25

29 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG Ακόμη, η ερώτηση "Ποια είναι τα στοιχεία της διεύθυνσης του υπαλλήλου με επώνυμο Γεωργίου;" διατυπώνεται σε Prolog? στοιχεία _ υπαλλήλου ( όνομα(_,επώνυμο( γεωργίου ),_),Δ,_). Η απάντηση σ' αυτή την ερώτηση δίνει σαν τιμή της μεταβλητής Δ το σύνθετο όρο διεύθυνση(οδός(φωκά), αριθμός(29), πόλη(αθήνα), τκ(34231), τηλ( )). Ένας σύνθετος όρος μπορεί να παρασταθεί σχηματικά με ένα δέντρο. Οι κόμβοι του δέντρου αυτού είναι τα συναρτησιακά σύμβολα του σύνθετου όρου ενώ τα παιδιά του κάθε κόμβου είναι οι υποόροι που περιλαμβάνει ο σύνθετος όρος. 2.4 ΑΝΤΙΚΕΙΜΕΝΑ ΤΗΣ PROLOG Στις προηγούμενες ενότητες είδαμε ότι ένα πρόγραμμά Prolog αποτελείται από γεγονότα και κανόνες, δηλαδή, σε τελευταία ανάλυση, από σχέσεις. Μια σχέση είναι ένα κατηγόρημα,το οποίο συνδέει ένα σύνολο αντικειμένων τα οποία ονομάσαμε και όρους του κατηγορήματος π.χ. η σχέση αγαπάει(νίκος, σοφία). αποτελείται από το κατηγόρημα αγαπάει και συνδέει δύο αντικείμενα νίκος και σοφία, που είναι, στη συγκεκριμένη περίπτωση, σταθερές. Τα αντικείμενα που μπορούν να παίξουν το ρόλο παραμέτρων μιας σχέσης είναι: οι σταθερές, οι μεταβλητές. Σε μια πρώτη φάση θα προσπαθήσουμε να εξετάσουμε τι εννοούμε λέγοντας σταθερά και τι μεταβλητή, καθώς και πώς τις γράφουμε στην Prolog. Τα αντικείμενα μίας γλώσσας μπορούμε να τα διαχειριστούμε μέσω των εντολών της. Έτσι, Π.χ., η Basic επεξεργάζεται (μεταξύ άλλων) strings, η Pascal πίνακες, η LISP λίστες κλπ. Για να γίνει αυτό, κάθε γλώσσα διαθέτει προκαθορισμένες εντολές (LΕΤ, WHILE, CDR κλπ), με τη βοήθεια των οποίων ο προγραμματιστής θα υλοποιήσει τον αλγόριθμο. Στην Prolog θα μιλήσουμε για προκαθορισμένα (προσηλωμένα, προκατασκευασμένα) κατηγορήματα, δηλαδή για προκαθορισμένες σχέσεις. Τα προκαθορισμένα κατηγορήματα θα μπορούσαμε να τα ονομάσουμε και εντολές, στο βαθμό που ανήκουν στο στάνταρ λεξιλόγιο της Prolog. Έχουν, δηλαδή, υλοποιηθεί εκ των προτέρων από την εταιρία που ανέπτυξε τη διάλε- 26

30 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG κτο. Η χρήση των προκαθορισμένων κατηγορημάτων γίνεται συνήθως για δύο λόγους (που λίγο-πολύ, ισχύουν σε όλες τις γλώσσες προγραμματισμού): Η χρήση τους είναι συχνή και κοινή σε πολλές εφαρμογές (π.χ. εντολές εισόδου/εξόδου). Η υλοποίησή τους απαιτεί πληροφορίες που αφορούν την εσωτερική δομή της γλώσσας ή του υπολογιστή. Πλεονέκτημα των προκαθορισμένων εντολών είναι ότι βελτιώνουν ένα πρόγραμμα, προσφέροντας του τυποποιημένες και ταχύτερες (στο βαθμό που η υλοποίηση τους έγινε από κάποιον έμπειρο τεχνικό της εταιρίας) λειτουργίες. Όσο πιο πολλές προκαθορισμένες λειτουργίες προσφέρονται στον προγραμματιστή, τόσο πιο ισχυρά και ευέλικτα θα είναι τα προγράμματά του. Υπάρχει όμως και η άλλη όψη του νομίσματος. Η πληθώρα των προκαθορισμένων εντολών δυσχεραίνει συχνά το πέρασμα του πηγαίου κώδικα σ' ένα διαφορετικό υπολογιστή, που χρησιμοποιεί διάλεκτο της γλώσσας, η οποία δεν διαθέτει αναγκαστικά το ίδιο σύνολο εντολών. Τα προκαθορισμένα κατηγορήματα που θέτει στη διάθεσή μας η Prolog, για να διαχειριζόμαστε αντικείμενα της (σταθερές και μεταβλητές), όπως Π.χ. να κάνουμε μία αριθμητική πράξη, να εξετάζουμε την κατάσταση μίας μεταβλητής κλπ. Η ιδιαιτερότητα της Prolog, όμως, μας επιβάλλει να παρουσιάσουμε πιο αναλυτικά τις ιδιότητες και τις ιδιομορφίες των προκαθορισμένων κατηγορημάτων της ΟΙ ΣΤΑΘΕΡΕΣ Οι σταθερές εκφράζουν ένα συγκεκριμένο αντικείμενο. Οι σταθερές χωρίζουν σε δυο τάξεις : Στα άτομα και στους ακεραίους. Ένα άτομο, αρχίζει πάντα με μικρό γράμμα και δεν περιλαμβάνει στο εσωτερικό του κανέναν ειδικό χαρακτήρα(όπως το κενό ή οι μη-αλφαριθμητικοί χαρακτήρες). Χρησιμοποιώντας όμως τα απλά εισαγωγικά, είμαστε σε θέση να χρησιμοποιήσουμε ότι είδους χαρακτήρα επιθυμούμε στο εσωτερικό ενός ατόμου. Επίσης επιτρέπεται η χρήση του χαρακτήρα '_' (underscore) στο εσωτερικό ενός ατόμου. Ας δούμε μερικά παραδείγματα ατόμων : μαρία πέτρος_ και _ μαρία γιάννης α ήρθε σήμερα α173 ένα_ σπίτι 27

31 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG και μερικά παραδείγματα μη-ατόμων: 2034ih δεν αρχίζει από γράμμα α-β υπάρχει το '-' ενδιάμεσα Πέτρος από κεφαλαίο (είναι μεταβλητή) Όσο για τη δεύτερη κατηγορία σταθερών, που είναι οι ακέραιοι, έχουμε ίδιο ορισμό με αυτόν που βρίσκουμε στις περισσότερες γλώσσες προγραμματισμού: Ο ή 7 ή 999 Υπάρχουν μερικές Prolog που μπορούν να διαχειριστούν και αρνητικούς ακέραιους, καθώς και πραγματικούς αριθμούς. Αυτό εξαρτάται από τον υπολογιστή και την έκδοση της Prolog που έχετε στη διάθεσή σας. Η Prolog διαχειρίζεται επίσης και χαρακτήρες αλλά τους αντιμετωπίζει συνήθως σαν ASCII κώδικες (μικροί ακέραιοι) Οι μεταβλητές Οι μεταβλητές παίζουν το ρόλο των άδειων δοχείων που μπορούν να γεμίσουν και να ξαναδειάσουν κατά τη διάρκεια της εκτέλεσης ενός προγράμματος Prolog. Για να συμβολίσουμε ότι ένα αντικείμενο είναι μεταβλητή στην Prolog, αρκεί το πρώτο γράμμα του να είναι κεφαλαίο ή ο χαρακτήρας '_'. χ Πέτρος Ποιος Γιατί Α _Β _ αβγ _43 Μια ενδιαφέρουσα περίπτωση μεταβλητής είναι η ανώνυμη μεταβλητή. Χρησιμοποιούμε την ανώνυμη μεταβλητή για να εκφράσου με στην Prolog ότι, σ' ένα συγκεκριμένο σημείο της σχέσης; δεν μας ενδιαφέρει με τι θα γίνει η ενοποίηση, δεδομένου ότι δεν πρόκειται να τη χρησιμοποιήσουμε στη συνέχεια. Ας δούμε ένα συγκεκριμένο παράδειγμα. Έστω το ακόλουθο πρόγραμμα: γυναικά (νίκος, σοφία) γυναίκα( δημήτρης, ελένη ) γυναίκα (αλέξης, νεφέλη) γυναίκα (αλέξανδρος, δανάη) πλούσια( ελένη) πλούσια(δανάη) 28

32 ΕΝΟΤΗΤΑ 2 - Η ΣΥΝΤΑΞΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΗΝ PROLOG πλούσιος( Χ):- γυναίκα (Χ, Υ ), πλούσια(υ). Ο τελευταίος κανόνας εκφράζει την πληροφορία ότι κάποιος είναι πλούσιος, όταν και η γυναίκα του είναι πλούσια. Με αυτό το πρόγραμμα έχουμε τον εξής διάλογο:? γυναικά(δημήτρης, Ποια). Ποια =ελένη? πλούσιος(μίδας). Μίδας= δημήτρης Μίδας= αλέξανδρος 2.5 ΕΝΟΠΟΙΗΣΗ-ΤΑΥΤΟΠΟΙΗΣΗ Ας προσπαθήσουμε, τώρα, να εκφράσουμε έναν κανόνα που να μας υποδεικνύει πότε κάποιος είναι παντρεμένος: παντρεμένος(χ) :- γυναικά(χ, Υ). με την έννοια ότι κάποιος είναι παντρεμένος, όταν έχει μια σύζυγο. Ας προσπαθήσουμε, τώρα, να συγκρίνουμε τη μεταβλητή Υ του κανόνα πλούσιας και τη μεταβλητή Υ του κανόνα παντρεμένος. Η πρώτη Υ εμφανίζεται δύο φορές, στο βαθμό που, αν βρούμε τη σύζυγο του Χ, πρέπει επίσης να επαληθεύσουμε στη συνέχεια ότι η ίδια Υ είναι πλούσια. Αντίθετα, στον κανόνα παντρεμένος, η Υ εμφανίζεται μόνο και μόνο για να εκφράσου με ότι δεν μας ενδιαφέρει ποια θα είναι η γυναίκα του και ότι δεν πρόκειται να χρησιμοποιήσουμε τη σταθερά, με την οποία δεσμεύτηκε, στη συνέχεια του κανόνα. Αυτή είναι η κλασική περίπτωση της ανώνυμης μεταβλητής, που συμβολίζεται με το '_' μόνο του. Έτσι, ο τελευταίος κανόνας θα γραφτεί σωστότερα: παντρεμένος(χ) :- γυναικά(χ, - ). Αυτό, φυσικά, δεν είναι αναγκαίο αν και μερικές Prolog εδώ θα παραγάγουν μήνυμα προειδοποίησης, (Warning). Πρέπει, όμως, να καταλάβουμε ότι, χρησιμοποιώντας ανώνυμες μεταβλητές όπου μπορούμε, διευκολύνουμε αισθητά τη διαδικασία ενοποίησης της Prolog. Αν στην προκειμένη περίπτωση είχαμε χρησιμοποιήσει μια κλασική επώνυμη μεταβλητή Υ στον κανόνα και ρωτούσαμε:? παντρεμένος(δημήτρης). 29

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

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Κεφάλαιο 6ο Εισαγωγή στον Προγραµµατισµό Μέρος Πρώτο (6.1, 6.2 και 6.3) Α. Ερωτήσεις Σωστού Λάθους 1. Η γλώσσα µηχανής είναι µία γλώσσα υψηλού επιπέδου.

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΣΚΗΣΕΙΣ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΩΤΗΣΕΙΣ ΣΩΣΤΟ ΛΑΘΟΣ Σημειώστε αν είναι σωστή ή

Διαβάστε περισσότερα

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

Διαβάστε περισσότερα

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

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

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

Διαβάστε περισσότερα

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

6. Εισαγωγή στον προγραµµατισµό

6. Εισαγωγή στον προγραµµατισµό 6. Εισαγωγή στον προγραµµατισµό 6.1 Η έννοια του προγράµµατος. 6.2 Ιστορική αναδροµή. 6.2.1 Γλώσσες µηχανής. ΗΜ04-Θ1Α 1. Ένα πρόγραµµα σε γλώσσα µηχανής είναι µια ακολουθία δυαδικών ψηφίων. 5. Ένα πρόγραµµα

Διαβάστε περισσότερα

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

Διδακτική της Πληροφορικής ΙΙ Διδακτική της Πληροφορικής ΙΙ Ομάδα Γ Βότσης Ευστάθιος Γιαζιτσής Παντελής Σπαής Αλέξανδρος Τάτσης Γεώργιος Προβλήματα που αντιμετωπίζουν οι αρχάριοι προγραμματιστές Εισαγωγή Προβλήματα Δυσκολίες Διδακτικό

Διαβάστε περισσότερα

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η 53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η ΠΑΓΚΡΑΤΙ: Φιλολάου & Εκφαντίδου 26 : 210/76.01.470 210/76.00.179 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς

Διαβάστε περισσότερα

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής:

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής: Αυτό που πρέπει να θυμόμαστε, για να μη στεναχωριόμαστε, είναι πως τόσο στις εξισώσεις, όσο και στις ανισώσεις 1ου βαθμού, που θέλουμε να λύσουμε, ακολουθούμε ακριβώς τα ίδια βήματα! Εκεί που πρεπει να

Διαβάστε περισσότερα

Π ρ ο γ ρ α μ μ α τ ι σ μ ό ς Β α σ ι κ έ ς έ ν ν ο ι ε ς Ι σ τ ο ρ ι κ ή α ν α δ ρ ο μ ή Η έννοια του προγράμματος Ιστορική αναδρομή

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

Διαβάστε περισσότερα

Από το Γυμνάσιο στο Λύκειο... 7. 3. Δειγματικός χώρος Ενδεχόμενα... 42 Εύρεση δειγματικού χώρου... 46

Από το Γυμνάσιο στο Λύκειο... 7. 3. Δειγματικός χώρος Ενδεχόμενα... 42 Εύρεση δειγματικού χώρου... 46 ΠEΡΙΕΧΟΜΕΝΑ Από το Γυμνάσιο στο Λύκειο................................................ 7 1. Το Λεξιλόγιο της Λογικής.............................................. 11. Σύνολα..............................................................

Διαβάστε περισσότερα

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr I ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ i e ΜΕΡΟΣ Ι ΟΡΙΣΜΟΣ - ΒΑΣΙΚΕΣ ΠΡΑΞΕΙΣ Α Ορισμός Ο ορισμός του συνόλου των Μιγαδικών αριθμών (C) βασίζεται στις εξής παραδοχές: Υπάρχει ένας αριθμός i για τον οποίο ισχύει i Το σύνολο

Διαβάστε περισσότερα

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ Μ. Γρηγοριάδου Ρ. Γόγουλου Ενότητα: Η Διδασκαλία του Προγραμματισμού Περιεχόμενα Παρουσίασης

Διαβάστε περισσότερα

Η ΑΕΠΠ IN A GLANCE! ΦΡΟΝΤΙΣΤΗΡΙΑ ΠΟΛΥΜΕΝΗ

Η ΑΕΠΠ IN A GLANCE! ΦΡΟΝΤΙΣΤΗΡΙΑ ΠΟΛΥΜΕΝΗ Η ΑΕΠΠ IN A GLANCE! Κατανομή μονάδων: 40 μονάδες το 1 ο Θέμα, από 20 τα υπόλοιπα τρία. Μην χαίρεστε όμως γιατί η «καθαρή» θεωρία περιορίζεται συνήθως- σε 5 ερωτήσεις σωστού ή λάθους και σε 1-2 ερωτήσεις

Διαβάστε περισσότερα

Μαθηματική Λογική και Λογικός Προγραμματισμός

Μαθηματική Λογική και Λογικός Προγραμματισμός Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων- Σημειώσεις έτους 2007-2008 Καθηγητής Γεώργιος Βούρος Μαθηματική Λογική και Λογικός Προγραμματισμός Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών

Διαβάστε περισσότερα

Μαθηματική Λογική και Λογικός Προγραμματισμός

Μαθηματική Λογική και Λογικός Προγραμματισμός Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων- Σημειώσεις έτους 2007-2008 Καθηγητής Γεώργιος Βούρος Μαθηματική Λογική και Λογικός Προγραμματισμός Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Μεθοδολογία Επίλυσης Προβλημάτων ============================================================================ Π. Κυράνας - Κ.

Μεθοδολογία Επίλυσης Προβλημάτων ============================================================================ Π. Κυράνας - Κ. Μεθοδολογία Επίλυσης Προβλημάτων ============================================================================ Π. Κυράνας - Κ. Σάλαρης Πολλές φορές μας δίνεται να λύσουμε ένα πρόβλημα που από την πρώτη

Διαβάστε περισσότερα

ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 118 ερωτήσεις θεωρίας με απάντηση 324 416 ασκήσεις για λύση. 20 συνδυαστικά θέματα εξετάσεων

ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 118 ερωτήσεις θεωρίας με απάντηση 324 416 ασκήσεις για λύση. 20 συνδυαστικά θέματα εξετάσεων ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ 118 ερωτήσεις θεωρίας με απάντηση 34 416 ασκήσεις για λύση ερωτήσεις κατανόησης λυμένα παραδείγματα 0 συνδυαστικά θέματα εξετάσεων Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α Εισαγωγική ενότητα Το λεξιλόγιο

Διαβάστε περισσότερα

ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΑΠΟΔΕΙΞΗ

ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΑΠΟΔΕΙΞΗ ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΑΠΟΔΕΙΞΗ Περιεχόμενα : Α) Προτάσεις-Σύνθεση προτάσεων Β)Απόδειξη μιας πρότασης Α 1 ) Τι είναι πρόταση Β 1 ) Βασικές έννοιες Α ) Συνεπαγωγή Β ) Βασικές μέθοδοι απόδειξης Α 3 ) Ισοδυναμία

Διαβάστε περισσότερα

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει; ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη

Διαβάστε περισσότερα

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

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ ÏÅÖÅ 1 Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 ο ΕΚΦΩΝΗΣΕΙΣ Α. Να γράψετε στην κόλλα σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1 5 και δίπλα τη λέξη

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Βρέντζου Τίνα Φυσικός Μεταπτυχιακός τίτλος: «Σπουδές στην εκπαίδευση» ΜEd Email : stvrentzou@gmail.com

Βρέντζου Τίνα Φυσικός Μεταπτυχιακός τίτλος: «Σπουδές στην εκπαίδευση» ΜEd Email : stvrentzou@gmail.com Βρέντζου Τίνα Φυσικός Μεταπτυχιακός τίτλος: «Σπουδές στην εκπαίδευση» ΜEd Email : stvrentzou@gmail.com 1 1.Σύνολα Σύνολο είναι μια ολότητα από σαφώς καθορισμένα και διακεκριμένα αντικείμενα. Τα φωνήεντα

Διαβάστε περισσότερα

Κεφάλαιο 10. Υποπρογράμματα

Κεφάλαιο 10. Υποπρογράμματα Κεφάλαιο 10 Υποπρογράμματα 10.1 Γενικός διδακτικός σκοπός Ο γενικός σκοπός του κεφαλαίου είναι να καταστούν ικανοί οι μαθητές να χρησιμοποιούν υποπρογράμματα για τη δημιουργία συνθέτων προγραμμάτων. 194

Διαβάστε περισσότερα

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

Διαβάστε περισσότερα

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

Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Γλώσσες Προγραμματισμού 6.1.1 Γλώσσες μηχανής (1 η γενιά) Η γλώσσα στην οποία ένας ηλεκτρονικός υπολογιστής καταλαβαίνει

Διαβάστε περισσότερα

Ι ΑΚΤΙΚΟ ΣΕΝΑΡΙΟ: Ας γνωριστούμε

Ι ΑΚΤΙΚΟ ΣΕΝΑΡΙΟ: Ας γνωριστούμε Ι ΑΚΤΙΚΟ ΣΕΝΑΡΙΟ: Ας γνωριστούμε Ενότητα: Χαιρετισμοί, συστάσεις, γνωριμία (2 φύλλα εργασίας) Επίπεδο: Α1, Α2 Κοινό: αλλόγλωσσοι ενήλικες ιάρκεια: 4 ώρες (2 δίωρα) Υλικοτεχνική υποδομή: Για τον διδάσκοντα:

Διαβάστε περισσότερα

Μαθηματικά: Αριθμητική και Άλγεβρα. Μάθημα 3 ο, Τμήμα Α. Τρόποι απόδειξης

Μαθηματικά: Αριθμητική και Άλγεβρα. Μάθημα 3 ο, Τμήμα Α. Τρόποι απόδειξης Μαθηματικά: Αριθμητική και Άλγεβρα Μάθημα 3 ο, Τμήμα Α Ο πυρήνας των μαθηματικών είναι οι τρόποι με τους οποίους μπορούμε να συλλογιζόμαστε στα μαθηματικά. Τρόποι απόδειξης Επαγωγικός συλλογισμός (inductive)

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΙΚΟ ΚΕΦΑΛΑΙΟ. a β a β.

ΕΙΣΑΓΩΓΙΚΟ ΚΕΦΑΛΑΙΟ. a β a β. ΕΙΣΑΓΩΓΙΚΟ ΚΕΦΑΛΑΙΟ Ε.1 ΤΟ ΛΕΞΙΛΟΓΙΟ ΤΗΣ ΛΟΓΙΚΗΣ Στη παράγραφο αυτή θα γνωρίσουμε μερικές βασικές έννοιες της Λογικής, τις οποίες θα χρησιμοποιήσουμε στη συνέχεια, όπου αυτό κρίνεται αναγκαίο, για τη σαφέστερη

Διαβάστε περισσότερα

Σχολείο Δεύτερης Ευκαιρίας. Ιωαννίνων. Αριθμητικός Γραμματισμός. Εισηγήτρια : Σεντελέ Καίτη

Σχολείο Δεύτερης Ευκαιρίας. Ιωαννίνων. Αριθμητικός Γραμματισμός. Εισηγήτρια : Σεντελέ Καίτη Σχολείο Δεύτερης Ευκαιρίας Ιωαννίνων Αριθμητικός Γραμματισμός Εισηγήτρια : Σεντελέ Καίτη ΘΕΜΑ ΕΙΣΗΓΗΣΗΣ «Προγραμματισμός-Οργάνωση και υλοποίηση μιας διδακτικής ενότητας στον Αριθμητικό Γραμματισμό» ΠΡΟΣΘΕΣΗ

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ 1.1 Να δοθεί ο ορισμός του προβλήματος καθώς και τρία παραδείγματα

Διαβάστε περισσότερα

Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ

Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ Πεπερασμένα Αυτόματα (ΠΑ) Τα πεπερασμένα αυτόματα είναι οι απλούστερες «υπολογιστικές μηχανές». Δεν έχουν μνήμη, μόνο μία εσωτερική μονάδα με πεπερασμένο αριθμό καταστάσεων. Διαβάζουν τη συμβολοσειρά εισόδου

Διαβάστε περισσότερα

Υποθετικές προτάσεις και λογική αλήθεια

Υποθετικές προτάσεις και λογική αλήθεια Υποθετικές προτάσεις και λογική αλήθεια Δρ. Παναγιώτης Λ. Θεοδωρόπουλος Σχολικός Σύμβουλος κλάδου ΠΕ03 www.p-theodoropoulos.gr Περίληψη Στην εργασία αυτή επιχειρείται μια ερμηνεία της λογικής αλήθειας

Διαβάστε περισσότερα

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης

Διαβάστε περισσότερα

Οδηγίες για το CABRI - GEOMETRY II Μωυσιάδης Πολυχρόνης - Δόρτσιος Κώστας

Οδηγίες για το CABRI - GEOMETRY II Μωυσιάδης Πολυχρόνης - Δόρτσιος Κώστας Οδηγίες για το CABRI - GEOMETRY II Μωυσιάδης Πολυχρόνης - Δόρτσιος Κώστας Εκτελώντας το πρόγραμμα παίρνουμε ένα παράθυρο εργασίας Γεωμετρικών εφαρμογών. Τα βασικά κουμπιά και τα μενού έχουν την παρακάτω

Διαβάστε περισσότερα

PROJECT ΣΤΟ ΜΑΘΗΜΑ "ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ"

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ PROJECT ΣΤΟ ΜΑΘΗΜΑ "ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ" ΜΕΡΟΣ ΔΕΥΤΕΡΟ Υπεύθυνος Καθηγητής Λυκοθανάσης Σπυρίδων Ακαδημαικό Έτος:

Διαβάστε περισσότερα

p p 0 1 1 0 p q p q p q 0 0 0 0 1 0 1 0 0 1 1 1 p q

p p 0 1 1 0 p q p q p q 0 0 0 0 1 0 1 0 0 1 1 1 p q Σημειώσεις του Μαθήματος Μ2422 Λογική Κώστας Σκανδάλης ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ 2010 Εισαγωγή Η Λογική ασχολείται με τους νόμους ορθού συλλογισμού και μελετά τους κανόνες βάσει των οποίων

Διαβάστε περισσότερα

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 1: Εισαγωγή Ποιος είμαι εγώ! Ναύπλιο, 4/1976-9/1993 Williamsburg, VA, USA, 7/2004-7/2006 2 Πάτρα, 9/1993-6/2004 Μυτιλήνη, 10/2006-2/2007 Βόλος, 2/2007 - Ο Υπεύθυνος των

Διαβάστε περισσότερα

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

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

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Ηλ. Γκρίνιας Τ. Ε. Ι. Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Αλγόριθμοι Ορισμός: ο αλγόριθμος είναι μια σειρά από πεπερασμένα βήματα που καθορίζουν

Διαβάστε περισσότερα

Το πρόβλημα στα Μαθηματικά

Το πρόβλημα στα Μαθηματικά Το πρόβλημα στα Μαθηματικά από το ΣΔΕ Γιαννιτσών Δημήτρης Πολυτίδης (Μαθηματικός) Στα Μαθηματικά το πρόβλημα θα πρέπει να είναι μια κατάσταση η επίλυση της οποίας, από το μαθητή, δεν είναι αυτόματη και

Διαβάστε περισσότερα

B Γυμνασίου. Ενότητα 9

B Γυμνασίου. Ενότητα 9 B Γυμνασίου Ενότητα 9 Γραμμικές εξισώσεις με μία μεταβλητή Διερεύνηση (1) Να λύσετε τις πιο κάτω εξισώσεις και ακολούθως να σχολιάσετε το πλήθος των λύσεων που βρήκατε σε καθεμιά. α) ( ) ( ) ( ) Διερεύνηση

Διαβάστε περισσότερα

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μεταγλωττιστές Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανοδική Κατασκευή Συντακτικού Δέντρου κατασκευή δέντρου

Διαβάστε περισσότερα

ΥΔΡΟΠΕΡΑΤΟΤΗΤΑ (ΧΡΙΣΤΟΦΟΡΟΥ) Τίτλος διερεύνησης: Ποιοί παράγοντες επηρεάζουν το πόσο νερό συγκρατεί το χώμα;

ΥΔΡΟΠΕΡΑΤΟΤΗΤΑ (ΧΡΙΣΤΟΦΟΡΟΥ) Τίτλος διερεύνησης: Ποιοί παράγοντες επηρεάζουν το πόσο νερό συγκρατεί το χώμα; ΥΔΡΟΠΕΡΑΤΟΤΗΤΑ (ΧΡΙΣΤΟΦΟΡΟΥ) Τίτλος διερεύνησης: Ποιοί παράγοντες επηρεάζουν το πόσο νερό συγκρατεί το χώμα; Σύντομη περιγραφή διερεύνησης: Σκοπός αυτής της διερεύνησης ήταν να κάνουν κάποιες υποθέσεις

Διαβάστε περισσότερα

ΤΟ ΛΕΞΙΛΟΓΙΟ ΤΗΣ ΛΟΓΙΚΗΣ

ΤΟ ΛΕΞΙΛΟΓΙΟ ΤΗΣ ΛΟΓΙΚΗΣ 1. ΤΟ ΛΕΞΙΛΟΓΙΟ ΤΗΣ ΛΟΓΙΚΗΣ Στόχος Να γνωρίζουν οι μαθητές: να αξιοποιούν το σύμβολο της συνεπαγωγής και της ισοδυναμίας να αξιοποιούν τους συνδέσμους «ή», «και» ΕΙΣΑΓΩΓΗ Η συννενόηση μεταξύ των ανθρώπων

Διαβάστε περισσότερα

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo;

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo; Κεφάλαιο 2 Εισαγωγή Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo; Η Logo είναι μία από τις πολλές γλώσσες προγραμματισμού. Κάθε γλώσσα προγραμματισμού έχει σκοπό τη δημιουργία προγραμμάτων

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/ Τεχνητή Νοημοσύνη 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

Διαβάστε περισσότερα

Εντολές της LOGO (MicroWorlds Pro)

Εντολές της LOGO (MicroWorlds Pro) Εντολές της LOGO (MicroWorlds Pro) Εντολές εμφάνισης (εξόδου) και αριθμητικές πράξεις δείξε Εμφανίζει στην οθόνη έναν αριθμό, το αποτέλεσμα πράξεων, μια λέξη ή μια λίστα (ομάδα) λέξεων. δείξε 200 200 δείξε

Διαβάστε περισσότερα

Σενάριο 14: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή

Σενάριο 14: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή Σενάριο 14: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή Ταυτότητα Σεναρίου Τίτλος: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή Γνωστικό Αντικείμενο: Πληροφορική Διδακτική Ενότητα: Ελέγχω-Προγραμματίζω τον Υπολογιστή

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο Με τι ασχολείται ο προγραμματισμός; Ο προγραμματισμός ασχολείται με την διατύπωση του αλγορίθμου σε κατανοητή μορφή από τον Η/Υ, δηλ. τη δημιουργία του προγράμματος, του συνόλου των εντολών που πρέπει

Διαβάστε περισσότερα

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

Διαβάστε περισσότερα

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

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2012 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ: ΚΑΤΕΥΘΥΝΣΗ: ΜΑΘΗΜΑ: ΘΕΜΑ Α Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ (2ος Κύκλος) ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ηµεροµηνία: Κυριακή 22 Απριλίου 2012 ΕΚΦΩΝΗΣΕΙΣ Α1. Να γράψετε στο τετράδιό

Διαβάστε περισσότερα

ΦΟΙΤΗΤΡΙΑ: ΠΑΤΣΑΤΖΑΚΗ ΕΛΕΝΗ, ΑΕΜ:3196 ΕΡΓΑΣΙΑ ΣΤΟ ΜΑΘΗΜΑ : ΥΕ258 ΕΝΑΛΛΑΚΤΙΚΕΣ ΜΟΡΦΕΣ ΑΞΙΟΛΟΓΗΣΗΣ ΤΩΝ ΓΛΩΣΣΙΚΩΝ ΔΕΞΙΟΤΗΤΩΝ

ΦΟΙΤΗΤΡΙΑ: ΠΑΤΣΑΤΖΑΚΗ ΕΛΕΝΗ, ΑΕΜ:3196 ΕΡΓΑΣΙΑ ΣΤΟ ΜΑΘΗΜΑ : ΥΕ258 ΕΝΑΛΛΑΚΤΙΚΕΣ ΜΟΡΦΕΣ ΑΞΙΟΛΟΓΗΣΗΣ ΤΩΝ ΓΛΩΣΣΙΚΩΝ ΔΕΞΙΟΤΗΤΩΝ 2015 ΕΡΓΑΣΙΑ ΣΤΟ ΜΑΘΗΜΑ : ΥΕ258 ΕΝΑΛΛΑΚΤΙΚΕΣ ΜΟΡΦΕΣ ΑΞΙΟΛΟΓΗΣΗΣ ΤΩΝ ΓΛΩΣΣΙΚΩΝ ΔΕΞΙΟΤΗΤΩΝ ΦΟΙΤΗΤΡΙΑ: ΠΑΤΣΑΤΖΑΚΗ ΕΛΕΝΗ, ΑΕΜ:3196 ΕΠΙΒΛΕΠΟΥΣΑ ΚΑΘΗΓΗΤΡΙΑ: ΓΡΙΒΑ ΕΛΕΝΗ 5/2/2015 ΕΙΣΑΓΩΓΗ Αυτό το portfolio φτιάχτηκε

Διαβάστε περισσότερα

ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α.

ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α. ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α. 1. Αν το Α έχει την τιµή 10 και το Β την τιµή 20 τότε η έκφραση (Α > 8 ΚΑΙ Β < 20) Ή (Α > 10 Ή Β = 10) είναι αληθής 2. Σε περίπτωση εµφωλευµένων βρόχων, ο εσωτερικός

Διαβάστε περισσότερα

Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο 2.1-2.5)

Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο 2.1-2.5) Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο 2.1-2.5) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στον Κατηγορηματικό Λογισμό Σύνταξη Κανόνες Συμπερασμού Σημασιολογία ΕΠΛ 412 Λογική στην

Διαβάστε περισσότερα

ΜΑΘΗΜΑΤΙΚΑ Α ΓΥΜΝΑΣΙΟΥ

ΜΑΘΗΜΑΤΙΚΑ Α ΓΥΜΝΑΣΙΟΥ ΜΑΘΗΜΑΤΙΚΑ Α ΓΥΜΝΑΣΙΟΥ Πίνακας περιεχομένων Κεφάλαιο 1 - ΟΙ ΦΥΣΙΚΟΙ ΑΡΙΘΜΟΙ... 2 Κεφάλαιο 2 ο - ΤΑ ΚΛΑΣΜΑΤΑ... 6 Κεφάλαιο 3 ο - ΔΕΚΑΔΙΚΟΙ ΑΡΙΘΜΟΙ... 10 ΣΩΤΗΡΟΠΟΥΛΟΣ ΝΙΚΟΣ 1 Κεφάλαιο 1 - ΟΙ ΦΥΣΙΚΟΙ ΑΡΙΘΜΟΙ

Διαβάστε περισσότερα

Α.3 Να αναφέρετε τα πλεονεκτήματα του δομημένου προγραμματισμού (Μον. 6)

Α.3 Να αναφέρετε τα πλεονεκτήματα του δομημένου προγραμματισμού (Μον. 6) Α Θεμα Α.1 Να σημειώσετε για κάθε μια από τις παρακάτω ομάδες εντολών την τιμή της λογικής μεταβλητής χ 1) χ αληθής και όχι ψευδής 2) ψ 10 χ αληθής και όχι ( ψ > 10 ) 3) ψ 13 χ ( ψ + 7 mod 2 = 0 ) και

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Γ ΛΥΚΕΙΟΥ Ανάπτυξη Εφαρµογών ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Γ ΛΥΚΕΙΟΥ ΙΑΓΩΝΙΣΜΑ Α κ Θέµα 1 ο Α. Να γράψετε στο τετράδιο σας τον αριθµό κάθε µιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη: Σωστό, αν είναι σωστή, ή τη λέξη

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.

Διαβάστε περισσότερα

Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R

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

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤOΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤOΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Στόχοι του μαθήματος Μετά το τέλος του μαθήματος οι μαθητές πρέπει να είναι σε θέση: Να περιγράφουν τι είναι πρόγραμμα Να εξηγούν την αναγκαιότητα για τη δημιουργία γλωσσών

Διαβάστε περισσότερα

Τίτλος προγράμματος: «Παιχνίδια στο χθες, παιχνίδια στο σήμερα, παιχνίδια δίχως σύνορα» Υπεύθυνη προγράμματος: Μπότη Ευαγγελή Εκπαιδευτικός που

Τίτλος προγράμματος: «Παιχνίδια στο χθες, παιχνίδια στο σήμερα, παιχνίδια δίχως σύνορα» Υπεύθυνη προγράμματος: Μπότη Ευαγγελή Εκπαιδευτικός που Τίτλος προγράμματος: «Παιχνίδια στο χθες, παιχνίδια στο σήμερα, παιχνίδια δίχως σύνορα» Υπεύθυνη προγράμματος: Μπότη Ευαγγελή Εκπαιδευτικός που συμμετέχει: Κακάρη Κωνσταντίνα Παρακολουθώντας τα παιδιά

Διαβάστε περισσότερα

ΤΕΤΑΡΤΟ 4 ο δίωρο: ΕΠΕΞΕΡΓΑΣΙΑ ΔΕΔΟΜΕΝΩΝ. Γιώτη Ιφιγένεια (Α.Μ. 6222) Λίβα Παρασκευή (Α.Μ. 5885)

ΤΕΤΑΡΤΟ 4 ο δίωρο: ΕΠΕΞΕΡΓΑΣΙΑ ΔΕΔΟΜΕΝΩΝ. Γιώτη Ιφιγένεια (Α.Μ. 6222) Λίβα Παρασκευή (Α.Μ. 5885) ΤΕΤΑΡΤΟ 4 ο δίωρο: ΕΠΕΞΕΡΓΑΣΙΑ ΔΕΔΟΜΕΝΩΝ. Γιώτη Ιφιγένεια (Α.Μ. 6222) Λίβα Παρασκευή (Α.Μ. 5885) Ανάλυση σε επιμέρους στόχους: 1. Εκτιμούν τη μορφή γραφημάτων με βάση τα δεδομένα τους. 2. Κατανοούν ότι

Διαβάστε περισσότερα

Διοίκηση Λειτουργιών. τετράδιο 1

Διοίκηση Λειτουργιών. τετράδιο 1 Λορέντζος Χαζάπης Γιάννης Ζάραγκας Διοίκηση Λειτουργιών τα τετράδια μιας Οδύσσειας τετράδιο 1 Εισαγωγή στη διοίκηση των λειτουργιών Αθήνα 2012 τετράδιο 1 Εισαγωγή στη διοίκηση των λειτουργιών ΠΕΡΙΛΗΨΗ

Διαβάστε περισσότερα

4 ο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΓΕΝΙΚΟΣ ΣΚΟΠΟΣ :

4 ο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΓΕΝΙΚΟΣ ΣΚΟΠΟΣ : 4 ο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΓΕΝΙΚΟΣ ΣΚΟΠΟΣ : Σκοπός του συγκεκριμένου φύλλου εργασίας είναι ο μαθητής να εξοικειωθεί με τις συναρτήσεις, τις αριθμητικές πράξεις καθώς και την επισήμανση κελιών υπό όρους με στόχο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ ΕΠΙΜΕΛΕΙΑ : ΑΥΓΕΡΙΝΟΣ ΒΑΣΙΛΗΣ ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ ΕΠΙΜΕΛΕΙΑ : ΑΥΓΕΡΙΝΟΣ ΒΑΣΙΛΗΣ ΕΥΡΙΠΙΔΟΥ 80 ΝΙΚΑΙΑ ΝΕΑΠΟΛΗ ΤΗΛΕΦΩΝΟ 0965897 ΔΙΕΥΘΥΝΣΗ ΣΠΟΥΔΩΝ ΒΡΟΥΤΣΗ ΕΥΑΓΓΕΛΙΑ ΜΠΟΥΡΝΟΥΤΣΟΥ ΚΩΝ/ΝΑ ΑΥΓΕΡΙΝΟΣ ΒΑΣΙΛΗΣ ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ Η έννοια του μιγαδικού

Διαβάστε περισσότερα

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

Διαβάστε περισσότερα

Α Λυκείου Άλγεβρα Τράπεζα Θεμάτων Το Δεύτερο Θέμα

Α Λυκείου Άλγεβρα Τράπεζα Θεμάτων Το Δεύτερο Θέμα Α Λυκείου Άλγεβρα Τράπεζα Θεμάτων Το Δεύτερο Θέμα Θεωρούμε την ακολουθία (α ν ) των θετικών περιττών αριθμών: 1, 3, 5, 7, α) Να αιτιολογήσετε γιατί η (α ν ) είναι αριθμητική πρόοδος και να βρείτε τον εκατοστό

Διαβάστε περισσότερα

ΠΡΑΚΤΙΚΕΣ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΡΑΚΤΙΚΕΣ ΜΑΘΗΜΑΤΙΚΩΝ Συγγραφική ομάδα: Δεληγιάννη Ελένη Μάκη-Παναούρα Γεωργία Παντζιαρά Μαριλένα Παπαριστοδήμου Έφη Σιακαλλή Μύρια Χειμωνή Μαρία ΠΡΑΚΤΙΚΕΣ ΜΑΘΗΜΑΤΙΚΩΝ Επιμόρφωση Εκπαιδευτικών Νέο Πρόγραμμα Σπουδών Μαθηματικών

Διαβάστε περισσότερα

Αρχές Φιλοσοφίας Β Λυκείου Τράπεζα Θεμάτων: 2 ο κεφάλαιο «Κατανοώντας τα πράγματα»

Αρχές Φιλοσοφίας Β Λυκείου Τράπεζα Θεμάτων: 2 ο κεφάλαιο «Κατανοώντας τα πράγματα» Αρχές Φιλοσοφίας Β Λυκείου Τράπεζα Θεμάτων: 2 ο κεφάλαιο «Κατανοώντας τα πράγματα» Α] Ασκήσεις κλειστού τύπου (Σωστό Λάθος) Για τον Πλάτωνα οι καθολικές έννοιες, τα «καθόλου», δεν είναι πράγματα ξεχωριστά

Διαβάστε περισσότερα

Λογικός Προγραμματισμός Ασκήσεις

Λογικός Προγραμματισμός Ασκήσεις Λογικός Προγραμματισμός Ασκήσεις Παναγιώτης Σταματόπουλος Τμήμα Πληροφορικής και Τηλεπικοινωνιών Περιεχόμενα 1. Α Ομάδα Ασκήσεων "Λογικού Προγραμματισμού" Ακαδημαϊκού Έτους 2011-12... 3 1.1 Άσκηση 1...

Διαβάστε περισσότερα

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης Φύλλα εργασίας MicroWorlds Pro Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο Β. Χ. Χρυσοχοΐδης Πρόεδρος Συλλόγου Εκπαιδευτικών Πληροφορικής Φλώρινας 2 «Σχεδίαση και ανάπτυξη δραστηριοτήτων

Διαβάστε περισσότερα

ΘΕΜΑ 1ο. Μονάδες 10. Β. ίνεται το παρακάτω τμήμα αλγορίθμου: Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

ΘΕΜΑ 1ο. Μονάδες 10. Β. ίνεται το παρακάτω τμήμα αλγορίθμου: Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΘΕΜΑ 1ο ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΤΑΡΤΗ 4 ΙΟΥΛΙΟΥ 2007 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

Διαβάστε περισσότερα

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

ΣΥΝΑΙΣΘΗΜΑΤΙΚΗ ΝΟΗΜΟΣΥΝΗ Η ΑΝΑΠΤΥΞΗ ΕΝΟΣ ΧΡΗΣΙΜΟΥ ΕΡΓΑΛΕΙΟΥ ΓΙΑ ΤΙΣ ΚΑΘΗΜΕΡΙΝΕΣ ΣΥΝΔΙΑΛΛΑΓΕΣ ΣΥΝΑΙΣΘΗΜΑΤΙΚΗ ΝΟΗΜΟΣΥΝΗ Η ΑΝΑΠΤΥΞΗ ΕΝΟΣ ΧΡΗΣΙΜΟΥ ΕΡΓΑΛΕΙΟΥ ΓΙΑ ΤΙΣ ΚΑΘΗΜΕΡΙΝΕΣ ΣΥΝΔΙΑΛΛΑΓΕΣ Αγγελική Γουδέλη, 2011 Κοινωνικό Άγχος Αμηχανία Φόβος Το κοινωνικό άγχος, ή αλλιώς κοινωνική φοβία, θεωρείται

Διαβάστε περισσότερα

Β.1. i. Να εξηγήσετε τι εννοούμε με τον όρο μεταφερσιμότητα των προγραμμάτων. Μονάδες 3

Β.1. i. Να εξηγήσετε τι εννοούμε με τον όρο μεταφερσιμότητα των προγραμμάτων. Μονάδες 3 ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΘΕΜΑ 1 ο ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΕΜΠΤΗ 31 MAΪΟΥ 2007 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ

Διαβάστε περισσότερα

ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ B ΤΑΞΗΣ. χρησιμοποιήσουμε καθημερινά φαινόμενα όπως το θερμόμετρο, Θετικοί-Αρνητικοί αριθμοί.

ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ B ΤΑΞΗΣ. χρησιμοποιήσουμε καθημερινά φαινόμενα όπως το θερμόμετρο, Θετικοί-Αρνητικοί αριθμοί. ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ B ΤΑΞΗΣ ΑΛΓΕΒΡΑ (50 Δ. ώρες) Περιεχόμενα Στόχοι Οδηγίες - ενδεικτικές δραστηριότητες Οι μαθητές να είναι ικανοί: Μπορούμε να ΟΙ ΑΚΕΡΑΙΟΙ ΑΡΙΘΜΟΙ χρησιμοποιήσουμε καθημερινά φαινόμενα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 Επιμέλεια: Ομάδα Διαγωνισμάτων από το Στέκι των Πληροφορικών Θέμα Α A1. Να γράψετε στο τετράδιό σας τους

Διαβάστε περισσότερα

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

ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΠΡΟΟΔΟΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΟΚΤΩΒΡΙΟΥ 2015 ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΠΡΟΟΔΟΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΟΚΤΩΒΡΙΟΥ 2015 Θέμα 1 (Α) Να απαντήσετε στις παρακάτω προτάσεις χαρακτηρίζοντάς τες με το γράμμα Σ αν

Διαβάστε περισσότερα

6. Αφού δημιουργήσετε ένα πίνακα 50 θέσεων με ονόματα μαθητών να τον ταξινομήσετε αλφαβητικά με την μέθοδο της φυσαλίδας

6. Αφού δημιουργήσετε ένα πίνακα 50 θέσεων με ονόματα μαθητών να τον ταξινομήσετε αλφαβητικά με την μέθοδο της φυσαλίδας Ανάπτυξη εφαρμογών Γ' Λυκείου Τεχνολογικής κατεύθυνσης ΑΣΚΗΣΕΙΣ ΜΕ ΜΟΝΟΔΙΑΣΤΑΤΟΥΣ ΠΙΝΑΚΕΣ ΒΑΣΙΚΕΣ 1. Να γράψετε πρόγραμμα το οποίο:3. Να γράψετε αλγόριθμο ή πρόγραμμα το οποίο: α. Θα δημιουργεί ένα πίνακα

Διαβάστε περισσότερα

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

ΠΡΟΔΙΑΓΡΑΦΕΣ - ΟΔΗΓΙΕΣ ΔΙΑΜΟΡΦΩΣΗΣ ΘΕΜΑΤΩΝ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΠΡΟΔΙΑΓΡΑΦΕΣ - ΟΔΗΓΙΕΣ ΔΙΑΜΟΡΦΩΣΗΣ ΘΕΜΑΤΩΝ ΓΙΑ ΤΟ ΜΑΘΗΜΑ Μαθηματικά (Άλγεβρα - Γεωμετρία) Α ΤΑΞΗ ΗΜΕΡΗΣΙΟΥ και Α, Β ΤΑΞΕΙΣ ΕΣΠΕΡΙΝΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ Α ΤΑΞΗ ΗΜΕΡΗΣΙΟΥ και Α ΤΑΞΗ ΕΣΠΕΡΙΝΟΥ ΕΠΑΛ ΚΕΝΤΡΙΚΗ

Διαβάστε περισσότερα

ΜΑΘΗΜΑΤΙΚΑ Γ ΓΥΜΝΑΣΙΟΥ

ΜΑΘΗΜΑΤΙΚΑ Γ ΓΥΜΝΑΣΙΟΥ ΜΑΘΗΜΑΤΙΚΑ Γ ΓΥΜΝΑΣΙΟΥ Οι πραγματικοί αριθμοί αποτελούνται από τους ρητούς και τους άρρητους αριθμούς, τους φυσικούς και τους ακέραιους αριθμούς. Δηλαδή είναι το μεγαλύτερο σύνολο αριθμών που μπορούμε

Διαβάστε περισσότερα

Σενάριο 13. Προγραμματίζοντας ένα Ρομπότ

Σενάριο 13. Προγραμματίζοντας ένα Ρομπότ Σενάριο 13. Προγραμματίζοντας ένα Ρομπότ Ταυτότητα Σεναρίου Τίτλος: Προγραμματίζοντας ένα Ρομπότ Γνωστικό Αντικείμενο: Πληροφορική Διδακτική Ενότητα: Ελέγχω-Προγραμματίζω τον Υπολογιστή Τάξη: Γ Γυμνασίου

Διαβάστε περισσότερα

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Πρόβλημα 1 Το πρώτο πρόβλημα λύνεται με τη μέθοδο του Δυναμικού Προγραμματισμού. Για να το λύσουμε με Δυναμικό Προγραμματισμό

Διαβάστε περισσότερα

Α Λ Γ Ε Β Ρ Α Β Λ Υ Κ Ε Ι Ο Υ

Α Λ Γ Ε Β Ρ Α Β Λ Υ Κ Ε Ι Ο Υ Α Λ Γ Ε Β Ρ Α Β Λ Υ Κ Ε Ι Ο Υ ΚΕΦΑΛΑΙΟ 1 ο ΣΥΣΤΗΜΑΤΑ ΣΥΝΟΠΤΙΚΗ ΘΕΩΡΙΑ Όταν έχουμε δύο γραμμικές εξισώσεις αx+βy=γ και α x+β y=γ και ζητάμε τις κοινές λύσεις τους, τότε λέμε ότι έχουμε να λύσουμε ένα γραμμικό

Διαβάστε περισσότερα

Θεωρία παιγνίων Δημήτρης Χριστοφίδης Εκδοση 1η: Παρασκευή 3 Απριλίου 2015. Παραδείγματα Παράδειγμα 1. Δυο άτομα παίζουν μια παραλλαγή του σκακιού όπου σε κάθε βήμα ο κάθε παίκτης κάνει δύο κανονικές κινήσεις.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΙΔΑΓΩΓΙΚΟ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΙΔΑΓΩΓΙΚΟ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΠΡΑΚΤΙΚΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑΤΙΚΩΝ-Β ΦΑΣΗ ΘΕΜΑ ΔΙΔΑΣΚΑΛΙΑΣ: ΣΤΡΑΤΗΓΙΚΕΣ ΔΙΑΧΕΙΡΙΣΗΣ ΑΡΙΘΜΩΝ-19 ο ΚΕΦΑΛΑΙΟ ΣΧΟΛΕΙΟ: 2 ο ΠΕΙΡΑΜΑΤΙΚΟ ΦΛΩΡΙΝΑΣ

Διαβάστε περισσότερα

1.2 Εξισώσεις 1 ου Βαθμού

1.2 Εξισώσεις 1 ου Βαθμού 1.2 Εξισώσεις 1 ου Βαθμού Διδακτικοί Στόχοι: Θα μάθουμε: Να κατανοούμε την έννοια της εξίσωσης και τη σχετική ορολογία. Να επιλύουμε εξισώσεις πρώτου βαθμού με έναν άγνωστο. Να διακρίνουμε πότε μια εξίσωση

Διαβάστε περισσότερα

Γλώσσες Προγραμματισμού Μεταγλωττιστές

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

Διαβάστε περισσότερα

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

Μεταβλητές. Για περισσότερες λεπτομέρειες πάνω στις μεταβλητές θα ήταν χρήσιμο να διαβάσεις το Τάξη : Α Λυκείου Λογισμικό : Scratch Ενδεικτική Διάρκεια : 45 λεπτά Μεταβλητές Όλα όσα έμαθες στα προηγούμενα φυλλάδια είναι απαραίτητα για να υλοποιήσεις απλές εφαρμογές. Ωστόσο αν θέλεις να δημιουργήσεις

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό

ΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό ΚΕΦΑΛΑΙΟ VI Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου σημαντικά στάδια. Τον ακριβή προσδιορισμό του προβλήματος. Την ανάπτυξη του αντίστοιχου αλγορίθμου.

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2 ΔΙΑΤΑΞΕΙΣ, ΜΕΤΑΘΕΣΕΙΣ, ΣΥΝΔΥΑΣΜΟΙ

ΚΕΦΑΛΑΙΟ 2 ΔΙΑΤΑΞΕΙΣ, ΜΕΤΑΘΕΣΕΙΣ, ΣΥΝΔΥΑΣΜΟΙ ΚΕΦΑΛΑΙΟ ΔΙΑΤΑΞΕΙΣ ΜΕΤΑΘΕΣΕΙΣ ΣΥΝΔΥΑΣΜΟΙ Εισαγωγή. Οι σχηματισμοί που προκύπτουν με την επιλογή ενός συγκεκριμένου αριθμού στοιχείων από το ίδιο σύνολο καλούνται διατάξεις αν μας ενδιαφέρει η σειρά καταγραφή

Διαβάστε περισσότερα

Λογισμικό διδασκαλίας των μαθηματικών της Γ Τάξης Γυμνασίου

Λογισμικό διδασκαλίας των μαθηματικών της Γ Τάξης Γυμνασίου Λογισμικό διδασκαλίας των μαθηματικών της Γ Τάξης Γυμνασίου Δρ. Βασίλειος Σάλτας 1, Αλέξης Ηλιάδης 2, Ιωάννης Μουστακέας 3 1 Διδάκτωρ Διδακτικής Μαθηματικών, Επιστημονικός Συνεργάτης ΑΣΠΑΙΤΕ Σαπών coin_kav@otenet.gr

Διαβάστε περισσότερα