Κεφάλαιο 1. Εισαγωγή
|
|
- Κρόνος Αλαβάνος
- 4 χρόνια πριν
- Προβολές:
Transcript
1 Κεφάλαιο 1 Εισαγωγή Η λέξη Prolog προκύπτει ως συντομογραφία από τις γαλλικές λέξεις «PROgrammation en LOGique» ή κατ αντιστοιχία στην Αγγλική «PROgramming in LOGic» που σημαίνει «προγραμματισμός σε λογική». Η Prolog έχει τις ρίζες της στη μαθηματική λογική και συγκεκριμένα στη λογική πρώτης τάξεως. Είναι μια γλώσσα δηλωτικού προγραμματισμού, γενικού σκοπού. Σε αυτό το κεφάλαιο θα κάνουμε μια σύντομη ιστορική αναδρομή στην εξέλιξη της Prolog. Η Prolog εισάγει μια νέα μορφή προγραμματισμού, το δηλωτικό, ενώ οι συμβατικές γλώσσες προγραμματισμού υψηλού επιπέδου, C, Java, κτλ, ακολουθούν τον προστακτικό προγραμματισμό. Μετά, θα μιλήσουμε για τις διαφορές του προστακτικού από το δηλωτικό προγραμματισμό, οι οποίες αντικατοπτρίζουν και τις διαφορές μεταξύ προστακτικών και δηλωτικών γλωσσών. Στη συνέχεια, θα παρουσιάσουμε τη δηλωτική και τη διαδικαστική έννοια ενός Prolog προγράμματος και τα χαρακτηριστικά της Prolog που την ισχυροποιούν προγραμματιστικά για εφαρμογές ΤΝ. Έπειτα, τα πεδία στα οποία η Prolog παίζει πρωτεύοντα ρόλο στην α- νάπτυξη εφαρμογών καθώς και τα πλεονεκτήματά της στην ανάπτυξη λογισμικού. Ακολουθεί η εξέλιξη και οι επεκτάσεις της Prolog. Τέλος γίνεται μια σύντομη παρουσίαση των υπόλοιπων κεφαλαίων αυτού του βιβλίου.
2 2 Prolog: Προγραμματισμός σε Λογική για Τεχνητή Νοημοσύνη 1.1. Ιστορική Εξέλιξη της Prolog. Το πρώτο σύστημα της Prolog αναπτύχθηκε το 1972 στα πλαίσια ενός ερευνητικού έργου για επεξεργασία φυσικής γλώσσας στο Πανεπιστήμιο της Μασσαλίας από τον Alain Colmerauer και τον Philippe Roussel [Colmerauer, Roussel, 1993]. Ο Robert Kowalski από το πανεπιστήμιο του Εδιμβούργου συνεργάστηκε μαζί τους για την ανάπτυξη του πρώτου συστήματος της Prolog. Ο Kowalski ασχολήθηκε με το τμήμα που αφορούσε τη λογική του συστήματος. Οι μεταφραστές της Prolog ήταν πολύ αργοί πριν το Το 1983 ο David Warren πρότεινε ένα μοντέλο υλοποίησης της Prolog, το Warren Abstract Machine (WAM), το οποίο έχει γίνει στάνταρντ τεχνική υλοποίησης μεταγλωττιστών και μεταφραστών Prolog [Warren, 1983]. Το WAM ορίζει ένα σύνολο εντολών υψηλού επιπέδου το οποίο απεικονίζεται, πολύ κοντά στον πηγαίο κώδικα της Prolog. Ο κώδικας της Prolog μεταγλωττίζεται σε κώδικα WAM ο οποίος στη συνέχεια μπορεί πολύ αποτελεσματικά να μεταφραστεί σε εκτελέσιμο κώδικα Προστακτικός και Δηλωτικός Προγραμματισμός. Κάθε γενεά γλωσσών προγραμματισμού στόχευε σ ένα υψηλότερο επίπεδο αφαίρεσης, ώστε λεπτομέρειες που έχουν σχέση με το υλικό να μη φαίνονται καθιστώντας τη γλώσσα περισσότερο φιλική στον προγραμματιστή, πιο ευέλικτη και με μεγαλύτερες προγραμματιστικές δυνατότητες. Οι γλώσσες 4 ης γενεάς υποστήριζαν διαχείριση βάσεων δεδομένων, ανάπτυξη γραφικής διεπικοινωνίας και ανάπτυξη εφαρμογών διαδικτύου. Οι δημοφιλείς συμβατικές γλώσσες προγραμματισμού όπως C, Java, κτλ, είναι γλώσσες 3ης γενεάς οι οποίες επεκτάθηκαν με βιβλιοθήκες, ώστε να υποστηρίζουν χαρακτηριστικά των γλωσσών 4 η γενεάς. Τα κύρια χαρακτηριστικά αυτών των γλωσσών είναι η αλγοριθμική περιγραφή των προβλημάτων και περισσότερη προγραμματιστική ευελιξία στον προγραμματιστή. Ο προγραμματισμός σε αυτές τις γλώσσες αντανακλούσε τη von Neumann αρχιτεκτονική των υπολογιστών. Δηλαδή, το πρόγραμμα αποτελείται από μια ακολουθία από εντολές οι οποίες εκτελούν κάποιες πράξεις και ένα σύνολο από εντολές ελέγχου οι οποίες επηρεάζουν τις επόμενες προς εκτέλεση εντολές. Αυτός ο τρόπος προσέγγισης του προγραμματισμού ονομάζεται προστακτικός προγραμματισμός (imperative programming). Στον προστακτικό προγραμματισμό η έμφαση δίνεται στον τρόπο εκτέλεσης των υπολογισμών, δηλαδή στο «πώς;» (πώς θα επιλυθεί το πρόβλημα;). Ο προστακτικός προ-
3 Κεφ.1. Εισαγωγή 3 γραμματισμός ονομάζεται και διαδικαστικός προγραμματισμός. Στις προστακτικές γλώσσες προγραμματισμού όπως Pascal, C, Java, κτλ., ο προγραμματισμός εκφράζεται από τη γνωστή αποφθεγματική εξίσωση του Wirth [Wirth 1976]. Προγράμματα = Αλγόριθμοι + Δομές Δεδομένων Σύμφωνα με αυτή την εξίσωση, «τα προγράμματα είναι συγκεκριμένες μορφοποιήσεις αφηρημένων αλγορίθμων με βάση κάποιες αναπαραστάσεις και δομών δεδομένων.». Μια άλλη προσέγγιση προγραμματισμού, εισάγεται με το δηλωτικό (declarative) προγραμματισμό η οποία σε αντίθεση με τον προστακτικό προγραμματισμό, διαχωρίζει τη λογική περιγραφή του προβλήματος από τον τρόπο επεξεργασίας της περιγραφής για να βρει τις λύσεις του προβλήματος. Η Prolog ανήκει στις δηλωτικές (declarative) γλώσσες προγραμματισμού. Σε αυτές τις γλώσσες προγραμματισμός σημαίνει περιγραφή του προβλήματος και των περιορισμών του και όχι ο αλγόριθμος επίλυσής του όπως γίνεται στον προστακτικό προγραμματισμό. Στο δηλωτικό προγραμματισμό (declarative programming) η έμφαση είναι στην τυπική περιγραφή του προβλήματος, δηλαδή στο «ποιο;» (ποιο είναι το προς επίλυση πρόβλημα;). Στον ιδανικό δηλωτικό προγραμματισμό, ο προγραμματιστής χρειάζεται να δώσει μόνο το λογικό μέρος του προγράμματος σαν ένα σύνολο από ορισμούς (σχέσεων και συναρτήσεων) και ο έλεγχος του προγράμματος θα δίνεται αυτόματα από το υπολογιστικό σύστημα, π.χ. την Prolog. Στην περίπτωση της Prolog ο προγραμματιστής περιγράφει το πρόβλημά του και τους περιορισμούς του σε προτάσεις της λογικής, δηλαδή σε προτάσεις γεγονότα και προτάσεις κανόνες. Η Prolog εφαρμόζει συνεπαγωγική συλλογιστική (deductive reasoning) και χρησιμοποιεί το μηχανισμό ελέγχου της ο οποίος συστηματικά ερευνά τις προτάσεις του προγραμματιστή με ομοιόμορφη σειρά από αριστερά προς τα δεξιά και από την κορυφή προς τη βάση για να βρει τις λύσεις του προβλήματος. O προγραμματιστής ζητάει τις λύσεις του προβλήματος του με μια άλλη κατηγορία προτάσεων, τις ερωτήσεις. Η αρχή της αναζήτησης, δηλαδή η κορυφή του δέντρου αναζήτησης, ξεκινά από την ερώτηση του χρήστη. Αυτός ο τρόπος περιγραφής του προβλήματος και εύρεσης των υπαρχόντων λύσεων είναι που κάνει διαφορετικό τον προγραμματισμό σε Prolog. Ο προγραμματισμός σε Prolog στηρίζεται στη φιλοσοφία της αποφθεγματικής εξίσωσης του Kowalski [Kowalski, 1979]. Αλγόριθμος = Λογική + Έλεγχος.
4 4 Prolog: Προγραμματισμός σε Λογική για Τεχνητή Νοημοσύνη Σύμφωνα με αυτή την εξίσωση ισχύουν τα εξής. «Ένας αλγόριθμος ή πρόγραμμα θεωρείται ότι αποτελείται από το τμήμα της λογικής το οποίο καθορίζει τη γνώση που χρησιμοποιείται στην επίλυση του προβλήματος και το τμήμα ελέγχου το οποίο προσδιορίζει τις στρατηγικές επίλυσης του προβλήματος μέσω των οποίων αυτή η γνώση χρησιμοποιείται. Η αποτελεσματικότητα ενός αλγορίθμου μπορεί να βελτιωθεί απλά βελτιώνοντας το τμήμα ελέγχου και χωρίς να αλλάξει η λογική του αλγορίθμου» [Kowalski, 1979]. Αυτή η αποφθεγματική εξίσωση είναι αρκετά διαφορική από την αποφθεγματική εξίσωση του Wirth. Στην εξίσωση του Wirth υπάρχουν και οι «δομές δεδομένων» οι οποίες εμπεριέχονται στο τελικό πρόγραμμα. Οι δομές δεδομένων περιέχουν την αναπαράσταση των δεδομένων ενός προβλήματος. Η αναπαράσταση των δεδομένων ενός προβλήματος στην Prolog μπορεί να γίνει με δύο τρόπους. Ο ένας τρόπος αναπαράστασης είναι σαν όροι (terms) σε ορίσματα κατηγορημάτων. Οι όροι είναι o μοναδικός τρόπος δόμησης των δεδομένων σε Prolog. Οι όροι έχουν δυναμική αναπαράσταση στα ορίσματα των κατηγορημάτων και μπορούν να αλλάζουν ενώ το πρόγραμμα τρέχει. Αυτός ο τρόπος αναπαράστασης εμπεριέχεται στην α- ποφθεγματική εξίσωση του Kowalski στη «Λογική», διότι οι μεταβλητές οι οποίες παριστούν τους όρους έχουν άλλη σημασιολογία και χρήση στην Prolog και στις άλλες γλώσσες του λογικού προγραμματισμού από αυτήν που έχει η μεταβλητή στις προστακτικές γλώσσες. Ο δεύτερος τρόπος αναπαράστασης των δεδομένων είναι σαν προτάσεις γεγονότα της Prolog. Τα δεδομένα με αυτόν τον τρόπο αναπαράστασης μπορούν να έχουν δυναμική επεξεργασία αρκεί τα αντίστοιχα κατηγορήματα να δηλωθούν σαν δυναμικά. Ο δεύτερος τρόπος αναπαράστασης εμπεριέχεται επίσης στην αποφθεγματική εξίσωση του Kowalski στη «Λογική». Συνεπώς, η «αναπαράσταση των δεδομένων του προβλήματος» εμπεριέχεται στη «Λογική» της αποφθεγματικής εξίσωσης του Kowalski. Η αποφθεγματική εξίσωση του Kowalski θα μπορούσε ισοδύναμα να γραφτεί και ως εξής. Πρόγραμμα = Λογική + Έλεγχος Οι δηλωτικές γλώσσες έχουν τα εξής πλεονεκτήματα σε σύγκριση με τις προστακτικές ή διαδικαστικές γλώσσες. 1. Ένα δηλωτικό πρόγραμμα έχει καθαρότερη σημασιολογία από ένα προστακτικό. Στο προστακτικό πρόγραμμα ο προγραμματιστής πρέπει να περιγράψει βήμα-βήμα πως θα υπολογιστεί το αποτέλεσμα. Ενώ σ ένα δηλωτικό πρόγραμμα, ο προγραμματιστής περιγράφει το πρόβλημα του χωρίς να περιγράφει τον τρόπο λύσης του. Υπάρχει
5 Κεφ.1. Εισαγωγή 5 διαχωρισμός περιγραφής του προβλήματος από τον τρόπο λύσης του. Στο δηλωτικό πρόγραμμα περιγράφονται οι σχέσεις που υπάρχουν μεταξύ των οντοτήτων του προβλήματος. 2. Ένα δηλωτικό πρόγραμμα μπορεί να έχει αυτόματη επεξεργασία από μετα-προγράμματα. Για τα δηλωτικά προγράμματα μπορεί να κατασκευαστούν μετα-προγράμματα με απλό τρόπο τα οποία θα τα μετασχηματίζουν αυτόματα. Αυτό σημαίνει ότι τα δηλωτικά προγράμματα μπορούν να συντηρούνται ευκολότερα και με πιο αυτόματο τρόπο από τα προστακτικά προγράμματα. 3. Μπορεί να υπάρχουν παρενέργειες (side effects) στο κώδικα σε προστακτικά προγράμματα λόγω αλληλεξαρτήσεων. Αυτό είναι δύσκολο να συμβεί στο δηλωτικό προγραμματισμό Δηλωτική και διαδικαστική έννοια ενός προγράμματος Prolog. Σ ένα Prolog πρόγραμμα διακρίνουμε δύο επίπεδα εννοιών, την δηλωτική έννοια (declarative meaning) και τη διαδικαστική έννοια (procedural meaning). 1. Η δηλωτική έννοια ενδιαφέρεται μόνο με τις σχέσεις οι οποίες ορίζονται σ ένα λογικό πρόγραμμα. Δηλαδή, προσδιορίζει τι κάνει το πρόγραμμα αλλά όχι πώς το κάνει. 2. Η διαδικαστική έννοια ενδιαφέρεται για τον υπολογισμό των σχέσεων, καθορίζει πώς υπολογίζονται οι σχέσεις των αντικειμένων. Δηλαδή προσδιορίζει πώς θα υπολογιστεί η έξοδος του προγράμματος. Ακολουθεί ένα παράδειγμα που επεξηγεί τη δηλωτική και διαδικαστική έννοια. Παράδειγμα 1.1 Θεωρούμε την εξής πρόταση κανόνα της Prolog son(x,y) :- father(y,χ), male(x). η οποία αντιστοιχεί στην ακόλουθη πρόταση σε λογική. son(x,y) father(y,χ) male(x).
6 6 Prolog: Προγραμματισμός σε Λογική για Τεχνητή Νοημοσύνη Η δηλωτική έννοια της πρότασης της Prolog είναι η εξής: «Για όλα τα Χ και Υ, ο Χ είναι γιός του Υ, εάν ο Υ είναι πατέρας του Χ και ο Χ είναι άρρεν». Η διαδικαστική έννοια της πρότασης είναι η εξής: «Για να απαντηθεί η ερώτηση, εάν ο Χ είναι γιός του Υ, πρέπει πρώτα να απαντηθεί η σύζευξη των ερωτήσεων ότι ο Υ είναι πατέρας του Χ και ο Χ είναι άρρεν.» Χαρακτηριστικά της Prolog που την ισχυροποιούν για εφαρμογές ΤΝ. Η Prolog είναι ο κυριότερος εκπρόσωπος του σχεσιακού λογικού προγραμματισμού και η Lisp είναι ο κυριότερος εκπρόσωπος του συναρτησιακού λογικού προγραμματισμού. Αυτές οι δύο οικογένειες γλωσσών υποστηρίζουν δηλωτικό προγραμματισμό και χρησιμοποιούνται για ανάπτυξη εφαρμογών ΤΝ και όχι μόνο. Η Prolog βασίζεται σε ένα σύνολο μηχανισμών οι οποίοι την κάνουν αρκετά δυνατή και ευέλικτη γλώσσα προγραμματισμού. Οι μηχανισμοί στους οποίους βασίζεται είναι οι εξής: 1. Η ενοποίηση (unification). 2. Οι επαγωγικές δομές δεδομένων. 3. Η οπισθοδρόμηση (backtracking). Για να γραφτεί ένα πρόγραμμα το οποίο επιτυχώς επιδεικνύει τεχνητή νοημοσύνη, θα πρέπει να γίνει αναπαράσταση της σχετικής γνώσης σαν προτάσεις εκφρασμένες στη λογική πρώτης τάξης, και να προσαρτήσει σε αυτή τη βάση γνώσης μια αποτελεσματική διαδικασία απόδειξης. Ένα τέτοιο υπολογιστικό σύστημα μπορεί να λύνει προβλήματα εξάγοντας με τυπικό τρόπο θεωρήματα από τις προτάσεις της βάσης γνώσης. Η Prolog είναι ένα τέτοιο ευφυές σύστημα, δηλαδή είναι ένα σύστημα απόδειξης θεωρημάτων. Η θεωρία είναι το πρόγραμμα και το θεώρημα είναι η ερώτηση ή ο στόχος τον οποίο έχει να αποδείξει. Για την απόδειξη της ερώτησης ή του στόχου χρησιμοποιούνται τεχνικές ΤΝ όπως οι εξής. Γίνεται έρευνα χώρου καταστάσεων του προβλήματος για την εύρεση των λύσεων. Η έρευνα του χώρου καταστάσεων στην Prolog ξεκινάει από το στόχο (goal-driven) και προχωρά σε βάθος-πρώτα (depth-first). Εφαρμόζεται οπισθοδρόμηση σε περίπτωση είτε αποτυχίας είτε για εύρεση περισσότερων λύσεων. Κάθε βήμα απόδειξης γίνεται με την εφαρμογή του συμπερασματικού κανόνα της επίλυσης (resolution). Η βασική πράξη που εφαρμόζεται για την υλοποίηση των βημάτων απόδειξης είναι η ενοποίηση. Συνεπώς, ένα πρόγραμμα σε
7 Κεφ.1. Εισαγωγή 7 Prolog είναι η βάση γνώση ενός ευφυούς συστήματος από την οποία εξάγονται οι λύσεις του προβλήματος Prolog και Ανάπτυξη Λογισμικού. Η Prolog είναι μια γλώσσα η βάση της οποία είναι η κατηγορηματική λογική. Έχει υλοποιηθεί με τεχνικές Τεχνητής Νοημοσύνης, δηλαδή είναι ένα ευφυές σύστημα. Οι εφαρμογές της είναι σε πεδία της ΤΝ όπως τα συστήματα γνώσης, η επεξεργασία φυσικής γλώσσας, οι εφαρμογές του σημασιολογικού ιστού, η αυτοματοποίηση της ανάπτυξης λογισμικού, αλλά όχι μόνο. Η Prolog έχει επίσης ευρεία χρήση στην ανάπτυξη λογισμικού γενικότερα όπως σε βάσεις δεδομένων (επαγωγικές βάσεις δεδομένων), σε προγραμματισμό με περιορισμούς (χρονοπρογραμματισμός, σχεδιασμός ενεργειών κτλ), γρήγορη κατασκευή πρωτοτύπων και άλλες. Τα πλεονεκτήματά της για ανάπτυξη λογισμικού είναι τα εξής: 1. Η Prolog είναι μια γλώσσα υψηλού επιπέδου βασισμένη στη λογική η οποία υποστηρίζει τυπική συλλογιστική (formal reasoning). 2. Η Prolog είναι κατάλληλη για την κατασκευή γρήγορων πρωτοτύπων (rapid prototyping). 3. Λόγω της απλότητας της σύνταξής της τα προγράμματα Prolog συντηρούνται και επαναχρησιμοποιούνται εύκολα. 4. Η Prolog μπορεί να χρησιμοποιηθεί ως γλώσσα υλοποίησης εκτελέσιμων προδιαγραφών εφόσον οι προδιαγραφές έχουν εκφραστεί σε λογική. 5. Η Prolog θεωρείται κατάλληλη για κατασκευή μετα-προγραμμάτων. Η Prolog χειρίζεται τα προγράμματα σαν δεδομένα επειδή δεν κάνει διάκριση μεταξύ δεδομένων και προγραμμάτων. Τα δεδομένα και τα προγράμματα μπορούν να παρασταθούν με τον ίδιο τρόπο σε Prolog όπως θα δούμε σε επόμενα κεφάλαια. Αυτό έχει σαν συνέπεια η κατασκευή μετα-προγραμμάτων σε Prolog να είναι απλή Η εξέλιξη της Prolog. Η βιβλιοθήκη της Prolog συνεχώς επεκτείνεται με νέα χαρακτηριστικά, νέα πακέτα κατηγορημάτων, για να έχει τη δυνατότητα ανάπτυξης εφαρμογών σε περισσότερες περιοχές. Γι αυτό γίνεται συνεχώς πιο δημοφιλής. Οι βιβλιοθήκες των περισσότερων υλοποιήσεων Prolog έχουν επεκταθεί με
8 8 Prolog: Προγραμματισμός σε Λογική για Τεχνητή Νοημοσύνη ειδικά τμήματα (modules) κατηγορημάτων, που παρέχουν τη δυνατότητα προγραμματισμού με περιορισμούς σε διάφορα πεδία [Carlsson, 2012], [Wielemaker, 2012]. Έτσι παρέχουν τη δυνατότητα για ανάπτυξη εφαρμογών σε χρονοπρογραμματισμό (scheduling), σχεδιασμό ενεργειών (planning), μοντελοποίηση ψηφιακών κυκλωμάτων, έλεγχο μοντέλων (model checking), κτλ. Η λογική, ο λογικός προγραμματισμός και η Prolog έχουν σημαντικό ρόλο και στο σημασιολογικό ιστό. Ο στόχος του σημασιολογικού ιστού είναι να παρέχει τη δυνατότητα για πολύ εξελιγμένα συστήματα διαχείρισης γνώσης [Antoniou, van Harmelen, 2009]. Στο σημασιολογικό ιστό η λογική χρησιμοποιείται για την επεξεργασία των πληροφοριών που ανακτώνται και στην εξαγωγή συμπερασμάτων. Από τις ανακτώμενες πληροφορίες φτιάχνεται η βάση γνώσης από την οποία εξάγονται τα αποτελέσματα με βάση τις ερωτήσεις του χρήστη. Οι περισσότερες Prolog όπως η Sicstus και η SWI έχουν επεκτείνει τις βιβλιοθήκες τους με τμήματα, για να είναι δυνατή η κατασκευή διαδικτυακών εφαρμογών σε περιβάλλον Prolog [Carlsson, 2012], [Wielemaker, 2012]. Όμως, παράλληλα γίνονται και προτείνονται επεκτάσεις της Prolog ώστε να εξελιχθεί η Prolog σε γλώσσα προγραμματισμού διαδικτύου με ενσωμάτωση κατάλληλων χαρακτηριστικών [Wielemaker, Huang, van Der Meij, 2008] Σύντομη παρουσίαση των υπόλοιπων κεφαλαίων του βιβλίου. Στο Κεφάλαιο 2 παρουσιάζονται τα βασικά μέρη ενός προγράμματος Prolog. Επίσης, παρουσιάζεται με λεπτομέρεια η ενοποίηση. Στο Κεφάλαιο 3 αρχικά παρουσιάζονται οι έννοιες της επαγωγής και της αναδρομής. Ακολουθεί η παρουσίαση του ειδικού όρου της λίστας καθώς και δύο τεχνικών κατασκευής δομής, στην κεφαλή και στο σώμα μιας πρότασης. Η μόνη ε- ντολή επανάληψης που διαθέτει η Prolog είναι η αναδρομή. Αυτές οι τεχνικές θα βοηθήσουν τον αναγνώστη στην κατασκευή προγραμμάτων με αναδρομή. Στη συνέχεια παρουσιάζεται η αριθμητική σε Prolog που περιλαμβάνει τις βασικές αριθμητικές πράξεις και τους αντίστοιχους τελεστές. Για περισσότερες αριθμητικές πράξεις και τελεστές ο χρήστης μπορεί να συμβουλευτεί το εγχειρίδιο της γλώσσας Prolog που χρησιμοποιεί. Τέλος, ακολουθεί το πρώτο μεγάλο παράδειγμα με τις «8 βασίλισσες». Στο Κεφάλαιο 4 αρχικά δίνονται οι βασικοί ορισμοί της SLD-εξαγωγής, της SLDαπόρριψης και του δέντρου αναζήτησης, ακολουθούν παραδείγματα επίδει-
9 Κεφ.1. Εισαγωγή 9 ξης των ορισμών. Στη συνέχεια, παρουσιάζεται η οπισθοδρόμηση και η α- ποκοπή (!) με πολλά παραδείγματα γραφικής επίδειξης της αποκοπής και των συνεπειών της. Μετά, ακολουθεί η παρουσίαση της άρνησης που υποστηρίζει η Prolog. Τέλος, ακολουθεί το κατηγόρημα fail και παραδείγματα με τις διάφορες χρήσεις του. Στο Κεφάλαιο 5 παρουσιάζεται το μοντέλο ελέγχου ροής σε Prolog με επίδειξη παραδειγμάτων. Τέλος, παρουσιάζονται οι διαφορές στην εκτέλεση μιας διαδικασίας σε Prolog και σε συμβατικές γλώσσες υψηλού επιπέδου. Στο Κεφάλαιο 6 παρουσιάζεται η οδηγία «:- op(προτεραιότητα, Τύπος, Όνομα)» με την οποία δίνεται η δυνατότητα στον προγραμματιστή να ορίσει τους δικούς του τελεστές. Στο Κεφάλαιο 7 παρουσιάζονται τα πιο σημαντικά ενσωματωμένα κατηγορήματα της Prolog ταξινομημένα σε ομάδες με βάση τις λειτουργίες τους. Στο Κεφάλαιο 8 αρχικά παρουσιάζεται η αναλυτική μεθοδολογία για κατασκευή Prolog προγραμμάτων. Στη συνέχεια παρουσιάζονται διάφορες προγραμματιστικές τεχνικές, όπως τα σχήματα προγραμμάτων, τα δυαδικά δέντρα, οι ανοικτές λίστες και οι λίστες διαφοράς. Τέλος, παρουσιάζεται ένα σύνολο από προχωρημένες δομές δεδομένων με πολλά παραδείγματα, ώστε ο αναγνώστης να μπορεί να υλοποιήσει σύνθετες και προχωρημένες εφαρμογές. Οι δομές δεδομένων που παρουσιάζονται είναι οι εξής: οι ακολουθίες, τα σύνολα, τα πολυσύνολα, οι στοίβες, οι δυαδικές σχέσεις και οι γράφοι. Ο αναγνώστης που με επιτυχία ολοκληρώνει το Κεφάλαιο 8 θα είναι σε θέση να κατασκευάσει προχωρημένα και σύνθετα προγράμματα Prolog. Στο Κεφάλαιο 9 παρουσιάζεται η κατασκευή μετα-προγραμμάτων σε Prolog. Αρχικά παρουσιάζεται το κύριο πρόβλημα του μετα-προγραμματισμού που είναι η αναπαράσταση του προγράμματος αντικείμενο (object program). Το πρόγραμμα αντικείμενο είναι τα δεδομένα ενός μετα-προγράμματος. Στη συνέχεια παρουσιάζονται τρόποι αναπαράστασης του προγράμματος αντικείμενο σε βασική και μη-βασική μορφή. Ακολουθεί η παρουσίαση μιας κατηγορίας μετα-προγραμμάτων, των μεταφραστών και η υλοποίησή τους σε Prolog. Τέλος, παρουσιάζονται οι υλοποιήσεις δύο βασικών πράξεων, οι οποίες χρειάζονται στο μετα-προγραμματισμό εφόσον το πρόγραμμα αντικείμενο αναπαρίσταται σε βασικούς όρους (ground representation). Στο Κεφάλαιο 10 παρουσιάζεται η έρευνα σε χώρο καταστάσεων. Αρχικά παρουσιάζεται το θέμα της έρευνας σε θεωρητική βάση. Ακολουθούν υλοποιήσεις έρευνας σε κατευθυνόμενους μη κυκλικούς και κυκλικούς γράφους. Στη συνέχεια παρουσιάζεται αναλυτικά η υλοποίηση ενός σύνθετου προβλήματος έρευνας χώρου καταστάσεων. Στο Κεφάλαιο 11 παρουσιάζονται τα συστήματα γνώσης. Αρχικά γίνεται μια θεωρητική παρουσίαση των
10 10 Prolog: Προγραμματισμός σε Λογική για Τεχνητή Νοημοσύνη συστημάτων γνώσης και παρουσιάζεται η αρχιτεκτονική τους. Ακολουθεί η παρουσίαση των συστημάτων γνώσης που στηρίζονται σε if-then κανόνες. Τέλος ακολουθούν παραδείγματα και η λεπτομερής υλοποίηση ενός συστήματος γνώσης. Στο Κεφάλαιο 12 παρουσιάζεται η επεξεργασία φυσικής γλώσσας. Η Prolog διαθέτει ειδικές δυνατότητες για ανάπτυξη συστημάτων επεξεργασία φυσικής γλώσσας. Αρχικά γίνεται θεωρητική παρουσίαση του θέματος. Στη συνέχεια παρουσιάζονται οι Γραμματικές Οριστικών Προτάσεων (Definite Clause Grammars), για τις οποίες οι Prolog διαθέτουν ένα βολικό συμβολισμό για έκφρασή τους. Μετά ακολουθεί η παρουσίαση συντακτικών αναλυτών της αγγλικής και της ελληνικής γλώσσας υλοποιημένες σε Γραμματικές Οριστικών Προτάσεων. Στη συνέχεια παρουσιάζεται η σημασιολογική αναπαράσταση των προτάσεων στο λ-λογισμό. Τέλος ακολουθούν παραδείγματα επεξεργασίας φυσικής γλώσσας Ασκήσεις Άσκηση 1 Θεωρείστε την εξής πρόταση κανόνα της Prolog, son(x,y) :- mother(y,χ), male(x). η οποία αντιστοιχεί στην ακόλουθη πρόταση σε λογική. son(x,y) mother(y,χ) male(x). Να γράψετε τη δηλωτική και τη διαδικαστική έννοια της πρότασης της Prolog. Άσκηση 2 Ποια είναι τα πλεονεκτήματα των δηλωτικών γλωσσών σε σύγκριση με τις προστακτικές γλώσσες; Άσκηση 3 Ποιες είναι οι διαφορές των αποφθεγματικών εξισώσεων του Wirth και του Kowalski; Άσκηση 4 Σε ποιους μηχανισμούς βασίζεται η Prolog; Άσκηση 5 Ποια είναι τα πλεονεκτήματα της Prolog στην ανάπτυξη λογισμικού;
Περιεχόμενα Πρόλογος 1. Εισαγωγή 2. Τα Βασικά Μέρη ενός Προγράμματος Prolog
Περιεχόμενα Πρόλογος... xxv 1. Εισαγωγή... 1 1.1. Ιστορική Εξέλιξη της Prolog.... 2 1.2. Προστακτικός και Δηλωτικός Προγραμματισμός.... 2 1.3. Δηλωτική και διαδικαστική έννοια ενός προγράμματος Prolog....
Διαβάστε περισσότεραΚεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος
Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν
Διαβάστε περισσότεραΓλώσσες Προγραμματισμού Μεταγλωττιστές
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου Δομή Γλώσσες Προγραμματισμού Εισαγωγικά Γλώσσα Μηχανής Γλώσσες υψηλού επιπέδου Μεταγλωττιστές
Διαβάστε περισσότερα10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.
1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.
Διαβάστε περισσότεραΑνάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον
Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Κεφάλαιο 6ο Εισαγωγή στον Προγραµµατισµό Μέρος Πρώτο (6.1, 6.2 και 6.3) Α. Ερωτήσεις Σωστού Λάθους 1. Η γλώσσα µηχανής είναι µία γλώσσα υψηλού επιπέδου.
Διαβάστε περισσότεραΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ
Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες
Διαβάστε περισσότεραΜαλούτα Θεανώ Σελίδα 1
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα
Διαβάστε περισσότεραΑνάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis 6.1 Η έννοια του
Διαβάστε περισσότεραΚεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19
Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών Κεφ. 2 Θεωρητική Επιστήμη Υπολογιστών 2.3.1.1 Έννοια προγράμματος Τι είναι πρόγραμμα και τι προγραμματισμός; Πρόγραμμα είναι το σύνολο εντολών που χρειάζεται
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1
ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 03/01/09 Χαράλαμπος Τζόκας 1 Πρόγραμμα - Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης
Διαβάστε περισσότεραΑΕΠΠ Ερωτήσεις θεωρίας
ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος
Διαβάστε περισσότεραΗΥ Λογική. Διδάσκων: Δημήτρης Πλεξουσάκης Καθηγητής
ΗΥ 180 - Λογική Διδάσκων: Καθηγητής E-mail: dp@csd.uoc.gr Ώρες διδασκαλίας: Δευτέρα, Τετάρτη 4-6 μμ, Αμφ. Β Ώρες φροντιστηρίου: Πέμπτη 4-6 μμ, Αμφ. Β Ώρες γραφείου: Δευτέρα, Τετάρτη 2-4 μμ, Κ.307 Web site:
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Ενότητα 1: Εισαγωγή. Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Λογική Ενότητα 1: Εισαγωγή Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται στην άδεια χρήσης Creative Commons
Διαβάστε περισσότεραΚεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού
Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Εισαγωγή Γνώση γλώσσας από τη σκοπιά Του συντακτικού (syntax) Περιγραφή με γραμματικές
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής
Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός
Διαβάστε περισσότεραΕπιµέλεια Θοδωρής Πιερράτος
Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 2: Δηλωτικός Προγραμματισμός
ΚΕΦΑΛΑΙΟ 2: Δηλωτικός Προγραμματισμός Λέξεις Κλειδιά Διαδικαστικός προγραμματισμός, Δηλωτικός προγραμματισμός, Διαδικαστική γλώσσα προγραμματισμού, Προστακτική γλώσσα προγραμματισμού, Δηλωτική γλώσσα προγραμματισμού.
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΣΚΗΣΕΙΣ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΩΤΗΣΕΙΣ ΣΩΣΤΟ ΛΑΘΟΣ Σημειώστε αν είναι σωστή ή
Διαβάστε περισσότερα4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.
ΑΕσΠΠ-Κεφ6. Εισαγωγή στον προγραμματισμό 1 ΣΩΣΤΟ ΛΑΘΟΣ 1. Οι γλώσσες προγραμματισμού αναπτυχθήκαν με σκοπό την επικοινωνία ανθρώπου μηχανής. 2. Αλγόριθμος = Πρόγραμμα + Δομές Δεδομένων 3. Ένα πρόγραμμα
Διαβάστε περισσότεραΚεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας
Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Εισαγωγή - 1 Μία κλασσική γλώσσα προγραμματισμού αποτελείται από: Εκφράσεις (των
Διαβάστε περισσότεραΣου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.
AeppAcademy.com facebook.com/aeppacademy Γεια. Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. Καλή Ανάγνωση & Καλή Επιτυχία
Διαβάστε περισσότεραΣυστήματα Γνώσης. Θεωρητικό Κομμάτι Μαθήματος Ενότητα 2: Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Θεωρητικό Κομμάτι Μαθήματος Ενότητα 2: Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής Νίκος Βασιλειάδης, Αναπλ. Καθηγητής Άδειες
Διαβάστε περισσότεραΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ
Α) Να γράψετε στο τετράδιό σας τον αριθμό κάθε πρότασης και δίπλα το γράμμα "Σ", αν είναι σωστή, ή το γράμμα "Λ", αν είναι λανθασμένη. (Μονάδες 25) 1. Ένα αδόμητο πρόβλημα είναι ταυτόχρονα και ανοικτό
Διαβάστε περισσότεραΑρχές Προγραμματισμού Υπολογιστών
Αρχές Προγραμματισμού Υπολογιστών Ανάπτυξη Προγράμματος Β ΕΠΑΛ Τομέας Πληροφορικής Βελώνης Γεώργιος Καθηγητής Πληροφορικής ΠΕ20 Κύκλος ανάπτυξης προγράμματος/λογισμικού Η διαδικασία ανάπτυξης λογισμικού,
Διαβάστε περισσότεραΑΕΠΠ Ερωτήσεις τύπου Σωστό-Λάθος
ΑΕΠΠ Ερωτήσεις τύπου Σωστό-Λάθος Κεφάλαιο 1 1. Πρόβλημα είναι μια μαθηματική κατάσταση που πρέπει να αντιμετωπίσουμε 2. Αν υποβάλλουμε τα δεδομένα σε επεξεργασία παίρνουμε πληροφορίες 3. Ο υπολογιστής
Διαβάστε περισσότεραΕ Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.
Κεφάλαιο 6 6.1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία σημαντικά στάδια : Σον ακριβή προσδιορισμό του προβλήματος Σην ανάπτυξη του αντίστοιχου αλγορίθμου
Διαβάστε περισσότεραΠληροφορική 2. Γλώσσες Προγραμματισμού
Πληροφορική 2 Γλώσσες Προγραμματισμού 1 2 Γλώσσες προγραμματσιμού Επιτρέπουν την κωδικοποίηση των αλγορίθμων Η εκτέλεση ενός προγράμματος θα πρέπει να δίνει τα ίδια αποτελέσματα με την νοητική εκτέλεση
Διαβάστε περισσότεραΕισαγωγή στον προγραμματισμό
Ενότητες: Εισαγωγή στον προγραμματισμό Η έννοια του προγράμματος Ιστορική αναδρομή Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Ιεραρχική Σχεδίαση Τμηματικός Προγραμματισμός Δομημένος προγραμματισμός
Διαβάστε περισσότεραΚεφάλαιο 9 Συναρτησιακός προγραμματισμός Υπολογισμός με συναρτήσεις
Κεφάλαιο 9 Συναρτησιακός προγραμματισμός Υπολογισμός με συναρτήσεις Σύνοψη Σκοπός του κεφαλαίου αυτού είναι η εισαγωγή του αναγνώστη στη φιλοσοφία του συναρτησιακού προγραμματισμού. Ο συναρτησιακός προγραμματισμός
Διαβάστε περισσότεραΓλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το
Σηµαντικά σηµεία κεφαλαίου Τα τρία στάδια επίλυσης ενός προβλήµατος: Ακριβής προσδιορισµό του προβλήµατος Ανάπτυξη του αντίστοιχου αλγορίθµου. ιατύπωση του αλγορίθµου σε κατανοητή µορφή από τον υπολογιστή.
Διαβάστε περισσότεραΠ ρ ο γ ρ α μ μ α τ ι σ μ ό ς Β α σ ι κ έ ς έ ν ν ο ι ε ς Ι σ τ ο ρ ι κ ή α ν α δ ρ ο μ ή Η έννοια του προγράμματος Ιστορική αναδρομή
Προγραμματισμός Βασικές έννοιες Ιστορική αναδρομή Η έννοια του προγράμματος Η περιγραφή της λύσης ενός προβλήματος, ως γνωστόν, γίνεται με τη βοήθεια ενός αλγορίθμου. Έτσι οι εντολές ενός προγράμματος
Διαβάστε περισσότεραΚεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1
Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Ποιες γλώσσες αναφέρονται ως φυσικές και ποιες ως τεχνητές; Ως φυσικές γλώσσες αναφέρονται εκείνες οι οποίες χρησιμοποιούνται για την επικοινωνία μεταξύ ανθρώπων,
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33
ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος του συγγραφέα... 13 Πρόλογος του καθηγητή Τιμολέοντα Σελλή... 15 ΚΕΦΑΛΑΙΟ 1: Εργαλεία γλωσσών προγραμματισμού...17 1.1 Γλώσσες προγραμματισμού τρίτης γεννεάς... 18 τι είναι η γλώσσα
Διαβάστε περισσότεραΕισαγωγή στις Αρχές της επιστήμης των ΗΥ
Εισαγωγή στις Αρχές της επιστήμης των ΗΥ Ερωτήσεις και ασκήσεις για επανάληψη 1. Τι είναι πρόβλημα (σελ 14) 2. Ποιες είναι οι κατηγορίες προβλημάτων με βάση την επίλυση; Δώστε τον ορισμό για κάθε μια κατηγορία.
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια.
ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια. Τον ακριβή προσδιορισμό του προβλήματος. Την ανάπτυξη του αντίστοιχου αλγορίθμου.
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό 6.1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, τρία σημαντικά στάδια: 1. Τον ακριβή προσδιορισμό του προβλήματος. 2. Την ανάπτυξη
Διαβάστε περισσότεραK15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων
K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού
Διαβάστε περισσότεραΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ
ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ Η ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΟ ΛΥΚΕΙΟ Εισαγωγή Η μεγάλη ανάπτυξη και ο ρόλος που
Διαβάστε περισσότερα<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1
ΚΕΦΑΛΑΙΟ 7 ο ΠΡΟΓΡΑΜΜΑ : Το πρόγραμμα αποτελείται από μια σειρά οδηγιών, που ονομάζονται εντολές, για την εκτέλεση τέτοιου είδους πράξεων, καθώς επίσης και από ένα σύνολο πρόσθετων οδηγιών ελέγχου, που
Διαβάστε περισσότεραΑ. Ερωτήσεις Ανάπτυξης
οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;
Διαβάστε περισσότεραΔιάλεξη 2η: Αλγόριθμοι και Προγράμματα
Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Αλγόριθμοι και Προγράμματα
Διαβάστε περισσότεραΚεφάλαιο 2 Λογικός προγραμματισμός Υπολογισμός με λογική
Κεφάλαιο 2 Λογικός προγραμματισμός Υπολογισμός με λογική Σύνοψη Το κεφάλαιο αυτό χωρίζεται σε δύο ενότητες. Στην πρώτη ενότητα επιχειρείται μια ιστορική αναδρομή στη λογική και τον λογικό προγραμματισμό,
Διαβάστε περισσότεραΚεφάλαιο 6 Εισαγωγή στον Προγραμματισμό. 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1
Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1 6.3 Φυσικές και τεχνητές γλώσσες Μια γλώσσα γενικά προσδιορίζεται από: 1. Το αλφάβητο: το σύνολο των στοιχείων που χρησιμοποιεί
Διαβάστε περισσότεραΜ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Γλώσσες Προγραμματισμού 6.1.1 Γλώσσες μηχανής (1 η γενιά) Η γλώσσα στην οποία ένας ηλεκτρονικός υπολογιστής καταλαβαίνει
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Προγραµµατισµός Η/Υ Ο προγραµµατισµός είναι η διατύπωση του αλγορίθµου σε µορφή κατανοητή από τον Η/Υ ώστε να τον εκτελέσει («τρέξει» όπως λέµε στην ορολογία της
Διαβάστε περισσότεραΚεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού
Διαβάστε περισσότεραΕπιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:
Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: 1ο ΓΕΛ Καστοριάς Βασικές Έννοιες Αλγορίθμων Δομή Ακολουθίας (κεφ. 2 και 7 σχολικού βιβλίου) 1. Οι μεταβλητές αντιστοιχίζονται από τον μεταγλωττιστή κάθε
Διαβάστε περισσότεραΤεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή
Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Αναπαράσταση με Κανόνες Η γνώση αναπαρίσταται με τρόπο που πλησιάζει την ανθρώπινη
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ
ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ Κ Υ Κ Λ Ο Υ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Κ Α Ι Υ Π Η Ρ Ε Σ Ι Ω Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εισαγωγή Κώστας Στεργίου Τι είναι ο Η/Υ; Ένας ηλεκτρονικός υπολογιστής (Η/Υ) είναι
Διαβάστε περισσότερα6. 1 Η έννοια του προγράμματος
6. 1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, τρία στάδια. 1.Τον ακριβή προσδιορισμό του προβλήματος. 2.Την ανάπτυξη του αντίστοιχου αλγορίθμου. 3.Τη διατύπωση
Διαβάστε περισσότεραΠροβλήματα, αλγόριθμοι, ψευδοκώδικας
Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Καθηγητής Πληροφορικής ΠΕ19 1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 6 ο : ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΙΣΤΟΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ: http://eclass.sch.gr/courses/el594100/ Η έννοια του προγράμματος
Διαβάστε περισσότεραΓ ΚΠΣ ΕΠΕΑΕΚ ΙΙ ΜΕΤΡΟ 2.2, ΚΑΤΗΓΟΡΙΑ ΠΡΑΞΗΣ ια. ΕΡΓΟ: «ΠΕΡΙΒΑΛΛΟΝ - ΑΡΧΙΜΗΔΗΣ-Ενίσχυση ερευνητικών ομάδων του ΤΕΙ ΚΡΗΤΗΣ»
Γ ΚΠΣ ΕΠΕΑΕΚ ΙΙ ΜΕΤΡΟ 2.2, ΚΑΤΗΓΟΡΙΑ ΠΡΑΞΗΣ 2.6.1.ια ΕΡΓΟ: «ΠΕΡΙΒΑΛΛΟΝ - ΑΡΧΙΜΗΔΗΣ-Ενίσχυση ερευνητικών ομάδων του ΤΕΙ ΚΡΗΤΗΣ» ΥΠΟΕΡΓΟ 1: «Εφαρμογή του Περιβαλλοντικού Συστήματος Στήριξης Αποφάσεων Expert
Διαβάστε περισσότεραΚεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Μεταγλωττιστής Πρόγραμμα Διαβάζει προγράμματα δεδομένης γλώσσας (πηγαία γλώσσα) και τα μετατρέπει
Διαβάστε περισσότεραΠρόβλημα 29 / σελίδα 28
Πρόβλημα 29 / σελίδα 28 Πρόβλημα 30 / σελίδα 28 Αντιμετάθεση / σελίδα 10 Να γράψετε αλγόριθμο, οποίος θα διαβάζει τα περιεχόμενα δύο μεταβλητών Α και Β, στη συνέχεια να αντιμεταθέτει τα περιεχόμενά τους
Διαβάστε περισσότερα2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός
Διαβάστε περισσότερα2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ Προκειμένου να επιτευχθεί η «ακριβής περιγραφή» ενός αλγορίθμου, χρησιμοποιείται κάποια γλώσσα που μπορεί να περιγράφει σειρές ενεργειών με τρόπο αυστηρό,
Διαβάστε περισσότεραOutline. 4 Object-Oriented Programming
Προγραμματισμός Ηλεκτρονικών Υπολογιστών Φιλοσοφίες γλωσσών προγραμματισμού Διδάσκων: Στάθης Ζάχος Επιμέλεια Διαφανειών: Μάκης Αρσένης CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Ιανουάριος 2016 ιδάσκων: Στάθης Ζάχος ( CoReLab
Διαβάστε περισσότερα5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ
5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος
Διαβάστε περισσότερα6. Εισαγωγή στον προγραµµατισµό
6. Εισαγωγή στον προγραµµατισµό 6.1 Η έννοια του προγράµµατος. 6.2 Ιστορική αναδροµή. 6.2.1 Γλώσσες µηχανής. ΗΜ04-Θ1Α 1. Ένα πρόγραµµα σε γλώσσα µηχανής είναι µια ακολουθία δυαδικών ψηφίων. 5. Ένα πρόγραµµα
Διαβάστε περισσότεραΚεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )
Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ. 25 48) Τι είναι αλγόριθμος; Γ ΛΥΚΕΙΟΥ Αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρονικό διάστημα,
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Λογική Δημήτρης Πλεξουσάκης 2ο μέρος σημειώσεων: Συστήματα Αποδείξεων για τον ΠΛ, Μορφολογική Παραγωγή, Κατασκευή Μοντέλων Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 1: Εισαγωγή Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο
Διαβάστε περισσότεραΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α.
ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α. 1. Αν το Α έχει την τιµή 10 και το Β την τιµή 20 τότε η έκφραση (Α > 8 ΚΑΙ Β < 20) Ή (Α > 10 Ή Β = 10) είναι αληθής 2. Σε περίπτωση εµφωλευµένων βρόχων, ο εσωτερικός
Διαβάστε περισσότεραΠεριεχόμενα. 2 Αριθμητικά συστήματα
Περιεχόμενα Πρόλογος 1 Εισαγωγή 1.1 Το μοντέλο Turing 1.2 Το μοντέλο von Neumann 1.3 Συστατικά στοιχεία υπολογιστών 1.4 Ιστορικό 1.5 Κοινωνικά και ηθικά ζητήματα 1.6 Η επιστήμη των υπολογιστών ως επαγγελματικός
Διαβάστε περισσότεραΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος.
ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος 1 2 3 Εικόνα 43: Διάφορες πλακέτες υπολογιστών Μέσα σε δύο
Διαβάστε περισσότεραΑλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος.
Αλγόριθμος Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος. Εντολές ή οδηγίες ονομάζονται τα βήματα που αποτελούν έναν αλγόριθμο.
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο
Με τι ασχολείται ο προγραμματισμός; Ο προγραμματισμός ασχολείται με την διατύπωση του αλγορίθμου σε κατανοητή μορφή από τον Η/Υ, δηλ. τη δημιουργία του προγράμματος, του συνόλου των εντολών που πρέπει
Διαβάστε περισσότεραΚεφάλαιο 8. Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής. Τεχνητή Νοηµοσύνη - Β' Έκδοση
Κεφάλαιο 8 Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Αναπαράσταση Γνώσης Σύνολο συντακτικών
Διαβάστε περισσότεραΑλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)
Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου
Διαβάστε περισσότεραΥπολογιστικό Πρόβληµα
Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις
Διαβάστε περισσότεραHY118-Διακριτά Μαθηματικά
HY118-Διακριτά Μαθηματικά Πέμπτη, 08/02/2018 Το υλικό των Αντώνης διαφανειών Α. Αργυρός έχει βασιστεί σε διαφάνειες του e-mail: Kees argyros@csd.uoc.gr van Deemter, από το University of Aberdeen 08-Feb-18
Διαβάστε περισσότεραΚεφάλαιο 1 Προγραμματισμός Υπολογιστή. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1
Κεφάλαιο 1 Προγραμματισμός Υπολογιστή Καραμαούνας Πολύκαρπος 1 7.1 Η προγραμματιζόμενη μηχανή Από τις βασικότερες διαφορές ανάμεσα στον υπολογιστή και στις περισσότερες ηλεκτρονικές συσκευές είναι η δυνατότητα
Διαβάστε περισσότεραΒασικές Αρχές Προγραμματισμού
Βασικές Αρχές Προγραμματισμού Κεφάλαιο 1 Εισαγωγή Προβλήματα Πρόβλημα: Μία κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της οποίας δεν είναι γνωστή, ούτε προφανής Π.χ. Το πρόβλημα του
Διαβάστε περισσότεραΚεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης
ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης Κεφάλαιο 7 1. Σε τι διαφέρει ο Η/Υ από τις υπόλοιπες ηλεκτρικές και ηλεκτρονικές συσκευές; Που οφείλεται η δυνατότητά του να κάνει τόσο διαφορετικές
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β Καβακλή Χειμερινό Εξάμηνο 2001 Στόχοι του Μαθήματος! Ανάπτυξη αναλυτικής
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΔΙΑΔΙΚΑΣΙΕΣ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ Διδάσκων: Γ. Χαραλαμπίδης,
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ 9 Ο ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΠΟΣΤΟΛΙΑ ΠΑΓΓΕ Περιεχόμενα 2 Η λειτουργία του υπολογιστή Κατηγορίες Εντολών Μορφή Εντολών
Διαβάστε περισσότεραΑλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες
Διαβάστε περισσότεραΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ
ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ Πρόλογος... 11 Μέρος Α: Στοιχεία Αλγοριθμικής... 15 1 Επίλυση προβλημάτων με Η/Υ... 19 1.1 Εισαγωγή... 19 1.2 Αλγόριθμοι αλγοριθμικά προβλήματα... 20 1.3 Το μαθηματικό μοντέλο... 26
Διαβάστε περισσότεραΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης
ΠΕΡΙΕΧΟΜΕΝΑ Εντολές επιλογής Εντολές επανάληψης Εισαγωγή Στο προηγούμενο κεφάλαιο αναπτύξαμε προγράμματα, τα οποία ήταν πολύ απλά και οι εντολές των οποίων εκτελούνται η μία μετά την άλλη. Αυτή η σειριακή
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β. Καβακλή Χειμερινό Εξάμηνο 2001 1 Δοκιμή Έλεγχος Αλγορίθμου Για να
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΕΡΛΙΑΟΥΝΤΑΣ ΣΤΕΦΑΝΟΣ, ΠΕ19 ΚΕΦΑΛΑΙΟ 3 Αλγόριθμοι 3. Αλγόριθμοι 2 3. Αλγόριθμοι 3.1 Η έννοια του αλγορίθμου 3.2 Χαρακτηριστικά αλγορίθμου 3.3 Ανάλυση αλγορίθμων
Διαβάστε περισσότεραΘεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος
Περιγραφή μαθήματος Θεωρία Υπολογισμού Άρτιοι ΑΜ Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας (Θεωρία Αλγορίθμων). Διδάσκων: Σταύρος Κολλιόπουλος
Διαβάστε περισσότεραΘεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr
Θεωρία Υπολογισμού Άρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr Περιγραφή μαθήματος Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό
ΚΕΦΑΛΑΙΟ VI Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου σημαντικά στάδια. Τον ακριβή προσδιορισμό του προβλήματος. Την ανάπτυξη του αντίστοιχου αλγορίθμου.
Διαβάστε περισσότεραΤεχνητή Νοημοσύνη Ι. Διαφάνειες Εργαστηρίου. Σγάρμπας Κυριάκος Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών
Τεχνητή Νοημοσύνη Ι Διαφάνειες Εργαστηρίου Σγάρμπας Κυριάκος Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σκοποί ενότητας Εργαστήριο Μαθήματος Τεχνητής Νοημοσύνης Ι (Prolog)
Διαβάστε περισσότεραHY118-Διακριτά Μαθηματικά. Προτασιακός Λογισμός. Προηγούμενη φορά. Βάσεις της Μαθηματικής Λογικής. 02 Προτασιακός Λογισμός
HY118-Διακριτά Μαθηματικά Πέμπτη, 08/02/2018 Το υλικό των Αντώνης διαφανειών Α. Αργυρός έχει βασιστεί σε διαφάνειες του e-mail: Kees argyros@csd.uoc.gr van Deemter, από το University of Aberdeen Προηγούμενη
Διαβάστε περισσότεραΘεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος Θέμα 1 Δίνονται τα παρακάτω τμήματα αλγορίθμου Α. βαλίτσα Αληθής εισιτήριο Αληθής ταξίδι βαλίτσα και εισιτήριο Τι τιμή θα έχει η λογική μεταβλητή
Διαβάστε περισσότεραΕισαγωγή στις Αρχές της Επιστήμης των ΗΥ
Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ 2.3.1.1. Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ 1 περιλαμβάνει: Η έννοια του προγράμματος Επίλυση προβλήματος 1. Ακριβή προσδιορισμό
Διαβάστε περισσότεραΣχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13
Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13 ΙΣΤΟΡΙΚΑ Παρουσιάστηκε το 1970 από το Niklaus Wirth Προγενέστερη γλώσσα ήταν η Algol 60 Είναι δομημένη γλώσσα προγραμματισμού υψηλού
Διαβάστε περισσότεραΕνδεικτικές Ερωτήσεις Θεωρίας
Ενδεικτικές Ερωτήσεις Θεωρίας Κεφάλαιο 2 1. Τι καλούμε αλγόριθμο; 2. Ποια κριτήρια πρέπει οπωσδήποτε να ικανοποιεί ένας αλγόριθμος; 3. Πώς ονομάζεται μια διαδικασία που δεν περατώνεται μετά από συγκεκριμένο
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ - ΓΛΩΣΣΑ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τεχνικές Σχεδίασης Αλγορίθμων Εισαγωγή στον Προγραμματισμό - ΓΛΩΣΣΑ Επιμέλεια: Ομάδα Διαγωνισμάτων από Το στέκι των πληροφορικών ο Θέμα 1 Α. α) Ποια είναι
Διαβάστε περισσότεραΑνάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...
1 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Διάρκεια 3 ώρες Στοιχεία Μαθητή: Όνομα... Επώνυμο... Βαθμός... 2 Θεμα Α (30%) Α1 ΣΩΣΤΟ - ΛΑΘΟΣ 1. Ένα υποπρόγραμμα δεν μπορεί να κληθεί περισσότερες
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός
Διαβάστε περισσότεραΜεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 1 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Γιώργος Δημητρίου Μάθημα 1 ο Γλώσσα - Μετάφραση Γλώσσα προγραμματισμού = Αναπαράσταση αλγορίθμων Ευκολία χρήσης Ακρίβεια και πληρότητα περιγραφής, όχι διφορούμενη! Μία περιγραφή για όλες τις μηχανές Μετάφραση
Διαβάστε περισσότεραΜΑΘΗΜΑΤΑ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ ΠΑΡΑ ΟΣΕΙΣ ΑΣΚΗΣΕΙΣ ΚΑΘΗΓΗΤΕΣ/ΤΡΙΕΣ
Τεχνικές Προγραµµατισµού Εισαγωγή στον Προγραµµατισµό Γλώσσες Προγραµµατισµού, Θεωρία Γλωσσών Προγραµµατισµού 1999-2002 Θεωρία Γλωσσών 1996-2000, 2000-2002 Αρχές Γλωσσών Προγραµµατισµού 2002-2005 Τυπικές
Διαβάστε περισσότεραΑνδρέας Παπαζώης. Τμ. Διοίκησης Επιχειρήσεων
Ανδρέας Παπαζώης Τμ. Διοίκησης Επιχειρήσεων Περιεχόμενα Εργ. Μαθήματος Εισαγωγή στην Τεχνητή Νοημοσύνη και τα Ευφυή Συστήματα Γνώση και αναπαράσταση γνώσης Παραδείγματα μετατροπής φυσικής γλώσσας 2/14
Διαβάστε περισσότερα