Αλγοριθμικές Δομές Επιλογής και Επανάληψης Συνθήκες, Λογικές Εκφράσεις και Βρόγχοι

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

Download "Αλγοριθμικές Δομές Επιλογής και Επανάληψης Συνθήκες, Λογικές Εκφράσεις και Βρόγχοι"

Transcript

1 Αλγοριθμικές Δομές Επιλογής και Επανάληψης Συνθήκες, Λογικές Εκφράσεις και Βρόγχοι IV-1

2 Δομή Ελέγχου Control Structure Ένας συνδυασμός ατομικών εντολών σε μία ενιαία λογική ενότητα, όπου υπάρχει ένα μοναδικό σημείο εισόδου και ένα μοναδικό σημείο εξόδου Δομή Ελέγχου για Επιλογή Selection Control Structure Μία δομή ελέγχου η οποία επιλέγει ανάμεσα σε εναλλακτικές εντολές, απλές ή σύνθετες Μία σύνθετη εντολή είναι μία ακολουθία εντολών, η οποία εκφράζεται ως { εντολή 1 ; εντολή 2 ;.... εντολή n ; } IV-2

3 εντολή 1 εντολή 2 εντολή 3 εντολή 4 true εντολή 1 συνθήκη 1 false συνθήκη 2 true εντολή 2 false εντολή 3 ακολουθιακή ροή ελέγχου ροή ελέγχου με συνθήκες και βρόγχους IV-3

4 Συνθήκη Condition Μία έκφραση η οποία είναι είτε αληθής (true) είτε ψευδής (false) Δηλαδή μία λογική έκφραση Προσοχή: Δοκιμή για ισότητα ανάμεσα σε πραγματικούς αριθμούς == ? false Math.abs( ) < true IV-4

5 Λογικές Εκφράσεις Logical Expressions Εκφράσεις αποτελούμενες από λογικές τιμές και λογικούς τελεστές Αποτιμούνται σε λογικές τιμές <λογική_τιμή> ::= true false <λογική_έκφραση> ::= <λογική_τιμή> <σχεσιακή_έκφραση> (<λογική_έκφραση>)!<λογική_έκφραση> <λογική_έκφραση> && <λογική_έκφραση> <λογική_έκφραση> <λογική_έκφραση> IV-5

6 Αποτίμηση Λογικών Εκφράσεων Η αποτίμηση αρχίζει από τα αριστερά και προχωρεί μέχρι το σημείο που χρειάζεται να προχωρήσει (short-circuit evaluation), π.χ. false && Ε false η αποτίμηση της έκφρασης Ε δεν χρειάζεται true Ε true η αποτίμηση της έκφρασης Ε δεν χρειάζεται IV-6

7 Σειρά Συνθηκών σε μία Λογική Έκφραση Ο κανόνας αποτίμησης είναι κυρίως για λόγους αποδοτικότητας Έχει όμως και μεγάλη χρησιμότητα αναφορικά με τη σειρά των συνθηκών σε μία λογική έκφραση, π.χ. (y % x) > 2 && x!= 0 Εάν το x ισούται με 0, η αποτίμηση της πιο πάνω έκφρασης οδηγεί σε λάθος. Όμως η ακόλουθη διατύπωση x!= 0 && (y % x) > 2 δεν έχει πρόβλημα λόγω του κανόνα αποτίμησης: Εάν το x ισούται με 0 η συνθήκη (y % x) > 2 δεν αποτιμάται Εάν το x δεν ισούται με 0, η αποτίμηση της έκφρασης (y % x) > 2 δεν δημιουργεί πρόβλημα IV-7

8 Σειρά Συνθηκών σε μία Λογική Έκφραση Γενικά σε μία σύζευξη, Ε 1 && Ε 2, η συνθήκη Ε 1 πρέπει να αποτελεί τον αριστερό τελεστέο, εάν στην περίπτωση που αποτιμάται σε false, τυχόν αποτίμηση της Ε 2 θα οδηγήσει σε πρόβλημα. Με αυτή την σειρά αποτρέπεται η αποτίμηση της Ε 2. Παρομοίως σε μία διάζευξη, Ε 1 Ε 2, η συνθήκη Ε 1 πρέπει να αποτελεί τον αριστερό τελεστέο, εάν στην περίπτωση που αποτιμάται σε true, τυχόν αποτίμηση της Ε 2 θα οδηγήσει σε πρόβλημα. Με αυτή τη σειρά αποτρέπεται η αποτίμηση της Ε 2. IV-8

9 Εκμετάλλευση Κανόνα Αποτίμησης Συνθηκών για σκοπούς Αποδοτικότητας Ακόμη και σε περιπτώσεις όπου η σειρά των συνθηκών σε μία σύζευξη/διάζευξη θα μπορούσε να είναι οποιαδήποτε, ενδείκνυται να γίνεται εκμετάλλευση του κανόνα αποτίμησης προς μείωση του υπολογιστικού κόστους. Π.χ. έστω η σύζευξη (Ε 1 && Ε 2 ) όπου το κόστος υπολογισμού (αποτίμησης) της Ε 1 είναι πολύ μεγάλο, ενώ της Ε 2 είναι σχετικά πολύ μικρό. Έστω ότι η Ε 1 αποτιμάται σε true και η Ε 2 σε false. Η πιο πάνω σειρά των συνθηκών δεν αποφεύγει το μεγάλο κόστος αποτίμησης της Ε 1. Όμως η σειρά Ε 2 && Ε 1 το αποφεύγει. Επομένως η ορθή πρακτική είναι να μπαίνει στα αριστερά η συνθήκη, της οποίας η αποτίμηση συνεπάγεται το λιγότερο κόστος IV-9

10 Προτεραιότητες κλήσεις μεθόδων υψηλότερη προτεραιότητα! + & * (μοναδιαίοι τελεστές) * / % + < <= >= > ==!= && = χαμηλότερη προτεραιότητα IV-10

11 Σύγκριση Χαρακτήρων Οι σχεσιακοί τελεστές μπορούν να εφαρμοστούν σε χαρακτήρες έκφραση 9 >= 0 a < e B <= A Z == z a <= A τιμή true true false false false IV-11

12 boolean even, odd; even = (n % 2 == 0); ή even = n % 2 == 0; odd =!even; Ανάθεση Λογικών Τιμών boolean is_lower, is_upper, is_letter, white_space; char ch =! ; is_lower = a <= ch && ch <= z ; is_upper = A <= ch && ch <= Z ; is_letter = is_lower is_upper; white_space = ch == \n ch == ch == \t ; IV-12

13 Συμπλήρωμα Συνθηκών Complementing Conditions Το συμπλήρωμα μίας συνθήκης είναι η άρνησή της, π.χ. Συνθήκη Συμπλήρωμα true false false true item == SENT!(item == SENT) ή item!= SENT item > SENT item <= SENT (n % 2) == 0 (n % 2)!= 0 IV-13

14 Κανόνες DeMorgan!(E 1 && E 2 )!E 1!E 2!(E 1 E 2 )!E 1 &&!E 2 Απόδειξη Ε 1 Ε 2 &&!!Ε 1!Ε 2 T T T F F F F T F F T F T T F T F T T F T F F F T T T T Ε 1 Ε 2!!Ε 1!Ε 2 && T T T F F F F T F T F F T F F T T F T F F F F F T T T T IV-14

