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

Σχετικά έγγραφα
Προγραμματισμός Ι (ΗΥ120)

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

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

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

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

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

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

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

που θα δώσει αποτέλεσµα 48, λόγω της αριστερής προσεταιριστικότητας των τελεστών / και *, ενώ η επιθυµητή αντικατάσταση θα ήταν η

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

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενδεικτικές Απαντήσεις Εξετάσεων Β' Περιόδου Θέµα 1. (α')

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

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

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

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

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

for for for for( . */

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

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

Δομές Ανακυκλώσεων. Εντολές ελέγχου - 1

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

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

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

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

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

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

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

Α Β Γ static; printf("%c\n", putchar( A +1)+2); B DB BD. int i = 0; while (++i); printf("*");

Η γλώσσα C. Προγραµµατισµός Ι 1

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

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

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

int a[5]; a[0] a[1] a[2] a[3] a[4] 15/10/2009

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

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

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

Γλώσσα Προγραμματισμού C. Προγραμματισμός HY: Γλώσσα Προγραμματισμού C. Γρήγορος Πίνακας Αναφοράς Σύνταξης. Εισήγηση #4. Επαναληπτικές δομές:

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

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

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ασκήσεις Επανάληψης

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

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

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

Λυμένα παραδείγματα με τις for, while, do-while

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

Προεπεξεργαστής της C. C Preprocessor. Προγραμματισμός II 1

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

Εργαστήριο 2: Πίνακες

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

Ενότητα 5: «Εισαγωγή στον Προγραμματισμό. Απλές ασκήσεις με γλώσσα C»

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

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

Προεπεξεργαστής C. Προγραμματισμός Ι 1

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

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

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

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Εισαγωγή στην πληροφορική

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:

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

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

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)

Πανεπιστήμιο Πελοποννήσου. Σχολή Θετικών Επιστημών & Τεχνολογίας. Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών. Προγραμματισμός Ι Εργαστήριο

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

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

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

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

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

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

Μεταγλωττιστές Βελτιστοποίηση

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

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

Ασκήσεις & παραδείγματα για επανάληψη

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

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

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

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

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

Επανάληψη. Εντολές while, for, do-while

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 3 Επανάληψη Γ μέρος

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

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση:

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

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 4 Ο. Δομή επανάληψης Επανάληψη με συνθήκη Ατέρμονη επανάληψη Πίνακας ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Transcript:

Προγραμματισμός Ι (HY120) #6 εκτέλεση σε επανάληψη 1 Σπύρος Λάλης

Εκτέλεση σε επανάληψη: while while (<lexpr>) <body> lexpr body true false Όσο η λογική συνθήκη επανάληψης lexpr αποτιμάται σε μια τιμή διάφορη του 0 τότε εκτελείται το body, διαφορετικά η εκτέλεση συνεχίζεται μετά το while Το body μπορεί να μην εκτελεστεί καθόλου αν η lexpr αποτιμηθεί σε 0 ήδη την πρώτη φορά... ή ενδεχομένως επ άπειρο αν η lexpr δεν αποτιμηθεί ποτέ σε 0 (ίσως από προγραμματιστικό λάθος) 2 Σπύρος Λάλης

Υπολογισμός 1+2+ +n /* 1+2+ +n */ #include <stdio.h> int main(int argc, char *argv[]) { int n, sum scanf("%d", &n); sum = 0; sum = sum + 1; sum = sum + 2; sum = sum + 3; sum = sum + n; εντολή που επαναλαμβάνεται αλλάζει κάθε φορά (κατά 1) λαμβάνει τιμές 1.. n printf("%d\n", sum); return(0); 3 Σπύρος Λάλης

Υπολογισμός 1+2+ +n /* 1+2+ +n */ #include <stdio.h> int main(int argc, char *argv[]) { int n, sum, i; scanf("%d", &n); sum = 0; i = 1; while (i <= n) { sum = sum + i; i = i + 1; printf("%d\n", sum); return(0); 4 Σπύρος Λάλης

Πολλαπλασιασμός με πρόσθεση /* z=x*y, y>=0 */ #include <stdio.h> int main(int argc, char *argv[]) { int x, y, res; scanf("%d %d", &x, &y); res = 0; while (y > 0) { res = res + x; y--; printf("%d\n", res); return(0); 5 Σπύρος Λάλης

