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

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

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

Transcript

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

2 Ανάλυση της ορθότητας προγραμμάτων Αφορά στην απόδειξη ότι ένα πρόγραμμα ικανοποιεί τις προδιαγραφές του. Γιατί όχι μοντελοέλεγχος; Ο μοντελοέλεγχος είναι εφαρμόσιμος σε συστήματα με πολύπλοκη ροή (συντρέχουσες διεργασίες) και στην απουσία σύνθετης επεξεργασίας δεδομένων. Υποθέτει την ύπαρξη μοντέλων με πεπερασμένο αριθμό καταστάσεων. Τα σειριακά προγράμματα (συνήθως) εκτελούν σύνθετη επεξεργασία δεδομένων και έχουν απλή ροή (σειριακή) και μη-πεπερασμένο αριθμό καταστάσεων. Στην ενότητα αυτή θα μελετήσουμε την τεχνική των Floyd-Hoare για απόδειξη της ορθότητας τέτοιων προγραμμάτων. ΕΠΛ 412 Λογική στην Πληροφορική 9-2

3 Η Τεχνική Floyd-Hoare Βασίζεται στην κατασκευή αποδείξεων Δεν εκτελείται εξαντλητικός έλεγχος κάθε κατάστασης του συστήματος (μη πεπερασμένος αριθμός καταστάσεων!). Η απόδειξη κατασκευάζεται με τη χρήση κανόνων (όπως και στον Προτασιακό Λογισμό). Είναι ημι-αυτοματοποιημένη: Δεν υπάρχει αλγόριθμος για την τεχνική (όπως στον Μοντελοέλεγχο ή στη Μέθοδο Επίλυσης). Τα βήματα μπορούν να ελεγχθούν από μηχανή και κάποια μπορούν να εκτελεστούν αυτόματα, άλλα όμως απαιτούν ανθρώπινη συμμετοχή. Είναι προσανατολισμένη σε στόχους: Εντοπίζουμε μέρη της προδιαγραφής των οποίων ελέγχουμε την ορθότητα. Είναι εφαρμόσιμη σε συγκεκριμένο πεδίο εφαρμογών: Σειριακά προγράμματα τα οποία μετατρέπουν τα δεδομένα εισόδου τους σε δεδομένα εξόδου. ΕΠΛ 412 Λογική στην Πληροφορική 9-3

4 Κίνητρα Παρά την όποια δυσκολία στη χρήση της, μια μέθοδος ανάλυσης της ορθότητας προγραμμάτων: Εξαναγκάζει τη σαφή διατύπωση των προδιαγραφών του προγράμματος. Συντείνει στην αποδοτικότερη ανάπτυξη και συντήρηση λογισμικού (χρόνος/κόστος). Αντιμετωπίζει τα λάθη από τη φάση της σχεδίασης. Προσφέρει τη δυνατότητα για ασφαλή επαναχρησιμοποίηση κώδικα. Παρέχει εγγυήσεις οι οποίες θεωρούνται απαραίτητες κατά τη δημιουργία συστημάτων κρίσιμης ασφάλειας. ΕΠΛ 412 Λογική στην Πληροφορική 9-4

5 Η Γλώσσα WHILE H γλώσσας που θα μελετήσουμε έχει την πιο κάτω σύνταξη. Εντολές: C ::= x:=e C;C if B {C} else {C} while B {C} Αριθμητικές Εκφράσεις: Ε ::= n x E (E+E) (E E) (E*E) όπου το n παίρνει τιμές από τους ακέραιους και το x είναι το όνομα οποιασδήποτε μεταβλητής. Λογικές Εκφράσεις: Β ::= true false (!B) (B&B) (B B) (E<E) ΕΠΛ 412 Λογική στην Πληροφορική 9-5

6 Παράδειγμα Το πιο κάτω πρόγραμμα υπολογίζει τον n-ιοστό παραγοντικό αριθμό. y = 1; z = 0; while (z!= n) { z := z + 1; y := y * z; } (z < n n < z) ΕΠΛ 412 Λογική στην Πληροφορική 9-6

7 Τριάδες Hoare Συμβολισμός: {φ} C {ψ} όπου C το πρόγραμμα υπό μελέτη και φ, ψ συνθήκες που σχετίζονται με τις μεταβλητές που χρησιμοποιεί το C. Ερμηνεία: Κάθε φορά που το πρόγραμμα C εκτελείται σε μια κατάσταση που ικανοποιεί τη συνθήκη φ τότε θα τερματίσει σε μια κατάσταση που ικανοποιεί τη συνθήκη ψ. ΕΠΛ 412 Λογική στην Πληροφορική 9-7

8 Συνθήκες Αποτελούν εκφράσεις μια απλής λογικής γλώσσας: Περιέχουν μεταβλητές του προγράμματος, σταθερές, λογικούς τελεστές, κλπ. Όταν προηγούνται μιας εντολής περιγράφουν τους περιορισμούς που πρέπει να ισχύουν κατά την εκτέλεση της εντολής. προσυνθήκες preconditions Όταν έπονται μιας εντολής, περιγράφουν τους περιορισμούς που πρέπει να ισχύουν μετά από την εκτέλεση της εντολής. μετασυνθήκες postconditions Εκφράσεις της μορφής {φ} C {ψ}(τριάδες Hoare) ονομάζονται προδιαγραφές. ΕΠΛ 412 Λογική στην Πληροφορική 9-8

9 Παράδειγμα (1) Οι προδιαγραφές είναι αληθείς. Η προδιαγραφή είναι ψευδής. ΕΠΛ 412 Λογική στην Πληροφορική 9-9