15 Παραδείγματα!(year % 4 == 0 && (year % 100!= 0 year % 400 == 0))!(year % 4 == 0)!(year % 100!=0 year % 400 == 0) year % 4!= 0 &&!(year % 100!= 0) &&!(year % 400 == 0) year % 4!= 0 && year % 100 == 0 && year % 400!= 0!(age > 25 && (status == S status == D ))!(age > 25)!(status == S status == D ) age <= 25 (status!= S && status!= D ) IV-15

16 Εντολή if if (συνθήκη) εντολή if (C) S C? όχι ναι S if ( i == 1) N = N/10; if ( i == 1) { D = N % 10; N = N / 10; } IV-16

17 if (συνθήκη) εντολή 1 else εντολή 2 if (C) S 1 else S 2 όχι C? ναι S 2 S 1 IV-17

18 if (x == 0) D = 0; else D = D / x; if (x > 0.0) {y = Math.sqrt(x); z = Math.sqrt(y);} else { y = 0.0; z = 0.0; } if (x == 0); /* do nothing */ else y = 1/x; if (x!= 0) y = 1/x; if (x > 5) y = x * 2; else ; /* do nothing */ if (x > 5) y = x * 2; Γενικά if (C); /* do nothing */ else S if (!C) S Χρησιμοποιείται εάν είναι πιο φυσικό να εκφραστεί η συνθήκη C παρά η άρνησή της if (C) S else; /* do nothing */ if (C) S Δεν έχει νόημα να υπάρχει κενό else IV-18

19 Φώλιασμα Επιλογών - Nesting IV-19

20 Φώλιασμα Επιλογών if (x > y) if (x > z) res = x; else res = z; else if (y > z) res = y; else res = z; Τί σημαίνει το πιο πάνω φώλιασμα επιλογών; IV-20

21 όχι x > y ναι όχι y > z ναι όχι x > z ναι res = z res = y res = z res = x IV-21

22 Γενικά ναι C 4 ναι S 1 ναι C 2 όχι ναι S 2 S 3 όχι C 5 C 1 ναι C 6 όχι ναι S 4 S 5 όχι S 6 όχι C 3 ναι S 7 όχι C 7 όχι S 8 ΕΠΛ131 Ενότητα V Περίπλοκη λογική που κάνει τον κώδικα δυσανάγνωστο IV-22

23 if (C 1 ) if (C 2 ) if (C 4 ) S 1 else S 2 else if (C 5 ) S 3 else S 4 else if (C 3 ) if (C 6 ) S 5 else S 6 else if (C 7 ) S 7 else S 8 if (C 1 && C 2 && C 4 ) S 1 else if (C 1 && C 2 &&!C 4 ) S 2 else if (C 1 &&!C 2 && C 5 ) S 3 else if (C 1 &&!C 2 &&!C 5 ) S 4 else if (!C 1 && C 3 && C 6 ) S 5 else if (!C 1 && C 3 &&!C 6 ) S 6 else if (!C 1 &&!C 3 && C 7 ) S 7 else if (!C 1 &&!C 3 &&!C 7 ) S 8 Πιο διαφανής λογική Όμως η κάθε συνθήκη αποτιμάται πολλαπλάσιο αριθμό φορών IV-23

24 Επαναφορά στο Παράδειγμα Κατά πόσο δεδομένος χρόνος είναι δίσεχτος ή όχι if (year % 4 == 0) if (year % 100 == 0) if (year % 400 == 0) isleapyear = true; else isleapyear = false; else isleapyear = true; else isleapyear = false; IV-24

25 Επαναφορά στο Παράδειγμα Κατά πόσο δεδομένος χρόνος είναι δίσεχτος ή όχι if (year % 4 == 0) if (year % 100 == 0) if (year % 400 == 0) isleapyear = true; else isleapyear = false; else isleapyear = true; else isleapyear = false; IV-25

26 Επαναφορά στο Παράδειγμα Κατά πόσο δεδομένος χρόνος είναι δίσεχτος ή όχι if (year % 4 == 0) if (year % 100 == 0) if (year % 400 == 0) isleapyear = true; else isleapyear = false; else isleapyear = true; else isleapyear = false; IV-26

27 όχι year % 4 == 0 ναι isleapyear = false όχι year % 100 == 0 ναι isleapyear = true όχι year % 400 == 0 ναι isleapyear = false isleapyear = true IV-27

28 if (year % 4 == 0 && year % 100 == 0 && year % 400 == 0) isleapyear = true; else if (year % 4 == 0 && year % 100 == 0 && year % 400!= 0) isleapyear = false; else if (year % 4 == 0 && year % 100!= 0) isleapyear = true; else if( year % 4!= 0) isleapyear = false; Διακλάδωση μόνο στη κατεύθυνση του όχι Ο πιο συνηθισμένος τρόπος φωλιάσματος επιλογών, απλά επειδή αποτελεί τον πιο φυσικό τρόπο έκφρασης, είναι όταν η διακλάδωση γίνεται μόνο στην κατεύθυνση του όχι. Έτσι υπάρχει μία αλυσίδα επιλογών. IV-28

29 C 1 ναι S 1 όχι C 2 ναι S 2 όχι όχι C n- 1 όχι S n ναι S n-1 if (C 1 ) S 1 else if (C 2 ) S 2 else if (C 3 ) S else if (C n-1 ) S n-1 else S n IV-29

30 Παραδείγματα if (x > z && x > y) res = x; else if (y > x && y > z) res = y; else res = z; if (year % 4 == 0 && year % 100!= 0) isleapyear = true; else if (year % 4 == 0 && year % 100 == 0 && year % 400 == 0) isleapyear = true; else isleapyear = false; if (weighted_aver >= 8.5) System.out.printnl( Excellent ); else if (weighted_aver < 8.5 && weighted_aver >= 6.5) System.out.printnl( Very Good ); else if (weighted_aver < 6.5 && weighted_aver > 5.0) System.out.printnl( Good ); else System.out.println( Failure ); IV-30

31 Επιλογές με πλήρη κάλυψη ενδεχομένων και ασαφείς επιλογές ναι C 1 P 1 όχι If (C 1 ) P 1 else if (C 2 ) P 2. else if (C n ) P n όχι ναι C 2 P 2 όχι C n ναι P n όχι IV-31

32 Επιλογές με πλήρη κάλυψη ενδεχομένων Εάν C 1 ή C 2 ή ή C n true τότε η εντολή επιλογής καλύπτει πλήρως όλα τα ενδεχόμενα διότι σε κάθε περίπτωση τουλάχιστο μία από τις συνθήκες πρέπει να είναι αληθής Εάν C 1 ή C 2 ή ή C n Φ τότε σε κάθε περίπτωση που η φόρμουλα Φ είναι αληθής, το ίδιο ισχύει και για μία από τις συνθήκες της εντολής με άλλα λόγια η εντολή καλύπτει όλα τα ενδεχόμενα για τα οποία η Φ είναι αληθής IV-32

