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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2

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

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

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

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

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

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

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

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

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

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

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

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

ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ. Γ Λυκείου Κατεύθυνσης Mike Trimos

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #3

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

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

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

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

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

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

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

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

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

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

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

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

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

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή

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

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

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

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης)

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

Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αρχές Προγραμματισμού Η/Υ Μέθοδοι παρουσίασης του αλγόριθμου και Βασικές έννοιες

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

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

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

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

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

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

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

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

Όταν το πρόγραμμα φτάσει σε αυτή την εντολή και ο καταχωρητής PINA έχει την τιμή

Transcript:

Στόχοι και αντικείμενο ενότητας Βασικές κατασκευές Γλωσσών Προγραμματισμού (ΓΠ) Δομές ελέγχου ροής προγράμματος #4.. ντολές πιλογής Προτάσεις διακλάδωσης υπό συνθήκη ντολές if, if Φωλιασμένα (nested) if Έκφραση συνθήκης Συσχετιστικοί τελεστές (τελεστές σύγκρισης) Λογικοί τελεστές Η πρόταση switch Η πρόταση break Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4. Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.2 Βασικές κατασκευές ΓΠ Αποθήκευση και ανάκληση πληροφορίας Σταθερές Μεταβλητές Τύποι δεδομένων πεξεργασία πληροφορίας Τελεστές Έλεγχος ροής προγράμματος Ακολουθιακή εκτέλεση εντολών ντολές επιλογής ντολές επανάληψης Αναπαράσταση διεργασιών Συναρτήσεις Έλεγχος ροής προγράμματος Βασικές δομές (ανεξάρτητες της ΓΠ - χρησιμοποιούνται για την ανάπτυξη αλγορίθμων επίλυσης προβλημάτων) Δομή Ακολουθίας (sequence) Ένα σύνολο προτάσεων (εντολών) εκτελείται ακολουθιακά (η μία μετά την άλλη) Δομή πιλογής (selection) Ανάλογα με το αν μια συνθήκη είναι αληθής ή ψευδής, εκτελούνται διαφορετικές προτάσεις (ή ομάδες προτάσεων) Δομή πανάληψης (loop, repetition) Μια πρόταση (η μια ομάδα προτάσεων) εκτελείται πολλές φορές ίτε όσο μια συνθήκη είναι αληθής ίτε για προκαθορισμένο αριθμό επαναλήψεων Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.3 Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.4

Έλεγχος ροής προγράμματος (συν.) πιλογή - Διακλάδωση υπό συνθήκη Η πρόταση if συναντάται σε όλες τις προστακτικές ΓΠ Π Απλή μορφή if then Π if then Π Π Π Π3 Π Π ακολουθία επιλογή επανάληψη Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.5 Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.6 πιλογή - Διακλάδωση υπό συνθήκη (συν.) Προτάσεις επιλογής στη C Σύνθετη μορφή (φωλιασμένα if) Πρόταση if if then Π if E2 then Π3 Γενική μορφή: if then Π if E2 then if E3 then Π3 if En then Πn Π Π 2 Π3 κτελεί μια πρόταση ή μια ομάδα προτάσεων αν μια έκφραση (συνθήκη) είναι αληθής if (έκφραση) if (έκφραση) πρόταση; πρόταση_; πρόταση_2; block του if πρόταση_n; if (light==red) stop(); block του if Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.7 Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.8

Προτάσεις επιλογής στη C (συν.) Πρόταση if κτελεί διαφορετικές προτάσεις ή ομάδες προτάσεων, ανάλογα με το αν μια έκφραση είναι αληθής ή ψευδής if (έκφραση) if (έκφραση) πρόταση_; πρόταση_; πρόταση_2; πρόταση_n; πρόταση_n+; if (light==red) stop(); πρόταση_n+m; go(); block του if block του Προτάσεις επιλογής στη C (συν.) Ψευδοκώδικας Αν ο βαθμός ενός φοιτητή είναι μεγαλύτερος του ή ίσος με 5 τύπωσε μήνυμα ότι προβιβάστηκε αλλιώς τύπωσε μήνυμα ότι απέτυχε Διάγραμμα ροής print Failed grade >= 5 Κώδικας σε C: if (grade >= 5) printf("passed\n"); printf("failed\n"); print Passed Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.9 Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4. Παράδειγμα Παράδειγμα (συν.) Δώστε τη δήλωση και τον ορισμό της συνάρτησης min για τον υπολογισμό του μικρότερου μεταξύ δύο ακεραίων αριθμών Παίρνει ως παραμέτρους δυο ακεραίους αριθμούς και επιστρέφει τον μικρότερο ναλλακτικές λύσεις return a; return b; return a; return b; Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4. Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.2