10 Παράδειγμα (2) Η πιο κάτω προδιαγραφή είναι αληθής. Οι μεταβλητές x και y που εμφανίζονται στην προ-συνθήκη και όχι στο πρόγραμμα ονομάζονται βοηθητικές μεταβλητές. Σκοπός τους είναι να δώσουν αρχικές τιμές στις μεταβλητές. ΕΠΛ 412 Λογική στην Πληροφορική 9-10

11 Μερική και Ολική Ορθότητα Μερική Ορθότητα: Η προδιαγραφή {φ} C {ψ} είναι αληθής υπό την έννοια της μερικής ορθότητας αν κάθε φορά που το C ξεκινά σε μια κατάσταση που ικανοποιεί την προσυνθήκη φ και τερματίζει τότε η κατάσταση τερματισμού ικανοποιεί τη μετασυνθήκη ψ. Γράφουμε = par {φ} C {ψ} To πρόγραμμα while true { x := 0 } ικανοποιεί οποιαδήποτε προδιαγραφή μερικής ορθότητας εφόσον δεν τερματίζει. Ολική Ορθότητα: Η προδιαγραφή {φ} C {ψ} είναι αληθής υπό την έννοια της ολικής ορθότητας αν κάθε φορά που το C ξεκινά σε μια κατάσταση που ικανοποιεί την προσυνθήκη φ τότε τερματίζει και η κατάσταση τερματισμού ικανοποιεί τη μετασυνθήκη ψ. Γράφουμε = tot {φ} C {ψ} ΕΠΛ 412 Λογική στην Πληροφορική 9-11

12 Τεχνική Floyd-Hoare Δημιουργία τυπικών αποδείξεων για προδιαγραφές προγραμμάτων. Χρησιμοποιεί Αξιώματα και κανόνες εξαγωγής συμπερασμάτων που παρέχει η τεχνική Θεωρήματα κλασσικών μαθηματικών. ΕΠΛ 412 Λογική στην Πληροφορική 9-12

13 Αξίωμα Εντολής Ανάθεσης { φ[ E / x]} x : E { φ} φ[e/x] είναι το αποτέλεσμα της αντικατάστασης όλων των εμφανίσεων της μεταβλητής x από την έκφραση Ε στην φ. Παράδειγμα: {y = 2} x:= y {x = 2} {x+1 = n+1} x:= x+1 {x = n+1} {y = 4} x:= y {x = 4} ΕΠΛ 412 Λογική στην Πληροφορική 9-13

14 Συζήτηση Αξιώματος Προσοχή: Ο κανόνας δεν θα μπορούσε να είναι {φ} x:= E {φ[e/x]} αφού αυτό θα έδινε προδιαγραφές όπως: {x=6} x:= 5 {5=6}. Το Αξίωμα της Εντολής Ανάθεσης εφαρμόζεται πιο εύκολα στην αντίστροφη πορεία μιας απόδειξης, δηλαδή, γνωρίζοντας την μετασυνθήκη μιας εντολής, παράγουμε την προσυνθήκη της εντολής. Εφόσον η αντίστροφη εφαρμογή του κανόνα ισοδυναμεί με την εφαρμογή μιας αντικατάστασης, υλοποίηση του κανόνα για αυτοματοποίηση μιας απόδειξης είναι ξεκάθαρη. ΕΠΛ 412 Λογική στην Πληροφορική 9-14

15 Κανόνας Ενδυνάμωσης της Προσυνθήκης φ η { η} C { ψ} { φ} C { ψ} Εξήγηση Κανόνα: Αν το φ συνεπάγεται το η και η προδιαγραφή {η} C {ψ} είναι αληθής τότε και η προδιαγραφή {φ} C {ψ} είναι αληθής. ΕΠΛ 412 Λογική στην Πληροφορική 9-15

16 Παράδειγμα Έστω {X+1 = n+1} X:= X+1 {X=n+1} Αφού το (Χ+1 = n+1) συνεπάγεται ότι (X = n) βάσει του κανόνα της Ενδυνάμωσης της Προσυνθήκης συμπεραίνουμε ότι {X = n} X:= X+1 {X=n+1} ΕΠΛ 412 Λογική στην Πληροφορική 9-16

17 Κανόνας Αποδυνάμωσης της Μετασυνθήκης η ψ { φ} C { η} { φ} C { ψ} Εξήγηση Κανόνα: Αν το η συνεπάγεται το ψ και η προδιαγραφή {φ} C {η} είναι αληθής τότε και η προδιαγραφή {φ} C {ψ} είναι αληθής. Οι Κανόνες Ενδυνάμωσης και Αποδυνάμωσης ονομάζονται και Κανόνες Συνεπαγωγής. ΕΠΛ 412 Λογική στην Πληροφορική 9-17

18 Παράδειγμα Να δείξετε ότι {y=5} x:= y+1 {x>0} Απόδειξη * : Κατ αρχή, παρατηρούμε ότι από το Αξίωμα Εντολής Ανάθεσης η προδιαγραφή {y+1=6} x:= y+1 {x=6} είναι αληθής. Αφού (y = 5) (y+1 = 6), από τον Κανόνα Ενδυνάμωσης Προσυνθήκης προκύπτει ότι: {y=5} x:= y+1 {x=6} Αφού (x=6) (x > 0) με τη χρήση του Κανόνα Αποδυνάμωσης Μετασυνθήκης {y=5} x:= y+1 {x>0} και η απόδειξη ολοκληρώθηκε. * Σημείωση: Υπάρχουν και άλλοι τρόποι για να γίνει η απόδειξη. ΕΠΛ 412 Λογική στην Πληροφορική 9-18