33 Ασαφείς επιλογές Προκύπτουν σε μία δομή επιλογής εάν κάποια ενδεχόμενα μπορεί να ενταχθούν, με τυχαίο τρόπο, κάτω από διαφορετικές συνθήκες Το κλασσικό παράδειγμα είναι η εκτύπωση του μικρότερου ανάμεσα σε δύο αριθμούς, όπου η ένταξη (στη δυαδική επιλογή) του ενδεχόμενου οι δύο αριθμοί να είναι ίσοι μπορεί να γίνει με τυχαίο τρόπο if (a b) System.out.println(a); else if (b < a) System.out.printnl(b); if (a < b) System.out.println(a); else if (b a) System.out.printnl(b); IV-33

34 Αμοιβαία αποκλειόμενες συνθήκες Εάν για κάθε δυάδα ξεχωριστών συνθηκών, C i και C j, C i && C j false τότε κάθε κλαδί της εντολής θα επιλέγεται χωρίς ασάφεια, διότι σε κάθε περίπτωση μόνο μία συνθήκη θα είναι αληθής και οι υπόλοιπες θα είναι ψευδείς Συνεπώς, οι συνθήκες μπορούν να διατυπωθούν σε οποιαδήποτε σειρά (σε περίπτωση εντολών επιλογής όπου μπορούν να ισχύουν ταυτόχρονα πέραν της μίας συνθήκης, τότε η σειρά είναι καθοριστική ως προς την επιλογή του κλαδιού που θα ακολουθηθεί) IV-34

35 Παράδειγμα If (a < 25) System.out.printnl( Smaller than 25 ); else if (a == 25) System.out.printnl( Equals 25 ); else if (a > 25) System.out.printnl( Larger than 25 ); (a < 25) ή (a == 25) ή (a > 25) true Επομένως η εντολή επιλογής έχει πλήρη κάλυψη όλων των ενδεχομένων (a < 25) && (a == 25) false (a < 25) && (a > 25) false (a == 25) && (a > 25) false Επομένως οι συνθήκες είναι αμοιβαία αποκλειόμενες και η διακλάδωση είναι σαφής IV-35

36 Παράδειγμα If (a == b) System.out.printnl( Branch b ); else if (a == c) System.out.printnl( Branch c ); (a == b) ή (a == c) (a == b) ή (a == c) δεν υπάρχει απλοποίηση Επομένως η εντολή επιλογής έχει κάλυψη μόνο των ενδεχομένων που καλύπτει η φόρμουλα (a == b) ή (a == c), δηλαδή των ενδεχομένων όπου το a ισούται με το b ή το a ισούται με το c: (a == b) ή (a == c) true, όταν a == b (a == b) ή (a == c) true, όταν a == c (a == b) && (a == c) true, όταν b == c Επομένως οι συνθήκες δεν είναι αμοιβαία αποκλειόμενες και η διακλάδωση είναι ασαφής συνεπώς η σειρά έχει σημασία IV-36

37 Παράδειγμα if (a < 0) P 1 else if (a >= 0) if (b!= 0) P 2 else if (b == 0) if (a == b) P 3 else if (a!= b) if (a == 0) P 4 else if (a!= 0); /* do nothing */ IV-37

38 a < 0 y P 1 a 0 n b 0 y P 2 b = 0 n a = b a 0 n a = 0 n y a = 0 y P 3 P 4 do nothing IV-38

39 a < 0 y P 1 a 0 n b 0 y P 2 b = 0 n a 0 a = b n y a = 0 P 3 P 4 do nothing IV-39

40 if (a < 0) P 1 else if (b!= 0) P 2 else if (a == b) P 3 else if (a == 0) P 4 else ; /* do nothing */ if (a < 0) P 1 else if (a >= 0 && b!= 0) P 2 else if (a >= 0 && b == 0 && a == b) P 3 else if (a>= 0 && b == 0 && a!= b && a == 0) P 4 else if (a>= 0 && b == 0 && a!= b && a!= 0) ; /* do nothing */ IV-40

41 (b == 0 && a == 0) if (a < 0) P 1 else if (a >= 0 && b!= 0) P 2 else if (a >= 0 && b == 0 && a == b) P 3 else if (a >= 0 && b == 0 && a!= b && a == 0) P 4 else if (a >= 0 && b == 0 && a!= b && a!= 0) ; /* do nothing */ (a > 0 && a == 0) false (a > 0 && b == 0) if (a < 0) P 1 else if (a >= 0 && b!= 0) P 2 else if (b == 0 && a == 0) P 3 else if (a > 0 && b == 0) ; /* do nothing */ IV-41

42 Παράδειγμα: Υπολογισμός φορολογικού συντελεστή βάσει εισοδήματος Εισόδημα Φορολογικός συντελεστής 0-47,450 22% 47, ,650 25% 114, ,700 28% 174, ,950 33% 5 αμοιβαία αποκλειόμενες επιλογές 311,950-35% double rate; if (income < 47450) rate = 0.22; else if (income < ) rate = 0.25; else if (income < ) rate = 0.28; else if (income < ) rate = 0.33; else rate = 0.35; IV-42

43 Η πιο κάτω διατύπωση είναι ορθή ή λάθος; double rate = 0.35; if (income < 47450) rate = 0.22; if (income < ) rate = 0.25; if (income < ) rate = 0.28; if (income < ) rate = 0.33; IV-43

44 Εντολή switch switch (έκφραση_ελέγχου) { σύνολο_ετικεττών_1 εντολές_1 break; σύνολο_ετικεττών_2 εντολές_2 break;.. σύνολο_ετικεττών_n εντολές_n break; default: εντολές_d } Η έκφραση_ελέγχου πρέπει να είναι βαθμωτού τύπου, π.χ. char ή int, αλλά όχι double IV-44

45 Παραδείγματα char choice = args[0].charat(0); switch(choice) { case B : case b : case W : case w : case K : case k : case R : case r : Figures.draw_butterfly(size, fill); break; Figures.draw_windmill(size, fill); break; Figures.draw_kite(size, fill); break; Figures.draw_rombus(size, fill); break; } default: System.out.prinln( Wrong choice ); IV-45

46 switch (year % 4 == 0) { case false: isleapyear = false; break; case true: switch (year % 100 == 0) { case false: isleapyear = true; break; case true: switch (year % 400 == 0) { case false: isleapyear = false; break; } } } case true: isleapyear = true; IV-46

47 Σύνοψη: Αλγοριθμική Δομή Επιλογής Η δομή της επιλογής επιτρέπει την ανταπόκριση σε διαφορετικές καταστάσεις με ευέλικτο τρόπο Κανονικά μία συγκεκριμένη εντολή επιλογής πρέπει να περιλαμβάνει δράσεις για κάθε πιθανό ενδεχόμενο που μπορεί να προκύψει, έστω και αν κάποια από αυτές τις δράσεις είναι η «απραξία» ( do nothing ) όπως συχνά συμβαίνει IV-47

48 Αλγοριθμική Δομή Επανάληψης Μορφές Επανάληψης Απροσδιόριστη Επανάληψη ή Επανάληψη υπό συνθήκη εντολές while και do-while Απαριθμητή Επανάληψη εντολή for IV-48

