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

Σχετικά έγγραφα
ΗΥ-150. Προγραμματισμός

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

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

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

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

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

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

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

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

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

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

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

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

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

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

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

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

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

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

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

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

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

Παίρνοντας Αποφάσεις 1

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

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

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι χρειάζεται η εντολή if ; Εντολή if. Παράδειγμα #1. Παράδειγμα #1

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

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

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

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

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

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

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

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

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

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

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

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

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα;

Εργαστήριο 5. Εντολή if και παραλλαγές: if-else, πολλαπλές if, πολλαπλές if-else. Απλές και σύνθετες εντολές. Εντολή switch.

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Εντολή if. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

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

Λογικό "και" (AND) μας επιστρέφει 1 αν και οι δύο operands είναι όχι μηδέν, διαφορετικά 0)

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

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

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

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

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

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

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

Εισαγωγή στη γλώσσα προγραμματισμού C++

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

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

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

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

Στοιχειώδης προγραμματισμός σε C++

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

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

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

Ηλεκτρονικοί Υπολογιστές

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

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

ΔΟΜΗ ΕΠΙΛΟΓΗΣ. Οι διάφορες εκδοχές της

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

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

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

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

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

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

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

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

ΑΣΚΗΣΗ 3: ΠΡΟΤΑΣΕΙΣ, ΕΚΦΡΑΣΕΙΣ ΚΑΙ ΤΕΛΕΣΤΕΣ

2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

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

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

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

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

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

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

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

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

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

Προσέξτε πως η παράσταση μπορεί να περιλαμβάνει όχι μόνο μία τιμή ή μια άλλη μεταβλητή αλλά μια ολόκληρη μαθηματική παράσταση, όπως η εξής:

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

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

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

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

Γλώσσα Προγραμματισμού C

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

5 &6. Τύποι δεδομένων, τελεστές και

2ο σετ σημειώσεων. 1 Εντολές εκτέλεσης υπό συνθήκη. 19 Μαρτίου 2012

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

Transcript:

ΗΥ-150 Εντολές Ελέγχου Ροής

Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει έκφραση ελέγχου σε μορφή λογικής πρότασης. Ανάλογα με το εάν η πρόταση είναι αληθής ή ψευδής εκτελείται ένα, αντίστοιχο, σύνολο εντολών. Εντολές επανάληψης ( for, while, do/while)

if εντολή διακλάδωσης Συντάσσεται ως εξής: if (condition)... // block A else... // block B Εάν η συνθήκη (condition) είναι αληθής, εκτελείται το block των εντολών που περικλείεται μεταξύ των πρώτων (block A). Αλλιώς, εκτελείται το block των εντολών μετά το else (block B).

if Στην περίπτωση που το else block είναι κενό μπορεί να παραληφθεί ολόκληρο: if (condition)... Εάν το αποτέλεσμα της έκφρασης (συνθήκης) είναι αληθής τότε εκτελούνται οι εξαρτώμενες εντολές αλλιώς η εκτέλεση συνεχίζει μετά το if block (αγνοούνται οι εξαρτώμενες εντολές)

if Το κάθε block μπορεί να αποτελείται από καμμία, μία, ή περισσότερες εντολές. Στην περίπτωση που περιλαμβάνει μία μόνο εντολή μπορούν να παραληφθούν τα άγκιστρα () που την περικλείουν. if (val > max) max = val; else max = 1000.0; i=i+1;

if διάβασε τους ακέραιους α, β αν (α < β ) τότε τύπωσε α αλλιώς τύπωσε β

Παράδειγμα int main() int a, b; cout << Input a value for a\n ; cin >> a; cout << Input a value for b\n ; cin >> b; if (a < b) cout << a; else cout << b;

if αν (συνθήκη ) τότε εντολές Α αλλιώς εντολές Β συνθήκη : λογική παράσταση που αποτιμάται σε true-αλήθεια (1) ή false-λάθος (0)

if Kάθε block μπορεί να περιλαμβάνει οποιεσδήποτε άλλες εντολές και βέβαια άλλο if. H if (condition)... else... είναι μία εντολή. Στην περίπτωση ενός εσωκλειόμενου if, θέλει ιδιαίτερη προσοχή το επόμενο else του κώδικα. Το κάθε else ταιριάζει με το αμέσως προηγoύμενό του if στο ίδιο block. Η εντολή max = 10; εκτελείται όταν to i είναι 0 και δεν ισχύει το ( val > max ) και όχι όταν δεν ισχύει το ( i == 0 ). Η χρήση των αγκίστρων επιβάλει την πρόθεση του προγραμματιστή: if (i == 0) if (val > max) max = val; else max = 10; if (i == 0) if (val > max) max = val; else max = 10;