19 Κανόνας Ακολουθίας Εντολών { φ} C 1 { η} { φ} C 1 ; C { η} C 2 2 { ψ} { ψ} Εξήγηση: Για να δείξουμε την ορθότητα της προδιαγραφής {φ} C 1 ;C 2 {ψ} χρειάζεται να εντοπίσουμε ενδιάμεση συνθήκη η για την οποία να ισχύει ότι {φ} C 1 {η} και {η} C 2 {ψ}. ΕΠΛ 412 Λογική στην Πληροφορική 9-19

20 Παράδειγμα Αν γνωρίζουμε ότι από τον Κανόνα Ακολουθίας Εντολών και τις δύο πρώτες προτάσεις μπορούμε να συμπεράνουμε ότι και στη συνέχεια ότι ΕΠΛ 412 Λογική στην Πληροφορική 9-20

21 Κανόνας Εντολής if { φ B} C { φ} if 1 { ψ} B then C { B} C 1 else C 2 2 { ψ} { ψ} Εξήγηση: Για να δείξουμε την ορθότητα της προδιαγραφής {φ} if B then C 1 else C 2 {ψ} χρειάζεται να δείξουμε ότι από τη προσυνθήκη φ προκύπτει η μετασυνθήκη ψ ανεξάρτητα από τον τρόπο με τον οποίο θα εκτελεστεί η εντολή if, δηλαδή, ανεξάρτητα από την λογική τιμή που θα λάβει η συνθήκη Β της εντολής. Έτσι αποδεικνύουμε δύο επιμέρους προδιαγραφές που αντιστοιχούν στις δύο περιπτώσεις Β και Β. ΕΠΛ 412 Λογική στην Πληροφορική 9-21

22 Παράδειγμα Με χρήση του κανόνα μπορούμε να δείξουμε ότι η προδιαγραφή είναι αληθής. Συγκεκριμένα δείχνουμε ότι: {y>1 x>0} y:=y-1 {y>0} {y>1 x>0} y:=y+1 {y>0} H ορθότητα των δύο προτάσεων προκύπτει μέσω του Αξιώματος της Ανάθεσης και του Κανόνα Ενδυνάμωσης Προσυνθήκης. ΕΠΛ 412 Λογική στην Πληροφορική 9-22

23 Κανόνας Εντολής while { ψ} { ψ B} C { ψ} while B C { ψ B} O κανόνας βασίζεται στη συνθήκη ψ η οποία ονομάζεται αμετάβλητη συνθήκη (invariant) διότι εξακολουθεί να ισχύει μετά από την εφαρμογή του κανόνα. Εξήγηση: Ο κανόνας λέει ότι αν η ψ είναι μια αμετάβλητη συνθήκη του σώματος μιας εντολής while (όταν ισχύει και η συνθήκη Β) τότε η ψ είναι μια αμετάβλητη συνθήκη ολόκληρης της εντολής while. ΕΠΛ 412 Λογική στην Πληροφορική 9-23

24 Παράδειγμα Να αποδείξετε ότι: {true} R:= X; Q:= 0; while (Y<= R){ R:= R-Y; Q:= Q+1; } {R<Y X= R + Y*Q} Ο κώδικας αυτός υπολογίζει το πηλίκο (Q) και το υπόλοιπο (R) της διαίρεσης του Χ από το Υ ΕΠΛ 412 Λογική στην Πληροφορική 9-24

25 Απόδειξη Χρησιμοποιώντας τον Κανόνα της Ακολουθίας, θα δείξουμε ότι: 1. {true} R:= X;Q:= 0; {X= R + Y*Q} και στη συνέχεια ότι 2. {X= R + Y*Q} while (Y<= R){R:= R-Y;Q:= Q+1;} {R<Y X= R + Y*Q} Το πρώτο σκέλος αποδεικνύεται εύκολα μέσω δύο εφαρμογών του Κανόνα της Ανάθεσης, του Κανόνα της Ακολουθίας και του Κανόνα Ενδυνάμωσης της Προσυνθήκης. Για το δεύτερο σκέλος έχουμε να δείξουμε ότι: Με βάση τον Κανόνα της Ανάθεσης: Και επίσης {R>= Y X= R + Y*Q} R:= R-Y;Q:= Q+1; {X= R + Y*Q} {X= R + Y*(Q+1)} Q:= Q+1; {X= R + Y*Q} {X= R-Y + Y*(Q+1)} R:= R-Y; {X= R + Y*(Q+1)}. ΕΠΛ 412 Λογική στην Πληροφορική 9-25

26 Απόδειξη (συν.) και επομένως ότι {X= R + Y*Q} R:= R-Y; {X= R + Y*(Q+1)} Από τον Κανόνα της Ακολουθίας προκύπτει το ζητούμενο {X= R + Y*Q} R:= R-Y;Q:= Q+1; {X= R + Y*Q} Με ενδυνάμωση της προσυνθήκης έχουμε ότι: {X= R + Y*Q Υ <= R} R:= R-Y;Q:= Q+1; {X= R + Y*Q} Εφαρμόζουμε τον Κανόνα του while παίρνοντας ότι {X= R + Y*Q} while (Y<= R){ R:= R-Y; Q:= Q+1; } {R<Y X= R + Y*Q} Και μέσω μιας ακόμα εφαρμογής του Κανόνα της Ακολουθίας το ζητούμενο έπεται. ΕΠΛ 412 Λογική στην Πληροφορική 9-26