49 Εντολή while while (συνθήκη) εντολή C? ναι S όχι Σημασιολογία Εάν από την αρχή δεν ευσταθεί η συνθήκη C, η εντολή S δεν θα εκτελεστεί καθόλου. Διαφορετικά η S εκτελείται και αυτό επαναλαμβάνεται μέχρις ότου η συνθήκη C να μην ευσταθεί. Επομένως για να μην δημιουργηθεί βρόχος άπειρης διάρκειας (infinite loop), η διεργασία της S πρέπει να είναι τέτοια, ούτως ώστε να επέλθει μία κατάσταση στην οποία η C να μην ευσταθεί πλέον, οδηγώντας έτσι σε έξοδο από το βρόχο. IV-49

50 /* infinite loop */ while (true) System.out.println( I cannot stop! ); /* null statement */ while (false) System.out.println(???? ); while (false); IV-50

51 Παράδειγμα: Υπολογισμός του αθροίσματος n public class ComputeSum{ public static void main(string[] args){ int n = Integer.parseInt(args[0]); int count = 1, sum = 0; while (count <= n){ sum = sum + count; count = count + 1; } } System.out.println( The sum is + sum); } IV-51

52 Παράδειγμα: Πρόγραμμα το οποίο να παράγει τα ακόλουθα: x 2 x public class PowersOfTwo { } public static void main (String[] args){ int count = 0, res = 1; while (count <= 6) { System.out.println(count + + res); count = count + 1; res = res * 2; } } IV-52

53 Υπάρχει κάτι λάθος στον πιο κάτω κώδικα; public class PowersOfTwo { } public static void main (String[] args){ int count = 0, res = 1; while (count <= 6) System.out.println(count + + res); count = count + 1; res = res * 2; } IV-53

54 Σύνθετοι Τελεστές Ανάθεσης count = count + 1; res = res * 2; sum = sum + count; x = x 3; n = n * (x+1); μεταβλητή τελεστής= έκφραση; Σημασιολογία: μεταβλητή = μεταβλητή τελεστής (έκφραση); Σύνθετοι τελεστές: +=, =, *=, /=, %= count += 1; res *= 2; sum += count; x -= 3; n *= (x+1); IV-54

55 int count = 1, sum = 0; while (count <= n) { sum += count; count += 1; } int count = 0, res = 1; while (count <= 6) { System.out.println(count + + res); count += 1; res *= 2; } IV-55

56 Εντολή for for (έκφραση-αρχικοποίησης ; συνθήκη ; έκφραση-ενημέρωσης) εντολή Γενική Σημασιολογία Καταρχήν αποτιμείται η έκφρασηαρχικοποίησης, και στη συνέχεια δοκιμάζεται η συνθήκη. Εάν δεν ευσταθεί, ο έλεγχος μεταφέρεται εκτός της for. Διαφορετικά εκτελείται η εντολή, αποτιμείται η έκφραση-ενημέρωσης και ο έλεγχος επιστρέφει στη δοκιμή της συνθήκης. Η εκτέλεση της εντολής και η αποτίμηση της έκφρασηςενημέρωσης επαναλαμβάνεται ενόσω η συνθήκη ευσταθεί. Διαφορετικά τερματίζεται ο βρόγχος. IV-56

57 Τυπική Εφαρμογή της Εντολής for αρχικοποίηση μεταβλητής ελέγχου συνθήκη? όχι ναι εντολή ενημέρωση μεταβλητής ελέγχου IV-57

58 Παρατηρήσεις 1. Η επανάληψη ελέγχεται από μία μεταβλητή η οποία ονομάζεται μεταβλητή ελέγχου (control variable) ή μεταβλητή απαρίθμησης (counting variable) 2. Η έκφραση-αρχικοποίησης αποτελεί την εντολή βάσει της οποίας καταχωρείται αρχική τιμή στη μεταβλητή ελέγχου 3. H αποτίμηση της έκφρασης-ενημέρωσης έχει ως αποτέλεσμα την ενημέρωση της τιμής της μεταβλητής ελέγχου 4. Η συνθήκη (επανάληψης) εμπλέκει τη μεταβλητή ελέγχου 5. Επομένως προς αποφυγή βρόγχου άπειρης διάρκειας, η έκφρασηενημέρωσης πρέπει τελικά να οδηγεί σε μία κατάσταση, όπου η συνθήκη παύει να υφίσταται 6. Για να είναι η λογική πιο διαφανής, η τιμή της μεταβλητής ελέγχου πρέπει να ενημερώνεται αποκλειστικά από την έκφρασηενημέρωσης 7. Τέλος η μεταβλητή ελέγχου τείνει να είναι απαριθμητού τύπου - σε περίπτωση που μεταβλητή τύπου double χρησιμοποιείται ως μεταβλητή ελέγχου, η κοινή πρακτική είναι να έχει μόνο ακέραιο μέρος ΕΠΛ131 Ενότητα V V-58

59 /* Examples of infinite loops */ for (int n=1; true; n += 1) System.out.printnl( I cannot stop! ); for (1; true; 1) System.out.println( I cannot stop! ); for (; true; ) System.out.println( I cannot stop! ); /* Examples of null statements */ for (n = 1; n == 10; n += 1) System.out.println(??? ); for (0; false; 0) System.out.println(??? ); IV-59

60 Παράδειγμα: Υπολογισμός του αθροίσματος n public class ComputeSum{ public static void main(string[] args){ int n = Integer.parseInt(args[0]); int sum = 0; for (int count = 1; count <= n; count += 1) sum = sum + count; } System.out.println( The sum is + sum); } IV-60

61 Παράδειγμα: Πρόγραμμα το οποίο εκτυπώνει 2 x για x από το 1 μέχρι το 6 public class PowersOfTwo { } public static void main (String[] args){ int res = 1; for (int count = 1; count <= 6; count += 1) { System.out.println(count + + res); res = res * 2; } } IV-61

62 Τελεστές για Αύξηση και Μείωση Τιμών (++, ) Increment and Decrement Operators count = count + 1; count += 1; ++count Ο τελεστής αύξησης, ++, λαμβάνει μία μοναδική μεταβλητή ως τον τελεστέο του Το πλευρικό φαινόμενο της εφαρμογής του, είναι ότι η τιμή του τελεστέου του αυξάνεται κατά ένα Συνήθως ο τελεστής χρησιμοποιείται απλά για αυτή την παρενέργεια, όπως στο παρακάτω παράδειγμα: for (count = 1; count <= n; ++count) sum += count; IV-62

63 Παρατηρήσεις Η τιμή μίας έκφρασης στην οποία χρησιμοποιείται ο τελεστής ++, εξαρτάται από τη θέση του τελεστή: Προ-σημειογραφική αύξηση (prefix increment) ο τελεστής προηγείται του τελεστέου, π.χ. ++count η τιμή της έκφρασης είναι η τιμή του τελεστέου μετά την αύξηση Μετα-σημειογραφική αύξηση (postfix increment) ο τελεστής ακολουθεί τον τελεστέο, π.χ. count++ η τιμή της έκφρασης είναι η τιμή του τελεστέου πριν την αύξηση Παρομοίως, ο τελεστής μείωσης, --, λαμβάνει μία μοναδική μεταβλητή ως τελεστέο, η παρενέργεια της εφαρμογής του είναι η μείωση της τιμής του τελεστέου κατά ένα, ενώ παράλληλα επιστρέφεται η τιμή του τελεστέου μετά ή πριν τη μείωση, σύμφωνα με το εάν χρησιμοποιείται προ- ή μετασημειογραφική μείωση αντιστοίχως IV-63

