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

Μέγεθος: 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 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Οργάνωση καθημερινών ημερίδων

Οργάνωση καθημερινών ημερίδων Οργάνωση καθημερινών ημερίδων 1) Αγώνες ζευγών 1α) Διαθέσιμες κινήσεις: Φιλοσοφία, μηχανισμοί και τα χαρακτηριστικά τους. Οι κινήσεις είναι ένα από τα βασικότερα εργαλεία που έχει ένας διαιτητής στη διάθεσή

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΙΔΑΓΩΓΙΚΟ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΠΡΑΚΤΙΚΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑΤΙΚΩΝ Β ΦΑΣΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΙΔΑΓΩΓΙΚΟ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΠΡΑΚΤΙΚΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑΤΙΚΩΝ Β ΦΑΣΗΣ Θέμα Διδασκαλίας Προβλήματα με πρόσθεση και αφαίρεση κλασμάτων (Κεφάλαιο 23 ο ) Σχολείο: 2 ο

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

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

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

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

Τύποι, Σταθερές και Μεταβλητές

Τύποι, Σταθερές και Μεταβλητές ΚΕΦΑΛΑΙΟ 3 Τύποι, Σταθερές και Μεταβλητές Η έννοια της μεταβλητής Γενικά μπορούμε να πούμε ότι η έννοια της μεταβλητής στον προγραμματισμό είναι άμεσα συνδεδεμένη με την έννοια που αυτή έχει σε μαθηματικό

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βασικές Έννοιες Προγραμματισμού Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Αριθμητικά συστήματα Υπάρχουν 10 τύποι ανθρώπων: Αυτοί

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

Αλγόριθμοι Αναζήτησης σε Παίγνια Δύο Αντιπάλων

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

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

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας Τ.Ε.Ι ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας Πτυχιακή εργασία του φοιτητή Γιαννακίδη Αποστόλη Επιβλέπων καθηγητής Τσούλος

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

ΣΤ Δημοτικού - Προγραμματίζω τον υπολογιστή. Σχέδιο Μαθήματος No 1 Εισαγωγή στο προγραμματιστικό περιβάλλον της EasyLogo

ΣΤ Δημοτικού - Προγραμματίζω τον υπολογιστή. Σχέδιο Μαθήματος No 1 Εισαγωγή στο προγραμματιστικό περιβάλλον της EasyLogo ΣΤ Δημοτικού - Προγραμματίζω τον υπολογιστή Σχέδιο Μαθήματος No 1 Εισαγωγή στο προγραμματιστικό περιβάλλον της EasyLogo Εμπλεκόμενες έννοιες «Γραφή» και άμεση εκτέλεση εντολής. Αποτέλεσμα εκτέλεσης εντολής.

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

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 27 Μαρτίου 2013 Περίληψη Σκοπός της παρούσας εργασίας είναι η εξοικείωσή σας με τις θεμελιώδεις θεωρητικές και πρακτικές πτυχές

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

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

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

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

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

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

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΡΑΤΙΚΑ ΙΝΣΤΙΤΟΥΤΑ ΕΠΙΜΟΡΦΩΣΗΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΡΑΤΙΚΑ ΙΝΣΤΙΤΟΥΤΑ ΕΠΙΜΟΡΦΩΣΗΣ ΤΕΛΙΚΕΣ ΕΝΙΑΙΕΣ ΓΡΑΠΤΕΣ ΕΞΕΤΑΣΕΙΣ ΣΧΟΛΙΚΗ ΧΡΟΝΙΑ: 2009 2010 Μάθημα: Ελληνικά Επίπεδο: 2 Διάρκεια: 2 ώρες Ημερομηνία:

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εισαγωγή Κώστας Στεργίου Τι είναι ο Η/Υ; Ένας ηλεκτρονικός υπολογιστής (Η/Υ) είναι

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

Σχέδιο παρουσίασης των διδασκαλιών ή των project

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

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

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

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

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

εξισώσεις-ανισώσεις Μαθηματικά α λυκείου Φροντιστήρια Μ.Ε. ΠΑΙΔΕΙΑ σύνολο) στα Μαθηματικά, τη Φυσική αλλά και σε πολλές επιστήμες

