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



Σχετικά έγγραφα
ιαδικαστικός Προγραμματισμός

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

for for for for( . */

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 2

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

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

Συναρτήσεις και διαδικασίες

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές!

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

Δομές Ελέγχου και Επανάληψης

Κεφάλαιο 4ο: Εντολές επιλογής

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

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

ιαφάνειες παρουσίασης #2

Λογικές εκφράσεις και μεταβλητές

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

Transcript:

Μορφές Εντολών

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

Εντολές και παραστάσεις Μιαεντολήείναιμιαπαράστασηπου ακολουθείται από τον χαρακτήρα τέλους εντολής ; παράσταση;

Απλές εντολές Ανάθεσης x = 0; x = GetInteger(); Κλήση συνάρτησης printf( You typed: %d\n, x); Κενή εντολή ; /* Έγκυρη */ Μπλοκ εντολών { εντολή; εντολή;

Σύντομη ανάθεση Έστω ότι η μεταβλητή balance πρόκειταινααυξηθείκατάτην ποσότητα deposit. Η νέα τιμή μπορεί να ανατεθεί σε μια νέα μεταβλητή newbalance = balance + deposit; Και στη συνέχεια η νέα τιμή ανατίθεται στην balance. balance = newbalance; Η παραπάνω ανάθεση μπορεί να γραφεί ως: balance = balance + deposit; Προσοχή: Ο τελεστής = δεν δηλώνει ισότητα αλλά ανάθεση τιμής. Η παραπάνω εντολή μπορεί να γραφεί συντομευμένα ως balance += deposit; Δηλαδή: Αύξησε την τιμή της balance κατά deposit. Αντίστοιχα ορίζονται οι τελεστές -= *= /=

Παράδειγμα: Αντιμετάθεση τιμών /* Δήλωση μεταβλητών */ int first, second, temp; /* Αρχική ανάθεση τιμών */ first = 1; second = 2; /* Αντιμετάθεση */ temp = first; first = second; second = temp; /* Τώρα ισχυει: first = 2 και second = 1 */

Τελεστές αύξησης και μείωσης Μια συνηθισμένη πράξη πάνω σε ακέραιες μεταβλητές είναι η αύξηση ή μείωση κατά μια μονάδα: x = x + 1; ή x += 1; Η παραπάνω ανάθεση γράφεται x++; ή αντίστοιχα για μείωση: x--;

Εντολές ελέγχου Υπό συνθήκη εντολές if, switch Παράδειγμα: αν ο αριθμός είναι θετικός, τότε Εντολές επανάληψης while, for Παράδειγμα: εκτέλεσε την εντολή 10 φορές Θα παρουσιαστούν αναλυτικά στη συνέχεια

Λογικά δεδομένα Τα χειρίζονται παραστάσεις που αποτιμώνται ως αληθείς (TRUE) ήψευδείς (FALSE) Παράδειγμα: Ο αριθμός 2 είναι μεγαλύτερος του 1.

Τελεστές για λογικά δεδομένα Αριθμητικοί τελεστές (έχουν ήδη αναφερθεί) + - * / % Σχεσιακοί τελεστές ==!= < > <= >= Λογικοί τελεστές! λογική άρνηση (όχι) && λογική σύζευξη (και) λογική διάζευξη (ή) Παράδειγμα: (x % 3!= 0 &&! finished)

Σημασία λογικών τελεστών: Πίνακες αλήθειας Λογική σύζευξη && Λογική άρνηση! P Q P && Q P! P FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE FALSE TRUE TRUE TRUE Λογική διάζευξη P FALSE FALSE TRUE TRUE Q FALSE TRUE FALSE TRUE P Q FALSE TRUE TRUE TRUE

Λογικοί τύποι Ισχύουν οι κανόνες της άλγεβρας Boole Στη C δεν υπάρχει ιδιαίτερος τύπος για τις λογικές μεταβλητές. Στη βιβλιοθήκη genlib του βιβλίου ορίζεται οτύποςboole. Οι αληθείς εκφράσεις αποτιμώνται ως TRUE (π.χ. η έκφραση2 > 1 έχει τιμή TRUE) Οι ψευδείς εκφράσεις αποτιμώνται ως 0 (π.χ. ηέκφραση2 > 3 έχει τιμή FALSE).

Ένα παράδειγμα υπολογισμού λογικής τιμής Ένα έτος είναι δίσεκτο (έχει 366 ημέρες) αν ικανοποιείται μία από τις ακόλουθες συνθήκες: Το έτος να διαιρείται με το 4 αλλά όχι και με το 100 Το έτος να διαιρείται με το 400 Αν το έτος περιέχεται στη μεταβλητή y, η ακόλουθη λογική παράσταση δίνει το σωστό αποτέλεσμα ((y % 4 == 0) && (y %100)!= 0 )) (y % 400 == 0)

Ηεντολήif Η if ορίζει την εντολή ή τις εντολές που θα εκτελεστούν σε ένα πρόγραμμα ανάλογα με το αποτέλεσμα ενός ελέγχου main() { int y; bool isleapyear; printf( What year? ); y = GetInteger(); isleapyear = ((y % 4 == 0) && (y %100)!= 0 )) (y % 400 == 0); if (isleapyear) { printf( %d is leap\n,y); else { printf( %d is not leap\n,y);

Το προηγούμενο παράδειγμα (απόσπασμα) if (isleapyear) { printf( %d is leap\n,year); else { printf( %d is not leap\n,year);

Μορφές της εντολής if Εντολή if μιας γραμμής if (συνθήκη) εντολή; Παράδειγμα: if (a >= b) max = a;

Μορφές της εντολής if (2) Σύνταξη if (συνθήκη) { εντολή1; εντολή2; Παράδειγμα: if (balance < 0) { printf( This is negative\n ); balance -=10;

Εντολή if-else Σύνταξη if-else if (συνθήκη) { εντολές1; else { εντολές2; Παράδειγμα if (a >= b){ max = a; min = b; else { max = b; min = a;

Εντολές if σε μορφή «στοίβας» Σύνταξη: if (συνθήκη1) { εντολές1; else if (συνθήκη2) { εντολές2; else if (συνθήκη3) { εντολές3; else { εντολές0; Παράδειγμα: int n; n = GetInteger(); if (n > 0) { printf( Positive ); else if (n == 0) { printf( Zero ); else { printf( Negative ); printf( \n );

Το πρόβλημα του «αιωρούμενου» else Έστω το παρακάτω παράδειγμα if (συνθήκη1) εντολή1; if (συνθήκη2) εντολή2; else (συνθήκη3) εντολή3; Σε ποιο if αντιστοιχεί το else; Κανόνας: το else αντιστοιχεί στο πιο πρόσφατο if για το οποίο δεν υπάρχει κάποιος όρος else.

Ένθετα (nested) if Σε ένα μπλοκ εντολών if είναι δυνατόν να περιέχεται μια νέα εντολή if: if (n > 0) { if (k >0) printf( n and k are both positive\n );

Παράδειγμα: Υπολογισμός ρίζας διωνύμου Δίνονται οι συντελεστές a,b της εξίσωσης : ax + b=0 με ακέραιους συντελεστές. Να βρεθεί η ρίζα της εξίσωσης. H ρίζα υπολογίζεται ως εξής: αν a 0 τότε r = -b/a αν a=0 τότε αν b 0 ηρίζαδενυπάρχει(αδύνατη εξίσωση) αλλιώς η ρίζα είναι οποιοσδήποτε αριθμός (αόριστη εξίσωση).

Πρόγραμμα υπολογισμού της ρίζας main() { int a,b; double r; printf( a = ); a = GetInteger(); printf( b = ); b = GetInteger(); if (a!= 0) { r = (double) b/a; printf( Ρίζα: %g\n,r); else { if (b!= 0) printf( Αδύνατη\n ); else printf( Αόριστη\n ); /* To else ταιριάζει με το τελευταίο if (b!=0) οπότε τα κόκκινα { δεν είναι απαραίτητα */

Ηεντολήswitch Η σύνταξη της εντολής switch είναι η ακόλουθη: switch(παράσταση) { case στ 1 : εντολές; break; case στ 2 : εντολές; break; και άλλοι όροι case default: break;

Παράδειγμα με την εντολή switch main() { int k; printf( What is the rank of the card (1-13)? ); k = GetInteger(); switch (k) { case 1: printf( Ace\n ); break; case 11: printf( Jack\n ); break; case 12: printf( Queen\n ); break; case 13: printf( King\n ); break; default: printf( %d\n,k); break;

Ηεντολήwhile Σύνταξη της while while(συνθήκη) { εντολές ψευδής συνθήκη αληθής εντολές int i,s; i = 1; s = 0; while (i <= 10) { s += i; i++;

Παράδειγμα χρήσης της while main() { int n, dsum; printf( Enter a positive integer: ); n = GetInteger(); dsum = 0; while (n > 0) { dsum += n % 10; n /=10; printf( The sum of the digits is %d\n,dsum);

Παράδειγμα χρήσης της while Το παραπάνω πρόγραμμα υπολογίζει το άθροισμα των ψηφίων ενός αριθμού που δίνεται από το πληκτρολόγιο.

Παράδειγμα εκτέλεσης του βρόχου while Έστω ο αριθμός 1821. Η εκτέλεση της εντολής while περιλαμβάνει τα παρακάτω βήματα: Επανά ληψη (αρχικά) 1 n % 10-1 n 1821 182 dsum 0 1 while (n > 0) { dsum += n % 10; n /=10; 2 2 18 3 3 8 1 11 4 1 0 12

Ηεντολήfor Σύνταξη της for for (αρχή; συνθήκη; βήμα) { εντολές int i, s = 0; for (i=1; i <= 10; i++) s += i; αρχή συνθήκη αληθής εντολές ψευδής βήμα

Παράδειγμα χρήσης της for /* A program for counting down */ main() { int t; for (t = 10; t >= 0; t--) { printf( %d\n,t); printf( Lift Off! );

Παράδειγμα χρήσης της for Το παραπάνω πρόγραμμα εκτελεί αντίστροφη μέτρηση από το 10 ως το 0 10 9 8 7 6 5 4 3 2 1 0 Lift Off!

Ηεντολήbreak int x; while (TRUE) { x = GetInteger(); if (x == 0) break; printf( You typed %d\n,x);

Προτεραιότητα τελεστών - ++ --! (μετατροπή τύπου) * / % + - < > <= >= ==!= && = += -= *= /=

Παράδειγμα: Οι αριθμοί Fibonacci Οι αριθμοί Fibonacci ορίζονται ως εξής: F 0 = 0 F 1 = 1 F n = F n-1 + F n-2 Να γίνει ένα πρόγραμμα που να διαβάζει έναν ακέραιο, k, από το πληκτρολόγιο και υπολογίζει και εκτυπώνει τους αριθμούς Fibonacci από F 0 έως F k.