64 Παράδειγμα i 2 j? j = ++i; Προ-σημειογραφική αύξηση: Πρώτα αυξάνεται η i και μετά χρησιμοποιείται η τιμή της j = i++; Μετά-σημειογραφική αύξηση: Πρώτα χρησιμοποιείται η τιμή της i και μετά γίνεται η αύξηση i j i j IV-64

65 Επιστροφή στο Παράδειγμα των Υποδιαιρέσεων μιας Ρήγας public class Ruler { public static void main(string[] args) { int N = Integer.parseInt(args[0]); String ruler = " "; for (int i = 1; i <= N; i++) { ruler = ruler + i + ruler; } System.out.println(ruler); } } i ruler " " 1 " 1 " 2 " " 3 " " IV-65

66 % java Ruler 1 1 % java Ruler % java Ruler % java Ruler % java Ruler % java Ruler 100 Exception in thread "main" java.lang.outofmemoryerror IV-66

67 Παράδειγμα: Παρουσίαση των εκτυπώσιμων χαρακτήρων με τους κωδικούς τους public class PrintChars { public static void newline (){ System.out.println(); } public static void main(string[] args){ char START_CHAR = ' '; char END_CHAR = '~'; int per_line = 5; newline(); System.out.println("Displaying Print Characters with their Codes"); for (char c = START_CHAR; c <= END_CHAR; c++){ if ((c - START_CHAR)% per_line == 0) newline(); System.out.print(" " + c + " " + (int)c); } } } ΕΠΛ131 Ενότητα ΙV ΙV-67

68 $ java PrintChars Displaying Print Characters with their Codes 32! 33 " 34 # 35 $ 36 % 37 & 38 ' 39 ( 40 ) 41 * , / : 58 ; 59 < 60 = 61 > 62? 64 A 65 B 66 C 67 D 68 E 69 F 70 G 71 H 72 I 73 J 74 K 75 L 76 M 77 N 78 O 79 P 80 Q 81 R 82 S 83 T 84 U 85 V 86 W 87 X 88 Y 89 Z 90 [ 91 \ 92 ] 93 ^ 94 _ 95 ` 96 a 97 b 98 c 99 d 100 e 101 f 102 g 103 h 104 i 105 j 106 k 107 l 108 m 109 n 110 o 111 p 112 q 113 r 114 s 115 t 116 u 117 v 118 w 119 x 120 y 121 z 122 { } 125 ~ 126 ΕΠΛ131 Ενότητα ΙV ΙV-68

