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

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

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

Transcript

1 ΕΠΑΛΗΘΕΥΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ Ι Η τυπική επαλήθευση βάση μοντέλου είναι κατάλληλη για συστήματα επικοινωνούντων διεργασιών (π.χ. κατανεμημένα συστήματα) όπου το βασικό πρόβλημα είναι ο έλεγχος αλλά γενικά δεν υπάρχουν σύνθετα δεδομένα. Βασικά στηριζόμαστε στην υπόθεση ότι τα μοντέλα που προκύπτουν από μία αφαιρετική θεώρηση των συστημάτων που περιγράφουν είναι πεπερασμένων καταστάσεων. Αυτή όμως η υπόθεση δεν ισχύει για (σειριακά) εκτελέσιμα προγράμματα που μπορεί να διαχειρίζονται μη τετριμμένα δεδομένα και μπορεί π.χ. να έχουν μεταβλητές τύπου integer, λίστας, δέντρου οπότε ουσιαστικά μιλάμε για μηχανές με άπειρο χώρο καταστάσεων. ΔΙΑΦΑΝΕΙΑ 1

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

3 ΕΠΑΛΗΘΕΥΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ ΙΙΙ Παρά το γεγονός ότι πολλά από τα βήματα που απαιτούνται για να επαληθευτεί ότι ένα πρόγραμμα ικανοποιεί κάποια προδιαγραφή είναι μηχανιστικά (και άρα αυτοματοποιούνται) δεν υπάρχει εγγύηση ότι αυτό μπορεί να γίνει για όλες τις περιπτώσεις αλγοριθμικά. Αν και υπάρχουν προσεγγίσεις που βοηθούν τον προγραμματιστή να φέρει σε πέρας μία τέτοια διαδικασία, είναι βέβαιο ότι μιλάμε για μία ημιαυτόματη διαδικασία. Παράδειγμα τεχνικής επαλήθευσης προγραμμάτων: Hoare triples Παράδειγμα προγραμματιστικών βοηθημάτων: Java Modeling Language ή Object Constraint Language (C++) ΔΙΑΦΑΝΕΙΑ 3

4 ΕΠΑΛΗΘΕΥΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ ΙV Γιαποιολόγοχρειαζόμαστετηνεπαλήθευσηπρογραμμάτων; Η τυπική προδιαγραφή ενός προγράμματος αποτελεί σημαντικό κομμάτι της τεκμηρίωσής του. Η λογικήδομήτηςτυπικήςπεριγραφής εκφράζεται από έναν τύπο σε μία κατάλληλη γλώσσα λογικής, που βασικά είναι το αντικείμενο μιας απόδειξης. Η επαλήθευση προγραμμάτων ως προς τυπικές προδιαγραφές μειώνει το χρόνο συντήρησης και απλοποιεί την ανάπτυξη λογισμικού, γιατί απομακρύνει τα περισσότερα λάθη στη φάση της σχεδίασης. Λογισμικό που έχει προδιαγραφεί τυπικά και επαληθευθεί είναι πιο εύκολο να το επαναχρησιμοποιήσουμε γιατί έχουμε μία ξεκάθαρη εικόνα για το τι αυτό κάνει. Στα συστήματα κρίσιμης ασφάλειας η τυπική προδιαγραφή και επαλήθευση είναι απαρέγκλιτη προϋπόθεση. ΔΙΑΦΑΝΕΙΑ 4

5 ΕΠΑΛΗΘΕΥΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ V Διαδικασία κατασκευής λογισμικού με τυπική προδιαγραφή και επαλήθευση Μετατροπή μιας μη τυπικής περιγραφής D του πεδίου του προβλήματος σε έναν «ισοδύναμο» τύπο φ D σε κάποια συμβολική λογική. Κατασκευή προγράμματος P που υλοποιεί τον φ D μέσα σε ένα προγραμματιστικό περιβάλλον. Απόδειξη ότι το πρόγραμμα P ικανοποιεί τον τύπο φ D. ΔΙΑΦΑΝΕΙΑ 5

6 ΤΡΙΠΛΕΤΕΣ HOARE I Ένα πρόγραμμα διατυπωμένο στη σύνταξη κάποιας γλώσσας όταν εκτελείται φτάνει τη μηχανή σε μία κάποια κατάσταση από την οποία μετά από υπολογισμούς μπορεί να τερματίζει. Αν αυτό συμβαίνει τότε το αποτέλεσμα είναι μία βασικά διαφορετική κατάσταση. Η κατάσταση της μηχανής μπορεί να αναπαρασταθεί από ένα διάνυσμα τιμών που αντιπροσωπεύουν όλες τις μεταβλητές του προγράμματος (αν αυτό δεν έχει υποπρογράμματα). Τι σύνταξη θα χρησιμοποιήσουμε για τον τύπο φ D, δηλ. την τυπική προδιαγραφή του προγράμματος; Θα πρέπει να μπορούμε να μιλάμε για τις μεταβλητές που αναφέρονται στην κατάσταση μετά την εκτέλεση του προγράμματος χρησιμοποιώντας τελεστές όπως =, < κλπ. ΔΙΑΦΑΝΕΙΑ 6

7 ΤΡΙΠΛΕΤΕΣ HOARE IΙI ΠΑΡΑΔΕΙΓΜΑ ΠΡΟΔΙΑΓΡΑΦΗ: ΕΡΩΤΗΜΑ: «Υπολόγισε έναν αριθμό y που το τετράφωνό του είναι μικρότερο του x» y y < x «Τι συμβαίνει αν το x είναι αρνητικός;» ΑΝΑΘΕΩΡΗΜΕΝΗ ΠΕΡΙΓΡΑΦΗ: «Αν η είσοδος x είναι θετικός, τότε υπολόγισε έναν αριθμό y που το τετράγωνό του είναι μικρότερο από x» ΣΥΜΠΕΡΑΣΜΑ: Πρέπει όχι απλά να μπορούμε να μιλάμε για την κατάσταση μετά από την εκτέλεση του προγράμματος αλλά και για την κατάσταση πριν την εκτέλεσή του. ΔΙΑΦΑΝΕΙΑ 7

8 ΤΡΙΠΛΕΤΕΣ HOARE IΙΙI Δηλαδή, ο ισχυρισμός (assertion) που κάνουμε θα έχει τη μορφή τριπλέτας φ P ψ που σημαίνει ότι αν το πρόγραμμα P εκτελεστεί σε μία κατάσταση που ικανοποιεί τον τύπο φ, τότε η κατάσταση μετά από την εκτέλεση ικανοποιεί τον τύπο ψ. Η τυπική προδιαγραφή λοιπόν του προγράμματος P παίρνει τελικά την μορφή x > 0 P y y < x που σημαίνει ότι αν το πρόγραμμα P βρίσκεται σε κατάσταση για την οποία ισχύει ότι x > 0, τότε στην κατάσταση τη στιγμή του αποτελέσματος θα ισχύει y y < x. Δεν μας λέει τι θα γίνει αν x 0. ΔΙΑΦΑΝΕΙΑ 8