Εντολές υπό Συνθήκη - if εντολή <- έκφραση; εντολή <- σειρά εντολών if (έκφραση) εντολή1 if (έκφραση) εντολή1 else εντολή2 if (έκφραση1) εντολή1 else if (έκφραση2) εντολή2 else εντολή3 //Αν η έκφραση έχει τιμή διάφορη του 0 (!0), //εκτελείται η εντολή 1 //Αν η έκφραση έχει τιμή διάφορη του 0 (!0), //εκτελείται η εντολή 1 αλλιώς η εντολή2 //Αν η έκφραση1 έχει τιμή διάφορη του 0 (!0), //εκτελείται η εντολή 1 //αλλιώς αν η έκφραση2 έχει τιμή διάφορη του 0 //εκτελείται η εντολή 2 //αλλιώς εκτελείται η εντολή 3

Λογικές παραστάσεις Μια λογική παράσταση είναι ανάλογη μιας μαθηματικής παράστασης, με τη διαφορά ότι το αποτέλεσμα μπορεί να είναι μόνο αλήθεια/true (1) ή λάθος/false (0) Λογικές παραστάσεις συνθέτονται χρησιμοποιώντας σχεσιακούς τελεστές Δυο λογικές παραστάσεις μπορούν να συνδυαστούν με ένα λογικό τελεστή

Αυτό είναι ΕΝΑ if if (val > max) max = val; else max = 10; Και αυτό ένα άλλο if (val > max) max = val;

Αληθής / Ψευδής λογική πρόταση στη C++ Η C++ ο τύπος bool χρησιμοποιείται για την αναπαράσταση του αποτέλεσματος μιας λογικής έκφρασης, π.χ. σε συνθήκη bool b = x>0; cout << b; if (b) cout << is TRUE << endl; else cout << is FALSE << endl;

Σχεσιακοί Τελεστές Δυαδικοί Τελεστές < μικρότερο από > μεγαλύτερο από <= μικρότερο ή ίσο με >= μεγαλύτερο ή ίσο με == ίσο με!= διάφορο του Αποτιμούνται σε 0 (ψευδής) ή 1 (αληθής) Τύποι τελεσταίων int, char, float, double

Παραδείγματα (x < y) t = (x < y); Αν (t) τότε cout << true << endl); k = (i >= 8); a = (b!= c); (f == 2.3456) ΠΡΟΣΟΧΗ αποφεύγουμε να συγκρίνουμε δυο float ή double με ισότητα Εναλλακτικά: ((f1-f2) <.00001) ( a >= d ) a < b <..< z A < B <..< Z 0 < 1 <..< 9 Θυμηθείτε πως οι χαρακτήρες είναι αριθμοί και ερμηνεύονται σύμφωνα με τον πίνακα ASCII. Στον πίνακα αυτό, οι χαρακτήρες είναι οργανωμένοι με αλφαβητική σειρά.

Λογικοί Τελεστές Συνδυάζουν δύο λογικές παραστάσεις σε μια σύνθετη λογική παράσταση && σύζευξη, δυαδικός τελεστής (AND ) διάζευξη, δυαδικός τελεστής (OR )! άρνηση, μοναδιαίος τελεστής (NOT ) Αποτιμούνται σε 0 ή 1 0 (δεν ισχύει, ψευδής ή false) 1 (ισχύει, αληθής ή true)

Εκφράσεις με Λογικούς και Σχεσιακούς Τελεστές (A>=0 && A<=100) (s<10 s>100)!(s<10 s>100) (s>=10 && s<=100) (i<10 && j*2==1)

Προτεραιότητες Τελεστών ()! & * / % + - < <= >= > ==!= && = υψηλότερη χαμηλότερη

Αποτίμηση Λογικών Εκφράσεων Η αποτίμηση αρχίζει από τα αριστερά και προχωρεί μέχρι το σημείο που χρειάζεται να προχωρήσει (lazy evaluation), π.χ. 0 && Ε αποτιμάται σε 0 η αποτίμηση της έκφρασης Ε δεν χρειάζεται 1 Ε αποτιμάται σε 1 η αποτίμηση της έκφρασης Ε δεν χρειάζεται

Αποτίμηση Λογικών Εκφράσεων Για λόγους αποδοτικότητας Αποφυγή λαθών ( (y / x) > 2 && (x!= 0) ) Εάν x ισούται με 0, run time error (λάθος διότι απαγορεύεται η διαίρεση με το 0). Όμως η ακόλουθη διατύπωση δεν έχει πρόβλημα (υπερβαίνει το πρόβλημα της διαίρεσης με 0) ( x!= 0 && (y / x) > 2 ) if ( x!= 0) if ((y / x) > 2 )