69 public class PrintChars { public static void newline (){ System.out.println(); } // Enter characters from command line public static void main(string[] args){ String s1 = args[0]; String s2 = args[1]; char START_CHAR = s1.charat(0); // args[0].charat(0); char END_CHAR = s2.charat(0); // args[1].charat(0); int per_line = 5; newline(); System.out.println("Displaying Print Characters with their Codes"); for (char c = START_CHAR; c <= END_CHAR; c++){ if ((c - START_CHAR)% per_line == 0) newline(); System.out.print(" " + c + " " + (int)c); } } } $ java PrintChars a A ΕΠΛ131 Ενότητα ΙV Displaying Print Characters with their Codes ΙV-69

70 public class PrintChars { public static void newline (){ System.out.println(); } // Enter characters from command line public static void main(string[] args){ String s1 = args[0]; String s2 = args[1]; char START_CHAR = s1.charat(0); // args[0].charat(0); char END_CHAR = s2.charat(0); // args[1].charat(0); if (START_CHAR > END_CHAR) {char temp = START_CHAR; START_CHAR = END_CHAR; END_CHAR = temp;} int per_line = 5; newline(); $ java PrintChars a A System.out.println("Displaying Print Characters with their Codes"); for (char c = START_CHAR; c Displaying <= END_CHAR; Print Characters c++){ with their Codes if ((c - START_CHAR)% per_line == 0) newline(); } } } ΕΠΛ131 Ενότητα ΙV System.out.print(" A 65 " + B c 66 + C " 67 " D + 68 (int)c); E 69 F 70 G 71 H 72 I 73 J 74 K 75 L 76 M 77 N 78 O 79 P 80 Q 81 R 82 S 83 T 84 U 85 V 86 W 87 X 88 Y 89 Z 90 [ 91 \ 92 ] 93 ^ 94 _ 95 ` 96 a 97 ΙV-70

71 Εντολή do-while do εντολή while (συνθήκη) ; S do S while (C); C? ναι όχι Σημασιολογία Καταρχήν εκτελείται η εντολή S και μετά δοκιμάζεται η συνθήκη C Ενόσω αυτή επαληθεύεται η εκτέλεση της εντολής S επαναλαμβάνεται Επομένως η S εκτελείται τουλάχιστο μία φορά Προς αποφυγή βρόγχου άπειρης διάρκειας, η διεργασία της S πρέπει να είναι τέτοια ούτως ώστε να επέλθει κάποια κατάσταση στην οποία η C να μην υφίσταται πλέον IV-71

72 do System.out.println( I cannot stop! ); while (true); do System.out.println( I will stop immediately! ); while (false); System.out.println( I will stop immediately! ); IV-72

73 Έλεγχος εγκυρότητας δεδομένων: Η εντολή do-while είναι συνήθως η πιο κατάλληλη δομή για τον έλεγχο εγκυρότητας δεδομένων int A, B; do { StdOut.print( Enter values for A and B where A < B ); A = StdIn.readInt(); B = StdIn.readInt(); } while (A >= B); IV-73

74 Παράδειγμα: Εισδοχή 10 αριθμών από το πεδίο [0.0, 10.0] και υπολογισμός του μέσου όρου αυτών των αριθμών double sum = 0.0, num; for (int i=1; i <= 10; ++i){ do num = StdIn.readDouble(); while (num < 0.0 num > 10.0); sum += num; } StdOut.println( The average is + sum/10); IV-74

75 Σύνοψη Παραδειγμάτων Επανάληψης IV-75

76 Προσομοίωση Monte Carlo IV-76

77 Παράδειγμα: Η Καταστροφή του Τζογαδόρου Ο τζογαδόρος αρχίζει με ένα ποσό stake και βάζει στοιχήματα του 1 μέχρις ότου είτε να εξαντλήσει το ποσό των stake ή να φτάσει το στόχο του των goal. Τι πιθανότητες έχει να κερδίσει; Πόσα στοιχήματα πρέπει να παίξει; Μια προσέγγιση: Προσομοίωση Monte Carlo Στρίψτε ψηφιακά κέρματα και παρατηρείστε τι συμβαίνει Επαναλάβετε και υπολογίστε τις στατιστικές IV-77

78 Η Καταστροφή του Τζογαδόρου public class Gambler { public static void main(string[] args) { int stake = Integer.parseInt(args[0]); int goal = Integer.parseInt(args[1]); int trials = Integer.parseInt(args[2]); int wins = 0; // repeat experiment N times for (int i = 0; i < trials; i++) { } // do one gambler's ruin experiment int t = stake; while (t > 0 && t < goal) { // flip coin and update if (Math.random() < 0.5) t++; else t--; } if (t == goal) wins++; System.out.println(wins + " wins of " + trials); } } ΕΠΛ131 Ενότητα V V-78

79 stake goal trials % java Gambler wins of 1000 % java Gambler wins of 1000 % java Gambler wins of 1000 Μετά από αρκετή ώρα. Γεγονός: Πιθανότητα νίκης = stake goal. Γεγονός: Αναμενόμενος αριθμός στοιχημάτων = stake desired gain. Παράδειγμα: 20% πιθανότητα να μετατρέψεις τα 500 σε 2500, αλλά να αναμένεις να κάνεις ένα εκατομμύρια στοιχήματα του /2500 = 20% 500 * ( ) = 1 εκατομμύριο IV-79

80 Κοινά Λάθη Σύγχυση ανάμεσα στις εντολές if και while: if (συνθήκη) εντολή while (συνθήκη) εντολή Παράλειψη των παρενθέσεων γύρω από τις συνθήκες, στις εντολές while και do-while Σχετικά με την εντολή for, παράλειψη του χαρακτήρα ; μετά την έκφραση αρχικοποίησης και μετά την συνθήκη επανάληψης Σε κάθε περίπτωση, το σώμα της επανάληψης θεωρείται ότι είναι μία και μοναδική εντολή Κοινό λάθος είναι η παράλειψη των παρενθέσεων {} όταν το τι επαναλαμβάνεται είναι μία ακολουθία εντολών όπως φαίνεται στην ακόλουθη διαφάνεια IV-80

81 while (x > x_big) x = z; ++x_big; Σε αυτή την εντολή το σώμα της επανάληψης θεωρείται μόνο η εντολή x = z; while (x > x_big) { x = z; ++x_big;} Εδώ, η ακολουθία των δύο εντολών αποτελεί το σώμα της επανάληψης IV-81

82 if (συνθήκη 1 ) do {.... } while (συνθήκη 1 ); θα πρέπει να απλοποιηθεί σε while (συνθήκη 1 ) {..... } Κοινά Λάθη IV-82

83 Κοινά Λάθη H χρήση του τελεστή για μη ισότητα αναφορικά με μεταβλητές τύπου double πρέπει να αποφεύγεται, π.χ. while (balance!= 0.0)..... Αυτή η συνθήκη πολύ πιθανώς ενδέχεται να οδηγήσει σε βρόγχο άπειρης διάρκειας, απλά επειδή η τιμή 0.0 μπορεί να μην καταχωρηθεί επακριβώς στη μεταβλητή balance while (balance > 0.0)..... Εδώ αποφεύγεται ο βρόγχος, νοουμένου ότι η τιμή της balance δεν παραμένει συνεχώς κάποιος θετικός αριθμός IV-83

84 Κοινά Λάθη Παρερμήνευση των σύνθετων τελεστών ανάθεσης Μ τ= Ε σημαίνει Μ = Μ τ (Ε) και όχι Μ = Μ τ Ε Συνεπώς, οι παρενθέσεις γύρω από την έκφραση Ε που αποτελεί τον δεξιό τελεστέο αποτελούν αναγκαίο στοιχείο π.χ. a *= b + c; σημαίνει a = a * (b + c); και όχι a = a * b + c; a = (a * b) + c; Δεν υπάρχει συντομογραφία για αυτή την πρόταση a *= b; a += c; IV-84

85 Έλεγχος ροής: Σύνοψη Ακολουθία προτάσεων/εντολών που εκτελούνται σε ένα πρόγραμμα Συνθήκες και βρόγχοι: ρυθμίζουν τον έλεγχο ροής Επιλογή if, if-else, switch Επανάληψη while, for, do-while IV-85

οµές Επιλογής Εντολές if και switch

οµές Επιλογής Εντολές if και switch οµές Επιλογής Εντολές if και switch οµή Ελέγχου Control Structure Ένας συνδυασµός ατοµικών εντολών σε µία λογική µονάδα, όπου υπάρχει µόνο ένα σηµείο εισόδου και ένα σηµείο εξόδου. οµή Ελέγχου για Επιλογή

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

Επανάληψη. Εντολές while, for, do-while

Επανάληψη. Εντολές while, for, do-while Επανάληψη Εντολές while, for, do-while Απροσδιόριστη Επανάληψη ή Επανάληψη υπό συνθήκη (while, do-while) Απαριθµητή Επανάληψη (for) Εντολή while while (συνθήκη) εντολή C? ναι όχι S Σηµασιολογία Εάν από

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

Δομές ελέγχου ροής προγράμματος

Δομές ελέγχου ροής προγράμματος Δομές ελέγχου ροής προγράμματος Υπάρχουν δύο είδη δομών ελέγχου ροής (control flow): Οι δομές επιλογής και Οι δομές επανάληψης Δομές ελέγχου ροής προγράμματος Είδος δομής Δομές επιλογής Δομή ελέγχου ροής

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

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

Στόχοι και αντικείμενο ενότητας. Βασικές κατασκευές ΓΠ. Έλεγχος ροής προγράμματος. #4.. Εντολές Επιλογής Στόχοι και αντικείμενο ενότητας Βασικές κατασκευές Γλωσσών Προγραμματισμού (ΓΠ) Δομές ελέγχου ροής προγράμματος #4.. ντολές πιλογής Προτάσεις διακλάδωσης υπό συνθήκη ντολές if, if Φωλιασμένα (nested) if

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

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

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

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

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

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

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

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής Προγραμματισμός Η/Υ Ενότητα 4: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Έλεγχος της ροής ενός προγράμματος

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

Προγραμματισμό για ΗΜΥ

Προγραμματισμό για ΗΜΥ ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 6 ομές Επιλογής Θέματα ιάλεξης Σχεσιακοί και Λογικοί Τελεστές

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

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες

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

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

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

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

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

Ενσωματωμένοι Τύποι Δεδομένων. ΕΠΛ131 Ενότητα III

Ενσωματωμένοι Τύποι Δεδομένων. ΕΠΛ131 Ενότητα III Ενσωματωμένοι Τύποι Δεδομένων III-1 Τύποι Δεδομένων Κάθε γλώσσα παρέχει ένα αριθμό ενσωματωμένων τύπων δεδομένων (π.χ. double, int, char) και επίσης παρέχει τη δυνατότητα στο χρήστη να ορίζει νέους τύπους

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

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

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

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

Υπολογισμός - Εντολές Επανάληψης

Υπολογισμός - Εντολές Επανάληψης Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Επανάληψης ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία

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

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ Κων. Κόκκινος Μεταβλητές-1 Οι μεταβλητές αποτελούν θέσεις μνήμης στις οποίες αποθηκεύονται τιμές αντίστοιχες

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II Strings Η κλάση String είναι προκαθορισμένη κλάση της Java που μας επιτρέπει να χειριζόμαστε αλφαριθμητικά. Ο τελεστής + μας επιτρέπει

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

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

ιαδικαστικός Προγραμματισμός ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ιαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 2 ο : Εντολές ελέγχου > εντολές υπό συνθήκη Στόχοι μαθήματος Να κατανοήσετε τη σχέση μεταξύ εντολών και παραστάσεων. Να αναγνωρίζετε

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

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8) Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις (Διάλεξη 8) 8-1 Τι θα δούμε σήμερα Η εντολή if else Η εντολή if else ιf - -else H εντολή switch Λογικές παραστάσεις Σχεσιακοί

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

3. Εκφράσεις και έλεγχος ροής

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 8/11/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 8/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 8/11/07 Συμπλήρωμα προηγούμενης εβδομάδας: ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 8/11/07 Τι συμβαίνει όταν στην ίδια έκφραση υπάρχει πάνω από

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

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Είσοδος Χρησιμοποιούμε την κλάση Scanner της Java import java.util.scanner; Αρχικοποιείται με το ρεύμα εισόδου: Scanner in = new Scanner(System.in);

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

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης Προγραμματισμός Η/Υ Ενότητα 5: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Έλεγχος της ροής του προγράμματος

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

Δομές ελέγχου & επανάληψης

Δομές ελέγχου & επανάληψης 3 Δομές ελέγχου & επανάληψης Τι θα δούμε σε αυτό το μάθημα 1. δομές ελέγχου 1. η δομή if 2. η δομή switch 2. δομές επανάληψης 1. η δομή while 2. η δομή do...while 3. η δομή for 3. break και continue 4.

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 3 ΕΛΕΓΧΟΣ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ι. Ελεγκτές συνθηκών ή περιπτώσεων:

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Βρόγχοι Το if-then Statement Στην Java το if-then statement έχει το εξής συντακτικό Η παρένθεση είναι απαραίτητη if (condition) if-code block

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

Μεθόδων Επίλυσης Προβλημάτων

Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 7 ομές Επαναλήψεις Ο βρόχος While ομές Έλεγχου

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

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

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

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

Κεφάλαιο : Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) Δομές Έλεγχου Προγράμματος

Κεφάλαιο : Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) Δομές Έλεγχου Προγράμματος Κεφάλαιο 5.1-5.3: Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) 9-1 Δομές Έλεγχου Προγράμματος Μέχρι τώρα είδαμε τις ακόλουθες δομές έλεγχου (program control structure) ενός προγράμματος Α) Sequence π.χ. int

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

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

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

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

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

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Έλεγχος ροής Δομή επιλογής (if, switch) Δομές επανάληψης (while, do-while, for) Διακλάδωση

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Εντολές ελέγχου συγκρίσεων επιλογής ή διακλαδώσεων ( if switch) Μία από τις σημαντικότερες

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07 Συνέχεια για το for: ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07 Nested for-loops (for μέσα σε for): π.χ. int k; for (int i=0; i

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

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

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

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

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

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

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

ΕΠΛ131 Αρχές Προγραμματισμού

ΕΠΛ131 Αρχές Προγραμματισμού ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ131 Αρχές Προγραμματισμού Ακαδημαϊκό Έτος 2016/17 Χειμερινό Εξάμηνο ΕΝΔΙΑΜΕΣΗ ΕΞΕΤΑΣΗ ΗΜΕΡΟΜΗΝΙΑ: 29 Οκτωβρίου 2016 ΔΙΑΡΚΕΙΑ: 10:00πμ 12:30μμ ΑΙΘΟΥΣΕΣ: Κτήριο

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

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ενότητα 5 Δομές Ελέγχου Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Δομές Ελέγχου Οι Boehm και Jacopini απέδειξαν ότι οποιοσδήποτε αλγόριθμος

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

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

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

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

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

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

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

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

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

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

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

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

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή Στόχοι και αντικείμενο ενότητας Η έννοια του Τελεστή #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Εκφράσεις Προτεραιότητα Προσεταιριστικότητα Χρήση παρενθέσεων Μετατροπές Τύπων Υπονοούμενες και ρητές μετατροπές

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

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου Σκοπός και περίγραμμα της Ενότητας 4 Σκοπός της παρουσίασης Να μελετήσουμε τις συναρτήσεις που ελέγχουν την ροή και την εκτέλεση ενός προγράμματος Σύνοψη

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

Δοκιμή και Αποσφαλμάτωση Testing and Debugging

Δοκιμή και Αποσφαλμάτωση Testing and Debugging Δοκιμή και Αποσφαλμάτωση Testing and Debugging XVI-1 Ο μεταγλωττιστής εντοπίζει τα συντακτικά λάθη ενός προγράμματος. Δεν είναι όμως σε θέση να εντοπίσει λάθη στη λογική του προγράμματος. δεδομένα πρόγραμμα

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

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

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

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

Κεφάλαιο : Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο : Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 5.1-5.3: Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 9-1 οµές Έλεγχου Προγράµµατος Μέχρι τώρα είδαµε τις ακόλουθες δοµές έλεγχου (program control structure) ενός προγράµµατος

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

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

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

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

Ο πιο κάτω πίνακας περιγράφει σε ποιες περιπτώσεις χρησιμοποιούμε τους τρεις πιο πάνω τρόπους:

Ο πιο κάτω πίνακας περιγράφει σε ποιες περιπτώσεις χρησιμοποιούμε τους τρεις πιο πάνω τρόπους: Επαναλήψεις - Loops Οι επαναλήψεις σε ένα πρόγραμμα μας επιτρέπουν μια ομάδα εντολών να εκτελείται για όσες φορές επιθυμούμε Υπάρχουν τρεις τρόποι επανάληψης εντολών με τη χρήση: While loops For loops

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

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

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

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

Εντολές ελέγχου ροής if, for, while, do-while

Εντολές ελέγχου ροής if, for, while, do-while Εντολές ελέγχου ροής if, for, while, do-while 1 Μαρτίου 014 1 Εντολές εκτέλεσης υπό συνθήκη Μπορούμε να εκτελέσουμε εντολές της γλώσσας σε περίπτωση που κάποια συνθήκη ισχύει χρησιμοποιώντας την εντολή

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008 - Παράδειγμα με switch (το οποίο δείχνει επίσης πότε σε μια άσκηση χρησιμοποιούμε user-input και System.out.println() για έξοδο και πότε χρησιμοποιούμε είσοδο σε μέθοδο

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην πληροφορική

Εισαγωγή στην πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Η γλώσσα προγραμματισμού

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

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

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java

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

Βασικάχαρακτηριστικάτηςγλώσσας. Πίνακες, Έλεγχος Ροής και Βρόχοι

Βασικάχαρακτηριστικάτηςγλώσσας. Πίνακες, Έλεγχος Ροής και Βρόχοι Βασικάχαρακτηριστικάτηςγλώσσας Πίνακες, Έλεγχος Ροής και Βρόχοι Πίνακες Τρόπος αποθήκευσης πολλών στοιχείων που έχουν τον ίδιο πρωταρχικό τύπο δεδοµένων ή κλάση. Τα στοιχεία µπορεί να έχουν οποιοδήποτε

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II HelloWorld.java class HelloWorld public static void main(string args[]) // print message System.out.println( Hello world! ); javac HelloWorld.java

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Ισότητα Strings class StringTest public static void main(string args[]) String x1 = "java"; String y1 = "java"; System.out.println("1.

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

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ Επανάληψη για τις Τελικές εξετάσεις (Διάλεξη 24) Εισαγωγή Το μάθημα EPL032 έχει ως βασικό στόχο την επίλυση προβλημάτων πληροφορικής με την χρήση της γλώσσας προγραμματισμού C. Επομένως πρέπει: Nα κατανοήσετε

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011 Τελεστής σύντοµης ανάθεσης Τελεστής σύντοµης ανάθεσης (shorthand assignment operator) µεταβλητή = µεταβλητή τελεστής

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

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

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

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

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

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY120) #5 εκτέλεση υπό συνθήκη 1 Σπύρος Λάλης Ροή εκτέλεσης Μέχρι στιγμής η ροή εκτέλεσης του κώδικα είναι αυστηρά γραμμική Οι εντολές που γράφουμε στον κώδικα μας εκτελούνται μια προς

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07 Πρώτοι αριθμοί ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07 Ένας ακέραιος μεγαλύτερος του 1 είναι πρώτος αν έχει ακριβώς δύο διαιρέτες (τη μονάδα και τον εαυτό του). Πρόβλημα: έλεγχος

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

Υπολογισμός - Εντολές Ελέγχου

Υπολογισμός - Εντολές Ελέγχου Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Ελέγχου ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία

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

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

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

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας Αυτό-αξιολόγηση 1η: 08/02/2006 1

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

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

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

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

Διάλεξη 5η: Εντολές Επανάληψης

Διάλεξη 5η: Εντολές Επανάληψης Διάλεξη 5η: Εντολές Επανάληψης Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Εντολές Επανάληψης CS100, 2015-2016

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

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Σύγκριση JAVA-C ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΣΥΓΚΡΙΣΗ JAVA - C ΤΥΠΟΙ

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II HelloWorld.java class HelloWorld public static void main(string args[]) // print message System.out.println( Hello world! ); javac HelloWorld.java

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

9. Εντολές επανάληψηςκαι η εντολή

9. Εντολές επανάληψηςκαι η εντολή Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 9. Εντολές επανάληψηςκαι η εντολή while Ιωάννης Κατάκης Σήμερα o Εισαγωγή στις δομές επανάληψης o Εντολή while o Τελεστές prefix και postfix Δομές ελέγχου προγράμματος

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

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13) Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις Επανάληψη για την ενδιάμεση εξέταση (Διάλεξη 13) 13-1 Πρόβλημα 1 Γράψετε τον ορισμό μίας συνάρτησης η οποία υπολογίζει το μέγιστο 2 ακεραίων αριθμών και

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

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

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

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

Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής email: dzavanti@cs.uoi.gr Περιεχόμενα Ορισμοί Λογικοί τελεστές f0r loops while loops if else

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

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Προγραμματισμός Επανάληψη Προγραμματισμός Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη ροής εντολών: Σειριακή Σε διακλάδωση if, if/else, switch Επαναληψηπτικά

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

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ακαδημαϊκό έτος 2010/2011 Επιμέλεια Ξενοφών Βασιλάκος Περιεχόμενα Φροντιστηρίου A. Πρωταρχικοί τύποι B. Είσοδος/ Έξοδος C. Πράξεις 2 Δήλωση / Αρχικοποίηση / Εκχώρηση A. Πρωταρχικοί

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

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf(%u\n, x); Β. unsigned char ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Β Περιόδου 2015 (8/9/2015) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

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

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

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

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

Προγραμματισμός Ι. Θεματική ενότητα 3: Tελεστές. εκφράσεις

Προγραμματισμός Ι. Θεματική ενότητα 3: Tελεστές. εκφράσεις Θεματική ενότητα 3: Tελεστές εκφράσεις Τελεστές (operators) Εκφράσεις (expressions) Σύμβολα ή λέξεις που αναπαριστούν συγκεκριμένες διεργασίες, οι οποίες εκτελούνται πάνω σε ένα ή περισσότερα δεδομένα.

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

8. Συνθήκες ελέγχου, λογικοί τελεστές

8. Συνθήκες ελέγχου, λογικοί τελεστές Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 8. Συνθήκες ελέγχου, λογικοί τελεστές Ιωάννης Κατάκης Σήμερα o Λογικές παραστάσεις Σχεσιακοί τελεστές Λογικοί τελεστές o if -else o switch Λογικές παραστάσεις

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

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

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

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

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

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

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 2: Βασικές εντολές

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 2: Βασικές εντολές ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 2: Βασικές εντολές Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 2 Είσοδος από το πληκτρολόγιο: 1) Προσθήκη απαραίτητης βιβλιοθήκης

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