27 Πίνακες Απόδειξης Αποδείξεις της ορθότητας μιας προδιαγραφής Hoare μπορούν (για ευκολία) να παρουσιαστούν ως πίνακες στους οποίους παρεμβάλουμε προτάσεις ανάμεσα στις γραμμές (εντολές) του προγράμματος. Έτσι, η απόδειξη της προδιαγραφής ενός πρόγραμμα C 1 ; C 2 ; ; C n έχει τη μορφή {φ 0 } C 1 ; {φ 1 } Αιτιολόγηση (όνομα κανόνα) C 2 ; {φ n-1 } Αιτιολόγηση C n ; {φ n } Αιτιολόγηση Μια τέτοια απόδειξη ονομάζεται απόδειξη ταμπλό (tableaux proof). ΕΠΛ 412 Λογική στην Πληροφορική 9-27

28 Πίνακες Απόδειξης (2) Πως προκύπτουν τα φ i στον πίνακα; Δουλεύουμε «προς τα πίσω», ξεκινώντας από τη μετασυνθήκη και προσπαθώντας να εντοπίσουμε κατάλληλες ενδιάμεσες συνθήκες χρησιμοποιώντας τους κανόνες. Η διαδικασία υπολογισμού κατάλληλου φ i στο βήμα {φ i } C i ; {φ i+1 } ονομάζεται υπολογισμός της ασθενέστερης προσυνθήκης (weakest precondition): ψάχνουμε να βρούμε τη λογικά πιο ασθενή (χαλαρή) ιδιότητα για την οποία ισχύει η προδιαγραφή. (Η συνθήκη φ είναι ασθενέστερη από τη συνθήκη ψ αν φ ψ.) ΕΠΛ 412 Λογική στην Πληροφορική 9-28

29 Αποδείξεις ταμπλό Ανάθεση και Συνεπαγωγή Αναθέσεις: Ποια είναι η ασθενέστερη προσυνθήκη για μια εντολή ανάθεσης x:= E με μετασυνθήκη ψ; Η ψ[ε/x]. Συνεπώς το αξίωμα ανάθεσης σε απόδειξη «ταμπλό» έχει ως εξής: {ψ[ε/x] } x := E {ψ} Κανόνας Ανάθεσης Συνεπαγωγή: Μπορούμε να γράψουμε μία πρόταση φ ακριβώς κάτω από μία άλλη πρόταση ψ - χωρίς να παρεμβάλλεται κώδικας - αν η φ συνεπάγεται από την ψ ΕΠΛ 412 Λογική στην Πληροφορική 9-29

30 Παράδειγμα 1 Να δείξετε ότι = par {true} z := x; z := z + y; u := z; {u = x+y} Απόδειξη: {true} {x+y = x+y} Ενδυνάμωση της Προσυνθήκης z := x; {z+y = x+y} Κανόνας Ανάθεσης z := z + y; {z = x+y} Κανόνας Ανάθεσης u := z; {u = x+y} Κανόνας Ανάθεσης ΕΠΛ 412 Λογική στην Πληροφορική 9-30

