ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Επανάληψη.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Προγραμματισμός Ι (αποφύγετέ τον!) 3) Διακοπτόμενος βρόχος: (αποφύγετέ τον!) float energy;......while(TRUE){drink_water(); if(energy
Advertisements

Προγραμματισμός Ι Προτάσεις ελέγχου ροής Ο πιο συνηθισμένος τρόπος εκτέλεσης είναι ο ακολουθιακός: δύο ή περισσότερες προτάσεις βρίσκονται διατεταγμένες.
ΜΑΘΗΜΑ: ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 30 Ιουνίου 2014Δευτέρα, 30 Ιουνίου 2014Δευτέρα, 30 Ιουνίου 2014Δευτέρα, 30 Ιουνίου 2014Τμ.
Αναδρομη και static Γραψετε την συναρτηση sequence_size που διαβαζει μια απροσδιοριστου μεγεθους σειρας και υπολογιζει και τυπωνει το μεγεθος της. int.
ΜΑΘ-3122/106 Προγραμματισμός
Τύποι πραγματικών αριθμών
Εντολες Επιλογης (Selection)
ΜΑΘ-3122/106 Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Ταξινόμηση και Αναζήτηση.
Βρόχος με συνθήκη εισόδου στη C, οδηγούμενος από μετρητή: for
Μεθοδολογίες Προγραμματισμού ΙΙ Μ Ε Τ Ρ Ι Κ Ε Σ ΑΝΤΚΕΙΜΕΝΟΣΤΡΕΦΟΥΣ ΣΧΕΔΙΑΣΗΣ Ποιότητα Λογισμικού Παναγιώτης Σφέτσος, PhD
ΜΑΘ-3122/106 Γλώσσα Προγραμματισμού
ΗΥ-150 Προγραμματισμός Εντολές Ελέγχου Ροής.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος α
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος δ
Γενική μορφή προγράμματος Pascal
Αρχές Προγραμματισμού (C). ...γράφοντας σωστά προγράμματα! (IIΙ)
ΗΥ150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Ταξινόμηση και Αναζήτηση.
ΕΛΕΓΧΟΣ ΡΟΗΣ ΜΑΘΗΜΑ 4. ΑΚΟΛΟΥΘΙΑΚΗ ΕΚΤΕΛΕΣΗ ΠΡΟΤΑΣΕΩΝ ΠΡΟΤΑΣΗ Α ΠΡΟΤΑΣΗ Β ΠΡΟΤΑΣΗ Γ ………………. ΠΡΟΤΑΣΗ n ΠΡΟΤΑΣΗ Α ΠΡΟΤΑΣΗ Β ΠΡΟΤΑΣΗ Γ ………………. ΠΡΟΤΑΣΗ n.
Προγραμματισμός Ι Προτάσεις επανάληψης - γενικά επαναλαμβάνουν ένα μπλοκ προτάσεωνΟι προτάσεις επανάληψης επαναλαμβάνουν ένα μπλοκ προτάσεων είτε για όσες.
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ-150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
Υποθετικός τελεστής Ο υποθετικός τελεστής (?:) αποτελείται από δύο σύμβολα. Ανήκει στην κατηγορία των τελεστών που αποτελούνται από συνδυασμό συμβόλων.
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
Σχεδίαση αλγορίθμων (2ο μέρος)
ΒΡΟΧΟΙ ΜΑΘΗΜΑ 5. ΒΡΟΧΟΙΒΡΟΧΟΙ Ο Βρόχος (loop) αποτελείται από προτάσεις επανάληψης. Οι προτάσεις επανάληψης είναι οι προτάσεις που επαναλαμβάνουν ένα.
Παράδειγματα Συναρτησεις Πανω-Κατω Σχεδιασμος
Προγραμματισμός PASCAL
Διαφάνειες παρουσίασης #3
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II.
Προγραμματισμός ΙΙ Διάλεξη #5: Εντολές Ανάθεσης Εντολές Συνθήκης Δρ. Νικ. Λιόλιος.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Eντολες Επαναληψης - Βροχοι (repetition and loops)
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο1 Ωμή Βία Είναι μία άμεση προσέγγιση που βασίζεται στην εκφώνηση του προβλήματος και τους ορισμούς.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αρχεία.
Eντολες Επαναληψης - Βροχοι (repetition and loops)
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Δομημένος Προγραμματισμός και Δομές.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΤΟ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ ΓΛΩΣΣΑΣ PASCAL ΠΑΡΟΥΣΙΑΣΗ ΠΑΡΑΔΕΙΓΜΑΤΟΣ: ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΜΕ ΤΙΣ ΤΡΕΙΣ ΕΠΑΝΑΛΗΠΤΙΚΕΣ.
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Εντολές Ελέγχου Ροής.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 12: Παραγωγή Ενδιάμεσου Κώδικα (Σημασιολογικές ρουτίνες μετάφρασης-Μέρος Β) Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
ΜΑΘ3122/106 – Γλώσσα προγραμματισμούΞενοφών Ζαμπούλης ΜΑΘ3122/106 Γλώσσα προγραμματισμού Συναρτήσεις.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
2/28/00epl-1311 Παραδειγματα Aλγοριθμων Αριθμος λεξεων που διαβαστηκαν απο εισοδο Εκτυπωση περιφερειας τετραγωνων με * Υπολογισμος exp(x,n) = 1 + x/1!
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Αρχεία.
ΗΥ150 – ΠρογραμματισμόςΞ. Ζαμπούλης ΗΥ-150 Προγραμματισμός Αρχεία.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 4: Συμβολοσειρές και Δομές Ελέγχου. Διδάσκων: Νικόλαος Θ Λιόλιος,
ΗΥ150 – Προγραμματισμός Ξενοφών Ζαμπούλης 1 getchar() /* char_count.c A program to count characters of input. */ main() { int c ; int count = 0; while.
ΗΥ150 – ΠρογραμματισμόςΞενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ «Εισαγωγή στον οντοκεντρικό προγραμματισμό (βασική εισαγωγή στο περιβάλλον εργασίας)» Ρουσσάκης Ιωάννης, ΤΕΙ Κρήτης,
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Προγραμματισμός ΗΥ Ενότητα 4: Επαναληπτικές δομές. Διδάσκων: Ηλίας Κ Σάββας, Αναπληρωτής Καθηγητής. Τμήμα Μηχανικών.
Τεχνολογία και Προγραμματισμός Υπολογιστών Ενότητα 5: Τύπος πίνακα,Μεταβλητές με δείκτη, Πολυδιάστατοι πίνακες Επίκουρος Καθηγητής Χρήστος Μακρής Τμήμα.
Προτάσεις, εκφράσεις, τελεστές Βασικά στοιχεία ελέγχου προγράμματος
Τεχνολογία και Προγραμματισμός Υπολογιστών
Επανάληψη.
Αντικειμενοστραφής Προγραμματισμός Ι
Π Ι Ν Α Κ Ε Σ (arrays) ΤΑΞΙΝΟΜΗΣΗ
ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ
Ενισχυτική διδασκαλία
Ενισχυτική διδασκαλία
ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ Η εντολή if if ( παράσταση) εντολή επόμενη εντολή.
for (παράσταση_1; παράσταση_2; παράσταση_3)
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
ΣΥΝΑΡΤΗΣΕΙΣ (Functions)
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
Δομές ροής προγράμματος
Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου
Μεταγράφημα παρουσίασης:

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Επανάληψη

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 2 Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: – Εντολές διακλάδωσης : (if, if/else, switch) – Εντολές επανάληψης : ( for, while, do/while) – Σειριακές εντολές : (sequential – built in C)

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 3 Επαναληπτικές Εντολές - while Συντακτικό: while (έκφραση) { εντολή } Σημασιολογία: Υπολόγισε την τιμή της έκφραση Αν είναι αληθής (μη μηδενική) Εκτέλεσε την εντολή Πήγαινε στο βήμα 1 Διαφορετικά, εξήλθε του βρόχου

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 4 char c; while( (c=getchar( )) != '\0' ) putchar(c);

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 5 Increment and Decrement Operators int c,n; n = 0; while( (c=getchar( )) != '\0' ) if( c == '\n' ) n++; printf("%d lines\n", n);

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 6 getchar() /* letter_count.c A program to count letters in input. */ main() { int c ; int count = 0; while ( ( c = getchar() ) != EOF ) if ( ( c >= 'A' ) && ( c <= 'Z' ) || ( c >= 'a' ) && ( c <= 'z' ) ) count ++ ; printf( "%d letters\n", count ) ; }

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 7 Επαναληπτικές Εντολές - while Π.χ., υπολογισμός των τετραγώνων των πρώτων 10 φυσικών αριθμών και του αθροίσματός τους int c=1,sum=0; while (c<=10) { printf(“C is %d, square of C is %d\n”, c, c*c); sum += c*c; c++; } printf(“1*1+2*2+3*3+…+10*10 = %d\n”,sum); int c=11,sum = 0; while (--c) { sum += c*c; printf(“C is %d, square of C is %d\n”, c, c*c); } printf(“1*1+2*2+3*3+…+10*10 = %d\n”,sum);

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 8 Επαναληπτικές Εντολές - while Π.χ., Υπολογισμός των τετραγώνων των πρώτων 10 φυσικών αριθμών που είναι πολλαπλάσια του 7 ή του 9 και του αθροίσματός τους int c=1,sum=0,pl = 0; while (pl<=10) { if (c % 7 == 0 || c % 9 == 0) { printf(“C is %d, square of C is %d\n”, c, c*c); sum += c*c; pl++; } c++; } printf(“Sum = %d\n”,sum);

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 9 Επαναληπτικές Εντολές - for Συντακτικό: for ( έκφραση1 ; έκφραση2 ; έκφραση3) εντολή Σημασιολογία: Υπολόγισε την τιμή της έκφραση1 Υπολόγισε την τιμή της έκφραση2 Αν η έκφραση2 είναι αληθής (μη μηδενική τιμή) τότε Εκτέλεση την εντολή Υπολόγισε την τιμή της έκφραση3 Πήγαινε στο βήμα 2 Ειδάλλως, εξήλθε του βρόχου Ισοδύναμο με: έκφραση1; while (έκφραση2) { εντολή έκφραση3; }

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 10 int i; int sum = 0; for (i = m; i <= n; i++) sum += f(i);

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 11 Επαναληπτικές Εντολές - for Συντακτικό: for ( έκφραση1 ; έκφραση2 ; έκφραση3) εντολή Συνήθως οι παραπάνω εκφράσεις αντιστοιχούν σε for ( αρχικοποίηση μετρητών; συνθήκη ; μεταβολή μετρητών) έτσι ώστε σε μια γραμμή να φαίνεται πόσες επαναλήψεις θα κάνει ο βρόχος

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 12 Επαναληπτικές Εντολές - for Συγκρίνετε: int c; for (c=1; c<=10; c++) { printf(“C is %d, square of C is %d\n”, c, c*c); } με int c; c=1; while (c<=10) { printf(“C is %d, square of C is %d\n”, c, c*c); c++; } Είναι ισοδύναμα, αλλά το πρώτο προτιμάται από τους προγραμματιστές: μετά την for υπάρχουν όλες οι πληροφορίες μαζεμένες για να καταλάβουμε πως θα εκτελεστεί ο βρόχος

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 13 Επαναληπτικές Εντολές - for Η γλώσσα δεν υποχρεώνει η πρώτη έκφραση να αφορά αρχικοποίηση, η δεύτερη συνθήκη κτλ. Έτσι τα παρακάτω είναι συντακτικά σωστά: k=7; for (; k; ) printf(“K is %d\n”, k--);

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 14 for (i = 0; i < 10; i++) /* loop body */ i = 0; for (; i < 10;) { i++; } i = 0; for (;; i++) { if (i >= 10) break; }

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 15 Επαναληπτικές Εντολές – do/while do { εντολή } while (έκφραση); int calculator(int a,int b) { int res = 0; char ch; printf(“Add, Substract, Multiply, Divide\n”); do { printf(“Enter first letter:\n”); ch = getchar(); } while ( ch!=‘A’ && ch!=‘S’ && ch != ‘M’ && ch!=‘D’); if (ch==‘A’) res = a+b; else if (ch==‘S’) res = a-b; else if (ch==‘M’) res = a*b; else if (ch==‘D’) res = a/b; printf(“\n %d %c %d = %d\n”, a,ch,b,res); return res; }

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 16 Έξοδος από βρόχο Εντολή break – Τερματισμός μόνο του πιο «μέσα» βρόγχου ή switch – Ειδικές περιπτώσεις – Π.χ., βγες από το μενού Εντολή continue – Η ροή πηγαίνει απευθείας στην έκφραση3 παράσταση της for (αν πρόκειται για for) – Κατόπιν η ροή πηγαίνει στην συνθήκη ελέγχου της ανακύκλωσης (για for, while, do) – Π.χ., αγνόησε κάποιο στοιχείο του βρόχου

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 17 Έξοδος από βρόχο #include int main() /* Tameakh mhxanh*/ { float sum = 0, SUM = 0, product = 0; int plh8os,id = 1; while (1) { printf("Enter product price (give -1 for false, -2 for next customer and -3 for exit)):"); scanf("%f",&product); if (product == -1) { printf("GIVE again all the list of customer %d\n",id); SUM = SUM - sum; sum = 0; continue; } else if (product == -2) { printf("sum(%d) = %.2f\n",id,sum); id++; sum = 0; continue; } else if (product == -3) { printf("INCOMES of %d customers = %.2f\n",id-1,SUM); break; } printf("Enter products' number:"); scanf("%d",&plh8os); sum += plh8os* product; SUM += plh8os* product; } return 0; }

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Επανάληψη - Παραδείγματα

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 19 Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: – Σειριακές εντολές (sequential – built in C) – Εντολές απόφασης (if, if/else, switch) – Εντολές επανάληψης ( for, while, do/while)

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 20 Επαναληπτικές Εντολές – while – for Συντακτικό: while (έκφραση) { εντολή } for ( έκφραση1 ; έκφραση2; έκφραση3) { εντολή }

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 21 Έξοδος από βρόχο Εντολή break – Τερματισμός μόνο του πιο «μέσα» βρόγχου ή switch – Ειδικές περιπτώσεις – Π.χ., βγες από το μενού Εντολή continue – Η ροή πηγαίνει απευθείας στην έκφραση3 παράσταση της for (αν πρόκειται για for) – Κατόπιν η ροή πηγαίνει στην συνθήκη ελέγχου της ανακύκλωσης (για for, while, do) – Π.χ., αγνόησε κάποιο στοιχείο του βρόχου

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 22 Example #include int main() { int a; a = 0; while (a <= 100) { printf("%4d degrees F = %4d degrees C\n", a, (a - 32) * 5 / 9); a = a + 10; } return 0; }

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 23 0 degrees F = -17 degrees C 10 degrees F = -12 degrees C 20 degrees F = -6 degrees C 30 degrees F = -1 degrees C 40 degrees F = 4 degrees C 50 degrees F = 10 degrees C 60 degrees F = 15 degrees C 70 degrees F = 21 degrees C 80 degrees F = 26 degrees C 90 degrees F = 32 degrees C 100 degrees F = 37 degrees C

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 24 Παραδείγματα Bρόχων //Υπολογισμός Δύναμης int power(int base, int n) { int i, p; p =1; for (i = 1; i <= n; i++) p = p*base; return p; } /*Υπολογισμός παραγοντικού n! = n*(n-1)! */ int parag(int n) { int i, p; p =1; for (i = 2; i <= n; i++) p = p*i; return p; }

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 25 Παραδείγματα Bρόχων /*Υπολογισμός της μικρότερης δύναμης του 2 που είναι μεγαλύτερη από τον αριθμό n*/ int powerOfTwo(int n) { int p; p = 1; while (1) { p = p*2; if (p > n) break; } return p; }

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 26 Παραδείγματα Bρόχων /*Υπολογισμός του αθροίσματος των ψηφίων του αριθμού n*/ int sumOfDigits(int n) { int pn,x,sum; pn = n; sum = 0; while (pn > 0) { x = pn % 10; pn = pn/10; sum += x; } return sum; }

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 27 Παραδείγματα Bρόχων /*Εκτυπώνει τουs 10 πρώτους αριθμούς που το άθροισμα των ψηφίων τους είναι 7 και την μέση τους τιμή*/ int x = 1; //metablhth gia enan tyxaio ari8mo int sum = 0; //metablhth gia to # tvn ari8mwn float mean = 0; //metablhth gia th mesh timh while (sum < 10) { if (sumOfDigits(x) == 7) { mean += x; sum++; printf(“O %d ari8mos einai o %d\n”,sum,x); } ++x; } mean = mean/10; printf(“H mesh tous timh einai %.2f\n”,mean);

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 28 Example for (i=0;i<50;i++) { for (j=0;j<50;j++) { char c; double distance,dx,dy; dx = 25-i; dy = 25-j; distance = sqrt(dx*dx + dy*dy); if (distance < 25) c = ‘*’; else c = ‘ ’; printf(“%c”,c) } printf(“\n”); }

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 29 Φωλιασμένοι βρόχοι for (i=1; i<=8; i++) { for (j = 1; j <= i; ++j) { printf(“*”); } printf(“\n”); } * ** *** **** ***** ****** ******* ********

ΜΑΘ3122/106 – Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης 30 Φωλιασμένοι βρόχοι /*Πως θα εκτυπώναμε το παρακάτω σχήμα;*/ * ** *** **** ***** ****** ******* ****************