var N : SNat. eq (s(n) = 0) = false. και eq (s(n: SNat) = 0) = false.

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

Download "var N : SNat. eq (s(n) = 0) = false. και eq (s(n: SNat) = 0) = false."

Transcript

1 ΕΦΑΡΜΟΓΕΣ: ΟΙ ΑΛΓΕΒΡΙΚΕΣ ΠΡΟΔΙΑΓΡΑΦΕΣ Τμήματα. Στο προηγούμενο κομμάτι του κώδικα με τη λέξη κλειδί mod δηλώνουμε την αρχή μίας προδιαγραφής που θα βρίσκεται μέσα στο σώμα του mod, δηλαδή ανάμεσα από τα. Ο χαρακτήρας! ή * μετά από τη λέξη κλειδί mod δηλώνει ότι η προδιαγραφή που θα ακολουθήσει θα έχει είτε πρωταρχική είτε χαλαρή σημασιολογία (δηλαδή θα δηλώνει όλα τα μοντέλα που ικανοποιούν την προδιαγραφή και όχι μόνο τα ισομορφικά με το πρωταρχικό μοντέλο). Τύποι. Τα ονόματα των τύπων που ορίζει η προδιαγραφή δηλώνονται μέσα σε αγκύλες (π.χ. [SN at]). Ενα σύμβολο <, ανάμεσα στα ονόματα δύο τύπων δηλώνει ότι ο ένας είναι υποτύπος του άλλου. Τελεστές. Η λέξη κλειδί op ξεκινά τη δήλωση ενός τελεστή του οποίου το πεδίο ορισμού δηλώνεται πριν την άνω και κάτω τελεία και ο τύπος του συνόλου τιμών μετά το βέλος. Συνήθως τον τύπο του συνόλου τιμών μαζί με αυτόν του πεδίου ορισμού τους ονομάζουμε τάξη (rank) του τελεστή. Η γλώσσα υποστηρίζει την δήλωση διαφόρων ιδιοτήτων των τελεστών μέσα σε {} με τη χρήση διαφόρων λέξεων κλειδιών, για παράδειγμα η δήλωση ότι ο τελεστής είναι αντιμεταθετικός γίνεται χρησιμοποιώντας τη λέξη κλειδί assoc. Εξισώσεις. Η λέξη κλειδί eq σηματοδοτεί την έναρξη του ορισμού μίας εξίσωσης, στην οποία το δεξί της μέρος δηλώνεται πριν από το σύμβολο = ενώ το αριστερό μετά από αυτό. Το τέλος της δήλωσης μιας εξίσωσης σηματοδοτείται από μία τελεία.. Μεταβλητές. Οι μεταβλητές δηλώνονται χρησιμοποιώντας τη λέξη κλειδί var ακολουθούμενη από το όνομα της μεταβλητής, μία άνω και κάτω τελεία και το τύπο της μεταβλητής. Είναι δυνατόν να συμπτύξουμε τους ορισμούς πολλών μεταβλητών ίδιου τύπου σε μία γραμμή χρησιμοποιώντας τη λέξη κλειδί vars. Ετσι για παράδειγμα η έκφραση vars N M : SNat σηματοδοτεί τη δήλωση δύο μεταβλητών με ονόματα N, M που είναι τύπου SN at. Ακόμα είναι δυνατό να χρησιμοποιήσουμε σε μία εξίσωση μεταβλητές που δεν έχουν οριστεί προηγουμένως, απλά δηλώνοντας το τύπο και το όνομα της μεταβλητής μέσα στην εξίσωση. Αυτή η μεθοδολογία καλείται επιτόπου 109

2 δήλωση μεταβλητών. Ετσι οι ακόλουθες δύο εξισώσεις έχουν ταυτόσημη σημασιολογία: var N : SNat. eq (s(n) = 0) = false. και eq (s(n: SNat) = 0) = false. Εξισώσεις υπό συνθήκη. Ακόμα η δήλωση μίας υπό-συνθήκης εξίσωσης γίνεται με τη χρήση της κωδικής λέξης ceq, που ακολουθείται από μία εξίσωση στο τέλος της οποίας βρίσκεται μία έκφραση της μορφής if P, όπου P είναι κάποιο κατηγόρημα. Ετσι για παράδειγμα η δήλωση ceq (S(M) = S(N)) = true if (M = N) ορίζει ότι ο όρος S(N) είναι ίσος με τον όρο S(M) αν οι όροι M, N είναι ίσοι (όπου Μ,Ν μεταβλητές του ίδιου τύπου). Ισότητες. Τέλος στη γλώσσα ορίζονται δύο ειδών ισότητες μέσω δύο κατηγορημάτων. Ο πρώτος τελεστής ισότητας ορίζεται ως =, ενώ ο δεύτερος ως ==. Και οι δύο τελεστές επιστρέφουν true αν τα δύο τους ορίσματα μπορούν να αναγραφούν (με βάση το σύστημα αναγραφής της γλώσσας) στο ίδιο όρο. Αλλά ο όρος L : S == L : S επιστρέφει false αν ο L αναγράφεται σε t1 και ο L σε t2 ενώ ο ορός L : S = L : S θα επιστρέψει t1 = t2. Σχόλια. Τέλος οι γραμμές που αρχίζουν με αποτελούν σχόλια και αγνοούνται από τη μηχανή. Θα εξετάσουμε τώρα εν συντομία πώς η γλώσσα υποστηρίζει τα διάφορα χαρακτηριστικά που αναφέραμε προηγουμένως. Τμηματικό σύστημα προδιαγραφών (Module System). Οι αρχές του τμηματικού συστήματος της Caf eobj κληρονομούνται από την OBJ και βασίζονται σε ιδέες οι οποίες για πρώτη φορά εμφανίστηκαν στη γλώσσα Clear και κυρίως στη θεωρία θεσμών. Το τμηματικό σύστημα της γλώσσας μας επιτρέπει τη χρήση διαφόρων ειδών εισαγωγής άλλων προδιαγραφών στη θεωρία που ορίζουμε (μέσω των λέξεων κλειδιών pr, ex,... ) και παραμετρικού προγραμματισμού: πολλαπλές παραμέτρους σε μία προδιαγραφή views για την αρχικοποίηση των παραμέτρων Για παράδειγμα ο παρακάτω κώδικας ορίζει μία παραμετρική προδιαγραφή ενός συνόλου: mod* Elt{ [Elt] op _=_ : Elt Elt -> Bool {comm} eq (E:Elt = E) = true. } mod! SET(D :: Elt) { [Elt.D < Set] op : Set Set -> Set {assoc comm} 110

3 pred _in_ : Elt.D Set vars X Y : Elt.D var B : Set eq X in Y = (X = Y). eq X in Y B = (X = Y) or (X in B). } view Elt2Nat from EQL-Elt to NAT { sort Elt -> Nat, vars X Y : Elt, op (X = Y) -> (X >= Y) and (X <= Y) } Η πρώτη προδιαγραφή (ELT) ορίζει με χαλαρή σημασιολογία μία πολύ απλή δομή δεδομένων, αυτή του τυχαίου στοιχείου. Στη συνέχεια ορίζεται η παραμετρική προδιαγραφή του συνόλου από αυτά τα τυχαία στοιχεία (SET). Η παραμετρική προδιαγραφή δίνεται μέσω της έκφρασης SET(D :: EQL-Elt) η οποία δηλώνει ότι η προδιαγραφή SET έχει παράμετρο D που είναι μία θεωρία για την ELT. Στη συνέχεια μπορούμε να αρχικοποιήσουμε αυτή τη παράμετρο με μία άλλη θεωρία που επεκτείνει την ELT όπως η θεωρία για τους ακεραίους NAT. Αυτό επιτυγχάνεται μέσω του ορισμού ενός μορφισμού τον οποίο καλούμε Elt2Nat ο οποίος απεικονίζει το τύπο Elt στον Nat και το τελεστή = της ELT στη έκφραση (X >= Y) and (X <= Y). Σύστημα τύπων. Το σύστημα τύπων της Caf eobj είναι βασισμένο στην άλγεβρα με πολλούς τύπους και διάταξη (ΑΤΔ) έτσι επιτρέπει τον ορισμό υποτύπων. Αυτό προσφέρει αυστηρό έλεγχο των τύπων της προδιαγραφής καθώς και μία μεθοδολογία για τον χειρισμό σφαλμάτων βασισμένη σε αυτό. Ακόμα αυτό το σύστημα επιτρέπει συντακτική ευελιξία στη γλώσσα συγκρίσιμη με αυτή των γλωσσών χωρίς τύπους ενώ ταυτόχρονα διατηρεί όλα τα πλεονεκτήματα των τύπων. Η Caf eobj δεν επιτρέπει τον απευθείας ορισμό μερικών τελεστών. Για να μπορέσουμε να ορίσουμε τέτοιους τελεστές μπορούμε να χρησιμοποιήσουμε το σύστημα των υποτύπων που μας προσφέρει η γλώσσα. Για παράδειγμα αν επιθυμούσαμε να ορίσουμε μια προδιαγραφή για τη δομή της στοίβας στην οποία δεν επιτρέπεται η εξαγωγή στοιχείου από την κενή στοίβα (δηλαδή ο τελεστής pop να είναι μερικά ορισμένος), τότε θα μπορούσαμε να το επιτύχουμε με την παρακάτω προδιαγραφή: mod* Elt{ [Elt < EltErr] op err : -> EltErr op _=_ : Elt Elt -> Bool {comm} eq (E:Elt = E) = true. eq (E:Elt = err) = false. 111

4 } mod! Stack(D :: Elt) { pr(eql) [Elt.D <EltErr < Stack < StackErr] op push : Stack Elt.D -> Stack {constr} op pop : Stack -> StackErr op head : Stack -> Elt.D op empty : -> Stack -- vars X Y : Elt.D var S : Stack var B : Set -- eq pop(empty) = err. ceq pop(push(s,x)) = err if (S = empty). } Οπου EltErr είναι ένας υπερτύπος του Elt και δηλώνει ένα λάθος στοιχείο. Ακόμα err είναι μία σταθερά αυτού του λάθος τύπου που είναι διαφορετική από κάθε στοιχείο τύπου Elt. Χρησιμοποιώντας αυτά μπορούμε να ορίσουμε τον pop σαν μερικό τελεστή δηλώνοντας με την εξίσωση eq pop(empty) = err και ceq pop(push(s,x)) = err if (S = empty). οτι η εφαρμογή του σε μία κενή στοίβα επιστρέφει ακριβώς αυτό το λάθος στοιχείο. Βεηα ιουραλ Σπεςιφιςατιονς. Η CafeOBJ υποστηρίζει απευθείας τις συμπεριφοριακές προδιαγραφές και την θεωρία αποδείξεών τους που αναπτύξαμε στη προηγούμενη ενότητα μέσω ειδικών κατασκευασμάτων της γλώσσας. Πιο συγκεκριμένα ένας κρυφός τύπος ορίζεται μέσα σε αγκύλες περιβαλόμενες από αστερίσκους, δηλαδή *[hiddensortnames]*. Η σημασιολογία ενός τέτοιου τύπου είναι αυτή της κρυφής άλγεβρας δηλαδή αυτή των καταστάσεων ενός συστήματος. Οι συμπεριφοριακοί τελεστές (behavioral operations) που όπως είπαμε περιέχουν στο πεδίο ορισμού τους ένα κρυφό τύπο ορίζονται με τη λέξη κλειδί bop. Αυτοί οι τελεστές κατά αντιστοιχία με τη κρυφή άλγεβρα μπορούν να διαχωριστούν σε παρατηρήσεις όταν ο τύπος του συνόλου τιμών τους είναι ορατός και σε πράξεις όταν είναι κρυφός. Η CafeOBJ διευκολύνει τις αποδείξεις που γίνονται με τη μέθοδο της συνεπαγωγής ορίζοντας απευθείας μία σχέση ισοδυναμίας σε κάθε κρυφή προδιαγραφή η οποία συμβολίζεται ώς = =. Στη συνέχεια η μηχανή της γλώσσας προσπαθεί να αποδείξει αυτόματα ότι η σχέση αυτή είναι Γ-διατηρητική (χρησιμοποιώντας ώς Γ όλους τους συμπεριφοριακούς τελεστές) και ενημερώνει για το αποτέλεσμα της απόδειξης. Αν η 112