Υπολογισμός n! factorial = 1*2*3* *(n-1)*n; Αν το n λαμβάνει τιμή από το χρήστη, τότε την ώρα που γράφουμε τον κώδικα μας δεν γνωρίζουμε μέχρι ποιά τιμή να κάνουμε τον πολλαπλασιασμό Αυτό το γνωρίζουμε την ώρα της εκτέλεσης Μετασχηματίζουμε την παραπάνω έκφραση ως επανάληψη των εντολών: factorial = factorial*i; i = i+1; Η επανάληψη πρέπει να γίνει τόσες φορές όσες η τιμή της μεταβλητής n δηλαδή όσο i <= n Οι αρχικές τιμές είναι: factorial = 1; i = 2; αν n <= 1 η σωστή τιμή (για το n!) είναι 1 6 Σπύρος Λάλης

/* n! */ #include <stdio.h> int main(int argc, char *argv[]) { int n, factorial, i; scanf("%d", &n); factorial = 1; i = 2; while (i <= n) { factorial = factorial * i; i = i+1; printf("%d\n", factorial); return(0); 7 Σπύρος Λάλης

Μέγιστος κοινός διαιρέτης Π.χ. υπολογισμός ΜΚΔ 84, 18 1 ο βήμα: 84 / 18 πηλίκο 4, υπόλοιπο 12 2 ο βήμα: 18 / 12 πηλίκο 1, υπόλοιπο 6 2 ο βήμα: 12 / 6 πηλίκο 2, υπόλοιπο 0 ΜΚΔ: 6 8 Σπύρος Λάλης

/* μέγιστος κοινός διαιρέτης x,y */ /* Επέκταση του Ευκλείδιου Αλγόριθμου */ #include <stdio.h> int main(int argc, char *argv[]) { int diaireteos, diaireths, ypoloipo; scanf("%d %d", &diaireteos, &diaireths); while (diaireths!= 0) { ypoloipo = diaireteos % diaireths; diaireteos = diaireths; diaireths = ypoloipo; printf("%d\n", diaireteos); return(0); 9 Σπύρος Λάλης

Εκτέλεση σε επανάληψη: do-while do <body> while (<lexpr>) true body lexpr false Πρώτα εκτελείται το body και μετά αποτιμάται η λογική συνθήκη επανάληψης lexpr αν η τιμή της είναι διάφορη του 0 τότε το body εκτελείται ξανά Το body θα εκτελεσθεί τουλάχιστον μια φορά και ενδεχομένως επ άπειρο αν η lexpr δεν αποτιμηθεί ποτέ σε 0 (πιθανό προγραμματιστικό λάθος) 10 Σπύρος Λάλης

/* ανάγνωση αριθμητικής τιμής σύμφωνα με την έκφραση {space or \n {char space or \n */ #include <stdio.h> int main(int argc, char *argv[]) { char c; int val; do { c = getchar(); while ((c == ' ') (c == '\n')); val = 0; do { val = val*10 + c-'0'; c = getchar(); while ((c!= ' ') && (c!= '\n')); printf("%d\n", val); return(0); 11 Σπύρος Λάλης

Ισοδυναμίες <body> while <lexpr> <body> do <body> while <lexpr> while <lexpr> <body> if <lexpr> do <body> while <lexpr> κάθε while μπορεί να μετασχηματιστεί σε ένα ισοδύναμο do-while, και το αντίστροφο 12 Σπύρος Λάλης

Εκτέλεση σε επανάληψη: for for (<expr1>;<lexpr>;<expr2>) <body> expr1 lexpr true body false expr2 Η έκφραση expr1 αποτιμάται μια μοναδική φορά Όσο η λογική συνθήκη επανάληψης lexpr αποτιμάται σε τιμή διάφορη του 0, εκτελείται το body και μετά η έκφραση expr2 Οι εκφράσεις expr1 και expr2 χρησιμοποιούνται συνήθως για την «αρχικοποίηση» και την «πρόοδο» των μεταβλητών της συνθήκης επανάληψης lexpr, αντίστοιχα 13 Σπύρος Λάλης

