Κεφάλαιο 5 Αξιωματική Σημασιολογία και Απόδειξη Ορθότητας Προγραμμάτων
|
|
- λατίνος Ευταξίας
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Κεφάλαιο 5 Αξιωματική Σημασιολογία και Απόδειξη Ορθότητας Προγραμμάτων Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1
2 Εισαγωγή Τα προγράμματα μιας (κλασικής) γλώσσας προγραμματισμού αποτελούνται από εντολές (ανάθεσης, επανάληψης κλπ) Βασικός σκοπός του κεφαλαίου αυτού είναι η μελέτη της τεχνικής των Floyd- Hoare για απόδειξη ορθότητας τέτοιων προγραμμάτων. 2
3 Κανόνες Το συντακτικό που θα εξετασθεί είναι το: C ::= skip ( C ) i := E C o ; C 1 while B do C if B then C o else C 1 3
4 Τεχνική Floyd - Hoare Ο C.A.R. Hoare εισήγαγε τον συμβολισμό για τον καθορισμό του τι κάνει ένα πρόγραμμα: {P} C {Q} όπου C είναι το πρόγραμμα της γλώσσας που μελετάται και P και Q συνθήκες, που σχετίζονται με μεταβλητές που χρησιμοποιεί το C 4
5 Συνθήκη Αποτελεί έκφραση μιας απλής λογικής γλώσσας Περιέχει μεταβλητές του προγράμματος, σταθερές, λογικούς τελεστές κλπ Όταν προηγείται μιας εντολής περιγράφει περιορισμούς για μεταβλητές του προγράμματος σε εκείνο το σημείο Όταν ακολουθεί εντολή περιγράφει τους νέους περιορισμούς για τις μεταβλητές, μετά την εκτέλεση της εντολής Εκφράσεις της μορφής {P} C {Q} ονομάζονται προδιαγραφές (specifications) 5
6 Ορισμός 5.1 Μία προδιαγραφή {P} C {Q} είναι αληθής εάν όταν το C εκτελείται σε μία κατάσταση που ικανοποιεί τη συνθήκη P και αν η εκτέλεση του C τερματίζει, τότε στην κατάσταση στην οποία καταλήγει το πρόγραμμα, ικανοποιείται η συνθήκη Q 6
7 Ορισμός 5.1 Οι προδιαγραφές ονομάζονται και τύποι μερικής ορθότητας διότι η απόδειξη του ότι ένα πρόγραμμα τερματίζει θεωρείται ξεχωριστή διαδικασία, που πρέπει να εξετάσει ο προγραμματιστής, για να είναι βέβαιος για την ορθότητα του προγράμματος του. 7
8 Παράδειγμα 5.1 Η προδιαγραφή: { Χ = 1 } Χ:= Χ + 1{ Χ = 2 } είναι αληθής. Το σύμβολο = είναι η γνωστή μας μαθηματική ισότητα. 8
9 Παράδειγμα 5.2 Η προδιαγραφή: { Χ = 1 } Y:= Χ { Y = 1 } είναι αληθής. 9
10 Παράδειγμα 5.3 Η προδιαγραφή: { Χ = 1 } Y:= Χ + 1{ X = 2 } είναι ψευδής. 10
11 Παράδειγμα 5.4 Η προδιαγραφή: { Χ = x Y = y} R:= Χ ; X := Y ; Y:= R{ X = y Y = x } είναι αληθής. Οι μεταβλητές x και y, που εμφανίζονται στις συνθήκες, αλλά όχι στην εντολή, ονομάζονται βοηθητικές μεταβλητές. Σκοπός τους είναι να δώσουν όνομα στις αρχικές τιμές των Χ και Υ αντίστοιχα. 11
12 Παράδειγμα 5.5 Η προδιαγραφή: { true}c{q} Είναι αληθής, εάν όταν το πρόγραμμα C τερματίζει, ισχύει η συνθήκη Q. 12
13 Παράδειγμα 5.6 Η προδιαγραφή: {P} C {true} είναι πάντα αληθής για κάθε αρχική συνθήκη Ρ και κάθε εντολή C. 13
14 Τεχνική Floyd-Hoare Δημιουργία τυπικών αποδείξεων για προδιαγραφές προγραμμάτων Χρήση αξιωμάτων και κανόνων εξαγωγής συμπερασμάτων, που υποστηρίζει η τεχνική θεωρημάτων κλασσικών μαθηματικών 14
15 Διαφορά Αξιωμάτων και Κανόνων Αξίωμα είναι μία λογική πρόταση για την οποία υποθέτουμε ότι είναι αληθής Κανόνας εξαγωγής συμπερασμάτων είναι μία μέθοδος, που χρησιμοποιείται για να δείξουμε ότι μία προδιαγραφή είναι αληθής με την υπόθεση ότι άλλες προδιαγραφές είναι αληθείς 15
16 Αξίωμα του skip Η εντολή skip δε μεταβάλλει οποιαδήποτε συνθήκη ισχύει πριν από την εκτέλεση της {P} skip {P} 16
17 Κανόνας των παρενθέσεων Εάν ισχύει το {P} C {R} τότε μπορούμε να εξάγουμε ως συμπέρασμα και το {P} (C) {R} 17
18 Αξίωμα Εντολής Ανάθεσης Αναπαριστά το γεγονός ότι η τιμή μιας μεταβλητής V μετά από την εκτέλεση της εντολής ανάθεσης V:=E ισούται με την τιμή της έκφρασης Ε στην κατάσταση πριν την εκτέλεση της εντολής. 18
19 Αξίωμα Εντολής Ανάθεσης Το αξίωμα είναι: {Ρ[Ε/V]} V := E {P} Όπου V μεταβλητή, Ε έκφραση, Ρ συνθήκη και Ρ[Ε/V] το αποτέλεσμα της αντικατάστασης όλων των εμφανίσεων της μεταβλητής V στην Ρ με Ε. 19
20 Παράδειγμα 5.7 Εφαρμογή του αξιώματος της Εντολής Ανάθεσης {Χ+1 = n+1} X := X+1 {X = n+1} Όπως και {Ε=Ε} Χ:= Ε {Χ=Ε} αν το Χ δεν εμφανίζεται στο Ε 20
21 Μορφή Μία συχνή παρανόηση είναι ότι το αξίωμα Ανάθεσης θα έπρεπε να είναι: {Ρ}V:=E{P[Ε/V]} Είναι όμως λανθασμένο, γιατί θα έδινε προδιαγραφές: {X=0}X:=1{1=0} Το (σωστό) αξίωμα Ανάθεσης δεν ισχύει (σε αυτή τη μορφή) για πιο πολύπλοκες προστακτικές γλώσσες προγραμματισμού. 21
22 Κανόνας Ενδυνάμωσης της Προσυνθήκης Εάν ισχύει το P R καθώς και το {R}C{Q} τότε μπορούμε να εξάγουμε ως συμπέρασμα και το {Ρ}C{Q} 22
23 Παράδειγμα 5.8 {Χ+1 = n+1} X := X+1{X = n+1} Επίσης και (Χ+1= n+1) (X=n) Επομένως με βάση τον Κανόνα της Ενδυνάμωσης της Προσυνθήκης, εξάγουμε ως συμπέρασμα {Χ= n} X := X+1{X = n+1} Η n είναι η βοηθητική μεταβλητή για συσχετισμό τιμών στην κατάσταση πριν και μετά την εκτέλεση εντολής 23
24 Κανόνας Αποδυνάμωσης της Μετασυνθήκης Εάν ισχύει το {Ρ}C{R} καθώς και το R Q τότε μπορούμε να εξάγουμε ως συμπέρασμα και το {Ρ}C{Q} 24
25 Παράδειγμα 5.9 Με χρήση του αξιώματος της Εντολής Ανάθεσης έχουμε: {R=X 0=0}Q:=0{R=X Q=0} Από τα κλασσικά μαθηματικά γνωρίζουμε (R=X) (R=X 0=0) Με χρήση του κανόνα Ενδυνάμωσης της Προσυνθήκης έχουμε {R=X}Q:=0{R=X Q=0) 25
26 Παράδειγμα 5.9 Με χρήση πάλι απλών μαθηματικών έχουμε (R=X Q=0) (R=X+ΥⅹQ) Με χρήση του κανόνα Αποδυνάμωσης της Μετασυνθήκης έχουμε {R=X}Q:=0{R=X+ΥⅹQ) Οι κανόνες Ενδυνάμωσης και Αποδυνάμωσης ονομάζονται και κανόνες Συνεπαγωγής 26
27 Κανόνες Σύζευξης και Διάζευξης Εάν ισχύει το {Ρ 1 }C{Q 1 } καθώς και το {Ρ 2 }C{Q 2 } τότε μπορούμε να εξάγουμε ως συμπέρασμα και το {Ρ 1 P 2 }C{Q 1 Q 2 } Εάν ισχύει το {Ρ 1 }C{Q 1 } καθώς και το {Ρ 2 }C{Q 2 } τότε μπορούμε να εξάγουμε ως συμπέρασμα και το {Ρ 1 P 2 }C{Q 1 Q 2 } 27
28 Κανόνας Σύνθετων Εντολών Αφορά εντολές της μορφής C 1 ;C 2 Εάν ισχύουν τα {P} C 1 {Q} και {Q} C 2 {R} μπορούμε να εξάγουμε το συμπέρασμα {P} C 1 ; C 2 {R} 28
29 Παράδειγμα 5.10 Με χρήση του αξιώματος της εντολής ανάθεσης μπορούμε να εξάγουμε ότι ισχύουν τα ακόλουθα: { Χ = x Y = y } R:= Χ { R = x Y = y } { R = x Y = y } X:= Y { R = x X = y } { R = x X = y } Y:= R { Y = x X = y } 29
30 Παράδειγμα 5.10 Από τα δύο πρώτα και με βάση τον κανόνα των Σύνθετων Εντολών μπορούμε να εξάγουμε ότι ισχύουν τα ακόλουθα: {Χ = x Y = y} R:= Χ ; X:=Y {R = x X = y} Τα παραπάνω δίνουν {Χ = x Y = y} R:= X; X:=Y ; Y:=R {Y = x X = y} 30
31 Κανόνας του if Εάν ισχύει {P S} C 1 {Q} καθώς και {P not S} C 2 {Q} τότε μπορούμε να εξάγουμε ως συμπέρασμα το {P} if S then C 1 else C 2 {Q} 31
32 Παράδειγμα 5.11 Με χρήση του κανόνα του if καθώς και άλλους προηγούμενους κανόνες και αξιώματα η προδιαγραφή {y>1} if (x>0) then (y:= y-1) else (y := y+1) {y>0} είναι αληθής 32
33 Κανόνας του while Αν γνωρίζουμε ότι {P S} C {P} τότε μπορούμε να εξάγουμε ως συμπέρασμα ότι {P} while S do C{P not S} Η συνθήκη P ονομάζεται αμετάβλητη συνθήκη διότι εξακολουθεί και ισχύει και μετά το τέλος της εκτέλεσης της εντολής while. 33
34 Κανόνας του while - 2 Ο κανόνας του while λέει ότι εάν P είναι μία αμετάβλητη συνθήκη του σώματος μιας εντολής while (όταν ισχύει και η συνθήκη S) τότε η P είναι μία αμετάβλητη συνθήκη ολόκληρης της εντολής while. 34
35 Παράδειγμα 5.12 Έστω ότι θέλουμε να αποδείξουμε: {true} R:=X; Q:=0; while (Y<= R) do (R:=R-Y; Q:=Q+1) {R<Y X=R+(YⅹQ)} Ο αλγόριθμος υπολογίζει το πηλίκο Y και το υπόλοιπο R της διαίρεσης του Χ με το Y 35
36 Παράδειγμα 5.12 Απόδειξη Πρώτα θα δείξουμε ότι: {true}r:=x; Q:=0{X=R+YⅹQ)} και μετά {X=R+(YⅹQ)} while Y<=R do (R:=R-Y;Q:=Q+1) {X=R+ (YⅹQ) not (Y R)} 36
37 Παράδειγμα 5.12 Η πρώτη αποδεικνύεται εύκολα. Για τη δεύτερη θα δείξουμε πρώτα ότι: {X=R+(YⅹQ)}R:=R-Y;Q:=Q+1{X=R+ (YⅹQ)} Με βάση το Αξίωμα Εντολής Ανάθεσης {X=(R-Υ)+Υ+(YⅹQ)}R:=R-Y{X=R+Υ+ (YⅹQ)} Και επίσης με βάση το ίδιο αξίωμα: {X=R+(Yⅹ(Q+1))}Q:=Q+1{X=R+ (YⅹQ)} Με χρήση του Κανόνα Σύνθετων Εντολών {X=R+(YⅹQ)}R:=R-Y;Q:=Q+1{X=R+ (YⅹQ)} 37
38 Παράδειγμα 5.12 Με χρήση του Κανόνα Ενδυνάμωσης της Προσυνθήκης {(X=R+(YⅹQ)) (Υ R)}R:=R-Y;Q:=Q+1{X=R+ (YⅹQ)} Με εφαρμογή του Κανόνα του While θα πάρουμε το ζητούμενο αποτέλεσμα 38
39 Παράδειγμα Έστω το πρόγραμμα: j=0; i=k; while (i<n); j :=j+1; i :=i+1; end P 39
40 Παράδειγμα Βρείτε μια invariant για το while loop i k k+1 k+2 j
41 Λύση Προφανώς i-j=k είναι μία invariant. Για να το δείξουμε τυπικά, αρκεί να δείξουμε ότι: {(i-j=k) (i<n)} j:=j+1; i:=i+1{i-j=k} Αρχίζοντας από το τέλος: {i+1-j=k} i:=i+1{i-j=k} {i+1-j-1=k} j:=j+1 {i+1-j=k} i-j=k Επομένως το i-j=k είναι μία invariant 41
42 Παράδειγμα Κ:=Ν; s:=1; while (K>0) do s:= A * s; K:=K-1; end P Θέλουμε να δείξουμε ότι: {Ν>0 and A 0} P { s=a N } 42
43 Λύση Πως βρίσκουμε τις αμετάβλητες συνθήκες; Δοκιμάζουμε τον κώδικα για μικρούς αριθμούς πχ Α=2, Ν=5 Κ s sa K
44 Λύση Μία αμετάβλητη συνθήκη, που θα μπορούσαμε να χρησιμοποιήσουμε είναι η: s * A K = A N Βλέπουμε επίσης ότι μία άλλη αμετάβλητη συνθήκη φαίνεται να είναι η: Κ 0, διότι {(Κ 0) (Κ>0)}s = A * s, K:=K-1{Κ 0} Επομένως διαλέγουμε ως invariant τη συνθήκη: (s * A K = A N ) (Κ 0) 44
45 Λύση Δείχνουμε καταρχήν ότι: {(s * A K = A N ) (Κ 0) (Κ>0)}s:=A * s; K:=K-1{(s * A K = A N ) (Κ 0)} Ή ισοδύναμα {(s * A K = A N ) (Κ>0)}s:=A * s; K:=K-1{(s * A K = A N ) (Κ 0)} Έχουμε: {(s * A K-1 = A N ) (Κ -1 0)}κ:=K-1{(s * A K = A N ) (Κ 0)} 45
46 Επίσης Λύση {(Α * s * A K-1 = A N ) (Κ-1 0)}s:=A * s; {(s * A K-1 = A N ) (Κ-1 0)} Δηλαδή {(s * A K = A N ) (Κ>0)}s:=A * s; K:=K-1{(s * A K = A N ) (Κ 0)} Επομένως θα έχουμε για όλο το WHILE: {(s * A K = A N ) (Κ 0)} WHILE.END{(s * A K = A N ) (Κ 0) (K>0)} {(s * A K = A N ) (Κ =0)} Όμως: {(s * A K = A N ) (Κ =0)} s = A N 46
47 Λύση Με αποδυνάμωση της μετασυνθήκης έχουμε: {(s * A K = A N ) (Κ 0)} WHILE.END{(s = A N )} Μας μένει να δείξουμε ότι: {Ν>0 Α 0)} Κ:=Ν; s:=1 {(s * A K = A N ) (Κ 0)} Ξεκινώντας από το δεύτερο έχουμε: {(A K = A N ) (Κ 0)} s:=1{(s * A K = A N ) (Κ 0)} Το πρώτο δίνει: {(A Ν = A N ) (Ν 0)} κ:=ν{(a K = A N ) (Κ 0)} TRUE 47
48 Λύση Όμως: (Ν>0 Α 0) Ν 0 Επομένως το ζητούμενο ισχύει. 48
49 Παράδειγμα Έστω το πρόγραμμα: count :=n; fact :=1; while (count!=0) do fact :=fact * count; count := count 1; end Θέλουμε να δείξουμε ότι: {n 0} P {fact =n!} P 49
50 Λύση Δοκιμάζουμε μερικές τιμές: count n n-1 n-2 n-3 fact 1 n (n-1) * n (n-2) * (n-1) * n Γενικά count! * fact = n! 50
51 Λύση Το παραπάνω όταν τελειώσει το loop δίνει 0! * fact = n! που είναι αυτό, που θέλουμε. Διαλέγουμε λοιπόν ως invariant το: (count! * fact = n!) (count 0) Μένει να εξετάσουμε αν είναι invariant 51
52 Λύση {(count! * fact = n!) (count 0) (count 0)} fact = fact * count; count=count 1; {(count! * fact = n!) (count 0)} count >0 Μπορούμε να το εξετάσουμε αρχίζοντας από το τέλος προς την αρχή 52
53 Λύση {(count-1)! * (fact = n!) (count 1)} count:=count-1{(count! * fact = n!) (count 0)} (count! * fact = n!)^(count >0) {((count-1)! * count * fact = n!) (count 1)} fact:=fact * count{((count-1)! * fact = n!) (count 1)} Επομένως μπορούμε να εξάγουμε το συμπέρασμα ότι: fact = n! {(count! * fact = n!) (count 0)}WHILE END{{(count! * fact = n!) (count 0) (count=0)} 53
54 Λύση Το μόνο, που μένει είναι να δείξουμε: { n 0} count :=n; fact:=1 ; {(count! * fact=n!) (count 0)} Το οποίο είναι απλό: {(count! =n!) (count 0)}fact:=1{(count! * fact=n!) (count 0)} {(n!=n!) (n 0)}count:=n{(count!=n!) (count 0)} 54
Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4)
Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4) Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Η διαδικαστική γλώσσα προγραμματισμού WHILE Τριάδες Hoare Μερική και Ολική Ορθότητα Προγραμμάτων Κανόνες
Διαβάστε περισσότεραΑνάλυση της Ορθότητας Προγραμμάτων
Ανάλυση της Ορθότητας Προγραμμάτων Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Η διαδικαστική γλώσσα προγραμματισμού WHILE Τριάδες Hoare Μερική και Ολική Ορθότητα Προγραμμάτων Κανόνες Απόδειξης Μερικής
Διαβάστε περισσότεραΑνάλυση της Ορθότητας Προγραμμάτων
Ανάλυση της Ορθότητας Προγραμμάτων Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Η διαδικαστική γλώσσα προγραμματισμού WHILE Τριάδες Hoare Μερική και Ολική Ορθότητα Προγραμμάτων ΚανόνεςΑπόδειξηςΜερικήςΟρθότητας
Διαβάστε περισσότεραΛύσεις Σειράς Ασκήσεων 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
Άσκηση 1 (α) {x = 12 y = 7} skip {y = 7} Λύσεις Σειράς Ασκήσεων 5 Η προδιαγραφή αυτή είναι ορθή τόσο με την έννοια της μερικής ορθότητας όσο και με την έννοια της ολικής ορθότητας. Αυτό οφείλεται στο γεγονός
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 (15 μονάδες) Σειρά Προβλημάτων 5 Λύσεις Να δώσετε προδιαγραφές (τριάδες Hoare) για τα πιο κάτω προγράμματα: (α) Ένα πρόγραμμα το οποίο παίρνει ως δεδομένο εισόδου δύο πίνακες Α και Β και ελέγχει
Διαβάστε περισσότεραΛύσεις Σειράς Ασκήσεων 5
Άσκηση Λύσεις Σειράς Ασκήσεων 5 Έστω P και Q συνθήκες και S ένα πρόγραμμα. Να εξηγήσετε με λόγια τις πιο κάτω προδιαγραφές (i) με την έννοια της μερικής ορθότητας και (ii) με την έννοια της ολικής ορθότητας.
Διαβάστε περισσότεραΚεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας
Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Εισαγωγή - 1 Μία κλασσική γλώσσα προγραμματισμού αποτελείται από: Εκφράσεις (των
Διαβάστε περισσότεραΛύσεις Σειράς Ασκήσεων 5
Άσκηση 1 Λύσεις Σειράς Ασκήσεων 5 Να υπολογίσετε τις ασθενέστερες προσυνθήκες έτσι ώστε οι πιο κάτω προδιαγραφές να είναι ορθές σύμφωνα (i) με την έννοια της μερικής ορθότητας και (ii) με την έννοια της
Διαβάστε περισσότεραΥπολογιστικά & Διακριτά Μαθηματικά
Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 2:Στοιχεία Μαθηματικής Λογικής Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις Να αποφασίσετε κατά πόσο οι πιο κάτω προδιαγραφές είναι ορθές σύμφωνα με την έννοια της μερικής ορθότητας και την έννοια της ολικής ορθότητας. Να αιτιολογήσετε σύντομα
Διαβάστε περισσότεραΚεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού
Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Εισαγωγή Γνώση γλώσσας από τη σκοπιά Του συντακτικού (syntax) Περιγραφή με γραμματικές
Διαβάστε περισσότεραΚατηγορηματικός Λογισμός (ΗR Κεφάλαιο 2.1-2.5)
Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο 2.1-2.5) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στον Κατηγορηματικό Λογισμό Σύνταξη Κανόνες Συμπερασμού Σημασιολογία ΕΠΛ 412 Λογική στην
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Λογική Δημήτρης Πλεξουσάκης 2ο μέρος σημειώσεων: Συστήματα Αποδείξεων για τον ΠΛ, Μορφολογική Παραγωγή, Κατασκευή Μοντέλων Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης
Διαβάστε περισσότεραΠΑΙΓΝΙΑ Παιχνίδια Γενική Θεώρηση μεγιστοποιήσει την πιθανότητά
ΠΑΙΓΝΙΑ Παιχνίδια Γενική Θεώρηση: Έστω ότι έχουμε τους παίκτες Χ και Υ. Ο κάθε παίκτης, σε κάθε κίνηση που κάνει, προσπαθεί να μεγιστοποιήσει την πιθανότητά του να κερδίσει. Ο Χ σε κάθε κίνηση που κάνει
Διαβάστε περισσότεραΠρόταση. Αληθείς Προτάσεις
Βασικές έννοιες της Λογικής 1 Πρόταση Στην καθημερινή μας ομιλία χρησιμοποιούμε εκφράσεις όπως: P1: «Καλή σταδιοδρομία» P2: «Ο Όλυμπος είναι το ψηλότερο βουνό της Ελλάδας» P3: «Η Θάσος είναι το μεγαλύτερο
Διαβάστε περισσότεραΤμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επιλογής. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD
Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Δομή Επιλογής Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Δομή Επιλογής (Απόφασης) Εκτέλεση υπό συνθήκη IF THEN IF THEN ELSE IF THEN
Διαβάστε περισσότεραΠροβλήματα, αλγόριθμοι, ψευδοκώδικας
Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι
Διαβάστε περισσότεραΠεριεχόμενα 1 Πρωτοβάθμια Λογική Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων ) / 60
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Διαβάστε περισσότεραΕΠΑΛΗΘΕΥΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ Ι
ΕΠΑΛΗΘΕΥΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ Ι Η τυπική επαλήθευση βάση μοντέλου είναι κατάλληλη για συστήματα επικοινωνούντων διεργασιών (π.χ. κατανεμημένα συστήματα) όπου το βασικό πρόβλημα είναι ο έλεγχος αλλά γενικά δεν
Διαβάστε περισσότεραΕισαγωγή στην πληροφορική
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Η γλώσσα προγραμματισμού
Διαβάστε περισσότεραΔιακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Διαβάστε περισσότερα2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΣΚΗΣΕΙΣ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΕΡΩΤΗΣΕΙΣ ΣΩΣΤΟ ΛΑΘΟΣ Σημειώστε αν είναι
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL
8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to
Διαβάστε περισσότεραΕισαγωγή στην πληροφορική
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Η γλώσσα προγραµµατισµού
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 4: Εντολές ελέγχου ροής Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά
Διαβάστε περισσότεραΜαθηματική Λογική και Λογικός Προγραμματισμός
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων- Σημειώσεις έτους 2007-2008 Καθηγητής Γεώργιος Βούρος Μαθηματική Λογική και Λογικός Προγραμματισμός Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών
Διαβάστε περισσότεραΣτόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης
Στόχοι και αντικείμενο ενότητας Έλεγχος ροής προγράμματος (βλ. ενότητα #4) Δομή επανάληψης #5.. Εντολές Επανάληψης Προτάσεις επανάληψης Εντολές while, do while Εντολή for Περί βρόχων (loops) Τελεστές,
Διαβάστε περισσότεραιαφάνειες παρουσίασης #3
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης #3!Λογικά διαγράµµατα
Διαβάστε περισσότεραιαφάνειες παρουσίασης #3
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
Διαβάστε περισσότεραΛύσεις Σειράς Ασκήσεων 5
Άσκηση 1 Λύσεις Σειράς Ασκήσεων 5 Να υπολογίσετε τις ασθενέστερες προσυνθήκες έτσι ώστε οι πιο κάτω προδιαγραφές να είναι ορθές σύμφωνα (i) με την έννοια της μερικής ορθότητας και (ii) με την έννοια της
Διαβάστε περισσότεραΣυγγραφή κώδικα, δοκιμασία, επαλήθευση. Γιάννης Σμαραγδάκης
Συγγραφή κώδικα, δοκιμασία, επαλήθευση Γιάννης Σμαραγδάκης Προδιαγραφή απαιτήσεων Σχεδιασμός συνεπείς σχέσεις Υψηλό επίπεδο συνεπείς σχέσεις Χαμηλό επίπεδο συνεπείς σχέσεις Πλάνο δοκιμών Κώδικας Συγγραφή
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ 1. Ποιες από τις παρακάτω εντολές είναι σωστές; α) if A + B
Διαβάστε περισσότεραΜαθηματική Λογική και Λογικός Προγραμματισμός
Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων- Σημειώσεις έτους 2007-2008 Καθηγητής Γεώργιος Βούρος Μαθηματική Λογική και Λογικός Προγραμματισμός Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Νέο Πρόγραμμα
Διαβάστε περισσότεραΨευδοκώδικας. November 7, 2011
Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε
Διαβάστε περισσότεραΚεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Μεταγλωττιστής Πρόγραμμα Διαβάζει προγράμματα δεδομένης γλώσσας (πηγαία γλώσσα) και τα μετατρέπει
Διαβάστε περισσότεραΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου
ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου Σκοπός και περίγραμμα της Ενότητας 4 Σκοπός της παρουσίασης Να μελετήσουμε τις συναρτήσεις που ελέγχουν την ροή και την εκτέλεση ενός προγράμματος Σύνοψη
Διαβάστε περισσότερα2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΙΛΟΓΗΣ 1) Ποιοι είναι οι τελεστές σύγκρισης και
Διαβάστε περισσότεραΚατ οίκον Εργασία 1 Σκελετοί Λύσεων
ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 008 Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Παρατηρούμε ότι ο χρόνος εκτέλεσης μέσης περίπτωσης της κάθε εντολής if ξεχωριστά: if (c mod 0) for (k ; k
Διαβάστε περισσότεραA. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.
ΘΕΜΑ 1 ο A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη. 1. Η συνθήκη Χ = Α_Μ (Χ) είναι πάντα αληθής, για
Διαβάστε περισσότεραΠΕΚ ΠΕΙΡΑΙΑ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ
ΠΕΚ ΠΕΙΡΑΙΑ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ 4-11-07 ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ ΚΕΦ. 2 ο -7 ο : Γ Γενικού Λυκείου (τεχνολογική κατεύθυνση) ΒΑΣΙΚΕΣ
Διαβάστε περισσότεραΣημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης
Σημειώσεις Λογικής I Εαρινό Εξάμηνο 2011-2012 Καθηγητής: Λ. Κυρούσης 2 Τελευταία ενημέρωση 28/3/2012, στις 01:37. Περιεχόμενα 1 Εισαγωγή 5 2 Προτασιακή Λογική 7 2.1 Αναδρομικοί Ορισμοί - Επαγωγικές Αποδείξεις...................
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 4ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΟΙ ΤΕΛΕΣΤΕΣ ΣΥΓΚΡΙΣΗΣ Με τους τελεστές σύγκρισης, συγκρίνουμε τις
Διαβάστε περισσότερα3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)
Εργαστήριο 3: 3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting) Η C++, όπως όλες οι γλώσσες προγραμματισμού, χρησιμοποιεί τελεστές για να εκτελέσει τις αριθμητικές και λογικές λειτουργίες.
Διαβάστε περισσότεραHY118-Διακριτά Μαθηματικά
HY118-Διακριτά Μαθηματικά Πέμπτη, 01/03/2018 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University of Aberdeen 02-Mar-18
Διαβάστε περισσότεραΗΥ-150. Προγραμματισμός
ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει
Διαβάστε περισσότεραΗΥ-150. Προγραμματισμός
ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει
Διαβάστε περισσότεραΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
23 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 2ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος I/O 24 Βασική βιβλιοθήκη συναρτήσεων εισόδου/εξόδου #include Η συνάρτηση εξόδου printf printf("συμβολοσειρά
Διαβάστε περισσότεραΔομές ελέγχου ροής προγράμματος
Δομές ελέγχου ροής προγράμματος Υπάρχουν δύο είδη δομών ελέγχου ροής (control flow): Οι δομές επιλογής και Οι δομές επανάληψης Δομές ελέγχου ροής προγράμματος Είδος δομής Δομές επιλογής Δομή ελέγχου ροής
Διαβάστε περισσότεραΑνάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Εκχώρηση Τιμών
Εκχώρηση Τιμών 1. Σύνταξη Με την εντολή εκχώρησης: α) Ονομάζουμε μια θέση μνήμης, και β) προσδιορίζουμε το περιεχόμενό της Η σύνταξη της εντολής εκχώρησης είναι: ή
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής
Προγραμματισμός Η/Υ Ενότητα 4: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Έλεγχος της ροής ενός προγράμματος
Διαβάστε περισσότεραΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής
ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει
Διαβάστε περισσότεραΛογικός Προγραμματισμός
Λογικός Προγραμματισμός Αναπαράσταση γνώσης: Λογικό Σύστημα. Μηχανισμός επεξεργασίας γνώσης: εξαγωγή συμπεράσματος. Υπολογισμός: Απόδειξη θεωρήματος (το συμπέρασμα ενδιαφέροντος) από αξιώματα (γνώση).
Διαβάστε περισσότεραΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013
ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας δίπλα στο γράμμα που αντιστοιχεί σε κάθε πρόταση τη
Διαβάστε περισσότεραΔομή Επανάληψης. Κεφάλαιο 7 Mike Trimos
Δομή Επανάληψης Κεφάλαιο 7 Mike Trimos Δομή Επανάληψης Η Διαδικασία αυτή ονομάζεται Βρόγχος ή Επανάληψη (Loop) και η εντολή ή το σύνολο των εντολών που επαναλαμβάνονται ονομάζεται Σώμα της Δομής. Η γλώσσα
Διαβάστε περισσότεραΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΤΕΛΟΣ 1ΗΣ ΑΠΟ 6 ΣΕΛΙ ΕΣ
ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΕΥΤΕΡΑ 16 ΙΟΥΝΙΟΥ 2014 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ:
Διαβάστε περισσότεραιαφάνειες παρουσίασης #2
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
Διαβάστε περισσότεραΑνάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΚΕΦΑΛΑΙΟ 2 2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου 2.4.1 Δομή ακολουθίας ΚΕΦΑΛΑΙΟ 7 7.1 7.9 Σταθερές (constants): Προκαθορισμένες τιμές που παραμένουν
Διαβάστε περισσότεραΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Εντολές επανάληψης Εντολές επανάληψης while for do-while ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Παράδειγμα #1 Εντολή while
ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Εντολές επανάληψης Εντολές επανάληψης Στη C++ υπάρχουν 3 διαφορετικές εντολές επανάληψης: while for do-while 1 2 ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Εντολή while Παράδειγμα #1 Κατασκευάστε πρόγραμμα που για
Διαβάστε περισσότεραΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ
ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ ΚΑΙ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α A ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΟΜΑ Α Β ) ΣΑΒΒΑΤΟ 28 ΜΑΪΟΥ 2016 ΕΞΕΤΑΖΟΜΕΝΟ
Διαβάστε περισσότεραΒασικές Έννοιες Αλγορίθμων. Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4)
Βασικές Έννοιες Αλγορίθμων Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4) Δομές εντολών Υπάρχουν διάφορα είδη εντολών όπως, ανάθεσης ή εκχώρησης τιμής, εισόδου εξόδου, κ.ά., αλλά γενικά χωρίζονται σε τρείς
Διαβάστε περισσότεραPascal, απλοί τύποι, τελεστές και εκφράσεις
Pascal, απλοί τύποι, τελεστές και εκφράσεις 15 Νοεμβρίου 2011 1 Γενικά Στην standard Pascal ορίζονται τέσσερις βασικοί τύποι μεταβλητών: integer: Παριστάνει ακέραιους αριθμούς από το -32768 μέχρι και το
Διαβάστε περισσότεραΠρογραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος
Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Νέο Πρόγραμμα
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 4 η Τελεστές Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης
Διαβάστε περισσότεραΣυνέπεια, Εγκυρότητα, Συνεπαγωγή, Ισοδυναμία, Κανονικές μορφές, Αλγόριθμοι μετατροπής σε CNF-DNF
Συνέπεια, Εγκυρότητα, Συνεπαγωγή, Ισοδυναμία, Κανονικές μορφές, Αλγόριθμοι μετατροπής σε CNF-DNF 1 ο φροντιστήριο ΗΥ180 Διδάσκων: Δ. Πλεξουσάκης Πέμπτη 15/02/2018 Κρεατσούλας Κωνσταντίνος Ασυνεπές σύνολο
Διαβάστε περισσότεραΠληροφορική ΙΙ Θεματική Ενότητα 5
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Πληροφορική ΙΙ Θεματική Ενότητα 5 Λογικοί Τελεστές Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά
Διαβάστε περισσότεραΠροτασιακός Λογισμός (HR Κεφάλαιο 1)
Προτασιακός Λογισμός (HR Κεφάλαιο 1) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Σύνταξη Λογικός Συμπερασμός Σημασιολογία Ορθότητα και Πληρότητα Κανονικές Μορφές Προτάσεις Horn ΕΠΛ 412 Λογική
Διαβάστε περισσότεραΔιαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 5 η Έλεγχος Προγράμματος Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή
Διαβάστε περισσότεραΒασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος
Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος 2012-13 Κων/νος Φλώρος Απλοί τύποι δεδομένων Οι τύποι δεδομένων προσδιορίζουν τον τρόπο παράστασης των
Διαβάστε περισσότεραΠολλοί τρόποι περιγραφής αλγορίθμων. Όλοι είναι μηχανιστικά ισοδύναμοι και ειδικά ισοδύναμοι με μερικές αναδρομικές συναρτήσεις.
Θέση Church-Turing I Πολλοί τρόποι περιγραφής αλγορίθμων. Όλοι είναι μηχανιστικά ισοδύναμοι και ειδικά ισοδύναμοι με μερικές αναδρομικές συναρτήσεις Θέση Church-Turing: Όλες οι υπολογίσιμες συναρτήσεις
Διαβάστε περισσότεραΗΥ Λογική. Διδάσκων: Δημήτρης Πλεξουσάκης Καθηγητής
ΗΥ 180 - Λογική Διδάσκων: Καθηγητής E-mail: dp@csd.uoc.gr Ώρες διδασκαλίας: Δευτέρα, Τετάρτη 4-6 μμ, Αμφ. Β Ώρες φροντιστηρίου: Πέμπτη 4-6 μμ, Αμφ. Β Ώρες γραφείου: Δευτέρα, Τετάρτη 2-4 μμ, Κ.307 Web site:
Διαβάστε περισσότεραK15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων
K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Στοιχεία προτασιακής λογικής Περιεχόμενα
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις
Διαβάστε περισσότεραΣειρά Προβλημάτων 3 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { w {(, )} * οι παρενθέσεις στην w είναι ισοζυγισμένες } (β) { a k b m c 2m a k k > 0,
Διαβάστε περισσότεραHY118-Διακριτά Μαθηματικά. Προτασιακός Λογισμός. Προηγούμενη φορά. Βάσεις της Μαθηματικής Λογικής. 02 Προτασιακός Λογισμός
HY118-Διακριτά Μαθηματικά Πέμπτη, 08/02/2018 Το υλικό των Αντώνης διαφανειών Α. Αργυρός έχει βασιστεί σε διαφάνειες του e-mail: Kees argyros@csd.uoc.gr van Deemter, από το University of Aberdeen Προηγούμενη
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Ενότητα 1: Εισαγωγή. Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Λογική Ενότητα 1: Εισαγωγή Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται στην άδεια χρήσης Creative Commons
Διαβάστε περισσότεραΕπιλογή και επανάληψη. Λογική έκφραση ή συνθήκη
Επιλογή και επανάληψη Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως, ότι στο
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Ενότητα 5 Δομές Ελέγχου Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Δομές Ελέγχου Οι Boehm και Jacopini απέδειξαν ότι οποιοσδήποτε αλγόριθμος
Διαβάστε περισσότεραα. Λογικό διάγραμμα είναι η μέθοδος που χρησιμοποιεί απλά σχήματα που υποστηρίζονται με απλές λέξεις για την αναπαράσταση συγκεκριμένων λειτουργιών.
ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (Α ΟΜΑΔΑ) & ΜΑΘΗΜΑΤΑ ΕΙΔΙΚΟΤΗΤΑΣ ΣΑΒΒΑΤΟ 16/04/2016 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (ΑΠΟΦΟΙΤΟΙ) ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6) ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης
Προγραμματισμός Η/Υ Ενότητα 5: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Έλεγχος της ροής του προγράμματος
Διαβάστε περισσότεραHY118-Διακριτά Μαθηματικά
HY118-Διακριτά Μαθηματικά Πέμπτη, 08/02/2018 Το υλικό των Αντώνης διαφανειών Α. Αργυρός έχει βασιστεί σε διαφάνειες του e-mail: Kees argyros@csd.uoc.gr van Deemter, από το University of Aberdeen 08-Feb-18
Διαβάστε περισσότεραΠαράδειγμα άμεσης απόδειξης. HY118-Διακριτά Μαθηματικά. Μέθοδοι αποδείξεως για προτάσεις της μορφής εάν-τότε
HY118-Διακριτά Μαθηματικά Τρίτη, 27/02/2018 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University of Aberdeen 27-Feb-18
Διαβάστε περισσότεραΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ
ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ ΘΕΜΑ Α Α.1 Να χαρακτηρίσετε σωστή (Σ) ή λανθασμένη (Λ) καθεμία από τις παρακάτω προτάσεις (Μονάδες 10) 1. Ένας αλγόριθμος μπορεί να έχει άπειρα βήματα
Διαβάστε περισσότεραΧρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.
Εργαστήριο 4: 4.1 Η Δομή Ελέγχου if Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Γενική Μορφή: Παρατηρήσεις:
Διαβάστε περισσότερα2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
Διαβάστε περισσότεραΤεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή
Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Ασάφεια (Fuzziness) Ποσοτικοποίηση της ποιοτικής πληροφορίας Οφείλεται κυρίως
Διαβάστε περισσότεραΕπανάληψη. ΗΥ-180 Spring 2019
Επανάληψη Έχουμε δει μέχρι τώρα 3 μεθόδους αποδείξεων του Προτασιακού Λογισμού: Μέσω πίνακα αληθείας για τις υποθέσεις και το συμπέρασμα, όπου ελέγχουμε αν υπάρχουν ερμηνείες που ικανοποιούν τις υποθέσεις
Διαβάστε περισσότεραΑρχές Προγραμματισμού Η/Υ Μέθοδοι παρουσίασης του αλγόριθμου και Βασικές έννοιες
Αρχές Προγραμματισμού Η/Υ Μέθοδοι παρουσίασης του αλγόριθμου και Βασικές έννοιες Βελώνης Γεώργιος Καθηγητής Πληροφορικής ΠΕ20 Περιεχόμενα Μέθοδοι Παρουσίασης του αλγόριθμου Εισαγωγή Φραστική μέθοδος Ψευδοκώδικας
Διαβάστε περισσότεραHY118-Διακριτά Μαθηματικά
HY118-Διακριτά Μαθηματικά Τρίτη, 27/02/2018 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr Το υλικό των διαφανειών έχει βασιστεί σε διαφάνειες του Kees van Deemter, από το University of Aberdeen 27-Feb-18
Διαβάστε περισσότεραΑλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης
Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης Εντολές Ελέγχου 2 Γενικά Εντολές λήψης αποφάσεων Επιτρέπουν στο πρόγραμμα να εκτελεί διαφορετικές
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης
Κ.Π. Γιαλούρης Στόχοι του σημερινού μαθήματος Εξοικείωση με τα περιβάλλοντα της Python Κατανόηση βασικών εννοιών & τεχνικών Τύπος δεδομένων Μεταβλητή Εντολή ανάθεση τιμής / εντολή αντικατάστασης Εισαγωγή
Διαβάστε περισσότεραΕισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011
Εισαγωγή στον Προγραµµατισµό Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011 Τελεστής σύντοµης ανάθεσης Τελεστής σύντοµης ανάθεσης (shorthand assignment operator) µεταβλητή = µεταβλητή τελεστής
Διαβάστε περισσότεραΗλεκτρονικοί Υπολογιστές
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 7: Μη Σειριακή Εκτέλεση Εντολών Συνθήκες και Τελεστές στη C++ Ζαχαρούλα Ανδρεοπούλου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Ένθετες
Διαβάστε περισσότεραΔιακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Διαβάστε περισσότεραΚεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)
Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις (Διάλεξη 8) 8-1 Τι θα δούμε σήμερα Η εντολή if else Η εντολή if else ιf - -else H εντολή switch Λογικές παραστάσεις Σχεσιακοί
Διαβάστε περισσότεραΠ. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Προτάσεις,
Διαβάστε περισσότεραΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ
Η ΓΛΩΣΣΑ PASCAL ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας Σύνθετοι Τ.Δ. Αλφαριθμητικός 1. Ακέραιος (integer) Εύρος: -32768 έως 32767 Δήλωση
Διαβάστε περισσότερα