5 μηχανή επιτύχει στην απόδειξή της τότε η σχέση = = μπορεί να χρησιμοποιηθεί σαν κρυφή ισοδυναμία για την απόδειξη συμπεριφοριακών ιδιοτήτων με τη μέθοδο της συνεπαγωγής. Για παράδειγμα ο ακόλουθος κώδικας αποτελεί μία συμπεριφοριακή προδιαγραφή μίας δομής στοίβας ακεραίων mod* IntStack{ pr(eql + NAT) *[istack]* -- operations bop head : istack -> Nat. bop push : istack Nat -> istack. bop pop : istack -> istack. -- initial state bop empty : -> istack -- variables var S : istack. vars N M : Nat -- eq head(push(s, N)) = N. ceq pop(s) = empty if S = empty. } Εκτός από τα ειδικά κατασκευάσματα η Caf eobj υποστηρίζει τις συμπεριφοριακές προδιαγραφές και την απόδειξη ιδιοτήτων γι αυτές με διάφορες άλλες μεθοδολογίες και συγκεκριμένα κυρίως μέσω της συμπεριφοριακής αναγραφής (behavioral rewriting). Δηλαδή η μηχανή υλοποιεί τους κανόνες αναγραφής που αναπτύξαμε στη προηγούμενη ενότητα (ο πιο σημαντικός από τους οποίους είναι η χρήση του κανόνα της ισοδυναμίας μόνο σε συμπεριφοριακά διατηρητικούς τελεστές) εξασφαλίζοντας έτσι την ορθότητα των αποδείξεων που δημιουργούνται χρησιμοποιώντας το σύστημα αναγραφής. Η χρήση της Caf eobj έχει δείξει ότι οι συμπεριφοριακές προδιαγραφές μπορούν να εφαρμοστούν αποτελεσματικά και σαν αντικειμενοσταφής εναλλακτική για τις παραδοσιακές προσανατολισμένες στα δεδομένα αλγεβρικές προδιαγραφές. Μάλιστα, τα μέχρι στιγμής αποτελέσματα δείχνουν ότι μία τέτοια προσέγγιση μπορεί να μειώσει δραματικά το κόστος της προδιαγραφής των συστημάτων και της επαλήθευσής τους. Προδιαγραφές βασισμένες σε λογική αναγραφής. Η λογική του συστήματος αναγραφής της Caf eobj βασίζεται στη λογική αναγραφής (RW L) του M eseguer η οποία δίνει μία μη τετριμμένη επέκταση στις παραδοσιακές αλγεβρικές προδιαγραφές επιτρέποντας έννοιες όπως ο παραλληλισμός των υπολογισμών. Η RW L ενσωματώνει πολλά διαφορετικά μοντέλα παραλληλισμού με ένα απλό και φυσικό τρόπο 113

6 και έτσι παρέχει στη Caf eobj ευρύ πεδίο εφαρμογών. Η γλώσσα επιτρέπει την α- πόδειξη ιδιοτήτων για την ύπαρξη μεταβάσεων ανάμεσα από καταστάσεις συστημάτων μέσω του τελεστή ==> ο οποίος ενσωματώνει τη θεωρίας αποδείξεων της RW L με την εξισωτική λογική. Συστήματα Παρατηρήσεων Μεταβάσεων (Observational Transition Systems) - Αναλλοίωτες ιδιότητες (Invariant properties). Τα Συστήματα Παρατηρήσεων Μεταβάσεων (ΣΠΜ) αποτελούν μία γνήσια υπό-κλάση των συμπεριφοριακών προδιαγραφών. Παρόλ αυτά είναι ικανά να περιγράψουν μία πληθώρα προβλημάτων και για αυτό το λόγο έχουν χρησιμοποιηθεί πολύ στη βιβλιογραφία. Πιο συγκεκριμένα, υποθέτουμε ότι υπάρχει ένας χώρος καταστάσεων, τον οποίο συνήθως συμβολίζουμε με Υ. Ακόμα υποθέτουμε ότι όλοι οι τύποι δεδομένων που θα χρειαστεί να χρησιμοποιήσουμε έχουν οριστεί εκ των προτέρων συμπεριλαμβανομένης και της ισότητας μεταξύ των στοιχείων του ίδιου τύπου δεδομένων. Ενα σύστημα περιγράφεται σαν ένα ΣΠΜ παρατηρώντας από κάποιο εξωτερικό ως προς το σύστημα σημείο την κατάσταση του. Δηλαδή, το μόνο που μπορούμε να παρατηρήσουμε είναι οι τιμές κάποιων πειραμάτων που μπορούμε να διεξάγουμε και το πώς αυτές οι τιμές αλλάζουν όταν εφαρμοστούν οι κανόνες μετάβασης του συστήματος. Η αντιστοιχία με τις συμπεριφοριακές προδιαγραφές είναι προφανής, τα διάφορα πειράματα αντιστοιχούν στους τελεστές παρατήρησης ενώ οι κανόνες μετάβασης στις μεθόδους. Τυπικά ένα ΣΠΜ ορίζεται ώς μία τριάδα, ΣΠΜ S =< O, I, T > όπου: O, είναι ένα σύνολο από πειράματα, κάθε τέτοιο πείραμα, o O, ορίζει μία συνάρτηση o : Y D όπου D είναι κάποιος τύπος δεδομένων που μπορεί να είναι διαφορετικός για κάθε πείραμα. Δεδομένου τώρα ενός ΣΠΜ και δύο καταστάσεων u 1, u 2 Y η ισότητα ανάμεσα σε αυτές τις δύο καταστάσεις, συμβολίζεται ως u 1 = S u 2, και ορίζεται ως o O.o(u 1 ) = D o(u 2 ) όπου = D συμβολίζει την ισότητα ανάμεσα σε όρους του ίδιου τύπου δεδομένων D. I, αποτελεί ένα υποσύνολο του συνόλου όλων των πιθανών καταστάσεων του συστήματος, Y, το οποίο συνήθως ονομάζουμε σύνολο των αρχικών καταστάσεων. T, ένα σύνολο από υπό-συνθήκη κανόνες μετάβασης. Κάθε τέτοιος κανόνας τ T ορίζει μία συνάρτηση πάνω στις κλάσεις ισοδυναμίας του χώρου των καταστάσεων με βάση το ΣΠΜ, (Y/ =S ). Στη συνέχεια με τ(u) θα συμβολίζουμε οποιοδήποτε από τα στοιχεία του τ[u], δηλαδή όλες τις ισοδύναμες με τη u καταστάσεις στις οποίες εφαρμόζουμε τον κανόνα μετάβασης τ. Τότε η τ(u) θα καλείται η διάδοχος κατάσταση της u με βάση τον κανόνα τ. Ακόμα μαζί με κάθε κανόνα μετάβασης ορίζεται και μία συνθήκη που τη 114