εξισώσεις-ανισώσεις Μαθηματικά α λυκείου Φροντιστήρια Μ.Ε. ΠΑΙΔΕΙΑ σύνολο) στα Μαθηματικά, τη Φυσική αλλά και σε πολλές επιστήμες Με τον διεθνή όρο φράκταλ (fractal, ελλ. μορφόκλασμα ή μορφοκλασματικό σύνολο) στα Μαθηματικά, τη Φυσική αλλά και σε πολλές επιστήμες ονομάζεται ένα γεωμετρικό σχήμα που επαναλαμβάνεται αυτούσιο σε άπειρο

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

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

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

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

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

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

Περιεχόμενο του μαθήματος

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος

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

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

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

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

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

ΦΡΟΝΤΙΣΤΗΡΙΟ «ΕΝΑ» ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΦΡΟΝΤΙΣΤΗΡΙΟ «ΕΝΑ» ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΘΕΜΑ 1 ο Α. Να γράψετε στο τετράδιο σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις και δίπλα

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

Πληρουορική Γ Γσμμασίοσ

Πληρουορική Γ Γσμμασίοσ Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:

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

5η Δραστηριότητα. Λύσε το γρίφο Η Θεωρία της Πληροφορίας. Περίληψη. Λπν τ φνντ π τν πρτσ. Ικανότητες. Ηλικία. Υλικά

5η Δραστηριότητα. Λύσε το γρίφο Η Θεωρία της Πληροφορίας. Περίληψη. Λπν τ φνντ π τν πρτσ. Ικανότητες. Ηλικία. Υλικά 5η Δραστηριότητα Λύσε το γρίφο Η Θεωρία της Πληροφορίας Περίληψη Πόση πληροφορία περιέχεται σε ένα βιβλίο των 1000 σελίδων; Υπάρχει περισσότερη πληροφορία σε έναν τηλεφωνικό κατάλογο των 1000 σελίδων ή

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

5 ο ΚΕΦΑΛΑΙΟ: ΠΡΑΚΤΙΚΟ ΚΟΜΜΑΤΙ

5 ο ΚΕΦΑΛΑΙΟ: ΠΡΑΚΤΙΚΟ ΚΟΜΜΑΤΙ 5 ο ΚΕΦΑΛΑΙΟ: ΠΡΑΚΤΙΚΟ ΚΟΜΜΑΤΙ 5.1 Εισαγωγή Το πρακτικό κομμάτι της πτυχιακής μας εργασίας αφορά την δημιουργία μιας λειτουργικής ιστοσελίδας με την χρήση της πλατφόρμας του Weebly, που αποτελεί μια σύγχρονη

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

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

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΕΙΣΑΓΩΓΗ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ. ΤΙ ΕΙΝΑΙ ΤΑ ΜΑΘΗΜΑΤΙΚΑ; Η επιστήμη των αριθμών Βασανιστήριο για τους μαθητές και φοιτητές Τέχνη για τους μαθηματικούς ΜΑΘΗΜΑΤΙΚΑ Α Εξάμηνο ΙΩΑΝΝΗΣ

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Θ.Ε. ΠΛΗ31 (2005-6) ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ #1 Στόχος Η εργασία επικεντρώνεται σε θέματα προγραμματισμού για Τεχνητή Νοημοσύνη και σε πρακτικά θέματα εξάσκησης σε Κατηγορηματική Λογική. Θέμα 1: Απλές Αναζητήσεις

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

ΠΑΡΑΔΕΙΓΜΑΤΑ ΘΕΜΑ Β. Να εξετάσετε αν ισχύουν οι υποθέσεις του Θ.Μ.Τ. για την συνάρτηση στο διάστημα [ 1,1] τέτοιο, ώστε: C στο σημείο (,f( ))