9 ΤΡΙΠΛΕΤΕΣ HOARE IV Στην τριπλέτα Hoare φ P ψ o τύπος φ λέγεται προαπαιτούμενο (precondition) του P και ο τύπος ψ λέγεται συνέπεια (postcondition) του P. Συχνά δεν θέλουμε να βάλουμε κάποιους περιορισμούς ως προαπαιτούμενο δηλ. υπονοούμε ότι άσχετα με την κατάσταση εκκίνησης του προγράμματος θέλουμε ως συνέπεια να ικανοποιεί στην κατάσταση του αποτελέσματος τον τύπο ψ. Σε αυτή την περίπτωση στη θέση του προαπαιτούμενου χρησιμοποιούμε το σύμβολο που όπως είδαμε στον προτασιακό λογισμό είναι πάντα true. ΔΙΑΦΑΝΕΙΑ 9

10 ΤΡΙΠΛΕΤΕΣ HOARE V ΠΡΟΣΟΧΗ: Η τριπλέταhoare δεν προδιαγράφει ένα συγκεκριμένο πρόγραμμα P ή μία μοναδική συμπεριφορά. Έτσι το πρόγραμμα y = 0; και το πρόγραμμα y = 0; while (y*y < x) { y = y + 1; } y = y 1; ικανοποιούν αμφότερα την προδιαγραφή τριπλέτας που θέσαμε, παρόλο που έχουν ως αποτέλεσμα διαφορετικές τιμές. ΔΙΑΦΑΝΕΙΑ 10

11 ΤΡΙΠΛΕΤΕΣ HOARE VΙV Στη συνέχεια μας ενδιαφέρει να αναπτύξουμε την έννοια της απόδειξης που θα επιτρέπει να αποδείξουμε ότι ένα πρόγραμμα P ικανοποιεί την τυπική προδιαγραφή δοθέντος του προαπαιτούμενο φ και της συνέπειας ψ. Στον προτασιακό λογισμό που είδαμε, αλλά και στον κατηγορηματικό λογισμό που δεν είδαμε μπορούμε να κάνουμε τέτοιες αποδείξεις αναλύοντας τη λογική δομή του τύπου που θέλουμε να αποδείξουμε. Αν π.χ. θέλουμε να αποδείξουμε ότι φ ψτότε υποθέτουμε ότι ισχύει ο φ και αν αποδείξουμε ότι ισχύει ο ψ, τότε μπορούμε να εφαρμόσουμε τον αποδεικτικό κανόνα i και έτσι να ολοκληρώσουμε την απόδειξη. ΔΙΑΦΑΝΕΙΑ 11

12 ΤΡΙΠΛΕΤΕΣ HOARE VΙΙV Για τις τριπλέτες Hoare ο αποδεικτικός λογισμός που θα φτιάξουμεπρέπειναμπορείναχειρίζεταιδύοδιαφορετικά πράγματα: λογικούς τύπους σε σχέση με τον κώδικα ενός προγράμματος P. Θα πρέπει ο αποδεικτικός λογισμός επίσης να είναι συνθετικός σε σχέση με τη δομή του προγράμματος P, δηλ. να μπορούμε από απλούστερες προδιαγραφές να αποδεικνύουμε πιο σύνθετες. Έτσι θα είναι εφαρμόσιμος σε μεγάλα προγράμματα που π.χ. περιέχουν υποπρογράμματα ή και τμήματα προγραμμάτων (modules). ΔΙΑΦΑΝΕΙΑ 12

13 ΜΕΡΙΚΗ ΚΑΙ ΟΛΙΚΗ ΟΡΘΟΤΗΤΑ I Μερική Ορθότητα (partial correctness) Λέμε ότι η τριπλέτα φ P ψ ικανοποιείται με σημασία μερικής ορθότητας αν για όλες οι καταστάσεις που ικανοποιούν τον τύπο φ η κατάσταση που προκύπτει από την εκτέλεση του P ικανοποιεί τη συνέπεια ψ, με την προϋπόθεση ότι το P τερματίζει. Αυτό το γράφουμε ως par φ P ψ Ησχέση par λέμε ότι είναι η σχέση ικανοποίησης για μερική ορθότητα. ΕΊΝΑΙ ΟΧΙ ΙΔΙΑΙΤΕΡΑ ΙΣΧΥΡΗ ΕΓΓΥΗΣΗ-ΠΑΡΑΔΕΙΓΜΑ: while true { x = 0; } Ικανοποιεί με μερική ορθότητα κάθε πιθανή προδιαγραφή αφού η μερική ορθότητα αναφέρεται στην αλήθεια ισχυρισμών μόνο για την περίπτωση που το πρόγραμμα τερματίζει. ΔΙΑΦΑΝΕΙΑ 13

14 ΜΕΡΙΚΗ ΚΑΙ ΟΛΙΚΗ ΟΡΘΟΤΗΤΑ IΙ Ολική Ορθότητα (total correctness) Λέμε ότι η τριπλέτα φ P ψ ικανοποιείται με σημασία ολικής ορθότητας αν για όλες οι καταστάσεις που ικανοποιούν τον τύπο φ το πρόγραμμα P τερματίζει και η κατάσταση που προκύπτει από την εκτέλεση του P ικανοποιεί τη συνέπεια ψ. Αυτό το γράφουμε ως tot φ P ψ Ησχέση tot λέμε ότι είναι η σχέση ικανοποίησης για ολική ορθότητα. ΠΑΡΑΔΕΙΓΜΑ: Πρόγραμμα που κάνει ατέρμονο loop δεν ικανοποιεί καμία προδιαγραφή με σημασία ολικής ορθότητας. ΔΙΑΦΑΝΕΙΑ 14

15 ΜΕΡΙΚΗ ΚΑΙ ΟΛΙΚΗ ΟΡΘΟΤΗΤΑ IΙΙ Η απόδειξη της ολικής ορθότητας συνήθως γίνεται σε δύο βήματα: αποδεικνύεται πρώτα η μερική ορθότητα και στη συνέχεια αποδεικνύεται ότι το πρόγραμμα τερματίζει. ΠΑΡΑΔΕΙΓΜΑ: πρόγραμμα succ a = x + 1; if (a 1 == 0) { y = 1; } else { y = a; } Το πρόγραμμα succ ικανοποιεί την προδιαγραφή succ y =(x + 1) Οι αποδεικτικοί κανόνες πρέπει να είναι δυνατό να αποδείξουν τον παραπάνω ισχυρισμό. Θα μπορούσε το πρόγραμμα να είναι απλούστερο. ΔΙΑΦΑΝΕΙΑ 15

16 ΜΕΡΙΚΗ ΚΑΙ ΟΛΙΚΗ ΟΡΘΟΤΗΤΑ IV ΠΑΡΑΔΕΙΓΜΑ: πρόγραμμα fac1 y = 1; z = 0; while (z!= x) { z = z + 1; y = y * z; } Αυτό το πρόγραμμα τερματίζει μόνο αν το x είναι αρχικά μη αρνητικός (γιατί;). Θα μπορούσε να αποδειχθεί ότι tot x 0 fac1 y = x! Οι αποδεικτικοί κανόνες πρέπει να είναι δυνατό να αποδείξουν τον παραπάνω ισχυρισμό. Παρόλα αυτά, δεν πρέπει να ισχύει ότι tot fac1 y = x! Με σημασία μερικής ορθότητας ισχύουν και τα δύο. ΔΙΑΦΑΝΕΙΑ 16