31 Αποδείξεις ταμπλό Εντολή if Ποια είναι η ασθενέστερη προσυνθήκη φ για μια εντολή if B then C 1 else C 2 με μετασυνθήκη ψ; Υπολογίζουμε τη φ ως εξής: 1. Σπρώχνουμε τη ψ προς τα πάνω μέσω της C 1 (που μπορεί να είναι μια ακολουθία εντολών). Έστω ότι το αποτέλεσμα είναι ο τύπος φ Παρόμοια, σπρώχνουμε τη ψ προς τα πάνω μέσω της C 2. Έστω ότι το αποτέλεσμα είναι ο τύπος φ Θέτουμε ως φ την πρόταση (Β φ 1 ( Β φ 2. ΕΠΛ 412 Λογική στην Πληροφορική 9-31

32 Να δείξετε ότι = par {true} Succ; {y = x+1} όπου Succ το πρόγραμμα: Παράδειγμα a := x+1; if (a-1 == 0) y := 1; else y := a; ΕΠΛ 412 Λογική στην Πληροφορική 9-32

33 Παράδειγμα (συν.) Απόδειξη: {true} {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} Κανόνας Εντολής if y:= a; {y = x+1} Κανόνας Ανάθεσης {y = x+1} Κανόνας Εντολής if ΕΠΛ 412 Λογική στην Πληροφορική 9-33

34 Αποδείξεις ταμπλό Εντολή while (1) Εντολή while: { } { B} C { } while B C { B} Σύμφωνα με τον κανόνα, η αμετάβλητη συνθήκη η επιλέγεται έτσι ώστε η ορθότητα της να διατηρείται από τον βρόχο C του while. Αυτό σημαίνει ότι αν η B είναι αληθής και η η είναι αληθής πριν από την εκτέλεση της C και αν το σώμα εντολών C τερματίζει, τότε η η είναι επίσης αληθής στο τέλος της εκτέλεσης. Η ερμηνεία αυτή είναι συμβατή με την έννοια της μερικής ορθότητας. ΕΠΛ 412 Λογική στην Πληροφορική 9-34

35 Αποδείξεις ταμπλό Εντολή while (2) Ο κανόνας μας επιτρέπει να αποδεικνύουμε προδιαγραφές των οποίων η μετασυνθήκη είναι η σύζευξη της προσυνθήκης με την άρνηση του Β, δηλαδή, προδιαγραφές της μορφής: {η} while B C { η Β} Πως μπορούμε να χειριστούμε προδιαγραφές της μορφής {φ} while B C {ψ} όπου οι ιδιότητες φ και ψ δε σχετίζονται μεταξύ τους; ΕΠΛ 412 Λογική στην Πληροφορική 9-35

36 Αποδείξεις ταμπλό Εντολή while (3) Η απάντηση είναι ότι πρέπει να εντοπίσουμε κατάλληλη αμετάβλητη συνθήκη η τέτοια ώστε φ η η Β ψ {η} while B C { η Β} Σε τέτοια περίπτωση, οι κανόνες συνεπαγωγής μας οδηγούν στο συμπέρασμα ότι {φ} while B C {ψ} Το πιο κρίσιμο βήμα της απόδειξης είναι η επιλογή της αμετάβλητης συνθήκης (invariant). ΕΠΛ 412 Λογική στην Πληροφορική 9-36

37 Αποδείξεις ταμπλό Εντολή while (4) Ορισμός: Αμετάβλητη συνθήκη σε μία εντολή while B C είναι μια πρόταση η τέτοια ώστε par η Β C η Μία χρήσιμη αμετάβλητη συνθήκη συνήθως εκφράζει μία σχέση μεταξύ των μεταβλητών του βρόχου C, μία σχέση που διατηρείται ακόμη και αν οι τιμές των μεταβλητών αλλάξουν. Ένας τρόπος για να ανακαλύπτουμε την αμετάβλητη συνθήκη είναι να δημιουργήσουμε ένα ίχνος εκτέλεσης του προγράμματος (trace). ΕΠΛ 412 Λογική στην Πληροφορική 9-37

38 Παράδειγμα Έστω το πρόγραμμα fact(x) με κώδικα y := 1; z := 0; while (z!= x) { z := z + 1; y := y * z; } επανάληψη z y z!= x true true true true true true false Έστω ότι το πρόγραμμα εκτελείται για x = 6. Ο πίνακας επιδεικνύει τις τιμές των μεταβλητών του προγράμματος κατά την εκκίνηση της i-οστής εκτέλεσης του βρόχου. Παρατηρούμε ότι η αμετάβλητη συνθήκη είναι απλά η y = z! ΕΠΛ 412 Λογική στην Πληροφορική 9-38

39 Παράδειγμα (συν.) Η αμετάβλητη συνθήκη που εντοπίστηκε επίσης διαθέτει τις ιδιότητες που επιθυμούμε: είναι αρκετά ασθενής ώστε τελικά να προκύπτει από την προσυνθήκη της εντολής while που είναι y = 1 z = 0 είναι και αρκετά ισχυρή έτσι ώστε μαζί με την άρνηση της συνθήκης του while να συνεπάγεται τη μετασυνθήκη y = x! Δηλαδή ισχύουν οι συνεπαγωγές (y = 1 z = 0) (y = z!) και (y = z! x = z) (y = x!) ΕΠΛ 412 Λογική στην Πληροφορική 9-39

40 Εντολές while σε απόδειξη «ταμπλό»: 1. Εντοπίζουμε μια συνθήκη η που υπολογίζουμε να είναι κατάλληλη αμετάβλητη συνθήκη. 2. Προσπαθούμε να αποδείξουμε ότι η Β ψ (όπου Β είναι η λογική συνθήκη της εντολής while) και ότι φ η. Αν τα καταφέρουμε προχωρούμε στο Βήμα 3, διαφορετικά επιστρέφουμε στο Βήμα Σπρώχνουμε τη συνθήκη η προς τα πάνω μέσα από το σώμα του βρόχου εφαρμόζοντας τους κανόνες που πρέπει ανάλογα με τις εντολές που συναντούμε. Έστω ότι προκύπτει η συνθήκη η. 4. Αποδεικνύουμε ότι η Β η, που ουσιαστικά αποδεικνύει ότι το η είναι αμετάβλητη συνθήκη. (Αν αποτύχουμε επιστρέφουμε στο Βήμα 1.) 5. Τέλος, γράφουμε την η πάνω από την εντολή while και αμέσως προηγούμενα τη συνθήκη φ. ΕΠΛ 412 Λογική στην Πληροφορική 9-40

41 Παράδειγμα (συν.) {True} {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)} Κανόνας while {y = x!} Κανόνας Συνεπαγωγής ΕΠΛ 412 Λογική στην Πληροφορική 9-41

42 Ολική Ορθότητα Το σύστημα αποδείξεων που έχουμε μελετήσει αποδεικνύει τη μερική ορθότητα προγραμμάτων. Δηλαδή, ελέγχει κατά πόσο το πρόγραμμα ικανοποιεί την προδιαγραφή του σε περίπτωση που τερματίζει. Δεν ενημερώνει αν το πρόγραμμα τερματίζει ή αν εισέρχεται σε ατέρμονο βρόχο. Κατά την ανάλυση ολικής ορθότητας μας ενδιαφέρει να αποδείξουμε ότι και το πρόγραμμα τερματίζει και ικανοποιεί την προδιαγραφή του κατά τον τερματισμό. ΕΠΛ 412 Λογική στην Πληροφορική 9-42

43 Τερματισμός και η εντολή while H μόνη εντολή που μπορεί να προκαλέσει μη τερματισμό στη γλώσσα που μελετούμε είναι η εντολή while. Επομένως το Σύστημα Απόδειξης Ολικής Ορθότητας κληρονομεί τους κανόνες/αξιώματα από το Σύστημα Απόδειξης Μερικής Ορθότητας με εξαίρεση τον Κανόνα while. O αναθεωρημένος Κανόνας while αποτελείται από δύο σκέλη: Την απόδειξη της μερικής ορθότητας, δηλαδή απόδειξη ότι αν ο βρόχος τερματίσει τότε ικανοποιεί την προδιαγραφή του και Την απόδειξη ότι τερματίζει. ΕΠΛ 412 Λογική στην Πληροφορική 9-43

44 Τερματισμός και η εντολή while Η απόδειξη τερματισμού προϋποθέτει τον εντοπισμό μιας ακέραιης έκφρασης της οποίας η τιμή μειώνεται κάθε φορά που εκτελείται το σώμα του βρόχου και δεν γίνεται ποτέ αρνητική. Μια τέτοια έκφραση ονομάζεται η μεταβλητή έκφραση (variant) και η ύπαρξή της αποδεικνύει ότι o βρόχος τερματίζει. Για το πρόγραμμα fact (Διαφάνεια 9-38) μία κατάλληλη μεταβλητή έκφραση είναι η x z: Κατά την εκκίνηση της εκτέλεσης του βρόχου x-z = x Με κάθε επανάληψη του βρόχου η τιμή της x-z μειώνεται κατά 1 (αφού το z αυξάνεται κατά 1) Το x-z δεν μπορεί να γίνει ποτέ αρνητικό: όταν γίνει 0 ο βρόχος τερματίζει. ΕΠΛ 412 Λογική στην Πληροφορική 9-44

45 Ο κανόνας Τotal-while { 0 Β 0 E { 0 E} E0} C while B { 0 E C { E B} } Η Ε είναι η μεταβλητή έκφραση και ως Ε 0 συμβολίζουμε την αρχική της τιμή. Εξήγηση Κανόνα: Σύμφωνα με τον κανόνα, αν η συνθήκη η είναι μια αμετάβλητη συνθήκη του βρόχου και επιπλέον η Ε είναι μια μεταβλητή έκφραση με αρχική μη-αρνητική τιμή Ε 0 η οποία μειώνεται σε κάθε εκτέλεση του C χωρίς να γίνει μικρότερη από το 0 τότε η η είναι μια αμετάβλητη συνθήκη ολόκληρης της εντολής while το οποίο τερματίζει. ΕΠΛ 412 Λογική στην Πληροφορική 9-45

46 Παράδειγμα Θα δείξουμε ότι το πρόγραμμα fact y := 1; z := 0; while (z!= x) { z := z + 1; y := y * z; } Ικανοποιεί την προδιαγραφή = tot {x 0} fact {y = x!} με αμετάβλητη συνθήκη την y = z! και μεταβλητή έκφραση την x z. ΕΠΛ 412 Λογική στην Πληροφορική 9-46

47 Παράδειγμα (συν.) {x 0} {1 = 0! 0 x-0} Ενδυνάμωση Προσυνθήκης y := 1; {y = 0! 0 x-0} Κανόνας Ανάθεσης z := 0; {y = z! 0 x-z} Κανόνας Ανάθεσης while (z!= x) { {y = z! z x 0 x-z = E 0 } Υπόθεση Αμ. Συνθήκης & Φρουρός { y * (z + 1) = (z + 1)! 0 x- (z+1) < E 0 } Κανόνας Συνεπαγωγής z := z + 1; {y * z = z! 0 x- z < E 0 } Κανόνας Ανάθεσης y := y * z; { y = z! 0 x- z < E 0 } Κανόνας Ανάθεσης } {y = z! (z x)} Κανόνας while {y = x!} Κανόνας Συνεπαγωγής ΕΠΛ 412 Λογική στην Πληροφορική 9-47

48 Τερματισμός εντολών while Στη γενική περίπτωση, το πρόβλημα κατά πόσο μια εντολή while τερματίζει είναι μη αποφασίσιμο: δεν υπάρχει διαδικασία η οποία με δεδομένο εισόδου μια εντολή while να μπορεί να απαντήσει αν αυτή τερματίζει. Κατ επέκταση το ίδιο ισχύει και για την εύρεση μεταβλητών εκφράσεων για τέτοιες εντολές. Ο πιο κάτω κώδικας επιδεικνύει ένα χαρακτηριστικά «δύσκολο» βρόχο για τον οποίο έχει δειχθεί η αδυναμία εύρεσης μεταβλητής συνθήκης παρόλο που εμπειρικά παρατηρούμε ότι ο βρόχος τερματίζει πάντα. c := x; while ( c!= 1){ if (c mod 2 == 0) c := c/2 else c := 3*c + 1 } Για x = 5 ο βρόχος εκτελεί 6 επαναλήψεις, για x = 72 εκτελεί 32 επαναλήψεις για x = εκτελεί 177 επαναλήψεις... ΕΠΛ 412 Λογική στην Πληροφορική 9-48

49 Σχόλια Τα συστήματα κανόνων που μελετήσαμε είναι ορθά: αν μπορούμε να αποδείξουμε την ορθότητα μιας προδιαγραφής μέσω των συστημάτων αυτών τότε οι προδιαγραφές είναι πράγματι ορθές. Τα συστήματα αυτά όμως δεν είναι πλήρη: υπάρχουν ορθές προδιαγραφές που δεν αποδεικνύονται βάσει αυτών. Επεκτάσεις των συστημάτων έχουν διατυπωθεί για: Συναρτήσεις Παράλληλα προγράμματα Συναρτησιακές Γλώσσες Προγραμματισμού ΕΠΛ 412 Λογική στην Πληροφορική 9-49

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

51 Άσκηση 2 Να αποδείξετε την ολική ορθότητα της προδιαγραφής = tot {x > 0} P {s = x (x-1)/2} όπου ο κώδικας του Ρ δίνεται πιο κάτω. s := 0; i := 1; while (i!= x){ s := s + i; i := i + 1; } ΕΠΛ 412 Λογική στην Πληροφορική 9-51

52 Άσκηση 3 Να αποδείξετε την ολική ορθότητα της προδιαγραφής = tot {0 n} P {r = x n } όπου ο κώδικας του Ρ δίνεται πιο κάτω. r := 1; p := x; e := n; while e > 0 { if (e mod 2) <> 0 then r := r * p; p := p * p; e := e div 2; } ΕΠΛ 412 Λογική στην Πληροφορική 9-52

53 Άσκηση 4 Να αποδείξετε την ολική ορθότητα της προδιαγραφής = tot {0 n} P {s = x n } όπου ο κώδικας του Ρ δίνεται πιο κάτω. s := 1; m := x; e := n; while (e!= 0) while (even(e)) do m := m*m; e := e / 2; e := e-1; s := s*m ΕΠΛ 412 Λογική στην Πληροφορική 9-53

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λύσεις Σειράς Ασκήσεων 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

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

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

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

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

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Α2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών Α3. Ο αλγόριθμος

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

Επαναληπτικές Διαδικασίες

Επαναληπτικές Διαδικασίες Επαναληπτικές Διαδικασίες Οι επαναληπτικές δομές ( εντολές επανάληψης επαναληπτικά σχήματα ) χρησιμοποιούνται, όταν μια ομάδα εντολών πρέπει να εκτελείται αρκετές- πολλές φορές ανάλογα με την τιμή μιας

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

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 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

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

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

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

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 008 Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Παρατηρούμε ότι ο χρόνος εκτέλεσης μέσης περίπτωσης της κάθε εντολής if ξεχωριστά: if (c mod 0) for (k ; k

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

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

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 5ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 Η ΕΝΤΟΛΗ for Με την εντολή for δημιουργούμε βρόχους επανάληψης σε

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

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

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

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

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

Λύσεις Σειράς Ασκήσεων 1 Λύσεις Σειράς Ασκήσεων 1 Άσκηση 1 Έστω οι προτάσεις / προϋπόθεσεις: Π1. Σε όσους αρέσει η τέχνη αρέσουν και τα λουλούδια. Π2. Σε όσους αρέσει το τρέξιμο αρέσει και η μουσική. Π3. Σε όσους δεν αρέσει η

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης Στόχοι και αντικείμενο ενότητας Έλεγχος ροής προγράμματος (βλ. ενότητα #4) Δομή επανάληψης #5.. Εντολές Επανάληψης Προτάσεις επανάληψης Εντολές while, do while Εντολή for Περί βρόχων (loops) Τελεστές,

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

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

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. Κεφάλαιο 2 - Πρόβλημα 2.1.1. Η έννοια του προβλήματος Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. 2.1.2. Κατηγορίες προβλημάτων

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

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

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

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

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

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

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

Επαναληπτικό Διαγώνισμα στη Δομή Ακολουθίας και Δομή Επιλογής

Επαναληπτικό Διαγώνισμα στη Δομή Ακολουθίας και Δομή Επιλογής Επαναληπτικό Διαγώνισμα στη Δομή Ακολουθίας και Δομή Επιλογής Ονοματεπώνυμο:.. Διάρκεια:... Mονάδες:.. Βαθμός: Θέμα Α Α1. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα το γράμμα

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

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

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

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

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

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

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

Ας δούμε λίγο την θεωρία με την οποία ασχοληθήκαμε μέχρι τώρα.

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

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων Πληροφορικής 2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών 3. Ο αλγόριθμος

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

Άλγεβρες Διεργασιών και Σχέσεις Ισοδυναμίας

Άλγεβρες Διεργασιών και Σχέσεις Ισοδυναμίας Άλγεβρες Διεργασιών και Σχέσεις Ισοδυναμίας Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Σχέσεις ισοδυναμίας trce equivlence filure equivlence strong isimultion wek isimultion ΕΠΛ 664 Ανάλυση και Επαλήθευση

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

ΑΕΠΠ Ερωτήσεις θεωρίας

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

for for for for( . */

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

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

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

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Νέο Πρόγραμμα

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

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

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

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

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

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

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

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

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

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

4.3 Ορθότητα και Πληρότητα

4.3 Ορθότητα και Πληρότητα 4.3 Ορθότητα και Πληρότητα Συστήματα αποδείξεων όπως η μορφολογική παραγωγή και η κατασκευή μοντέλων χρησιμοποιούνται για να δείξουμε την εγκυρότητα εξαγωγών συμπερασμάτων. Ένα σύστημα αποδείξεων μπορεί

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

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

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

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

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με: Αλγόριθμοι 2.2.1. Ορισμός: Αλγόριθμος είναι μια πεπερασμένη σειρά εντολών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Τα κυριότερα χρησιμοποιούμενα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές

Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ανεπίλυτα Προβλήματα από τη Θεωρία Γλωσσών (5.1) To Πρόβλημα της Περάτωσης Το Πρόβλημα της Κενότητα

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

Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια

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

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

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

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ ) Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ. 25 48) Τι είναι αλγόριθμος; Γ ΛΥΚΕΙΟΥ Αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρονικό διάστημα,

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 412: Λογική στην Πληροφορική Ενδιάμεση Εξέταση Σκελετοί Λύσεων Ημερομηνία : Σάββατο, 27 Οκτωβρίου 2012 Διάρκεια : 11:00 13:00 Διδάσκουσα : Άννα Φιλίππου Άσκηση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

x < y ή x = y ή y < x.

x < y ή x = y ή y < x. ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Εαρινό Εξάμηνο 011-1 Τμήμα Μαθηματικών Διδάσκων: Χ.Κουρουνιώτης Μ8 ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΥΣΗΣ Φυλλάδιο 1 Ανισότητες Οι πραγματικοί αριθμοί είναι διατεταγμένοι. Ενισχύουμε αυτήν την ιδέα με

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

Αυτοματοποιημένη Επαλήθευση

Αυτοματοποιημένη Επαλήθευση Αυτοματοποιημένη Επαλήθευση Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Έλεγχος Μοντέλου Αλγόριθμοι γράφων Αλγόριθμοι αυτομάτων Αυτόματα ως προδιαγραφές ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τάξη: Γ Λυκείου Κατεύθυνση: Τεχνολογική Μάθημα: Ανάπτυξη Εφαρμογών σε Προγ/κό Περιβάλλον Είδος Εξέτασης: Διαγώνισμα Ημερομηνία Εξέτασης:

Τάξη: Γ Λυκείου Κατεύθυνση: Τεχνολογική Μάθημα: Ανάπτυξη Εφαρμογών σε Προγ/κό Περιβάλλον Είδος Εξέτασης: Διαγώνισμα Ημερομηνία Εξέτασης: Τάξη: Γ Λυκείου Κατεύθυνση: Τεχνολογική Μάθημα: Ανάπτυξη Εφαρμογών σε Προγ/κό Περιβάλλον Είδος Εξέτασης: Διαγώνισμα Ημερομηνία Εξέτασης: Ονοματεπώνυμο: Βαθμός: Θέμα 1 ο - (0) Α. Να γράψετε στο τετράδιό

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

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

Γ ΤΑΞΗ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΤΑΞΗ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ Α [40 μόρια] α) Να επιλέξτε το γράμμα Σ, αν μια πρόταση είναι σωστή και το γράμμα

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

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΑΝΑΚΕΦΑΛΑΙΩΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΕΜΠΤΗ 26 ΑΠΡΙΛΙΟΥ 2012 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΛΥΣΕΙΣ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: 7 Α1. Κάθε σωστή απάντηση

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

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

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

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

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

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

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΚΕΦΑΛΑΙΟ 2 2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου 2.4.1 Δομή ακολουθίας ΚΕΦΑΛΑΙΟ 7 7.1 7.9 Σταθερές (constants): Προκαθορισμένες τιμές που παραμένουν

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 4ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΟΙ ΤΕΛΕΣΤΕΣ ΣΥΓΚΡΙΣΗΣ Με τους τελεστές σύγκρισης, συγκρίνουμε τις

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

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

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

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

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

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

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

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος 2012-13 Κων/νος Φλώρος Απλοί τύποι δεδομένων Οι τύποι δεδομένων προσδιορίζουν τον τρόπο παράστασης των

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

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. Α2. Να αναφέρετε ονομαστικά: i) τα αλγοριθμικά κριτήρια ii) τους τρόπους αναπαράστασης αλγορίθμου. (μονάδες 10)

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. Α2. Να αναφέρετε ονομαστικά: i) τα αλγοριθμικά κριτήρια ii) τους τρόπους αναπαράστασης αλγορίθμου. (μονάδες 10) ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ / Γ3 + Γ4 ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΥΓΟΥΣΤΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 6 (ΕΞΙ) ΘΕΜΑ Α : A1. Να γράψετε στο φύλλο απαντήσεων τον

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

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

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

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

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

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

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