ΠΑΡΑΔΕΙΓΜΑΤΑ ΘΕΜΑ Β. Να εξετάσετε αν ισχύουν οι υποθέσεις του Θ.Μ.Τ. για την συνάρτηση στο διάστημα [ 1,1] τέτοιο, ώστε: C στο σημείο (,f( )) ΚΕΦΑΛΑΙΟ ο: ΔΙΑΦΟΡΙΚΟΣ ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ 6: ΘΕΩΡΗΜΑ ΜΕΣΗΣ ΤΙΜΗΣ ΔΙΑΦΟΡΙΚΟΥ ΛΟΓΙΣΜΟΥ (Θ.Μ.Τ.) [Θεώρημα Μέσης Τιμής Διαφορικού Λογισμού του κεφ..5 Μέρος Β του σχολικού βιβλίου]. ΠΑΡΑΔΕΙΓΜΑΤΑ Παράδειγμα. ΘΕΜΑ

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

Εισαγωγή στο προγραμματισμό Η/Υ

Εισαγωγή στο προγραμματισμό Η/Υ Εισαγωγή στο προγραμματισμό Η/Υ Fortran 90/95/2003 Silverfrost FTN95: Fortran for Windows http://www.silverfrost.com/default.aspx http://users.auth.gr/~ppi/fortran/ Ηλεκτρονικός Υπολογιστής Hardware Software

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

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση

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

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

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

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

ΜΑΘΗΜΑΤΙΚΑ Γ Γυμνασίου

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

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

ΓΙΩΡΓΟΣ Α. ΚΑΡΕΚΛΙΔΗΣ ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ ΘΕΩΡΙΑ ΑΣΚΗΣΕΙΣ ΜΕΘΟΔΟΛΟΓΙΑ

ΓΙΩΡΓΟΣ Α. ΚΑΡΕΚΛΙΔΗΣ ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ ΘΕΩΡΙΑ ΑΣΚΗΣΕΙΣ ΜΕΘΟΔΟΛΟΓΙΑ ΓΙΩΡΓΟΣ Α. ΚΑΡΕΚΛΙΔΗΣ ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ ΘΕΩΡΙΑ ΑΣΚΗΣΕΙΣ ΜΕΘΟΔΟΛΟΓΙΑ ΕΚΔΟΣΕΙΣ ΓΙΩΡΓΟΣ Α. ΚΑΡΕΚΛΙΔΗΣ ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ ΘΕΩΡΙΑ ΑΣΚΗΣΕΙΣ ΜΕΘΟΔΟΛΟΓΙΑ τη ΘΕΩΡΙΑ με τις απαραίτητες διευκρινήσεις ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ

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

Μάθημα 1. Ας γνωριστούμε λοιπόν!!! Σήμερα συναντιόμαστε για πρώτη φορά. Μαζί θα περάσουμε τους επόμενους

Μάθημα 1. Ας γνωριστούμε λοιπόν!!! Σήμερα συναντιόμαστε για πρώτη φορά. Μαζί θα περάσουμε τους επόμενους Μάθημα 1 Ας γνωριστούμε λοιπόν!!! Σήμερα συναντιόμαστε για πρώτη φορά. Μαζί θα περάσουμε τους επόμενους μήνες και θα μοιραστούμε πολλά! Ας γνωριστούμε λοιπόν. Ο καθένας από εμάς ας πει λίγα λόγια για τον

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

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος ΑΛΓΟΡΙΘΜΟΙ Στο σηµείωµα αυτό αρχικά εξηγείται η έννοια αλγόριθµος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληρεί κάθε αλγόριθµος. Στη συνέχεια, η σπουδαιότητα των αλγορίθµων συνδυάζεται

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

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

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

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

ΤΜΗΜΑ ΣΤΑΤΙΣΤΙΚΗΣ ΚΑΙ ΑΣΦΑΛΙΣΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Σ

ΤΜΗΜΑ ΣΤΑΤΙΣΤΙΚΗΣ ΚΑΙ ΑΣΦΑΛΙΣΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Σ ΤΜΗΜΑ ΣΤΑΤΙΣΤΙΚΗΣ ΚΑΙ ΑΣΦΑΛΙΣΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Σ υ ν δ υ α σ τ ι κ ή Πειραιάς 2007 1 Το κύριο αντικείμενο της Συνδυαστικής Οι τεχνικές υπολογισμού του πλήθους των στοιχείων πεπερασμένων συνόλων ή υποσυνό-

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