Σειρά Συνθηκών σε μία Λογική Έκφραση Γενικά σε μία σύζευξη, Ε1 && Ε2, η συνθήκη Ε1 πρέπει να αποτελεί τον αριστερό τελεστέο, εάν στην περίπτωση που αποτιμείται σε 0, τυχόν αποτίμηση της Ε2 θα οδηγήσει σε πρόβλημα. Με αυτή την σειρά αποτρέπεται η αποτίμηση της Ε2. Ανάλογο για διάζευξη Ε1 Ε2 ( (x == 0) (y / x) > 2 )

Εκφράσεις στη C++ x και y μεγαλύτερα του z (x>z && y>z) x είναι ίσο με το 2 ή με το 10 (x==2 x==10) a είναι στο πεδίο από b μέχρι και c (a>=b && a<=c) α είναι έξω από το πεδίο b μέχρι και c!(a>=b && a<=c) ή (a<b a>c) x είναι μικρότερο του 0 ή μεταξύ 10 και 1000 (x<0) (x>=10 && x<=1000) z είναι αγγλικός χαρακτήρας (z>= a && z<= z ) (z>= A && z<= Z )

Παράδειγμα Γράψετε κώδικα που παίρνει παραμέτρους δυο ακέραιους αριθμούς και τυπώνει τον μικρότερο.

Παράδειγμα int main() int a, b; cout<< dwse to a\n ; cin>>a; cout<< dwse to b\n ; cin>>b; if (a < b) cout<<a; else cout<<b; return 0;

Παράδειγμα int main() int a, b, minimum; cout<<dwse ta a kai to b\n ; cin>>a>>b; if (a < b) minimum = a; else minimum = b; cout<<minimum; return 0;

Παράδειγμα int main() int a, b, minimum; cout<< dwse ta a kai to b\n ; cin>>a>>b; minimum = b; if (a < b) minimum = a; cout<<minimum; return 0;

Παράδειγμα Γράψετε κώδικα που τρεις ακέραιους αριθμούς και επιστρέφει τον μικρότερο.

Παράδειγμα int minimum; if (a < b) minimum = a; else minimum = b; if (c < minimum) minimum = c; else cout<< The minimum is <<minimum;

Παράδειγμα int minimum; if (a < b) if (a < c) minimum = a; else minimum = c; else if (b < c) minimum = b; else minimum = c; cout<< The minimum is << minimum << endl;

Nested if-else Γράψετε κώδικα που ελέγχει ένα ακέραιο αριθμό και τυπώνει 1 εαν είναι θετικός, 0 εαν είναι 0 και -1 εαν είναι αρνητικός

Nested if-else int number, code; cin >> number; if (number > 0) else code = 1; if (number < 0) code = -1; else // number = 0 code = 0; cout << code is: <<code;

Nested if-else int number, code; cin >> number; if (number > 0) code = 1; else if (number < 0) code = -1; else // number = 0 code = 0; cout << code is: <<code;

Nested if-else int number, code; cin >> number; if (number > 0) code = 1; else if (number < 0) code = -1; else // number = 0 code = 0; cout << code is: <<code;

Χρήση λογικών τελεστών Γράψετε κώδικα που παίρνει τρεις αριθμούς και επιστρέφει τον μικρότερο. int minimum; if ( (a < b) && (a < c) ) minimum = a; else if ( (b < a) && (b < c) ) else minimum = b; minimum = c; cout << The minimum is <<minimum;

if για έλεγχο Εντολές ελέγχου για να έλεγχο της ορθότητας δεδομένων π.χ. if(size<=0) cout << Error: size is not positive <<endl; exit(-1); /*termatizei το programma*/

Παράδειγμα int main() char p; float x,y,res; cin >> x; cin >> p; cin >> y; if (p == + ) res = x+y; else if (p == - ) res = x-y; else if (p == * ) res = x*y; else if (p == / ); res = x/y; else cout<< La8os\n ; return -1; cout<< x<< p <<y << = <<res; return 0;

Παράδειγμα με ακεραίους switch example if-else switch (x) case 1: cout << "x is 1"; break; case 2: cout << "x is 2"; break; default: cout << "value of x unknown"; if (x == 1) cout << "x is 1"; else if (x == 2) cout << "x is 2"; else cout << "value of x unknown";