CSD Univ. of Crete Φθινόπωρο Άσκηση 1 Εκφώνηση

CSD Univ. of Crete Φθινόπωρο Άσκηση 1 Εκφώνηση Άσκηση 1 Εκφώνηση Αναπτύξτε ένα πρόγραμμα σε Java σύμφωνα με το οποίο το σύστημα θα προσθέτει τους αριθμούς 12.0 και 24.0 και θα δίνει στην κύρια έξοδο το αποτέλεσμα της άθροισης Να χρησιμοποιήσετε αντί

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

Προγραμματισμός Ι. Θεματική ενότητα 4: Έλεγχος ροής Προτάσεις υπό συνθήκη διακλάδωσης

Προγραμματισμός Ι. Θεματική ενότητα 4: Έλεγχος ροής Προτάσεις υπό συνθήκη διακλάδωσης Θεματική ενότητα 4: Έλεγχος ροής Προτάσεις υπό συνθήκη διακλάδωσης Προτάσεις ελέγχου ροής Ο πιο συνηθισμένος τρόπος εκτέλεσης είναι ο ακολουθιακός: δύο ή περισσότερες προτάσεις βρίσκονται διατεταγμένες

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

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εντολές ελέγχου ροής προγράμματος (if-else & switch) Η εντολή if-else Η εντολή if-else υπάρχει σχεδόν σε όλες τις γλώσσες προγραμματισμού. Χρησιμοποιείται για τον έλεγχο της

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

Κεφάλαιο 5.4-5.11: Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα

Κεφάλαιο 5.4-5.11: Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα Κεφάλαιο 5.4-5.11: Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) 10-1 Εντολές Επανάληψης που θα καλυφθούν σήμερα Διάλεξη 9 - Δευτέρα while() τελεστές postfix/prefix (++, --,...) και σύνθετοι τελεστές

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο input

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 4: Τελεστές Τελεστές: Τελεστής Ανάθεσης 2 Το σύμβολο της ανάθεσης είναι το = Προσοχή: το σύμβολο ελέγχου ισότητας είναι το ==. Η μορφή των προτάσεων ανάθεσης είναι:

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Το if-else statement Το if-else statement δουλεύει καλά όταν στο condition θέλουμε να περιγράψουμε μια επιλογή με δύο πιθανά ενδεχόμενα.

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

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

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

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

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες: Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών

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