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

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

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

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

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

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

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

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

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

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

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

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

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

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

3. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Β' μέρος: switch και :? )

EΒ ΟΜΑ Α 3 Η. Άλλοι τελεστές καταχώρησης: += -= *= /= %= x += 5; σηµαίνει x = x + 5; k *= 7; σηµαίνει k = k * 7; sum %= 15; σηµαίνει sum = sum % 15;

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

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

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

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

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

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

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

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

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

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

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1 Ο ΣΕΤ ΑΣΚΗΣΕΩΝ (Ενδεικτικές Λύσεις)

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

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

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

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

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

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

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

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

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

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

2. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Α' μέρος: if)

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

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 3 Εντολές Επιλογής. Γιώργος Λαμπρινίδης Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

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

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

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

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

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

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

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

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 4

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

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

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

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

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

Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6)

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

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

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ

Κεφάλαιο : Επαναλήψεις (for, do-while)

5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while)

Τα δεδομένα στη C++ χωρίζονται σε 3 κατηγορίες: τους αριθμούς (numbers), τους χαρακτήρες (characters) και τις συμβολοσειρές (strings).

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

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

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

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

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

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

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

Περιεχόμενα. Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6) Τύποι Δεδομένων. Τελεστές. Αριθμητικές εκφράσεις

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

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

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

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

Transcript:

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

Τι θα δούμε σήμερα Η εντολή if else Η εντολή if else ιf - -else H εντολή switch Λογικές παραστάσεις Σχεσιακοί Τελεστές Λογικοί Τελεστές 8-2

Η εντολή if-else Παράδειγμα: Εάν μια έκφραση (συνθήκη) παίρνει τιμή μεγαλύτερη του μηδέν θέλουμε να εκτελέσουμε κάποιες εντολές αλλιώς κάποιες άλλες: στην γλώσσα C if (temp > 0){ printf( above freezing.\n ); else { printf( freezing!\n ); 8-3

Παράδειγμα Επιλογής Γράψετε κώδικα που παίρνει για παραμέτρους δυο ακέραιους αριθμούς και τυπώνει τον μικρότερο. Ψευδοκώδικας διάβασε τους α, β αν (α < β) τότε τύπωσε α αλλιώς τύπωσε β 8-4

Η εντολή if-else Σύνταξη: if (συνθήκη) { εντολές; else { εντολές; Εάν υπάρχει μόνο μία εντολή οι παρενθέσεις μπορούν να αποφεύγονται. 8-5

Η εντολή if-else if-else Σύνταξη: if (συνθήκη) { εντολές; else if (συνθήκη) { εντολές;.. else { εντoλές; 8-6

#include <stdio.h> int main() { int a, b; Υλοποίηση Αλγόριθμου για τον μικρότερο αριθμό printf("dwse ta a kai to b\n"); scanf("%d, %d", &a, &b); if (a < b) printf("%d\n", a); else printf("%d\n", b); return 0; 8-7

Παραλλαγές υλοποίησης if (a < b) printf( %d\n, a); else printf( %d\n, b); int minimum; if (a < b) minimum = a; else minimum = b; printf( %d\n, minimum); int minimum; minimum = a; if (b < minimum) minimum = a; printf( %d\n, minimum); 8-8

Παράδειγμα Επιλογής Γράψετε κώδικα ο οποίος παίρνει για παράμετροέναακέραιοαριθμόκαι τυπώνει ανάλογα με τον αριθμό: «μικρότερο του 0» ή «ίσο με 0» ή «μεγαλύτερο του 0» 8-9

Υλοποίηση Αλγόριθμου για τον μικρότερο αριθμό int main() { int a; ΟΡΘΟ int main() { int a; ΛΑΘΟΣ printf( dwse tο a \n); scanf( %d, &a); printf( dwse tο a \n); scanf( %d, &a); if (a > 0) { printf( megalytero tou 0\n ); else if (a<0) { printf( mikrotero tou 0\n ); else { printf( iso me 0\n ); return 0; if (a > 0) { printf( megalytero tou 0\n ); else if (a<0) { printf( mikrotero tou 0\n ); printf( iso me 0\n ); Εκτυπώνει πάντα printf( iso me 0\n ); return 0; 8-10

H εντολή switch Σύνταξη: switch (έκφραση) { τιμή τιμή.. τιμή εντολές; break; εντολές; break; εντολές; break; default: εντολές; Ηέκφραση(καιοιτιμές) μπορεί να είναι μόνο τύπου char ή τύπουdouble. 8-11

H εντολή switch (Παράδειγμα) #include <stdio.h> int main() { int menu; int v1=10, v2=20, total; char c; printf("please make a selection (1-2) :"); scanf("%d",&menu); /* READ calculation type */ switch (menu) /* select the type of calculation */ { case 1: total = v1 + v2; c='+'; break; case 2: total = v1 - v2; c='-'; break; default: printf("invalid option selected\n"); printf("%d %c %d = %d", v1, c, v2, total); return 0; 8-12

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

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

Σχεσιακοί Τελεστές (Relational Operators) (x < y) // επιστρέφει 0 ή 1 (ανάλογα με x,y) t = (x < y); if (t) printf( true\n ); k = (i >= 8); // k = 0 ή 1 a = (b!= b); // a = 0 (false) (f == 2.3456) ΠΡΟΣΟΧΗ ποτέ δεν συγκρίνουμε δυο float ή double με ισότητα ( a >= b ) // FALSE (δηλ. 0) a < b <..< z A < B <..< Z 0 < 1 <..< 9 8-15

Λογικοί Τελεστές (Logical Operators) Συνδυάζουν δύο λογικές εκφράσεις σε μια σύνθετη λογική έκφραση. &&σύζευξη, δυαδικός τελεστής (and) διάζευξη, δυαδικός τελεστής (or)! άρνηση, μοναδιαίος τελεστής (not) Αποτιμούνται σε 0 ή 1 0 (δεν ισχύει, ψευδής ή false) 1 (ισχύει, αληθής ή true) 8-16

Eκφράσεις με Λογικούς και Σχεσιακούς Τελεστές t = ((A>=0) && (A<=100)); Αν Α στο εύρος [0..100] τότε t=1 αλλιώς t=0 y = (s<10 s>100); Αν s στο εύρος [..9] ή [101..] τότε y=1 αλλιώς y=0 y = (i<10 && j==1) Αν i στο εύρος [..9] και j ίσο με 1 τότε y=1 αλλιώς y=0 8-17

Προτεραιότητες ()! + - (Μοναδιαίοι) * / % + < <= >= > ==!= && = υψηλότερη χαμηλότερη 8-18

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

Μετάφραση Εκφράσεων σε C x και y μεγαλύτερα του z (x>z && y>z) x είναι ίσο με το 2 ή μετο10 (x==2 x==10) a είναι στο πεδίο από b μέχρι και c (a>=b && a<=c) 8-20