7 συμβολίζουμε συνήθως ως c-τ η οποία είναι στη πραγματικότητα ένα κατηγόρημα πάνω στις καταστάσεις του Y τέτοιο ώστε να ισχύει ότι τ(u) = S u αν c-τ(u). Ενα ΣΠΜ μπορεί να περιγραφεί με φυσικό τρόπο στη Caf eobj. Τα πειράματα α- ναπαριστώνται από τελεστές παρατήρησης στη Caf eobj και οι κανόνες μετάβασης με συμπεριφοριακούς τελεστές της Caf eobj με κρυφό τύπο. Συνήθως οι παρατηρήσεις αυτές και οι κανόνες μετάβασης είναι παραμετρικοί, και σε αυτή τη περίπτωση υποθέτοντας ότι υπάρχουν D k με k = i 1,..., i m, j 1,..., j n τους συμβολίζουμε ως o i1,..., o im και τ j1,..., τ jn όπου m, n 0 αντίστοιχα. Για παράδειγμα ένα πείραμα που επιστέφει το στοιχείο στη θέση n N ενός πίνακα θα μπορούσε να συμβολιστεί ως o n και ένας κανόνας μετάβασης που αυξάνει κατά x την τιμή του στοιχείο αυτό θα μπορούσε να συμβολιστεί ως inc n,x. Δεδομένου τώρα ενός ΣΠΜ θα αποκαλούμε εκτέλεση μια άπειρη ακολουθία από καταστάσεις u 0,..., u n,... οι οποίες ικανοποιούν τις ακόλουθες συνθήκες: (Αρχικοποίηση) u 0 I (Διαδοχή) για κάθε i {0, 1,... } u i+1 = S τ(u i ), για κάποιο τ T, δηλαδή όλες οι καταστάσεις προκύπτουν από την προηγούμενη κατάσταση της ακολουθίας εφαρμόζοντας κάποιο κανόνα μετάβασης. Θα λέμε ότι μία κατάσταση είναι προσβάσιμη (reachable) ανν εμφανίζεται ως μέρος κάποιας εκτέλεσης του S. Με R S θα συμβολίζουμε το σύνολο όλων των προσβάσιμων καταστάσεων του S. Μια ιδιότητα θα καλείται αναλλοίωτη (invariant), όσο αφορά το S, ανν ισχύει για όλες τις προσιτές καταστάσεις του S. Τυπικά αυτό συμβολίζεται ώς: invariant(p) ανν ( u I, p(u)) και ( u R S τ T.p(u) p(τ(u))) Ας δούμε τώρα πώς περιγράφουμε ένα ΣΠΜ στην CafeOBJ. Το σύνολο των καταστάσεων περιγράφεται από ένα κρυφό τύπο, H. Ενα πείραμα o i1,...,i m O όπως είπαμε με ένα τελεστή παρατήρησης. Υποθέτουμε ότι οι τύποι δεδομένων που θα χρειαστούμε οι D i1,... D im και D έχουν προδιαγραφεί σαν πρωταρχικές άλγεβρες έτσι ώστε να υπάρχουν οι αντίστοιχοι ορατοί τύποι V i1,... V im και V. Τότε: Ο τελεστής της CafeOBJ που αντιστοιχεί στο πείραμα o i1,...,i m ορίζεται ως, βοπ ο : Η V i1... V im -> V κάθε αρχική κατάσταση u I αναπαρίσταται από μία κρυφή σταθερά op u init : > H. Αν η τιμή του o i1,...,i m στην αρχική κατάσταση u ορίζεται ώς f(i 1,..., i m ) τότε αυτό ορίζεται στην CafeOBJ ως o(u i nit, X i1,..., X im ) = f(x i1,... X im ) όπου X i1,..., X im είναι μεταβλητές τύπων V i1,... V im α- ντίστοιχα ορισμένες στη CafeOBJ. 115

8 ένας κανόνας μετάβασης τ j1,...,j n αναπαρίσταται από μία μέθοδο στη CafeOBJ, bop a : H V j1..., V jn > H. Αν ένας κανόνας μετάβασης εφαρμοστεί σε μία κατάσταση όπου η συνθήκη του ισχύει η τιμή ενός πειράματος του ΣΠΜ, έστω o i1,...,i m, μπορεί να αλλάξει το οποίο περιγράφεται στην CafeOBJ με μία εξίσωση, ceq o(a(u, X j1,..., X jn )), (X i1,..., X im ) = c a(u, X j1,..., X jn, X i1, X im ) if c a(u, X j1,...,x jn ). Τέλος αν ένας κανόνας a εφαρμοστεί σε μία κατάσταση στην οποία δεν ισχύει η συνθήκη του τότε η νέα κατάσταση πρέπει να είναι ισοδύναμη με τη προηγούμενη όσο αφορά την = S. Αυτό δηλώνεται στη CafeOBJ πάλι με μία εξίσωση, ceqa(u, X j1,...,x jn ) = u if not c-α(υ,x j1,..., X jn ). Η μέθοδος των Proof Scores. Η επαλήθευση ότι ο σχεδιασμός ενός συστήματος (ΣΠΜ) πληρεί κάποιες ιδιότητες ασφαλείας τις περισσότερες φορές ανάγεται στην απόδειξη οτι η προδιαγραφή ικανοποιεί ένα σύνολο από αναλλοίωτες ιδιότητες (invariant properties), δηλαδή ιδιότητες που ισχύουν σε κάθε κατάσταση του συστήματος. Ετσι η απόδειξη αναλλοίωτων ιδιοτήτων έχει μελετηθεί εκτενώς. Σε αυτή την ενότητα θα παρουσιάσουμε μία ολοκληρωμένη μεθοδολογία για την απόδειξη τέτοιων ιδιοτήτων για συμπεριφοριακές προδιαγραφές ορισμένες με όρους της Cafe- OBJ, που ονομάζεται Proof Scores [24] [25] [26] [27] [28] [29]. Η μεθοδολογία των Proof Scores χαρακτηρίζεται ως διαδραστική μεταξύ του χρήστη και του υπολογιστή. Ο χρήστης γράφει με κατάλληλο τρόπο το πλάνο της απόδειξης και ο υπολογιστής την εκτελεί αναλαμβάνοντας όλους τους κουραστικούς υπολογισμούς και απαντάει με true ή false ανάλογα με το αν επιτυγχάνει το πλάνο της απόδειξης. Σε αντίθεση με τα πλήρως αυτοματοποιημένα συστήματα αποδείξεων αυτός ο τρόπος έχει σαν πλεονεκτήματα ότι: επιστρέφει επαρκείς πληροφορίες σε περίπτωση που κάποιο πλάνο αποτύχει, έναντι ενός απλού ναι ή όχι που επιστρέφουν τα αυτοματοποιημένα συστήματα αποδείξεων επιτρέπει την καλύτερη κατανόηση του συστήματος (της προδιαγραφής) σε περίπτωση που δεν ικανοποιεί τις ιδιότητες που μας ενδιαφέρον, γεγονός που κάνει τον επανασχεδιασμό του πιο εύκολο. Για παράδειγμα ας υποθέσουμε ότι επιθυμούμε να αποδείξουμε ότι η ιδιότητα pred1(s, x1) η οποία είναι γραμμένη σε όρους της Caf eobj είναι αναλλοίωτη για μία προδιαγραφή ΣΠΜ γραμμένη πάλι σε όρους της CafeOBJ, όπου s είναι μια ελεύθερη μεταβλητή τύπου των καταστάσεων του συστήματος και x1 ένα σύνολο από ελεύθερες πάλι μεταβλητές. Συχνά δεν είναι δυνατόν να καταφέρουμε την απόδειξη ε- νός κατηγορήματος χρησιμοποιώντας μόνο τους κανόνες αναγραφής που έχουμε αναπτύξει. Εξαιτίας όμως της δομή μίας ΣΠΜ μπορούμε να χρησιμοποιήσουμε επαγωγή 116