Να γράψετε τα αποτελέσματα αυτού του αλγόριθμου για Χ=13, Χ=9 και Χ=22. Και στις 3 περιπτώσεις το αποτέλεσμα του αλγορίθμου είναι 1

Να γράψετε τα αποτελέσματα αυτού του αλγόριθμου για Χ=13, Χ=9 και Χ=22. Και στις 3 περιπτώσεις το αποτέλεσμα του αλγορίθμου είναι 1 Άσκηση 1. Δίνεται ο παρακάτω αλγόριθμος: ΑΛΓΟΡΙΘΜΟΣ ΕΛΕΓΧΟΣ_ΑΝΑΘΕΣΗΣ ΔΙΑΒΑΣΕ X ΌΣΟ Χ > 1 ΕΠΑΝΑΛΑΒΕ ΑΝ Χ MOD 2 = 0 ΤΟΤΕ Χ Χ / 2 Χ 3 * Χ + 1 ΑΠΟΤΕΛΕΣΜΑΤΑ // Χ // ΤΕΛΟΣ ΕΛΕΓΧΟΣ_ΑΝΑΘΕΣΗΣ Να γράψετε τα αποτελέσματα

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

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

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

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

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

Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { a m b n c p m,n,p 0 και είτε m + n = p είτε m = n + p } (β) { xx rev yy rev x, y {a,b}

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

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

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 5: Εντολές επανάληψης Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Εκφράσεις και Λίγες Εντολές Οι εκφράσεις της C Τελεστές Απλές και σύνθετες εντολές Εντολές ελέγχου (επιλογής) Εισαγωγή σε

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΘΕΜΑ 1ο I) Να γράψετε στην παρένθεση καθεμιάς από τις παρακάτω προτάσεις 1-5 τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι λανθασμένη. 1. Ένας αλγόριθμος

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

Διδακτικά προβλήματα σχετικά με την έννοια της επανάληψης

Διδακτικά προβλήματα σχετικά με την έννοια της επανάληψης Διδακτικά προβλήματα σχετικά με την έννοια της επανάληψης Έρευνες-Δομές Επανάληψης Από τις έρευνες προκύπτει ότι οι αρχάριοι προγραμματιστές δεν χρησιμοποιούν αυθόρμητα την επαναληπτική διαδικασία για

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

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

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

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

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

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

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ. ΤΡΙΤΗ ΔΙΑΛΕΞΗ Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.): Σύνταξη τύπος όνομαα; τύπος όνομαβ{όνομαα}; όνομαβ

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

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

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

Μεταγλωττιστές Βελτιστοποίηση

Μεταγλωττιστές Βελτιστοποίηση Μεταγλωττιστές Βελτιστοποίηση Νίκος Παπασπύρου nickie@softlab.ntua.gr Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχ. Υπολογιστών Εργαστήριο Τεχνολογίας Λογισμικού Πολυτεχνειούπολη, 15780

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

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

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

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