ΑΚΕΡΑΙΟΙ ΑΡΙΘΜΟΙ- ΠΡΑΞΕΙΣ ΑΥΤΩΝ 1.2 ΠΡΟΒΛΗΜΑΤΑ ΔΙΔΑΣΚΑΛΙΑΣ ΤΩΝ ΑΡΝΗΤΙΚΩΝ ΑΡΙΘΜΩΝ

ΑΚΕΡΑΙΟΙ ΑΡΙΘΜΟΙ- ΠΡΑΞΕΙΣ ΑΥΤΩΝ 1.2 ΠΡΟΒΛΗΜΑΤΑ ΔΙΔΑΣΚΑΛΙΑΣ ΤΩΝ ΑΡΝΗΤΙΚΩΝ ΑΡΙΘΜΩΝ ΑΚΕΡΑΙΟΙ ΑΡΙΘΜΟΙ- ΠΡΑΞΕΙΣ ΑΥΤΩΝ 1.1 ΕΙΣΑΓΩΓΗ Ασχολήθηκα 30 χρόνια με τη διδασκαλία των Μαθηματικών του Γυμνασίου, τόσο στην Μέση Εκπαίδευση όσο και σε Φροντιστήρια. Η μέθοδος που χρησιμοποιούσα για τη

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

Ανακτήθηκε από την ΕΚΠΑΙΔΕΥΤΙΚΗ ΚΛΙΜΑΚΑ http://edu.klimaka.gr ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

Ανακτήθηκε από την ΕΚΠΑΙΔΕΥΤΙΚΗ ΚΛΙΜΑΚΑ http://edu.klimaka.gr ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΗΝΙΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΠΕΜΠΤΗ 7 ΙΟΥΝΙΟΥ 2012 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΟΜΗΜΕΝΟΣ

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

Δυνάμεις Φυσικών Αριθμών

Δυνάμεις Φυσικών Αριθμών Δυνάμεις Φυσικών Αριθμών TINΑ ΒΡΕΝΤΖΟΥ www.ma8eno.gr www.ma8eno.gr Σελίδα 1 Δυνάμεις φυσικών αριθμών Δύναμη ονομάζουμε το γινόμενο πολλών ίσων παραγόντων Πχ: 8 8= 64, 4 4 4= 64, 3 3 3 3= 81. Έτσι, το γινόμενο

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΔΙΑΔΙΚΑΣΙΕΣ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ Διδάσκων: Γ. Χαραλαμπίδης,

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

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

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

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

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