9 (induction) στις καταστάσεις για να δείξουμε ότι η ιδιότητα pred1(s, x1) είναι αναλλοίωτη. Αυτό γίνεται δείχνοντας ότι η ιδιότητα ισχύει για κάθε αρχική κατάσταση, u I.pred(u, x1), και στη συνέχεια υποθέτοντας ότι ισχύει για την τυχαία κατάσταση s δείχνουμε οτι ισχύει για κάθε διαδοχική κατάσταση για κάθε κανόνα μετάβασης, τ T.pred1(s, x1) pred1(τ(s), x1). Τις περισσότερες φορές όμως η απόδειξη του pred1(s, x1) χρησιμοποιώντας μόνο επαγωγή είναι αδύνατη. Παρόλ αυτά είναι δυνατή η απόδειξη ότι το pred1 μαζί με άλλα n-1 κατηγορήματα είναι αναλλοίωτα για τη ΣΠΜ προδιαγραφή (αυτά τα κατηγορήματα θα τα συμβολίζουμε με pred2(s, x2),..., predn(s, xn)). Για παράδειγμα έστω ότι κατά την επαγωγική απόδειξη του pred1(s, x1) προσπαθούμε να δείξουμε ότι ισχύει το επαγωγικό βήμα για τον κανόνα μετάβασης τ, δηλαδή ότι: pred1(s, x1) pred1(τ(s), x1). Πολλές φορές η απόδειξη αυτή είναι αδύνατη, αλλά παρόλ αυτά μπορούμε να αποδείξουμε τη διατήρηση της ιδιότητας από το κανόνα μετάβασης χρησιμοποιώντας μία πιό ισχυρή υπόθεση για παράδειγμα: pred1(s, x1) predi(s, xi) predj(s, xj) pred1(τ(s), x1), όπου 1 i, j n. Επιπλέον είναι δυνατόν η απόδειξη των επιπλέον κατηγορημάτων να είναι επίσης αδύνατη χωρίς τη χρήση των υπολοίπων. Δηλαδή να μπορούμε να δείξουμε μόνο ότι: pred1(s, x1) predi(s, xi) predj(s, xj) predi(τ(s), xi), όπου 1 i, j n. Θα συμβολίζουμε αυτή την ισχυροποιημένη υπόθεση ώς SH i. Ακόμα για την απόδειξη των pred1(s, x1) predi(s, xi) predj(s, xj) pred1(τ(s), x1), τις περισσότερες φορές χρειάζεται να διακρίνουμε περιπτώσεις (Case Splitting). Δηλαδή, η κατάσταση s να διακριθεί σε l υποκαταστάσεις οι οποίες να ορίζονται από τις φόρμουλες case k, 1 k l ώστε να είναι εξαντλητικές, δηλαδή: (case 1 case l ) = true. Με αυτό το τρόπο η απόδειξη του pred1(s, x1) predi(s, xi)... predj(s, xj) predi(τ(s), xi) σπάει σε l αποδείξεις: case i 1 pred1(s, x1) predi(s, xi) predj(s, xj) predi(τ(s), xi)... case i l pred1(s, x1) predi(s, xi) predj(s, xj) predi(τ(s), xi) Δηλαδή αντί να δείξουμε ότι η ιδιότητα pred1(s, x1) είναι αναλοίωτη δείχνουμε ότι η ιδιότητα pred1(s, x1) pred2(s, x2) predn(s, xn) είναι αναλλοίωτη. Η μεθοδολογία αυτή καλείται ταυτόχρονη επαγωγή (Simultaneous Induction) και είναι η κύρια μεθοδολογία απόδειξης μίας αναλλοίωτης ιδιότητας για μια ΣΠΜ/CafeOBJ προδιαγραφής. Προφανώς αν μπορούμε να αποδείξουμε τη σύζευξη τότε ισχύει και το pred1(s, x1). Τα κατηγορήματα pred2(s, x2),..., predn(s, xn)) θα τα λέμε λήμματα. Ακόμα θα συμβολίσουμε με pred(s, x1,..., xn) τη σύζευξη των κατηγορημάτων. Υλοποίηση των Proof Scores στην CafeOBJ. Θα δούμε τώρα πώς μπορούμε να ορίσουμε μία τέτοια απόδειξη στη Caf eobj. Πρώτα ορίζουμε ένα module το οποίο συνήθως το καλούμε IN V όπου τα κατηγορήματα εκφράζονται με όρους της CafeOBJ. 117

10 module INV{ op inv1 : H V1 -> Bool op invn : H Vn -> Bool eq inv1(w,x1) = pred1(w,x1). eq invn(w,xn) = predn(w,xn). } όπου W είναι μια CafeOBJ μεταβλητή του τύπου ΣΠΜ και Xn ένα σύνολο από Caf eobj μεταβλητές για τις xi. Τέλος ο όρος predn(w, Xi) εκφράζει σε όρους της γλώσσας το κατηγόρημα predn(s, xn). Επίσης στο module δηλώνουμε σταθερές x i, (i = 1,..., n) που είναι του ίδιου τύπου με τα Xi. Στο σώμα μίας απόδειξης μία σταθερά χρησιμοποιείται για να δηλώσει ένα τυχαίο αντικείμενο του συγκεκριμένου τύπου. Για παράδειγμα αν δηλώσουμε μια σταθερά τύπο Nat την x η x μπορεί να χρησιμοποιηθεί για να σηματοδοτήσουμε ένα τυχαίο φυσικό αριθμό. Μέσω αυτών των σταθερών και χρησιμοποιώντας κατάλληλες εξισώσεις μπορούμε να κάνουμε τον διαχωρισμό των καταστάσεων που αναφέραμε προηγουμένως. Για παράδειγμα αν θέλουμε να θεωρήσουμε δύο καταστάσεις στις οποίες ένας τυχαίος φυσικός είναι μεγαλύτερος από το μηδέν στη μία και μικρότερος, ίσος στην άλλη θα μπορούσαμε να το δηλώσουμε με τις ακόλουθες εξισώσεις: eq (x > 0) = true. eq (x <= 0) = true. Είμαστε τώρα σε θέση να περιγράψουμε το proof score του i-οστού κατηγορήματος. Εστω ότι init είναι μια σταθερά η οποία συμβολίζει μια τυχαία αρχική κατάσταση του συστήματος. Το μόνο που χρειάζεται να κάνουμε για να δείξουμε ότι το κατηγόρημα predi(s, xi) ισχύει σε κάθε αρχική κατάσταση είναι να γράψουμε τον ακόλουθο κώδικα στη Caf eobj: open INV red invi(init, xi). close Στη συνέχεια γράφουμε ένα module, το οποίο συνήθως το συμβολίζουμε με IST EP, στο οποίο δηλώνουμε δύο σταθερές την s και την s, οι οποίες αντιστοιχούν σε μία τυχαία κατάσταση του ΣΠΜ και στην διαδοχική της, δηλαδή στην επόμενη κατάσταση από την s μετά από την εφαρμογή κάποιου κανόνα μετάβασης. Τα κατηγορήματα που πρέπει να αποδείξουμε στην περίπτωση αυτή είναι: op istep1 : V1 -> Bool op istepn : Vn -> Bool 118