Εντολές υπό Συνθήκη - switch switch (έκφραση) case σταθερή_παράσταση_1 : statements; break; case σταθερή_παράσταση_2 : statements; break; default : statements; Το default είναι προαιρετικό και εκτελείται αν καμία παράσταση δεν βρεθεί ίση με την έκφραση Αν ένα break λείπει τότε συνεχίζεται η εκτέλεση των εντολών

switch

Εντολές υπό Συνθήκη - switch Η τιμή ελέγχου i πρέπει να είναι ακέραιου τύπου (char, int, short int, long int) με τις signed και unsigned παραλλαγές τους. Η τιμή μπορεί να προέρχεται από μεταβλητή ή να είναι η τιμή συνάρτησης που επιστρέφει τέτοιο τύπο ή κάποια μεταβλητή. Οι τιμές value1, value2,..., valuen είναι σταθερές ακέραιου τύπου και διακριτές μεταξύ τους. Κατά την εκτέλεση, η τιμή ελέγχου i συγκρίνεται με κάθε μία από τις value1, value2,...,valuen. Αν η τιμή της περιλαμβάνεται σε αυτές, τότε εκτελούνται οι εντολές που ακολουθούν το αντίστοιχο case. Η εκτέλεση συνεχίζει με τις εντολές των επόμενων case ή/και του default αν έπεται, έως ότου διακοπεί με break (ή τυχόν π.χ. goto, return). Μετά το break η εκτέλεση συνεχίζει με την πρώτη εντολή μετά το καταληκτικό άγκιστρο της δομής switch. Αν δεν βρεθεί η τιμή της στις value1, value2,...,valuen εκτελείται το block των εντολών του default, αν υπάρχει. Αλλιώς, η εκτέλεση συνεχίζει μετά το του switch. Οι σχετικές θέσεις των case και του default μπορούν να είναι οποιεσδήποτε.

Παράδειγμα με switch int main() char p; float x, y, res; cin >> x; cin >> p; cin >> y; switch (p) case + : case - : case * : case / : res = x+y; break; res = x-y; break; res = x*y; break; res = x/y; break; default : cout<< La8os eisodos\n ;

Διάγραμμα ροής της εντολής switch

Παράδειγμα με ακέραιους int i=2; switch (i) case 1: printf("case1 "); break; case 2: printf("case2 "); break; case 3: printf("case3 "); break; case 4: printf("case4 "); break; default: printf("default ");

Λάθη στις εντολές if

Το πιο σύνηθες λάθος if ( a = b) έναντι if (a == b) και τα 2 είναι αποδεκτά από το μεταφραστή, το πρώτο όμως αποτιμάται πάντα ως b.

Τυπικά Λάθη if(x=5) αντί για if(x==5) Ξεχάσατε το break σε εντολή switch Ξεχάσατε, Λάθος στις προτεραιότητες: ( ) Λύση: Μορφοποίηση και χρήση σχολίων

Παραστάσεις υπό Συνθήκη -? Ο τελεστής (?: ) είναι ένας ιδιαίτερα διαδεδομένος ιδιωματισμός της C++. Η εντολή if (condition) val = value1; else val = value2; ισοδυναμεί με val = (condition? value1 : value2); Γενικότερα, η έκφραση (condition? έκφρασηα : έκφρασηβ) έχει την τιμή έκφρασηα όταν η συνθήκη condition είναι αληθής, ενώ έχει την τιμή έκφρασηβ όταν η συνθήκη είναι ψευδής.

Παραστάσεις υπό Συνθήκη -? Οι παρενθέσεις που περιβάλουν τον τελεστή (?: ) με τα ορίσματά του στο συγκεκριμένο παράδειγμα δεν είναι απαραίτητες, βοηθούν όμως στην κατανόηση του κώδικα. Καθώς για το συγκεκριμένο τελεστή δεν μπορεί να καθοριστεί μονοσήμαντα η προτεραιότητά του σε σχέση με τον ( = ) πρέπει να τις χρησιμοποιούμε για να εκτελείται η επιδιωκόμενη πράξη. Εναλλακτικά, μπορούμε να εφαρμόζουμε τον εξής κανόνα: Οι τελεστές (?: ) και ( = ) έχουν ίδια προτεραιότητα, δεχόμενοι ότι οι πράξεις εκτελούνται από τα δεξιά προς τα αριστερά. Επομένως, η έκφραση a = b? c : d ισοδυναμεί με a = (b? c : d), ενώ η έκφραση a? b : c = d εκτελείται ως a? b : (c = d)

Παραστάσεις υπό Συνθήκη -? if ( x > y) x = a; else x = b; x = (x>y)? a : b;