Mαθηματική Λογική και Λογικός Προγραμματισμός ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΤΗΜΑΤΩΝ ΦΕΒΡΟΥΑΡΙΟΥ 2004 Θέμα 1 ο : Αποδείξτε με τον κανόνα της επίλυσης τα ακόλουθα Α. Η πρόταση (Α (Β C)) & (A B) & (A C) είναι μη επαληθεύσιμη Β. Η Β είναι αποδείξιμη από το Δ={ (Β

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

III. Πως μετατρέπεται το πηγαίο πρόγραμμα σε εκτελέσιμο πρόγραμμα;

III. Πως μετατρέπεται το πηγαίο πρόγραμμα σε εκτελέσιμο πρόγραμμα; ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ: Θέμα 1ο I. Τι πρέπει να ικανοποιεί ένα κομμάτι κώδικα ώστε να χαρακτηριστεί ως υποπρόγραμμα; Τα υποπρογράμματα πρέπει

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

Κεφάλαιο 1 o Εξισώσεις - Ανισώσεις

Κεφάλαιο 1 o Εξισώσεις - Ανισώσεις 2 ΕΡΩΤΗΣΕΙΙΣ ΘΕΩΡΙΙΑΣ ΑΠΟ ΤΗΝ ΥΛΗ ΤΗΣ Β ΤΑΞΗΣ ΜΕΡΟΣ Α -- ΑΛΓΕΒΡΑ Κεφάλαιο 1 o Εξισώσεις - Ανισώσεις Α. 1 1 1. Τι ονομάζεται Αριθμητική και τι Αλγεβρική παράσταση; Ονομάζεται Αριθμητική παράσταση μια παράσταση

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

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

[ΠΩΣ ΚΑΙ ΑΠΟ ΤΙ ΕΠΗΡΕΑΖΟΝΤΑΙ ΟΙ ΕΦΗΒΟΙ ΣΗΜΕΡΑ ΣΤΗΝ ΕΛΛΑΔΑ ΓΙΑ ΤΗΝ ΕΠΙΛΟΓΗ ΕΠΑΓΓΕΛΜΑΤΟΣ] 2014 14ο Λύκειο Θεσσαλονίκης Ερευνητική εργασία των μαθητών : Αλεξίου Δημήτρη, Γεωργιάδου Αλεξάνδρας, Ζαχάρωφ Μανώλη, Κατσούλη Απόστολου, Τρέμμα Λουκίας [ΠΩΣ ΚΑΙ ΑΠΟ ΤΙ ΕΠΗΡΕΑΖΟΝΤΑΙ ΟΙ ΕΦΗΒΟΙ ΣΗΜΕΡΑ ΣΤΗΝ

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

1 η εξεταστική περίοδος από 20/10/2013 έως 17/11/2013. γραπτή εξέταση στο μάθημα Α ΝΑΠΤΥΞΗ ΕΦΑΡΜ Ο ΓΩ Ν ΣΕ ΠΡΟΓΡ ΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ

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

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Ένα πρώτο πρόγραμμα ΔΟΜΗ TOY ΠΡΟΓΡΑΜΜΑΤΟΣ. Τι σημαίνουν οι εντολές. Από τι αποτελείται ένα πρόγραμμα

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Ένα πρώτο πρόγραμμα ΔΟΜΗ TOY ΠΡΟΓΡΑΜΜΑΤΟΣ. Τι σημαίνουν οι εντολές. Από τι αποτελείται ένα πρόγραμμα ΥΠΟΛΟΓΙΣΤΕΣ Ι ΔΟΜΗ TOY ΠΡΟΓΡΑΜΜΑΤΟΣ Ένα πρώτο πρόγραμμα Κατασκευάστε πρόγραμμα που θα εμφανίζει στην οθόνη τη λέξη: PROGRAM FIRST C Αυτό είναι ένα απλό υπόδειγμα προγράμματος. 1 2 Από τι αποτελείται ένα

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

Ελαφρύτερος και βαρύτερος Αλγόριθμοι ταξινόμησης

Ελαφρύτερος και βαρύτερος Αλγόριθμοι ταξινόμησης 7η Δραστηριότητα Ελαφρύτερος και βαρύτερος Αλγόριθμοι ταξινόμησης Περίληψη Οι υπολογιστές χρησιμοποιούνται συχνά για την ταξινόμηση καταλόγων, όπως για παράδειγμα, ονόματα σε αλφαβητική σειρά, ραντεβού

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

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

ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ : Γ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ : ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ ΜΑΘΗΜΑ ΤΑΞΗ ΚΕΦΑΛΑΙΟ 2 ο ΕΙΣΗΓΗΤΗΣ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ : Γ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ : ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ : ΚΑΖΑΝΤΖΗΣ ΧΡΗΣΤΟΣ 1. Γενικός

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Δέντρα Αναζήτησης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Αναζήτηση Θέλουμε να διατηρήσουμε αντικείμενα με κλειδιά και να μπορούμε εκτός από

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

Κατανόηση γραπτού λόγου

Κατανόηση γραπτού λόγου Κατανόηση γραπτού λόγου Επίπεδο Β Δεύτερη διδακτική πρόταση Ημερολόγια Ενδεικτική διάρκεια: Ομάδα στόχος: Διδακτικός στόχος: Στρατηγικές: Ενσωμάτωση δεξιοτήτων: Υλικό: 1 διδακτική ώρα παιδιά ή ενήλικες

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

ΑΦΙΕΡΩΜΑ: Καλοκαίρι. Βιβλίο: Η χαµένη πόλη. Συνταγή ΤΙΤΙΝΑ: κρέπα. Από την Μαριλένα Ντε Πιάν και την Ελένη Κοτζάµπαση - 1 - Μια εφηµερίδα για όλους

ΑΦΙΕΡΩΜΑ: Καλοκαίρι. Βιβλίο: Η χαµένη πόλη. Συνταγή ΤΙΤΙΝΑ: κρέπα. Από την Μαριλένα Ντε Πιάν και την Ελένη Κοτζάµπαση - 1 - Μια εφηµερίδα για όλους Ιούλιος 2011 Τεύχος 11 3 Μια εφηµερίδα για όλη την οικογένεια ΑΦΙΕΡΩΜΑ: Καλοκαίρι Βιβλίο: Η χαµένη πόλη Συνταγή ΤΙΤΙΝΑ: κρέπα Από την Μαριλένα Ντε Πιάν και την Ελένη Κοτζάµπαση - 1 - ΠΕΡΙΕΧΟΜΕΝΑ Η γλώσσα

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

Προγραμματισμός Χειμερινό Εξάμηνο 2014

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

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

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

ιαφάνειες παρουσίασης #1 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

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

ΟΜΑΔΑ Λ. Αναστασίου Κωνσταντίνος Δεληγιάννη Ισαβέλλα Ζωγοπούλου Άννα Κουκάκης Γιώργος Σταθάκη Αρετιάννα

ΟΜΑΔΑ Λ. Αναστασίου Κωνσταντίνος Δεληγιάννη Ισαβέλλα Ζωγοπούλου Άννα Κουκάκης Γιώργος Σταθάκη Αρετιάννα ΟΜΑΔΑ Λ Αναστασίου Κωνσταντίνος Δεληγιάννη Ισαβέλλα Ζωγοπούλου Άννα Κουκάκης Γιώργος Σταθάκη Αρετιάννα ΒΙΟΠΛΗΡΟΦΟΡΙΚΗ Τι είναι η βιοπληροφορική; Αποκαλείται ο επιστημονικός κλάδος ο οποίος προέκυψε από

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

Σενάριο 18: Ραβδογράμματα Πληθυσμού

Σενάριο 18: Ραβδογράμματα Πληθυσμού Σενάριο 18: Ραβδογράμματα Πληθυσμού Φύλλο Εργασίας Τίτλος: Ραβδογράμματα Πληθυσμού Γνωστικό Αντικείμενο: Εφαρμογές Πληροφορικής-Υπολογιστών Διδακτική Ενότητα: Διερευνώ - Δημιουργώ Ανακαλύπτω, Συνθετικές

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

Όνομα : Επώνυμο: Τάξη : Καθηγητής : Ημ/νία : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (18-11-2012) Γ3, Γ4 ΑΝ Α < Β ΤΟΤΕ ΑΛΛΙΩΣ ΤΕΛΟΣ_ΑΝ

Όνομα : Επώνυμο: Τάξη : Καθηγητής : Ημ/νία : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (18-11-2012) Γ3, Γ4 ΑΝ Α < Β ΤΟΤΕ ΑΛΛΙΩΣ ΤΕΛΟΣ_ΑΝ Όνομα : Επώνυμο: Τάξη : ΦΡΟΝΤΙΣΤΗΡΙΟ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΠΛΑΤΕΙΑ ΗΡΩΩΝ ΠΟΛΥΤΕΧΝΕΙΟΥ 13 - ΤΗΛ. 2108048919 ΠΛΑΤΕΙΑ ΗΡΩΩΝ ΠΟΛΥΤΕΧΝΕΙΟΥ 29 - ΤΗΛ. 2108100606 www.dinamiko.gr, email: info@dinamiko.gr Καθηγητής

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

ΤΜΗΜΑ ΣΤΑΤΙΣΤΙΚΗΣ ΚΑΙ ΑΣΦΑΛΙΣΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Σ

ΤΜΗΜΑ ΣΤΑΤΙΣΤΙΚΗΣ ΚΑΙ ΑΣΦΑΛΙΣΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Σ ΤΜΗΜΑ ΣΤΑΤΙΣΤΙΚΗΣ ΚΑΙ ΑΣΦΑΛΙΣΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Σ υ ν δ υ α σ τ ι κ ή Πειραιάς 2007 1 Μάθημα 4ο Συνδυασμοί 2 2.3 ΣΥΝΔΥΑΣΜΟΙ Έστω Χ= {x 1, x 2,..., x ν } ένα πεπερασμένο σύνολο με ν στοιχεία x 1, x 2,...,

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

Κεφάλαιο 1.Εντολές κίνησης

Κεφάλαιο 1.Εντολές κίνησης Προγραμματίζω με το ΒΥΟΒ 1 Κεφάλαιο 1.Εντολές κίνησης Από το μάθημα της Φυσικής γνωρίζουμε ότι κίνηση σημαίνει αλλαγή της θέσης ενός αντικειμένου. Οι εντολές κίνησης που μας παρέχει το ΒΥΟΒ χωρίζονται

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

Φυσικοί αριθμοί - Διάταξη φυσικών αριθμών - Στρογγυλοποίηση

Φυσικοί αριθμοί - Διάταξη φυσικών αριθμών - Στρογγυλοποίηση Φυσικοί αριθμοί - Διάταξη φυσικών αριθμών - Στρογγυλοποίηση TINΑ ΒΡΕΝΤΖΟΥ www.ma8eno.gr Βρέντζου Τίνα Φυσικός Μεταπτυχιακός τίτλος: «Σπουδές στην εκπαίδευση» ΜEd Email : stvrentzou@gmail.com 2 Φυσικοί

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

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

Π Ι Σ Τ Ο Π Ο Ι Η Σ Η Ε Π Α Ρ Κ Ε Ι Α Σ Τ Η Σ ΕΛΛΗΝΟΜΑΘΕΙΑΣ Κ Α Τ Α Ν Ο Η Σ Η Π Ρ Ο Φ Ο Ρ Ι Κ Ο Υ Λ Ο Γ Ο Υ Π Ρ Ω Τ Η Σ Ε Ι Ρ Α Δ Ε Ι Γ Μ Α Τ Ω Ν Ε Π Α Ρ Κ Ε Ι Α Σ Τ Η Σ ΕΛΛΗΝΟΜΑΘΕΙΑΣ Κ Α Τ Α Ν Ο Η Σ Η Π Ρ Ο Φ Ο Ρ Ι Κ Ο Υ Λ Ο Γ Ο Υ Π Ρ Ω Τ Η Σ Ε Ι Ρ Α Δ Ε Ι Γ Μ Α Τ Ω Ν 2 5 Μ 0 Ν Α Δ Ε Σ 1 Y Π Ο Υ Ρ Γ Ε Ι Ο Π Α Ι Δ Ε Ι Α Σ Κ Α Ι Θ Ρ Η Σ Κ Ε Υ Μ Α

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

ΜΑΘΗΜΑΤΙΚΑ Β Γυμνασίου

ΜΑΘΗΜΑΤΙΚΑ Β Γυμνασίου ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΜΑΘΗΜΑΤΙΚΑ Β Γυμνασίου Ενότητα 1: Σύνολα ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΥΠΗΡΕΣΙΑ ΑΝΑΠΤΥΞΗΣ ΠΡΟΓΡΑΜΜΑΤΩΝ ΜΑΘΗΜΑΤΙΚΑ Β Γυμνασίου Ενότητα 1: Σύνολα Συγγραφή: Ομάδα Υποστήριξης Μαθηματικών

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

ΟΔΗΓΟΣ ΕΚΠΟΝΗΣΗΣ ΕΡΓΑΣΙΑΣ

ΟΔΗΓΟΣ ΕΚΠΟΝΗΣΗΣ ΕΡΓΑΣΙΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ & ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ "ΛΟΓΙΣΤΙΚΗ & ΕΛΕΓΚΤΙΚΗ" ΟΔΗΓΟΣ ΕΚΠΟΝΗΣΗΣ ΕΡΓΑΣΙΑΣ Κοζάνη, 2015 Πίνακας περιεχομένων 1) ΓΕΝΙΚΑ ΠΕΡΙ ΕΡΓΑΣΙΩΝ....

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στην FORTRAN Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 Fortran FORmula TRANslation: (Μία από τις πρώτες γλώσσες τρίτης γενιάς) Εκδόσεις FORTRAN (1957) FORTRAN II (1958) FORTRAN III

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

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα Κεφάλαιο 7. 7.1 ομές εδομένων για Γραφικά Υπολογιστών. Οι δομές δεδομένων αποτελούν αντικείμενο της επιστήμης υπολογιστών. Κατά συνέπεια πρέπει να γνωρίζουμε πώς οργανώνονται τα γεωμετρικά δεδομένα, προκειμένου

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