11 eq istep1(x) = inv1(s,x1) implies inv1(s,x1). eq istepn(x) = invn(s,xn) implies invn(s,xn). Σε κάθε περίπτωση επαγωγής (δηλαδή για κάθε κανόνα μετάβασης) η κατάσταση συνήθως διαχωρίζεται όπως είπαμε σε υποκαταστάσεις. Για παράδειγμα έστω ότι προσπαθούμε να αποδείξουμε ότι κάποιος κανόνας μετάβασης διατηρεί το κατηγόρημα i. Συνήθως λοιπόν διαχωρίζουμε την κατάσταση σε l-υποκαταστάσεις, case i με 1 i l. Τότε, ο ακόλουθος κώδικας στη CafeOBJ δείχνει ότι η υποκατάσταση case i για τον κανόνα μετάβασης a διατηρεί την ιδιότητα: open ISTEP Declare constants denoting arbitrary objects. Declare equations denoting casei. Declare equations denoting facts if necessary. eq s = a(s, y). red istepi(xi). close όπου y είναι μία λίστα σταθερών οι οποίες χρησιμοποιούνται ως ορίσματα για τον κανόνα μετάβασης a, με βάση τον ορισμό του στην CafeOBJ, και δηλώνουν τυχαία αντικείμενα κατάλληλων τύπων. Επιπλέον, άλλες σταθερές μπορεί να χρειαστεί να ορισθούν μαζί με κατάλληλες εξισώσεις έτσι ώστε να γίνει ο διαχωρισμός των καταστάσεων όπως εξηγήσαμε προηγουμένως. Ακόμα κάποιες προτάσεις μπορεί να χρειασθεί να δηλωθούν ως γεγονότα (μέσω εξισώσεων). Αυτές οι προτάσεις αφορούν λήμματα στη πραγματικότητα σχετικά με τις δομές δεδομένων που χρησιμοποιούμε και όχι το ΣΠΜ (Προφανώς για να είναι ορθή η απόδειξή μας αυτά τα λήμματα πρέπει να έχουν προηγουμένως αποδειχθεί ανεξάρτητα). Τέλος, οι εξισώσεις που έχουν το s στο αριστερό τους μέρος χρησιμοποιούνται για να ορίσουμε τη διαδοχική κατάσταση της s, δηλαδή την κατάσταση μετά την εφαρμογή του κανόνα μετάβασης a. Αν ο όρος istepi(xi) αναγραφεί σε true έχουμε αποδείξει ότι ο κανόνας μετάβασης διατηρεί το κατηγόρημα predi(p, x) για την υπό-περίπτωση j. Αν, ο όρος δεν αναγραφεί σε true τότε μπορεί να πρέπει να δυναμώσουμε την επαγωγική μας υπόθεση. Εστω λοιπόν ότι SIHi είναι ο όρος της CafeOBJ που αναπαριστά τον SIH για το κατηγόρημα i. Τότε, αντί για το όρο istepi(xi) αποδεικνύουμε τον ακόλουθο: open ISTEP Declare constants denoting arbitrary objects. Declare equations denoting casei. Declare equations denoting facts if necessary. 119

12 eq s = a(s, y). red SIHi implies istepi(xi). close Με αυτό τον τρόπο μπορούμε να αποδείξουμε όλα τα κατηγορήματα. Στη περίπτωση που ένα κατηγόρημα αναγραφεί σε f alse τότε υπάρχουν δύο περιπτώσεις οι οποίες πρέπει να εξετάσουμε: Η υποκατάσταση που επέστρεψε f alse δεν είναι προσιτή για το σύστημά μας. Τότε πρέπει να ενδυναμώσουμε την επαγωγική μας υπόθεση με ένα λήμμα το οποίο να εκφράζει ακριβώς αυτό και έτσι ο όρος red SIHi implies istepi(xi) θα αναγραφεί επιτυχώς σε true. Η δεύτερη περίπτωση είναι η υποκατάσταση να είναι προσιτή. Τότε, αυτό σημαίνει ότι η ιδιότητα που επιθυμούμε να αποδείξουμε δεν είναι αναλλοίωτη και άρα πρέπει να επανασχεδιασθεί το σύστημά μας. 120

Εφαρμογές της Λογικής στην Πληροφορική

Εφαρμογές της Λογικής στην Πληροφορική Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Εθνικό Μετσόβιο Πολυτεχνείο Εφαρμογές της Λογικής στην Πληροφορική Ενότητα 5 Πέτρος Στεφανέας, Γεώργιος Κολέτσος Άδεια Χρήσης Το παρόν εκπαιδευτικό

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

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

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

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

Ανάλυση της Ορθότητας Προγραμμάτων

Ανάλυση της Ορθότητας Προγραμμάτων Ανάλυση της Ορθότητας Προγραμμάτων Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Η διαδικαστική γλώσσα προγραμματισμού WHILE Τριάδες Hoare Μερική και Ολική Ορθότητα Προγραμμάτων Κανόνες Απόδειξης Μερικής

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

Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας

Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Εισαγωγή - 1 Μία κλασσική γλώσσα προγραμματισμού αποτελείται από: Εκφράσεις (των

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

Ανάλυση της Ορθότητας Προγραμμάτων

Ανάλυση της Ορθότητας Προγραμμάτων Ανάλυση της Ορθότητας Προγραμμάτων Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Η διαδικαστική γλώσσα προγραμματισμού WHILE Τριάδες Hoare Μερική και Ολική Ορθότητα Προγραμμάτων ΚανόνεςΑπόδειξηςΜερικήςΟρθότητας

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

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4)

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4) Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4) Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Η διαδικαστική γλώσσα προγραμματισμού WHILE Τριάδες Hoare Μερική και Ολική Ορθότητα Προγραμμάτων Κανόνες

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

4. Ο,τιδήποτε δεν ορίζεται με βάση τα (1) (3) δεν είναι προτασιακός τύπος.

4. Ο,τιδήποτε δεν ορίζεται με βάση τα (1) (3) δεν είναι προτασιακός τύπος. Κεφάλαιο 10 Μαθηματική Λογική 10.1 Προτασιακή Λογική Η γλώσσα της μαθηματικής λογικής στηρίζεται βασικά στις εργασίες του Boole και του Frege. Ο Προτασιακός Λογισμός περιλαμβάνει στο αλφάβητό του, εκτός

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 4 η Τελεστές Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης

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

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

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting) Εργαστήριο 3: 3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting) Η C++, όπως όλες οι γλώσσες προγραμματισμού, χρησιμοποιεί τελεστές για να εκτελέσει τις αριθμητικές και λογικές λειτουργίες.

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

Αριθμητική Ανάλυση και Εφαρμογές

Αριθμητική Ανάλυση και Εφαρμογές Αριθμητική Ανάλυση και Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 07-08 Αριθμητική Παραγώγιση Εισαγωγή Ορισμός 7. Αν y f x είναι μια συνάρτηση ορισμένη σε ένα διάστημα

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

ΑΝΑΛΥΣΗ 1 ΠΕΜΠΤΟ ΜΑΘΗΜΑ, Μ. Παπαδημητράκης.

ΑΝΑΛΥΣΗ 1 ΠΕΜΠΤΟ ΜΑΘΗΜΑ, Μ. Παπαδημητράκης. ΑΝΑΛΥΣΗ 1 ΠΕΜΠΤΟ ΜΑΘΗΜΑ, 17-10-13 Μ. Παπαδημητράκης. 1 Την προηγούμενη φορά αναφέραμε (και αποδείξαμε στην περίπτωση n = 2) το θεώρημα που λέει ότι, αν n N, n 2, τότε για κάθε y 0 υπάρχει μοναδική μηαρνητική

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

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

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

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

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

Pascal, απλοί τύποι, τελεστές και εκφράσεις Pascal, απλοί τύποι, τελεστές και εκφράσεις 15 Νοεμβρίου 2011 1 Γενικά Στην standard Pascal ορίζονται τέσσερις βασικοί τύποι μεταβλητών: integer: Παριστάνει ακέραιους αριθμούς από το -32768 μέχρι και το

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

Αριθμητική Ανάλυση και Εφαρμογές

Αριθμητική Ανάλυση και Εφαρμογές Αριθμητική Ανάλυση και Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 07-08 Πεπερασμένες και Διαιρεμένες Διαφορές Εισαγωγή Θα εισάγουμε την έννοια των διαφορών με ένα

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

Ισότητα, Αλγεβρικές και Αναλυτικές Ιδιότητες Πραγματικών Ακολουθιών

Ισότητα, Αλγεβρικές και Αναλυτικές Ιδιότητες Πραγματικών Ακολουθιών Ισότητα, Αλγεβρικές και Αναλυτικές Ιδιότητες Πραγματικών Ακολουθιών Συμβολισμοί Σε αναλογία με τους ορισμούς συμβολίζουμε μια ακολουθία: 1 είτε μέσω του διανυσματικού ορισμού, παραθέτοντας αναγκαστικά

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