Υπολογισμός 1+2+ +n /* 1+2+ +n */ #include <stdio.h> int main(int argc, char *argv[]) { int n, sum scanf("%d", &n); sum = 0; sum = sum + 1; sum = sum + 2; sum = sum + 3; sum = sum + n; εντολή που επαναλαμβάνεται αλλάζει κάθε φορά (+1) λαμβάνει τιμές 1.. n printf("%d\n", sum); return(0); 14 Σπύρος Λάλης

/* 1+2+ +n */ #include <stdio.h> int main(int argc, char *argv[]) { int n, sum, i; scanf("%d", &n); sum = 0; for (i=1; i<=n; i++) { sum = sum + i; printf("%d\n", sum); return(0); 15 Σπύρος Λάλης

/* 1+2+ +n */ #include <stdio.h> int main(int argc, char *argv[]) { int n, sum, i; scanf("%d", &n); for (sum=0, i=1; i<=n; i++) { sum = sum + i; printf("%d\n", sum); return(0); 16 Σπύρος Λάλης

/* 1+2+ +n */ #include <stdio.h> int main(int argc, char *argv[]) { int n, sum, i; scanf("%d", &n); for (sum=0, i=1; i<=n; sum=sum+i, i++) { printf("%d\n", sum); return(0); 17 Σπύρος Λάλης

/* 1+2+ +n */ #include <stdio.h> int main(int argc, char *argv[]) { int n, sum, i; scanf("%d", &n); for (sum=0, i=1; i<=n; sum=sum+i++) { printf("%d\n", sum); return(0); 18 Σπύρος Λάλης

/* z=x*y, y>=0 */ #include <stdio.h> int main(int argc, char *argv[]) { int x, y, res, i; scanf("%d %d", &x, &y); res = 0; for (i=1; i<=y; i++) { res = res + x; printf("%d\n", res); return(0); 19 Σπύρος Λάλης

/* z=x*y, y>=0 */ #include <stdio.h> int main(int argc, char *argv[]) { int x, y, res; scanf("%d %d", &x, &y); res = 0; for (; y>0; y--) { res = res + x; printf("%d\n", res); return(0); 20 Σπύρος Λάλης

/* συνδυασμοί <i,j> με i:[0,n) και j:[0,m) */ #include <stdio.h> int main(int argc, char *argv[]) { int n, m, i, j; scanf("%d %d", &n, &m); for (i=0; i<n; i++) { for (j=0; j<m; j++) { printf("(%d,%d)", i, j); printf("\n"); return(0); 21 Σπύρος Λάλης