17 ΜΕΡΙΚΗ ΚΑΙ ΟΛΙΚΗ ΟΡΘΟΤΗΤΑ V Αν απλά ο λογισμός μπορεί να αποδείξει τριπλέτες της μορφής φ P ψ τότε αν αυτό γίνεται για σημασία μερικής ορθότητας το γράφουμε par φ P ψ ενώ αν γίνεται με σημασία ολικής ορθότητας τότε το γράφουμε tot φ P ψ Δηλ. το par φ P ψ σημαίνει ότι το P είναι μερικώς ορθό ενώ το par φ P ψ υπονοεί ότι μπορεί ο λογισμός να αποδείξει ότι είναι μερικώς ορθό. ΔΙΑΦΑΝΕΙΑ 17

18 ΜΕΡΙΚΗ ΚΑΙ ΟΛΙΚΗ ΟΡΘΟΤΗΤΑ VΙ Ένας αποδεικτικός λογισμός λέμε ότι είναι καλά ορισμένος (sound) αν σε όλες τις περιπτώσεις που είναι δυνατό να αποδειχθεί ένας ισχυρισμός, αυτός ο ισχυρισμός είναι πράγματι αληθής. Για τη μερική ορθότητα αυτό το γράφουμε ως εξής: par φ P ψ συνεπάγεται ότι par φ P ψ για όλους τους τύπους φ, ψ και προγράμματα P. Γιατηνολικήορθότητααυτότογράφουμεωςεξής: tot φ P ψ συνεπάγεται ότι tot φ P ψ για όλους τους τύπους φ, ψ και προγράμματα P. ΔΙΑΦΑΝΕΙΑ 18

19 ΜΕΡΙΚΗ ΚΑΙ ΟΛΙΚΗ ΟΡΘΟΤΗΤΑ VΙΙ Ένας αποδεικτικός λογισμός λέμε ότι είναι πλήρης (complete) αν σε όλες τις περιπτώσεις μπορεί να αποδειχθεί ένας ισχυρισμός που είναι πράγματι αληθής. Για τη μερική ορθότητα αυτό το γράφουμε ως εξής: par φ P ψ συνεπάγεται ότι par φ P ψ για όλους τους τύπους φ, ψ και προγράμματα P. Γενικά όπως σε κάθε λογισμό έτσι και σε έναν λογισμό επαλήθευσης προγραμμάτων η απόδειξη του καλώς ορισμένου (soundness) γίνεται για κάθε αποδεικτικό κανόνα ανεξάρτητα από τους άλλους. Αντίθετα, η απόδειξη της πληρότητας (completeness) είναι πιο σύνθετη αφού εξαρτάται από το πώς οι αποδεικτικοί κανόνες του λογισμού αλληλεπιδρούν μεταξύ τους. ΔΙΑΦΑΝΕΙΑ 19

20 ΜΕΤΑΒΛΗΤΕΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΚΑΙ ΜΕΤΑΒΛΗΤΕΣ ΛΟΓΙΣΜΟΥ Ι ΠΑΡΑΔΕΙΓΜΑ: πρόγραμμα fac2 y = 1; while (x!= 0) { y = y * x; x = x - 1; } Αυτό το πρόγραμμα «καταναλώνει» την είσοδο x. Υπολογίζει σωστά το παραγοντικό της x και αποθηκεύει την τιμή στην y και θα θέλαμε αυτό να το γράψουμε σε μια τριπλέτα Hoare: x 0 fac2 y = x! Αυτός όμως ο συμβολισμός δε βολεύει γιατί αν το πρόγραμμα τερματίζει τότε η x θα είναι 0 και η y θα είναι το παραγοντικό της αρχικής τιμής της x. Πρέπει με κάποιο τρόπο να «θυμόμαστε» την αρχική τιμή της x. ΔΙΑΦΑΝΕΙΑ 20

21 ΜΕΤΑΒΛΗΤΕΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΚΑΙ ΜΕΤΑΒΛΗΤΕΣ ΛΟΓΙΣΜΟΥ ΙΙ ΠΑΡΑΔΕΙΓΜΑ: πρόγραμμα fac2 (συνέχεια) Πρέπει με κάποιο τρόπο να «θυμόμαστε» την αρχική τιμή της x. Αυτό γίνεται με τη χρήση μεταβλητών εμβέλειας λογισμού. Έτσι, η τριπλέτα Hoare του παραδείγματος γράφεται x = x 0 x 0 fac2 y = x 0! και διαβάζεται ως: «για όλους τους ακεραίους x 0 αν η x είναι ίση με x 0, x 0 και εκτελείται το πρόγραμμα έτσι ώστε να τερματίζει, τότε η κατάσταση του αποτελέσματος θα ικανοποιεί την y = x 0!» Οι μεταβλητές εμβέλειας λογισμού δεν εμφανίζονται πουθενά μέσα στο πρόγραμμα. Η κατάσταση στην οποία βρίσκεται το σύστημα υπονοεί μία συγκεκριμένη τιμή για κάθε μεταβλητή του προγράμματος, αλλά όχι για τις μεταβλητές λογισμού. Οι μεταβλητές αυτές παίζουν ρόλο ανάλογο με αυτές που συνήθως χρησιμοποιούμε στον κατηγορηματικό λογισμό με ποσοδείκτες π.χ. i και e. ΔΙΑΦΑΝΕΙΑ 21

22 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ Ι Οι κανόνες του αποδεικτικού λογισμού μας επιτρέπουν να περάσουμε από απλούς ισχυρισμούς της μορφής φ P ψ σε πιο σύνθετους. Οκανόναςτηςανάθεσηςτιμήςδενέχει προϋποθέσεις, που σημαίνει ότι μπορούμε να φτιάξουμε τριπλέτα από το τίποτα προκειμένου να εκπληρώσουμε το σκοπό της απόδειξης. ΔΙΑΦΑΝΕΙΑ 22