Περιεχόμενα 1 Πρωτοβάθμια Λογική Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων ) / 60

Περιεχόμενα 1 Πρωτοβάθμια Λογική Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων ) / 60 Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

Περιεχόμενα. Πρόλογος 3

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

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

f(t) = (1 t)a + tb. f(n) =

f(t) = (1 t)a + tb. f(n) = Παράρτημα Αʹ Αριθμήσιμα και υπεραριθμήσιμα σύνολα Αʹ1 Ισοπληθικά σύνολα Ορισμός Αʹ11 (ισοπληθικότητα) Εστω A, B δύο μη κενά σύνολα Τα A, B λέγονται ισοπληθικά αν υπάρχει μια συνάρτηση f : A B, η οποία

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

Τα παρακάτω σύνολα θα τα θεωρήσουμε γενικά γνωστά, αν και θα δούμε πολλές από τις ιδιότητές τους: N Z Q R C

Τα παρακάτω σύνολα θα τα θεωρήσουμε γενικά γνωστά, αν και θα δούμε πολλές από τις ιδιότητές τους: N Z Q R C Κεφάλαιο 1 Εισαγωγικές έννοιες Στο κεφάλαιο αυτό θα αναφερθούμε σε ορισμένες έννοιες, οι οποίες ίσως δεν έχουν άμεση σχέση με τους διανυσματικούς χώρους, όμως θα χρησιμοποιηθούν αρκετά κατά τη μελέτη τόσο

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα

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

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 2:Στοιχεία Μαθηματικής Λογικής Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

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

Maude 6. Maude [1] UIUC J. Meseguer. Maude. Maude SRI SRI. Maude. AC (Associative-Commutative) Maude. Maude Meseguer OBJ LTL SPIN

Maude 6. Maude [1] UIUC J. Meseguer. Maude. Maude SRI SRI. Maude. AC (Associative-Commutative) Maude. Maude Meseguer OBJ LTL SPIN 78 Maude 1 Maude [1] UIUC J. Meseguer ( 1 ) ( ) Maude Maude SRI 90 UIUC SRI Maude SRI S. Eker C++ Maude 2 Maude Meseguer OBJ 1983-84 OBJ2[3] OBJ Maude OBJ 1 CafeOBJ 3 Maude 4 Maude CafeOBJ Maude: A Computer

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

Δώστε έναν επαγωγικό ορισμό για το παραπάνω σύνολο παραστάσεων.

Δώστε έναν επαγωγικό ορισμό για το παραπάνω σύνολο παραστάσεων. Εισαγωγή στη Λογική Α Τάξης Σ. Κοσμαδάκης Συντακτικό τύπων Α τάξης Α Θεωρούμε δεδομένο ένα λεξιλόγιο Λ, αποτελούμενο από (1) ένα σύνολο συμβόλων για σχέσεις, { R, S,... } (2) ένα σύνολο συμβόλων για συναρτήσεις,

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

Αλγόριθμοι για αυτόματα

Αλγόριθμοι για αυτόματα Κεφάλαιο 8 Αλγόριθμοι για αυτόματα Κύρια βιβλιογραφική αναφορά για αυτό το Κεφάλαιο είναι η Hopcroft, Motwani, and Ullman 2007. 8.1 Πότε ένα DFA αναγνωρίζει κενή ή άπειρη γλώσσα Δοθέντος ενός DFA M καλούμαστε

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

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

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

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

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη.

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. 4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. Η μετατροπή μιας εντολής επανάληψης σε μία άλλη ή στις άλλες δύο εντολές επανάληψης, αποτελεί ένα θέμα που αρκετές φορές έχει εξεταστεί σε πανελλαδικό

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

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός 7 Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα H Σχεσιακή Άλγεβρα (relational algebra) ορίζει ένα σύνολο πράξεων που εφαρμόζονται σε μία ή περισσότερες σχέσεις

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

Εφαρμογές της Λογικής στην Πληροφορική

Εφαρμογές της Λογικής στην Πληροφορική Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Εθνικό Μετσόβιο Πολυτεχνείο Εφαρμογές της Λογικής στην Πληροφορική Ενότητα 2 Πέτρος Στεφανέας, Γεώργιος Κολέτσος Άδεια Χρήσης Το παρόν εκπαιδευτικό

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΤΗΣ ΔΙΟΙΚΗΣΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΟΧΑΣΤΙΚΑ ΜΟΝΤΕΛΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΤΗΣ ΔΙΟΙΚΗΣΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΟΧΑΣΤΙΚΑ ΜΟΝΤΕΛΑ Ακαδ. Έτος 06-07 Διδάσκων: Βασίλης ΚΟΥΤΡΑΣ Λέκτορας v.outras@fme.aegean.gr Τηλ: 7035468 σ-άλγεβρα

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

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης Σημειώσεις Λογικής I Εαρινό Εξάμηνο 2011-2012 Καθηγητής: Λ. Κυρούσης 2 Τελευταία ενημέρωση 28/3/2012, στις 01:37. Περιεχόμενα 1 Εισαγωγή 5 2 Προτασιακή Λογική 7 2.1 Αναδρομικοί Ορισμοί - Επαγωγικές Αποδείξεις...................

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος Κεφάλαιο 10 Υποπρογράμματα 1 10.1 Τμηματικός προγραμματισμός Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα σύνολο από απλούστερα τμήματα προγραμμάτων.

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

Περιεχόμενα. Πρόλογος 3

Περιεχόμενα. Πρόλογος 3 Πρόλογος Η Γραμμική Άλγεβρα είναι ένα σημαντικό συστατικό στο πρόγραμμα σπουδών, όχι μόνο των Μαθηματικών, αλλά και άλλων τμημάτων, όπως είναι το τμήμα Φυσικής, Χημείας, των τμημάτων του Πολυτεχνείου,

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

f x 0 για κάθε x και f 1

f x 0 για κάθε x και f 1 06 4.2 Το Λήμμα του Uysoh το Λήμμα της εμφύτευσης και το θεώρημα μετρικοποίησης του Uysoh. Ο κύριος στόχος αυτής της παραγράφου είναι η απόδειξη ενός θεμελιώδους αποτελέσματος γνωστού ως το Λήμμα του Uysoh.

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

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i. Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

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

Πρόβλημα 29 / σελίδα 28 Πρόβλημα 29 / σελίδα 28 Πρόβλημα 30 / σελίδα 28 Αντιμετάθεση / σελίδα 10 Να γράψετε αλγόριθμο, οποίος θα διαβάζει τα περιεχόμενα δύο μεταβλητών Α και Β, στη συνέχεια να αντιμεταθέτει τα περιεχόμενά τους

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

HEAD INPUT. q0 q1 CONTROL UNIT Πεπερασμένα Αυτόματα (ΠΑ) Τα πεπερασμένα αυτόματα είναι οι απλούστερες «υπολογιστικές μηχανές». Δεν έχουν μνήμη, μόνο μία εσωτερική μονάδα με πεπερασμένο αριθμό καταστάσεων. Διαβάζουν τη συμβολοσειρά εισόδου

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

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

ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΙΚΑ Β ΓΥΜΝΑΣΙΟΥ. ΜΕΡΟΣ 1ο ΑΛΓΕΒΡΑ 1. Τι καλείται μεταβλητή; ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΙΑ Β ΓΥΜΝΑΣΙΟΥ ΜΕΡΟΣ 1ο ΑΛΓΕΒΡΑ Μεταβλητή είναι ένα γράμμα (π.χ., y, t, ) που το χρησιμοποιούμε για να παραστήσουμε ένα οποιοδήποτε στοιχείο ενός συνόλου..

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

K15 Ψηφιακή Λογική Σχεδίαση 4+5: Άλγεβρα Boole

K15 Ψηφιακή Λογική Σχεδίαση 4+5: Άλγεβρα Boole K15 Ψηφιακή Λογική Σχεδίαση 4+5: Άλγεβρα Boole Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Ορισμός της δίτιμης άλγεβρας Boole Περιεχόμενα 1 Ορισμός της

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Δεύτερη Σειρά Ασκήσεων 22 Νοεμβρίου 2016 (χειρόγραφη και ηλεκτρονική παράδοση 9 Δεκεμβρίου) Άσκηση 1: Θεωρήστε τη γραμματική με κανόνες: Α B a A a c B B b A b

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

1 Χώροι πηλίκα { } x = y x y Y. Με τις πράξεις της πρόσθεσης και του βαθμωτού πολλαπλασιασμού που ορίζονται με τον