Παράδειγμα (συν.) Παράδειγμα 2 ναλλακτικές λύσεις (συν.) return (a < b)? a : b; Υποθετικός τελεστής: επιστρέφει a αν η συνθήκη (a<b) είναι αληθής και b αν είναι ψευδής Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.3 Δώστε τη δήλωση και τον ορισμό της συνάρτησης min3 για τον υπολογισμό του μικρότερου μεταξύ τριών ακεραίων αριθμών Χρήση nested if.. int min3(int a, int b, int c) if (a < c) if (b < c) Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.4 Παράδειγμα 2 (συν.) Περί εκφράσεων συνθήκης ναλλακτικές λύσεις int min3(int a, int b, int c) if (a < c) if (b < c) int min3(int a, int b, int c) if (c < minimum) Χρήση συσχετιστικών τελεστών (ή τελεστών σύγκρισης) <, >, <=, >=, == (ελέγχου ισότητας),!= (διάφορο) Το αποτέλεσμα έκφρασης που περιέχει τέτοιο τελεστή είναι αληθές () ή ψευδές () Στη C, η τιμή είναι για και για Τύποι τελεστέων (operands): int, char, float, double Παραδείγματα: (i >= 8) (x < y) (f == 3.456) ( a >= b ) Χρήση λογικών τελεστών && (AND), (OR),! (NOT) Συνένωση δύο ή περισσοτέρων εκφράσεων σύγκρισης Τύποι τελεστέων (operands): int, char Παραδείγματα: (a>= && a<=) (s< s>)!(i==5 && k==) Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.5 Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.6

Περί εκφράσεων συνθήκης Πίνακες αλήθειας Αποτίμηση λογικών εκφράσεων && (AND) λέγχουμε αν ισχύουν όλες οι επιμέρους εκφράσεις a b a&&b Αρχίζει από τα αριστερά και προχωρεί μέχρι το σημείο που χρειάζεται Παραδείγματα: ( && ) ( ) (OR) λέγχουμε αν ισχύει τουλάχιστο μία από τις επιμέρους εκφράσεις! (ΝΟΤ) λέγχουμε αν ισχύει το αντίθετο μιας έκφρασης a a b!a a b η αποτίμηση της έκφρασης δεν χρειάζεται σε καμία από τις παραπάνω περιπτώσεις Προσοχή Σε μία σύζευξη ( && 2), η συνθήκη πρέπει να αποτελεί τον αριστερό τελεστέο, εάν στην περίπτωση που αποτιμείται σε, τυχόν αποτίμηση της 2 οδηγεί σε πρόβλημα (με αυτή την σειρά αποτρέπεται η αποτίμηση της 2) Παράδειγμα: ((y / x) > 2 && x!= ) vs. (x!= && (y / x) > 2) Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.7 Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.8 Λογικές εκφράσεις σε C-Παραδείγματα Η πρόταση switch Τα x και y είναι μεγαλύτερα του z (x>z && y>z) Το x είναι ίσο με 2.5 ή με.32 (x==2.5 x==.32) Το a είναι μεταξύ του b και του c (a>=b && a<=c) Το x είναι μικρότερο του ή μεταξύ του και του (x<) (x>= && x<=) Το k είναι αγγλικός χαρακτήρας (k>= a && k<= z ) (k>= A && k<= Z ) Γενική μορφή switch (έκφραση_ελέγχου) σύνολο_ετικετών_ εντολές_ σύνολο_ετικετών_n εντολές_n default: εντολές_d Σύνολο περιπτώσεων για τις οποίες θέλουμε να εκτελεστούν οι εντολές_ Παραδείγματα: case : case 'A': case 'a': Μεταφέρει τον έλεγχο έξω από το σώμα της switch Για περιπτώσεις που δεν έχουν «καλυφθεί» παραπάνω (εκτελούνται οι εντολές_d) Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.9 Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.2

Η πρόταση switch (συν.) Η πρόταση switch (συν.) case a case a action(s) break case b case b action(s) break... case z case z action(s) break default action(s) Προσοχή Η έκφραση_ελέγχου πρέπει να είναι βαθμωτού τύπου, π.χ. char ή int, αλλά όχι float ή double Κάθε case πρέπει να έχει μια int ή char σταθερά ή σταθερά έκφραση Δύο case δεν μπορούν να έχουν την ίδια τιμή Οι προτάσεις κάτω από την ετικέτα default εκτελούνται όταν καμιά από τις case ετικέτες δεν ικανοποιείται Η default δεν είναι απαραίτητα η τελευταία ετικέτα Σημασία και χρήση της break Ροή προγράμματος (βλέπε προηγούμενη διαφάνεια) Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.2 Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.22 Η πρόταση switch - Παράδειγμα char letter_grade; int count_a, count_b, count_other; count_a = count_b = count_other = ;... switch(letter_grade) case A : counta++; message_excellent(); case B : countb++; message_very_good(); case C : case D : count_other++; message_other(); default: message_error(); Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.23 Λάθη που γίνονται συχνά Χρήση τελεστή ανάθεσης (=) αντί του τελεστή ελέγχου ισότητας (==) if (x=) αντί του ορθού if (x==) Παράλειψη παρένθεσης στη συνθήκη if x>4 αντί του ορθού if (x>4) Κακή μετατροπή μαθηματικής έκφρασης σε έκφραση της C ( <= x <= 4) αντί του ορθού ( <= x && x<= 4) Παράλειψη αγκυλών στο σώμα του if ή του if (x > ) sum = sum + x; printf( Greater than ); printf( Less than ); αντί του ορθού if (x > ) sum = sum + x; printf( Greater than ); printf( Less than ); Προγραμματισμός Η/Υ Διδάσκων: Νίκος Καρακαπιλίδης 4.24