23 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ ΙΙ ( φ) C 1 ( η) ( φ) C 1 ( η) C ; C 2 2 ( ψ ) ( ψ ) σύνθεση (c) ( ψ [ Ε / x]) x = E ( ψ ) ( φ B ) C1 ( ψ ) ( φ B) C2 ( ψ ) ( φ) if B{ C }else{ C }( ψ ) 1 2 ανάθεση (a) εντολή if (i) ( ψ Β) C ( ψ ) ( ψ ) while B{ C}( ψ B) μερικό while (w) - φ' φ ( φ) C ( ψ) ( φ') C ( ψ ') - ψ ψ ' συνεπαγωγή (i) ΔΙΑΦΑΝΕΙΑ 23

24 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ ΙΙΙ ΠΑΡΑΔΕΙΓΜΑ: πρόγραμμα fac1 y = 1; z = 0; while (z!= x) { z = z + 1; y = y * z; } fac1 y = x! απόδειξη σε μορφή δέντρου ΔΙΑΦΑΝΕΙΑ 24

25 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ IV Έστω ότι ένα πρόγραμμα P αποτελείται από τις εντολές C 1 ; C 2 ;...; C n-1 ; C n όπου κάθε μία από τις C i είναι μία από τις εντολές ανάθεσης, if ή while και καμία δεν είναι σύνθεση άλλων απλούστερων εντολών. Έστω ότι θέλουμε να αποδείξουμε: par φ 0 P φ n Τότε μπορούμε να διασπάσουμε το πρόβλημα σε μικρότερα προβλήματα αν προσπαθήσουμε να βρούμε τύπους φ j (0 < j < n) τέτοιους ώστε οι par φ i C i+1 φ i+1 να ισχύουν για όλα τα i = 0, 1,..., n-1. Έτσι η απόδειξή μας παίρνει τελικά τη μορφή ΔΙΑΦΑΝΕΙΑ 25

26 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ V φ 0 C 1 ; φ 1 αιτιολόγηση C 2 ;.. φ n-1 αιτιολόγηση C n ; φ n αιτιολόγηση απόδειξη σε μορφή «ταμπλό»: είναι πιο βολικό αρχίζοντας από την φ n να προσπαθούμε μέσω της C n να βρούμε την φ n-1 κ.λ.π. δηλ. να κινούμαστε από το τέλος προς την αρχή ΔΙΑΦΑΝΕΙΑ 26

27 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ VΙ Για τη διαδικασία υπολογισμού της φ i από την C i+1 και την φ i+1 λέμε ότι υπολογίζουμε το ασθενέστερο προαπαιτούμενο (weakest precondition) της C i+1 δοθείσης της συνέπειας φ n. Αυτό σημαίνει ότι ψάχνουμε για τη λογικά ασθενέστερη συνθήκη που η αλήθεια της στην αρχή της εκτέλεσης της C i+1 είναι αρκετή για να εγγυηθεί την φ i+1. Ένας τύπος φ λέμε ότι είναι ασθενέστερος από τον τύπο ψ, αν ο φ συνεπάγεται από τον τύπο ψ στον κατηγορηματικό λογισμό. ΔΙΑΦΑΝΕΙΑ 27

28 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ VΙΙ Αξίωμα ανάθεσης σε απόδειξη «ταμπλό»: ψ[ε/x] x = E ψ ανάθεση Συνεπαγωγή σε απόδειξη «ταμπλό»: μας επιτρέπει να γράψουμε έναν τύπο φ 2 ακριβώς κάτω από έναν άλλο τύπο φ 1 - χωρίς να παρεμβάλλεται κώδικας - αν ο φ 2 συνεπάγεται από τον φ 1 Ένας τύπος συνεπάγεται από έναν άλλο τύπο αν αυτό αποδεικνύεται στον κατηγορηματικό λογισμό (στην επαλήθευση προγραμμάτων η απόδειξη παραλείπεται). Επίσης χρησιμοποιείται όταν τελικά εμφανίζεται το ασθενέστερο προαπαιτούμενο. ΔΙΑΦΑΝΕΙΑ 28

29 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ VΙΙΙ ΠΑΡΑΔΕΙΓΜΑ Θέλουμε να αποδείξουμε ότι par y = 5 x = y + 1 x = 6 y = 5 y + 1 = 6 x = y + 1 x = 6 συνεπαγωγή ανάθεση ΔΙΑΦΑΝΕΙΑ 29

30 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ ΙΧ ΠΑΡΑΔΕΙΓΜΑ Θέλουμε να αποδείξουμε ότι όπου P z = x; z = z + y; u = z; par P u = x + y x + y = x + y z = x; z + y = x + y z = z + y; z = x + y u = z; u = x + y ανάθεση Η ικανοποιείται σε όλες τις καταστάσεις αλλά το ίδιο ισχύει με την x + y = x + y. Άρα ισχύει η x + y = x + y συνεπαγωγή ανάθεση ανάθεση ΔΙΑΦΑΝΕΙΑ 30

31 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ Χ Εντολή if σε απόδειξη «ταμπλό»: έστω ότι θέλουμε δοθείσης της ψ να υπολογίσουμε την ασθενέστερη φ που είναι τέτοια ώστε φ if (B) {C 1 } else {C 2 } ψ Η φ υπολογίζεται ως εξής: 1. Κινούμαστε από την ψ προς τα πάνω μέσω της C 1 που μπορεί βέβαια να είναι όχι μία εντολή αλλά ακολουθία εντολών. Έστω ότι το αποτέλεσμα είναι ο τύπος φ Κάνουμετοίδιοαπότηνψ προς τα πάνω μέσω της C 2 και έστω ότι το αποτέλεσμα είναι ο τύπος φ Θέτουμε τον τύπο φ να είναι Β φ 1 Β φ 2 ΔΙΑΦΑΝΕΙΑ 31

32 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ ΧΙ ΠΑΡΑΔΕΙΓΜΑ Έστω το πρόγραμμα succ με τον κώδικα a = x + 1; if (a 1 ==0) { y = 1; } else { y = a; } και έστω ότι θέλουμε να αποδείξουμε par succ y = x + 1 ΔΙΑΦΑΝΕΙΑ 32

33 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ ΧΙI x+1-1=0 1 = x + 1 (x+1-1=0) x+1 = x + 1 a= x + 1; a-1=0 1 = x + 1 (a-1=0) a = x + 1 if (a 1 ==0) ανάθεση 1 = x + 1 εντολή if y = 1; y = x + 1 } else { a = x + 1 y = a; y = x + 1 } y = x + 1 ανάθεση εντολή if ανάθεση εντολή if ΔΙΑΦΑΝΕΙΑ 33

34 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ ΧΙII Το βήμα που προτείνεται για τον κανόνα if σε απόδειξη «ταμπλό» παραπέμπει σε ένα διαφορετικό αποδεικτικό κανόνα από αυτόν που παρουσιάστηκε που όμως μπορεί να αποδειχθεί ότι προκύπτει με χρήση των κανόνων που εισάγαμε. ( φ ) C ( ψ ) ( φ ) C ( ψ ) (( B φ ) ( B φ )) if B{ C }else{ C }( ψ ) ΔΙΑΦΑΝΕΙΑ 34

35 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ ΧΙV Εντολή while σε απόδειξη «ταμπλό»: ( η Β) C ( η) ( η) while B { C}( η Από τον αποδεικτικό κανόνα φαίνεται ότι ο τύπος η επιλέγεται έτσι ώστε να είναι αμετάβλητο από το σώμα εντολών C της while. Αυτό σημαίνει ότι αν η B είναι αληθής και η η είναι αληθής πριν από την εκτέλεση της C και αν το σώμα εντολών C τερματίζει, τότε η η είναι επίσης αληθής στο τέλος της εκτέλεσης. Η ερμηνεία αυτή είναι συμβατή με την έννοια της μερικής ορθότητας. B) ΔΙΑΦΑΝΕΙΑ 35