1 Χώροι πηλίκα { } x = y x y Y. Με τις πράξεις της πρόσθεσης και του βαθμωτού πολλαπλασιασμού που ορίζονται με τον Χώροι πηλίκα Έστω διανυσματικός χώρος και Y διανυσματικός υπόχωρος του. Για κάθε θεωρούμε το σύμπλοκο σχετικά με τον Y, = + y y Y = + Y ορ { : } δηλαδή το είναι η παράλληλη μεταφορά του Y κατά το διάνυσμα.

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός

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

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 (15 μονάδες) Σειρά Προβλημάτων 5 Λύσεις Να δώσετε προδιαγραφές (τριάδες Hoare) για τα πιο κάτω προγράμματα: (α) Ένα πρόγραμμα το οποίο παίρνει ως δεδομένο εισόδου δύο πίνακες Α και Β και ελέγχει

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

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

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. AeppAcademy.com facebook.com/aeppacademy Γεια. Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. Καλή Ανάγνωση & Καλή Επιτυχία

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

i=1 i=1 i=1 (x i 1, x i +1) (x 1 1, x k +1),

i=1 i=1 i=1 (x i 1, x i +1) (x 1 1, x k +1), Κεφάλαιο 6 Συμπάγεια 6.1 Ορισμός της συμπάγειας Οπως θα φανεί στην αμέσως επόμενη παράγραφο, υπάρχουν διάφοροι τρόποι με τους οποίους μπορεί κανείς να εισάγει την έννοια του συμπαγούς μετρικού χώρου. Ο

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

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

επιµέλεια Θοδωρής Πιερράτος Βασικές έννοιες προγραµµατισµού Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως,

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

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

ΕΡΓΑΣΙΕΣ ΟΝΤΟΚΕΝΤΡΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΡΓΑΣΙΕΣ ΟΝΤΟΚΕΝΤΡΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 2016-2017 ΕΡΓΑΣΙΑ 1 (JAVA) Παράδοση 26/4/2017 Στα πλαίσια της εργασίας θα υλοποιηθεί ένα απλοϊκό πρόγραμμα κρατήσεων Ξενοδοχείων. Για απλοποίηση θα περιοριστούμε

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 10: Ισοδυναμία ντετερμινιστικών και μη ντετερμινιστικών αυτομάτων Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

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

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ Μάθημα 7 - Υποπρογράμματα Εργαστήριο 11 Ο TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ Βασικές Έννοιες: Υποπρόγραμμα, Ανάλυση προβλήματος, top down σχεδίαση, Συνάρτηση, Διαδικασία, Παράμετρος, Κλήση συνάρτησης, Μετάβαση

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

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

B = F i. (X \ F i ) = i I

B = F i. (X \ F i ) = i I Κεφάλαιο 3 Τοπολογία μετρικών χώρων Ομάδα Α 3.1. Εστω (X, ρ) μετρικός χώρος και F, G υποσύνολα του X. Αν το F είναι κλειστό και το G είναι ανοικτό, δείξτε ότι το F \ G είναι κλειστό και το G \ F είναι

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

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Διαδικασίες και συναρτήσεις. 22 Νοε 2008 Ανάπτυξη εφαρμογών/ Υποπρογράμματα 1

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Διαδικασίες και συναρτήσεις. 22 Νοε 2008 Ανάπτυξη εφαρμογών/ Υποπρογράμματα 1 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ Διαδικασίες και συναρτήσεις 22 Νοε 2008 Ανάπτυξη εφαρμογών/ Υποπρογράμματα 1 Βασικές έννοιες Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα

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

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή. ΜΑΘΗΜΑ / ΤΑΞΗ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ/Γ' ΕΠΑ.Λ. ΗΜΕΡΟΜΗΝΙΑ: 17-1-2016 ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: Ι.ΜΙΧΑΛΕΑΚΟΣ-Χ.ΠΑΠΠΑ-Α.ΚΑΤΡΑΚΗ ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας δίπλα

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

Μεταθέσεις και πίνακες μεταθέσεων

Μεταθέσεις και πίνακες μεταθέσεων Παράρτημα Α Μεταθέσεις και πίνακες μεταθέσεων Το παρόν παράρτημα βασίζεται στις σελίδες 671 8 του βιβλίου: Γ. Χ. Ψαλτάκης, Κβαντικά Συστήματα Πολλών Σωματιδίων (Πανεπιστημιακές Εκδόσεις Κρήτης, Ηράκλειο,

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

(ii) X P(X). (iii) X X. (iii) = (i):

(ii) X P(X). (iii) X X. (iii) = (i): Θεωρία Συνόλων Χειμερινό Εξάμηνο 2016 2017 Λύσεις 1. Δείξτε ότι ισχύουν τα ακόλουθα: (i) ω / ω (με άλλα λόγια, το ω δεν είναι φυσικός αριθμός). (ii) Για κάθε n ω, ισχύει ω / n. (iii) Για κάθε n ω, το n

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

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος Κεφάλαιο 10 Υποπρογράμματα 1 10.1 Τμηματικός προγραμματισμός Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα σύνολο από απλούστερα τμήματα προγραμμάτων.

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

ΚΕΦΑΛΑΙΟ 2: Ημιαπλοί Δακτύλιοι

ΚΕΦΑΛΑΙΟ 2: Ημιαπλοί Δακτύλιοι ΚΕΦΑΛΑΙΟ : Ημιαπλοί Δακτύλιοι Είδαμε στο κύριο θεώρημα του προηγούμενου κεφαλαίου ότι κάθε δακτύλιος διαίρεσης έχει την ιδιότητα κάθε πρότυπο είναι ευθύ άθροισμα απλών προτύπων Εδώ θα χαρακτηρίσουμε όλους

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2)

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Κανονικές Εκφράσεις (1.3) Τυπικός Ορισμός Ισοδυναμία με κανονικές γλώσσες Μη Κανονικές

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

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor ΕισαγωγήστουςΗ/Υ PHP Hypertext Preprocessor ΤιείναιηPHP; PHP είναιµία server-based scripting language σχεδιασµένη ειδικά για το web. Σε µία html σελίδα µπορούµε να ενσωµατώσουµε php κώδικα που εκτελείται

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

a = 10; a = k; int a,b,c; a = b = c = 10;

a = 10; a = k; int a,b,c; a = b = c = 10; C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

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

K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων

K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Στοιχεία προτασιακής λογικής Περιεχόμενα

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

Συναρτησιακός Προγραμματισμός 2008 Λύσεις στο Δεύτερο Φύλλο Ασκήσεων

Συναρτησιακός Προγραμματισμός 2008 Λύσεις στο Δεύτερο Φύλλο Ασκήσεων Συναρτησιακός Προγραμματισμός 2008 Λύσεις στο Δεύτερο Φύλλο Ασκήσεων 1. Στις Σημ. 4, είδαμε τη δημιουργία της κλάσης Condition που μας επιτρέπει να χρησιμοποιούμε αριθμούς, λίστες και ζεύγη ως αληθοτιμές

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Σύνολα Συναρτήσεις και Σχέσεις Γραφήματα Λέξεις και Γλώσσες Αποδείξεις ΕΠΛ 211 Θεωρία

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

Διάλεξη 05: Αφηρημένοι Τύποι Δεδομένων

Διάλεξη 05: Αφηρημένοι Τύποι Δεδομένων Διάλεξη 05: Αφηρημένοι Τύποι Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αφηρημένοι Τύποι Δεδομένων (ΑΤΔ) Οι ΑΤΔ Στοίβα και Ουρά Υλοποίηση των ΑΤΔ Στοίβα και Ουρά ΕΠΛ231 Δομές Δεδομένων

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

a = a a Z n. a = a mod n.

a = a a Z n. a = a mod n. Αλγεβρα Ι Χειμερινο Εξαμηνο 2017 18 Διάλεξη 1 Ενότητα 1. Πράξεις: Πράξεις στο σύνολο S, ο πίνακας της πράξης, αντιμεταθετικές πράξεις. Προσεταιριστικές πράξεις, το στοιχείο a 1 a 2 a n. Η πράξη «σύνθεση

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

Σειρά Προβλημάτων 1 Λύσεις

Σειρά Προβλημάτων 1 Λύσεις ΕΠΛ664: Ανάλυση και Επαλθευση Συστημάτων Τμμα Πληροφορικς Άσκηση 1 Σειρά Προβλημάτων 1 Λύσεις (α) Χρησιμοποιούμε τις επιπλέον μεταβλητές PC0, PC1, (program counters) οι οποίες παίρνουν ως τιμές ονόματα

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 23: οµές εδοµένων και Αλγόριθµοι Ενδιάµεση Εξέταση Ηµεροµηνία : ευτέρα, 3 Νοεµβρίου 2008 ιάρκεια : 2.00-4.00 ιδάσκουσα : Άννα Φιλίππου Ονοµατεπώνυµο: ΣΚΕΛΕΤΟΙ

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