Ισοδυναμίες <expr1> while (<lexpr>) { <body> <expr2> for (<expr1>; <lexpr>; <expr2>) <body> κάθε while μπορεί να μετασχηματιστεί σε ένα ισοδύναμο for, και το αντίστροφο η δομή for μπορεί να επιτύχει καλύτερη αναγνωσιμότητα: ξεχωρίζει με ρητό τρόπο, στο συντακτικό επίπεδο, τις εκφράσεις «αρχικοποίησης» και «προόδου» από τον υπόλοιπο κώδικα της επανάληψης συχνά οδηγεί και σε ταχύτερο κώδικα μηχανής (ευκολότερη βελτιστοποίηση από το μεταγλωττιστή) 22 Σπύρος Λάλης

Γιατί τόσες πολλές δομές επανάληψης; Κάθε δομή ελέγχου έχει τα πλεονεκτήματα της, κυρίως όσον αφορά την αναγνωσιμότητα του κώδικα εξαρτάται από την λογική που θέλουμε να υλοποιήσουμε Μερικές δομές διευκολύνουν τον μεταφραστή στην παραγωγή καλύτερου κώδικα μηχανής Συχνά η επιλογή γίνεται με βάση το προσωπικό στυλ του καθενός Πρωταρχικός στόχος για εσάς: αναγνωσιμότητα! η όποια «βελτιστοποίηση» του κώδικα γίνεται αφού σιγουρευτούμε ότι το πρόγραμμα είναι σωστό και αφού γίνουν κατάλληλες μετρήσεις που θα δείξουν το σημείο όπου πραγματικά χρειάζεται κάτι τέτοιο 23 Σπύρος Λάλης

εντολές αλμάτων σε δομές επανάληψης 24 Σπύρος Λάλης

Οι εντολές break και continue Κανονική έξοδος από μια δομή επανάληψης γίνεται όταν η λογική συνθήκη ελέγχου αποτιμάται σε 0 πριν ή μετά την εκτέλεση του σώματος Αυτό μπορεί να είναι περιοριστικό σε κάποιες περιπτώσεις μπορεί να κάνει τον κώδικα πιο πολύπλοκο και δυσανάγνωστο Με break επιτυγχάνεται άμεση έξοδος από οποιοδήποτε σημείο του κώδικα της επανάληψης Με continue παρακάμπτονται οι (υπόλοιπες) εντολές του κώδικα του σώματος της επανάληψης, αλλά χωρίς να γίνεται έξοδος από την επανάληψη στη for το δεν παρακάμπτεται η έκφραση «προόδου» 25 Σπύρος Λάλης

/* εκτύπωση ζυγών αριθμών στο διάστημα [1..n) */ #include <stdio.h> int main(int argc, char *argv[]) { int n, i; scanf("%d", &n); for (i=1; i<n; i++) { if (i%2!= 0) { continue; printf("%d ", i); printf("\n"); return(0); 26 Σπύρος Λάλης

/* ανάγνωση ενός αριθμού και εκτύπωση του τετραγώνου, μέχρι να δοθεί μια τιμή ίση με 0 */ #include <stdio.h> int main(int argc, char *argv[]) { int x; while (1) { printf("enter int value!= 0, or 0 to stop: "); scanf("%d",&x); if (x == 0) { break; printf("%d^2 is %d\n", x, x*x); return(0); 27 Σπύρος Λάλης

Η εντολή goto goto <label> : γίνεται άλμα και η εκτέλεση συνεχίζεται από το σημείο με την ετικέτα <label> Η goto δίνει μεγάλη ευελιξία επιτρέπει τη μεταφορά του ελέγχου έξω από κάθε δομή και σε οποιοδήποτε σημείο του προγράμματος Προσοχή: μια πρόχειρη χρήση της goto μπορεί εύκολα να οδηγήσει σε δυσνόητα προγράμματα Η goto χρησιμοποιείται ως τελευταία λύση όταν όλοι οι υπόλοιποι συνδυασμοί δομών και εντολών ελέγχου κάνουν τον κώδικα λιγότερο ευανάγνωστο π.χ., άμεση έξοδος μέσα από πολλά επίπεδα επανάληψης 28 Σπύρος Λάλης

/* αντιπαράδειγμα */ get: c = getchar(); goto check1; cont1: goto check2; cont2: putchar(c); goto get; check1: if (c == '\n') { goto theend; else { goto cont1; check2: if (( c>= 'a') && (c <= 'z')) c = c - ('a' 'A'); goto cont2; theend: putchar('\n'); do { c = getchar(); if ((c >= 'a') && (c <= 'z')) { c = c ('a' 'A'); putchar(c); while (c!= '\n'); 29 Σπύρος Λάλης

/* μια πιο ενδεδειγμένη χρήση της goto */ while ( ) { for ( ) { do { if ( ) { goto abort; while ( ); abort: 30 Σπύρος Λάλης

Δομές επανάληψης χωρίς σώμα Στις δομές ελέγχου while, do-while και for μπορεί να μην χρειάζεται να βάλουμε σώμα εντολών Η C δεν υποστηρίζει την απουσία σώματος Υπάρχει η επιλογή ανάμεσα στην χρήση της «κενής» εντολής ; (που δεν κάνει τίποτα) του «άδειου» σώματος { (που δεν περιέχει καμία εντολή) Το αποτέλεσμα είναι το ίδιο (δεν εκτελείται τίποτα) 31 Σπύρος Λάλης

/* υπολογισμός sum=1+2+ +n */ int i, sum; το «άδειο» σώμα χωρίς εντολές for (i=1, sum=0; i<=n; sum=sum+i++) { /* υπολογισμός sum=1+2+ +n */ int i, sum; η «κενή» εντολή που δεν κάνει τίποτα for (i=1, sum=0; i<=n; sum=sum+i++) ; 32 Σπύρος Λάλης