36 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ ΧV Παρόλα αυτά, στη μορφή που έχει ο αποδεικτικός κανόνας μας επιτρέπει να αποδεικνύουμε μόνο τριπλέτες όπου η συνέπεια είναι η ίδια με το προαπαιτούμενο μαζί βέβαια με το Β, δηλαδή τριπλέτες της μορφής η while (B) {C} η Β Τι γίνεται αν θέλουμε να αποδείξουμε τριπλέτες της μορφής φ while (B) {C} ψ όπου οι τύποι φ και ψ δε σχετίζονται μεταξύ τους; ΔΙΑΦΑΝΕΙΑ 36

37 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ ΧVΙ Η απάντηση είναι ότι πρέπει να βρούμε έναν κατάλληλο τύπο η τέτοιο ώστε να ισχύουν οι φ η η Β ψ η while (B) {C} η Β Ανισχύουναυτάτότεμπορούμεμετονκανόνατηςσυνεπαγωγήςνα αποδείξουμε το φ while (B) {C} ψ Το πιο κρίσιμο βήμα της απόδειξης είναι η επιλογή του αμετάβλητου (invariant). ΔΙΑΦΑΝΕΙΑ 37

38 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ ΧVΙI Ορισμός: Ένα αμετάβλητο (invariant) σε μία εντολή while (B) {C} είναι ένας τύπος η τέτοιος ώστε par η Β C η δηλαδή αν ο τύπος η και η Β είναι αληθείς σε μία κατάσταση στην οποία εκτελείται το C και τερματίζει, τότε η η είναι επίσης αληθής στην κατάσταση που προκύπτει ως αποτέλεσμα. Ένα χρήσιμο αμετάβλητο συνήθως εκφράζει μία σχέση μεταξύ των μεταβλητών του σώματος εντολών C, μία σχέση που διατηρείται από το loop ακόμη και αν οι τιμές των μεταβλητών αλλάξουν. Ένας τρόπος για να ανακαλύπτουμε αμετάβλητο είναι να δημιουργήσουμε ένα ίχνος εκτέλεσης του προγράμματος (trace). ΔΙΑΦΑΝΕΙΑ 38

39 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ ΧVΙII ΠΑΡΑΔΕΙΓΜΑ Έστω το πρόγραμμα fac1 με τον κώδικα y = 1; z = 0; while (z!= x) { z = z + 1; y = y * z; } επανάληψη z y B true true true true true true false και έστω ότι το παραπάνω πρόγραμμα εκτελείται για x = 6. Στοπαράδειγμααυτότοαμετάβλητοεντοπίζεταιεύκολα: y = z! ΔΙΑΦΑΝΕΙΑ 39

40 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ ΧIX ΠΑΡΑΔΕΙΓΜΑ (συνέχεια) Το αμετάβλητο που εντοπίστηκε επίσης διαθέτει τις ιδιότητες που επιθυμούμε: είναι αρκετά ασθενές ώστε τελικά συνεπάγεται από το προαπαιτούμενο της εντολής while που είναι y = 1 z = 0 (θυμίζουμε ότι 0! =1) είναι και αρκετά ισχυρό έτσι ώστε μαζί με την άρνηση της συνθήκης του while να συνεπάγεται τη συνέπεια y = x! Δηλαδή ισχύουν οι συνεπαγωγές (y = 1 z = 0) (y = z!) και (y = z! x = z) (y = x!) ΔΙΑΦΑΝΕΙΑ 40

41 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ ΧX Εντολή while σε απόδειξη «ταμπλό»: 1. Εντοπίζουμε έναν τύπο η που ελπίζουμε να είναι ένα κατάλληλο αμετάβλητο. 2. Αποδεικνύουμε ότι η Β ψ όπου Β είναι η λογική συνθήκη της εντολής while. Αυτό δείχνει ότι η η είναι αρκετά ισχυρή ώστε να συνεπάγεται της συνέπεια. 3. Κινούμαστε με τον τύπο η μέσααπότοσώματουloop C εφαρμόζοντας τους κανόνες που πρέπει ανάλογα με τη μορφή του C. Έστω ότι ο τύπος που προκύπτει είναι ο η. 4. Αποδεικνύουμε ότι η Β η, που ουσιαστικά αποδεικνύει ότι το η είναι αμετάβλητο. 5. Τέλος, γράφουμε την η πάνω από την εντολή while και βέβαια είναι ακόμη καλύτερα αν μπορούμε να αποδείξουμε φ η ΔΙΑΦΑΝΕΙΑ 41

42 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΜΕΡΙΚΗ ΟΡΘΟΤΗΤΑ ΧXΙ ΠΑΡΑΔΕΙΓΜΑ (συνέχεια) 1 = 0!) συνεπαγωγή y = 1; y = 0!) z = 0; y = z!) while (z!= x) { y = z! z x) y * (z + 1) = (z + 1)! z = z + 1; y * z = z! y = y * z; } y = z! y = z! (z x) ανάθεση ανάθεση y = x! συνεπαγωγή υπόθεση αμετάβλητου & συνθήκη συνεπαγωγή ανάθεση ανάθεση μερικό while ΔΙΑΦΑΝΕΙΑ 42

43 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΟΛΙΚΗ ΟΡΘΟΤΗΤΑ Ι Για την ολική ορθότητα πρέπει να κάνουμε την απόδειξη για τη μερική ορθότητα να αποδείξουμε ότι η δοθείσα εντολή while τερματίζει Όλοι οι αποδεικτικοί κανόνες είναι ίδιοι εκτός από το while Στο while η απόδειξη τερματισμού προϋποθέτει τον εντοπισμό μιας ακέραιης έκφρασης που η τιμή της μειώνεται κάθε φορά που εκτελείται το σώμα του loop μία φορά αλλά ποτέ δε γίνεται αρνητική. Αν μπορεί να βρεθεί μία τέτοια έκφραση αυτή λέγεται μεταβλητό μέρος και ουσιαστικό η ύπαρξή της αποδεικνύει ότι το loop τερματίζει. Για το πρόγραμμα fac1 ένα κατάλληλο μεταβλητό μέρος είναι το x - z ΔΙΑΦΑΝΕΙΑ 43