Κεφάλαιο 11 Ένωση Ξένων Συνόλων

Κεφάλαιο 11 Ένωση Ξένων Συνόλων Κεφάλαιο 11 Ένωση Ξένων Συνόλων Περιεχόμενα 11.1 Εισαγωγή... 227 11.2 Εφαρμογή στο Πρόβλημα της Συνεκτικότητας... 228 11.3 Δομή Ξένων Συνόλων με Συνδεδεμένες Λίστες... 229 11.4 Δομή Ξένων Συνόλων με Ανοδικά

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

Λύσεις Σειράς Ασκήσεων 4

Λύσεις Σειράς Ασκήσεων 4 Άσκηση 1 Λύσεις Σειράς Ασκήσεων 4 Θεωρήστε το σύνολο των ατομικών προτάσεων ΑΡ = {α, π, ε} που αντιστοιχούν στις ενέργειες αποστολής μηνύματος, παραλαβής μηνύματος και επιστροφής αποτελέσματος που εκτελούνται

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

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 5. Αφηρημένοι Τύποι Δεδομένων / Στοίβες και Ουρές

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 5. Αφηρημένοι Τύποι Δεδομένων / Στοίβες και Ουρές ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 5. Αφηρημένοι Τύποι Δεδομένων / Στοίβες και Ουρές ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 2 Διάλεξη 05: Αφηρημένοι Τύποι Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα

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

Στοιχεία προτασιακής λογικής

Στοιχεία προτασιακής λογικής Σ. Κοσμαδάκης Στοιχεία προτασιακής λογικής Λογικές πράξεις and, or, not Για οποιεσδήποτε τιμές αλήθειας s, t στο σύνολο {true, false}, οι γνωστές πράξεις s and t, s or t, not s δίνουν αποτελέσματα στο

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

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

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

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

h(x, y) = card ({ 1 i n : x i y i

h(x, y) = card ({ 1 i n : x i y i Κεφάλαιο 1 Μετρικοί χώροι 1.1 Ορισμός και παραδείγματα Ορισμός 1.1.1 μετρική). Εστω X ένα μη κενό σύνολο. Μετρική στο X λέγεται κάθε συνάρτηση ρ : X X R με τις παρακάτω ιδιότητες: i) ρx, y) για κάθε x,

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

Βασικές Δομές Δεδομένων

Βασικές Δομές Δεδομένων Βασικές Δομές Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αφηρημένοι Τύποι Δεδομένων Οι ΑΤΔ Στοίβα και Ουρά Υλοποίηση των ΑΤΔ Στοίβα και Ουρά με Διαδοχική και Δυναμική Χορήγηση

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

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Η ΓΛΩΣΣΑ PASCAL ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας Σύνθετοι Τ.Δ. Αλφαριθμητικός 1. Ακέραιος (integer) Εύρος: -32768 έως 32767 Δήλωση

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

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

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

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας δίπλα στο γράμμα που αντιστοιχεί σε κάθε πρόταση τη

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

1 Η εναλλάσσουσα ομάδα

1 Η εναλλάσσουσα ομάδα Η εναλλάσσουσα ομάδα Η εναλλάσσουσα ομάδα Όπως είδαμε η συνάρτηση g : S { } είναι ένας επιμορφισμός ομάδων. Ο πυρήνας Ke g {σ S / g σ } του επιμορφισμού συμβολίζεται με A περιέχει όλες τις άρτιες μεταθέσεις

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

Αφαίρεση στον FP. Πολυμορφισμός Συναρτήσεις υψηλότερης τάξης Οκνηρός και Άπληστος Υπολογισμός

Αφαίρεση στον FP. Πολυμορφισμός Συναρτήσεις υψηλότερης τάξης Οκνηρός και Άπληστος Υπολογισμός Αφαίρεση στον FP Πολυμορφισμός Συναρτήσεις υψηλότερης τάξης Οκνηρός και Άπληστος Υπολογισμός Πολυμορφισμός Θα χρησιμοποιήσουμε σαν παράδειγμα τη συνάρτηση ταυτότητας Ι, που ορίζεται ως: fun I x = x Ο ορισμός

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

Εντολές επιλογής Επαναλήψεις (if, switch, while)

Εντολές επιλογής Επαναλήψεις (if, switch, while) Εντολές επιλογής Επαναλήψεις (if, switch, while) Οι σημειώσεις αυτές έχουν σαν στόχο την μάθηση εντολών επιλογής (if, switch, while) που ελέγχουν τη ροή εκτέλεσης ενός προγράμματος. Πρώτα όμως, είναι αναγκαίο

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

Κεφάλαιο 5 Αξιωματική Σημασιολογία και Απόδειξη Ορθότητας Προγραμμάτων

Κεφάλαιο 5 Αξιωματική Σημασιολογία και Απόδειξη Ορθότητας Προγραμμάτων Κεφάλαιο 5 Αξιωματική Σημασιολογία και Απόδειξη Ορθότητας Προγραμμάτων Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Εισαγωγή Τα προγράμματα μιας (κλασικής) γλώσσας προγραμματισμού

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

M. J. Lighthill. g(y) = f(x) e 2πixy dx, (1) d N. g (p) (y) =

M. J. Lighthill. g(y) = f(x) e 2πixy dx, (1) d N. g (p) (y) = Εισαγωγή στην ανάλυση Fourier και τις γενικευμένες συναρτήσεις * M. J. Lighthill μετάφραση: Γ. Ευθυβουλίδης ΚΕΦΑΛΑΙΟ 2 Η ΘΕΩΡΙΑ ΤΩΝ ΓΕΝΙΚΕΥΜΕΝΩΝ ΣΥΝΑΡΤΗΣΕΩΝ ΚΑΙ ΤΩΝ ΜΕΤΑΣΧΗΜΑΤΙΣΜΩΝ ΤΟΥΣ FOURIER 2.1. Καλές

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

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

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16

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

Αριθμοθεωρητικοί Αλγόριθμοι

Αριθμοθεωρητικοί Αλγόριθμοι Αλγόριθμοι που επεξεργάζονται μεγάλους ακέραιους αριθμούς Μέγεθος εισόδου: Αριθμός bits που απαιτούνται για την αναπαράσταση των ακεραίων. Έστω ότι ένας αλγόριθμος λαμβάνει ως είσοδο έναν ακέραιο Ο αλγόριθμος

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

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6) ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ ΠΑΡΑΣΚΕΥΗ 22 ΣΕΠΤΕΜΒΡΙΟΥ 2017 ΘΕΜΑ Α ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ:

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

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

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)

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

Θέματα Μεταγλωττιστών

Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 2 η : Συστήματα τύπων Συστήματα Τύπων (ΣΤ) Το σύστημα τύπων μιας γλώσσας προγραμματισμού με τύπους είναι ένα σύνολο από κανόνες στους οποίους πρέπει να υπακούουν οι τύποι της

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Λογική Δημήτρης Πλεξουσάκης 2ο μέρος σημειώσεων: Συστήματα Αποδείξεων για τον ΠΛ, Μορφολογική Παραγωγή, Κατασκευή Μοντέλων Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης

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

Εισαγωγικά Παραδείγματα: Παρατηρήσεις:

Εισαγωγικά Παραδείγματα: Παρατηρήσεις: 1 Εισαγωγικά Η έννοια του συνόλου είναι πρωταρχική στα Μαθηματικά, δεν μπορεί δηλ. να οριστεί από άλλες έννοιες. Γενικά, μπορούμε να πούμε ότι σύνολο είναι μια συλλογή αντικειμένων. υτά λέμε ότι περιέχονται

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές

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

x < A y f(x) < B f(y).

x < A y f(x) < B f(y). Χειμερινό Εξάμηνο 2016 2017 Ασκήσεις στα Κεφάλαια 5 & 6 1. Αυτή είναι ουσιαστικά η Άσκηση 5.2 (σελ. 119), από τις σημειώσεις του Σκανδάλη. Εστω A, < καλά διατεταγμένο σύνολο και έστω στοιχείο a A. Αποδείξτε

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

Ασκήσεις Απειροστικού Λογισμού ΙΙ Πρόχειρες Σημειώσεις Τμήμα Μαθηματικών Πανεπιστήμιο Αθηνών Περιεχόμενα Υπακολουθίες και ακολουθίες Cuchy Σειρές πραγματικών αριθμών 3 3 Ομοιόμορφη συνέχεια 3 4 Ολοκλήρωμα

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