44 ΑΠΟΔΕΙΚΤΙΚΟΣ ΛΟΓΙΣΜΟΣ ΓΙΑ ΟΛΙΚΗ ΟΡΘΟΤΗΤΑ ΙI Αποδεικτικός κανόνας ολικού while η Β 0 E = E0) C ( η 0 E < E ) ( η 0 E) while B{ C}( η B) ( 0 ΔΙΑΦΑΝΕΙΑ 44

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

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

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

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

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

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

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

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

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

Οι τυπικές μέθοδοι παρέχουν ένα πλαίσιο μέσα στο οποίο μπορούμε να προδιαγράψουμε και να εγκυροποιήσουμε ένα σύστημα με συστηματικό τρόπο.

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

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

ΚΑΤΗΓΟΡΗΜΑΤΙΚΟΣ ΛΟΓΙΣΜΟΣ Ι

ΚΑΤΗΓΟΡΗΜΑΤΙΚΟΣ ΛΟΓΙΣΜΟΣ Ι ΚΑΤΗΓΟΡΗΜΑΤΙΚΟΣ ΛΟΓΙΣΜΟΣ Ι Για τον προτασιακό λογισμό παρουσιάσαμε την αποδεικτική θεωρία (natural deduction/λογικό συμπέρασμα) τη σύνταξη (ορίζεται με γραμματική χωρίς συμφραζόμενα και εκφράζεται με συντακτικά

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

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

Λύσεις Σειράς Ασκήσεων 5 Άσκηση 1 Λύσεις Σειράς Ασκήσεων 5 Να υπολογίσετε τις ασθενέστερες προσυνθήκες έτσι ώστε οι πιο κάτω προδιαγραφές να είναι ορθές σύμφωνα (i) με την έννοια της μερικής ορθότητας και (ii) με την έννοια της

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

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

Λύσεις Σειράς Ασκήσεων 5 Άσκηση Λύσεις Σειράς Ασκήσεων 5 Έστω P και Q συνθήκες και S ένα πρόγραμμα. Να εξηγήσετε με λόγια τις πιο κάτω προδιαγραφές (i) με την έννοια της μερικής ορθότητας και (ii) με την έννοια της ολικής ορθότητας.

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

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

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

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

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

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

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

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

Λύσεις Σειράς Ασκήσεων 5 Άσκηση 1 (α) {x = 12 y = 7} skip {y = 7} Λύσεις Σειράς Ασκήσεων 5 Η προδιαγραφή αυτή είναι ορθή τόσο με την έννοια της μερικής ορθότητας όσο και με την έννοια της ολικής ορθότητας. Αυτό οφείλεται στο γεγονός

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

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

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

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

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

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

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

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

Λύσεις Σειράς Ασκήσεων 5 Λύσεις Σειράς Ασκήσεων 5 Άσκηση 1 (α) Ακολουθεί η απόδειξη της προδιαγραφής (0) { A[X] = x A[Y] = y X Y (1) { A[Y] = y A[X] + Α[Υ] A[Y] = x X Y (2) A[X] := A[X] + A[Y]; (3) { A[Y] = y A[X] A[Y] = x X Y

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

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

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

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

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

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

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

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις Να αποφασίσετε κατά πόσο οι πιο κάτω προδιαγραφές είναι ορθές σύμφωνα με την έννοια της μερικής ορθότητας και την έννοια της ολικής ορθότητας. Να αιτιολογήσετε σύντομα

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

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

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

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

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C Επαναληπτικός βρόχος καλείται το τμήμα του κώδικα μέσα σε ένα πρόγραμμα, το οποίο εκτελείται από την αρχή και επαναλαμβάνεται

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

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός

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

Βρόχοι. Εντολή επανάληψης. Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή. Πρόβλημα. Πώς θα υπολογίσουμε το άθροισμα των ακέραιων ;

Βρόχοι. Εντολή επανάληψης. Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή. Πρόβλημα. Πώς θα υπολογίσουμε το άθροισμα των ακέραιων ; Εντολή επανάληψης Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή Πρόβλημα Πώς θα υπολογίσουμε το άθροισμα των ακέραιων 1 5000; Ισοδύναμοι υπολογισμοί του Ισοδύναμοι υπολογισμοί του Ισοδύναμοι υπολογισμοί

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

Ψευδοκώδικας. November 7, 2011

Ψευδοκώδικας. November 7, 2011 Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε

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

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

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

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

for for for for( . */

for for for for( . */ Εισαγωγή Στον Προγραµµατισµό «C» Βρόχοι Επανάληψης Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Ο βρόχος for Η εντολή for χρησιµοποιείται

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

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

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

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

ΧΡΟΝΙΚΗ ΛΟΓΙΚΗ Ι ΤΥΠΙΚΕΣ ΜΕΘΟΔΟΙ ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΤΜ. ΠΛΗΡΟΦΟΡΙΚΗΣ Α.Π.Θ. ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ. 29 Ιουνίου 2007 ΔΙΑΦΑΝΕΙΑ 1

ΧΡΟΝΙΚΗ ΛΟΓΙΚΗ Ι ΤΥΠΙΚΕΣ ΜΕΘΟΔΟΙ ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΤΜ. ΠΛΗΡΟΦΟΡΙΚΗΣ Α.Π.Θ. ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ. 29 Ιουνίου 2007 ΔΙΑΦΑΝΕΙΑ 1 ΧΡΟΝΙΚΗ ΛΟΓΙΚΗ Ι ΗλογικήCTL* (Computation Tree Logic) χρησιμοποιείται από εργαλεία ελέγχου μοντέλων για την τυπική περιγραφή ιδιοτήτων καταστάσεων που αναφέρονται στις εκτελέσεις ενός συστήματος. Χρησιμοποιεί

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

Μαθηματική Λογική και Απόδειξη

Μαθηματική Λογική και Απόδειξη Μαθηματική Λογική και Απόδειξη Σύντομο ιστορικό σημείωμα: Η πρώτη απόδειξη στην ιστορία των μαθηματικών, αποδίδεται στο Θαλή το Μιλήσιο (~600 π.χ.). Ο Θαλής απέδειξε, ότι η διάμετρος διαιρεί τον κύκλο

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

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια: Εργαστήριο 6: 6.1 Δομές Επανάληψης Βρόγχοι (Loops) Όταν θέλουμε να επαναληφθεί μια ομάδα εντολών τη βάζουμε μέσα σε ένα βρόχο επανάληψης. Το αν θα (ξανα)επαναληφθεί η εκτέλεση της ομάδας εντολών καθορίζεται

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

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

Οι εντολές ελέγχου της ροής ενός προγράμματος.

Οι εντολές ελέγχου της ροής ενός προγράμματος. Κεφάλαιο ΙΙI: Οι εντολές ελέγχου της ροής ενός προγράμματος 31 Εντολές ελέγχου της ροής Στο παρόν κεφάλαιο ασχολούμαστε με την σύνταξη των εντολών της C οι οποίες εισάγουν λογική και ελέγχουν την ροή εκτέλεσης

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

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

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

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

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

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

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

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 5 ο Έλεγχος Προγράµµατος Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Η εντολή if (Ι) Η εντολή if είναι µία από τις βασικότερες δοµές ελέγχου ροής στη C, αλλά και στις περισσότερες

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 1 of 5 10/12/2017, 9:32 PM ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ - ΘΕΜΑΤΑ ΠΑΝΕΛΛΗΝΙΩΝ 1. Να σημειώσετε Σωστό Λάθος στις παρακάτω προτάσεις: 1. Η πράξη της σύζευξης δύο λογικών

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

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΙΛΟΓΗΣ 1) Ποιοι είναι οι τελεστές σύγκρισης και

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

Δομές Δεδομένων & Αλγόριθμοι

Δομές Δεδομένων & Αλγόριθμοι Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν

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

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

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

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

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

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

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

, για κάθε n N. και P είναι αριθμήσιμα.

, για κάθε n N. και P είναι αριθμήσιμα. ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΚΡΙΤA ΜΑΘΗΜΑΤΙΚΑ Διδάσκοντες: Δ.Φωτάκης Θ. Σούλιου η Γραπτή Εργασία Ημ/νια παράδοσης 5/4/8 Θέμα (Διαδικασίες Απαρίθμησης.

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

Μη γράφετε στο πίσω μέρος της σελίδας

Μη γράφετε στο πίσω μέρος της σελίδας Μαθηματική Λογική Εξέταση Σεπτεμβρίου 2016 Σελ. 1 από 5 Στη σελίδα αυτή γράψτε μόνο τα στοιχεία σας. Γράψτε τις απαντήσεις σας στις επόμενες σελίδες, κάτω από τις αντίστοιχες ερωτήσεις. Στις απαντήσεις

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

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

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

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

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

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

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

HY118-Διακριτά Μαθηματικά

HY118-Διακριτά Μαθηματικά HY118-Διακριτά Μαθηματικά Πέμπτη, 15/02/2018 Το υλικό των διαφανειών έχει βασιστεί σε Αντώνης διαφάνειες Α. Αργυρός του Kees van e-mail: argyros@csd.uoc.gr Deemter, από το University of Aberdeen 15-Feb-18

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

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

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

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

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

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Εργαστήριο 4: 4.1 Η Δομή Ελέγχου if Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Γενική Μορφή: Παρατηρήσεις:

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

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

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

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

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1 ΚΕΦΑΛΑΙΟ 7 ο ΠΡΟΓΡΑΜΜΑ : Το πρόγραμμα αποτελείται από μια σειρά οδηγιών, που ονομάζονται εντολές, για την εκτέλεση τέτοιου είδους πράξεων, καθώς επίσης και από ένα σύνολο πρόσθετων οδηγιών ελέγχου, που

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

ΠΑΙΓΝΙΑ Παιχνίδια Γενική Θεώρηση μεγιστοποιήσει την πιθανότητά

ΠΑΙΓΝΙΑ Παιχνίδια Γενική Θεώρηση μεγιστοποιήσει την πιθανότητά ΠΑΙΓΝΙΑ Παιχνίδια Γενική Θεώρηση: Έστω ότι έχουμε τους παίκτες Χ και Υ. Ο κάθε παίκτης, σε κάθε κίνηση που κάνει, προσπαθεί να μεγιστοποιήσει την πιθανότητά του να κερδίσει. Ο Χ σε κάθε κίνηση που κάνει

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

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

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

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

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

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

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

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

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

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

Μη γράφετε στο πίσω μέρος της σελίδας

Μη γράφετε στο πίσω μέρος της σελίδας Μαθηματική Λογική Εξέταση Σεπτεμβρίου 2015 Σελ. 1 από 6 Στη σελίδα αυτή γράψτε μόνο τα στοιχεία σας. Γράψτε τις απαντήσεις σας στις επόμενες σελίδες, κάτω από τις αντίστοιχες ερωτήσεις. Στις απαντήσεις

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

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

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

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

Προτασιακός Λογισμός (HR Κεφάλαιο 1)

Προτασιακός Λογισμός (HR Κεφάλαιο 1) Προτασιακός Λογισμός (HR Κεφάλαιο 1) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Σύνταξη Λογικός Συμπερασμός Σημασιολογία Ορθότητα και Πληρότητα Κανονικές Μορφές Προτάσεις Horn ΕΠΛ 412 Λογική

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

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

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

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός Δομές Ακολουθίας- Επιλογής - Επανάληψης Δομημένος Προγραμματισμός 1 Βασικές Έννοιες αλγορίθμων Σταθερές Μεταβλητές Εκφράσεις Πράξεις Εντολές 2 Βασικές Έννοιες Αλγορίθμων Σταθερά: Μια ποσότητα που έχει

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

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

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

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

Βασικές Έννοιες Αλγορίθμων. Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4)

Βασικές Έννοιες Αλγορίθμων. Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4) Βασικές Έννοιες Αλγορίθμων Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4) Δομές εντολών Υπάρχουν διάφορα είδη εντολών όπως, ανάθεσης ή εκχώρησης τιμής, εισόδου εξόδου, κ.ά., αλλά γενικά χωρίζονται σε τρείς

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

Στοιχεία Προτασιακής Λογικής

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

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

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

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

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

ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 8. Πότε το γινόμενο δύο ή περισσοτέρων αριθμών παραγόντων είναι ίσο με το μηδέν ;

ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 8. Πότε το γινόμενο δύο ή περισσοτέρων αριθμών παραγόντων είναι ίσο με το μηδέν ; ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ ΚΕΦΑΛΑΙΟ ο : ( ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ) ΠΑΡΑΤΗΡΗΣΗ : Το κεφάλαιο αυτό περιέχει πολλά θέματα που είναι επανάληψη εννοιών που διδάχθηκαν στο Γυμνάσιο γι αυτό σ αυτές δεν θα επεκταθώ αναλυτικά

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

Θέματα Προγραμματισμού Η/Υ

Θέματα Προγραμματισμού Η/Υ Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 7: Θεματική Ενότητα: Δομές επανάληψης ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική Ενότητα 7 Δομές επανάληψης

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

Στοιχεία Προτασιακής Λογικής

Στοιχεία Προτασιακής Λογικής Στοιχεία Προτασιακής Λογικής ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Μαθηματικές Προτάσεις (Μαθηματική)

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

Ασκήσεις μελέτης της 8 ης διάλεξης

Ασκήσεις μελέτης της 8 ης διάλεξης Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2017 18 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 8 ης διάλεξης 8.1. (i) Έστω ότι α και β είναι δύο τύποι της προτασιακής

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

ΠΑΝΕΛΛΗΝΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΤΑΡΤΗ 12 ΙΟΥΝΙΟΥ 2019 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΣΠΟΥΔΩΝ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡ/ΚΗΣ ΘΕΜΑ Α Α1. Να γράψετε

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

Γκύζη 14-Αθήνα Τηλ :

Γκύζη 14-Αθήνα Τηλ : ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΔΕΥΤΕΡΑ 23 ΜΑΪΟΥ 2011 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ)

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

Διάλεξη 04: Παραδείγματα Ανάλυσης

Διάλεξη 04: Παραδείγματα Ανάλυσης Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα

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

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα Τµήµα Διοίκησης Επιχειρήσεων Τει Δυτικής Ελλάδας Μεσολόγγι Δρ. Α. Στεφανή Διάλεξη 5 2 Εγκυροποίηση Λογισµικού Εγκυροποίηση Λογισµικού

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

Κεφαλαιο 2.2 ΑΝΑΚΕΦΑΛΑΙΩΤΙΚΕΣ ΑΛΓΟΡΙΘΜΟΙ

Κεφαλαιο 2.2 ΑΝΑΚΕΦΑΛΑΙΩΤΙΚΕΣ ΑΛΓΟΡΙΘΜΟΙ Κεφαλαιο 2.2 ΑΝΑΚΕΦΑΛΑΙΩΤΙΚΕΣ ΑΛΓΟΡΙΘΜΟΙ 1.Σ, 2.Σ, 3. Λ, 4.Σ, 5.Σ Στο α) ανήκουν: 1,2,5,6,7 Στο β) ανήκουν: 3,4,8,9,10 1.-Λ, 2.-Λ, 3.-Σ, 4.-Σ, 5.-Σ 1. -Πραγματικός, 2. -Αρφαριθμητικός, 3.-Αλφαριθμητικός,

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Τρίτη Διάλεξη Εντολές Επιλογής και Επανάληψης Εντολές επιλογής Εντολή if Η πιο απλή μορφή της if συντάσσεται ως εξής: if ( συνθήκη ) Οι εντολές μέσα στα άγκιστρα αποτελούν

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

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα

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

Ασκήσεις Επανάληψης Λύσεις

Ασκήσεις Επανάληψης Λύσεις Άσκηση 1 Ασκήσεις Επανάληψης Λύσεις (α) Το επακόλουθο (A (B C)) ((A C) (A B)) είναι ψευδές. Αυτό φαίνεται στην ανάθεση τιμών [Α] = Τ, [Β] = F, [C] = T. (β) Ακολουθεί η απόδειξη του επακόλουθου. 1. x(p(x)

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής

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

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

3 ο Εργαστήριο Μεταβλητές, Τελεστές

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Δομή Ακολουθίας

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Δομή Ακολουθίας ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Δομή Ακολουθίας Θέμα Α Α1. Να απαντήσετε με Σ ή Λ στα παρακάτω: 1. Όλες οι εντολές σε μία δομή ακολουθίας εκτελούνται υποχρεωτικά. 2. Η Δευτέρα αποτελεί

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

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα

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

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

Σειρά Προβλημάτων 1 Λύσεις Σειρά Προβλημάτων 1 Λύσεις Άσκηση 1 Να διατυπώσετε τον πιο κάτω συλλογισμό στον Προτασιακό Λογισμό και να τον αποδείξετε χρησιμοποιώντας τη Μέθοδο της Επίλυσης. Δηλαδή, να δείξετε ότι αν ισχύουν οι πέντε

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

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα 5: Εντολές επανάληψης Κουκουλέτσος Κώστας Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστικών Συστημάτων

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

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

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

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

Μη γράφετε στο πίσω μέρος της σελίδας

Μη γράφετε στο πίσω μέρος της σελίδας Μαθηματική Λογική Εξέταση Σεπτέμβριος 2014 α Σελ. 1 από 5 Στη σελίδα αυτή γράψτε μόνο τα στοιχεία σας. Γράψτε τις απαντήσεις σας στις επόμενες σελίδες, κάτω από τις αντίστοιχες ερωτήσεις. Στις απαντήσεις

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

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

Λύσεις Σειράς Ασκήσεων 5 Άσκηση 1 Λύσεις Σειράς Ασκήσεων 5 Να υπολογίσετε τις ασθενέστερες προσυνθήκες έτσι ώστε οι πιο κάτω προδιαγραφές να είναι ορθές σύμφωνα (i) με την έννοια της μερικής ορθότητας και (ii) με την έννοια της

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

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη. ΘΕΜΑ 1 ο A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη. 1. Η συνθήκη Χ = Α_Μ (Χ) είναι πάντα αληθής, για

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

Σημειωματάαριο Δευτέρας 16 Οκτ. 2017

Σημειωματάαριο Δευτέρας 16 Οκτ. 2017 Σημειωματάαριο Δευτέρας 16 Οκτ. 2017 Λίστες και ανακύκλωση for Είδαμε στην αρχή (ξανά) μερικά βασικά πράγματα για λίστες. Λίστα είναι μια πεπερασμένη ακολουθία από αντικείμενα (αριθμούς, strings, άλλες

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2015-2016 Θέμα Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις προτάσεις 1-4 και δίπλα τη λέξη ΣΩΣΤΟ,

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

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

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

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

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

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

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

ΑΥΤΟΜΑΤΑ Ι ΤΥΠΙΚΕΣ ΜΕΘΟΔΟΙ ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΤΜ. ΠΛΗΡΟΦΟΡΙΚΗΣ Α.Π.Θ. ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ. 29 Ιουνίου 2007 ΔΙΑΦΑΝΕΙΑ 1

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

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

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

Σειρά Προβλημάτων 1 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 1 Λύσεις (α) Χρησιμοποιούμε τις επιπλέον μεταβλητές PC 0, PC 1, (program counters) οι οποίες παίρνουν ως τιμές ονόματα των γραμμών του κώδικα όπως φαίνεται πιο κάτω. P[0] P[1]

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ 1. Ποιες από τις παρακάτω εντολές είναι σωστές; α) if A + B

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 412: Λογική στην Πληροφορική Δείγμα Ενδιάμεσης Εξέτασης Λύσεις Άσκηση 1 [30 μονάδες] Να αποδείξετε τα πιο κάτω λογικά επακόλουθα χρησιμοποιώντας τα συστήματα

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

Σημειωματάριο Τετάρτης 18 Οκτ. 2017

Σημειωματάριο Τετάρτης 18 Οκτ. 2017 Σημειωματάριο Τετάρτης 18 Οκτ. 2017 Περισσότερα για λίστες και ανακύκλωση Είδαμε σήμερα διάφορα προβλήματα και λύσεις για λίστες. Είδαμε επίσης την ανακύκλωση while. Στο επόμενο βλέπουμε πώς μπορούμε να

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

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) ({ G η G είναι μια ασυμφραστική γραμματική που δεν παράγει καμιά λέξη με μήκος μικρότερο του 2 } (β) { Μ,w

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

12. ΑΝΙΣΩΣΕΙΣ Α ΒΑΘΜΟΥ. είναι δύο παραστάσεις μιας μεταβλητής x πού παίρνει τιμές στο

12. ΑΝΙΣΩΣΕΙΣ Α ΒΑΘΜΟΥ. είναι δύο παραστάσεις μιας μεταβλητής x πού παίρνει τιμές στο ΓΕΝΙΚΑ ΠΕΡΙ ΑΝΙΣΩΣΕΩΝ Έστω f σύνολο Α, g Α ΒΑΘΜΟΥ είναι δύο παραστάσεις μιας μεταβλητής πού παίρνει τιμές στο Ανίσωση με έναν άγνωστο λέγεται κάθε σχέση της μορφής f f g g ή, η οποία αληθεύει για ορισμένες

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

Θέματα Προγραμματισμού Η/Υ

Θέματα Προγραμματισμού Η/Υ Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 1: Εισαγωγή Θεματική Ενότητα: Εισαγωγή στον Προγραμματισμό ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική

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

ΘΕΜΑ Α. Α2. Να αναφέρετε από τι εξαρτάται η επιλογή του καλύτερου αλγορίθμου ταξινόμησης. Μονάδες 4. Σελίδα 1 από 8

ΘΕΜΑ Α. Α2. Να αναφέρετε από τι εξαρτάται η επιλογή του καλύτερου αλγορίθμου ταξινόμησης. Μονάδες 4. Σελίδα 1 από 8 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2013 Γ Λυκείου Τεχνολογική Κατεύθυνση ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5

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

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

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

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

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

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΣΕΠΤΕΜΒΡΙΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 ΘΕΜΑ Α :

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

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

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 ΘΕΜΑ Α : Α1. Να

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