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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ενότητα 4: «Εισαγωγή στον Προγραμματισμό. Τα πρώτα προγράμματα σε γλώσσα C»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

for for for for( . */

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

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

Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 5 ο Μέρος 5 ο Μέρος Εντολές Επανάληψης: FOR - WHILE. Περιγραφή

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

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

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

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

Δομές Επανάληψης. Εισαγωγή στη C++

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

Εισαγωγή στον δομημένο προγραμματισμό

Εκτέλεση της εντολής1 και στη συνέχεια εκτέλεση της ΕΝΟΤΗΤΑΣ και της εντολής2 όσο η ΣΥΝΘΗΚΗ είναι αληθής.

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

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

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

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

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

11. Συναρτήσεις (Μέρος Ι)

Ο πιο κάτω πίνακας περιγράφει σε ποιες περιπτώσεις χρησιμοποιούμε τους τρεις πιο πάνω τρόπους:

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

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

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

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

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

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

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

EΒ ΟΜΑ Α 4 Η. οµές επανάληψης while και do while

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

12. Συναρτήσεις (Μέρος ΙI)

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

Επανάληψη. Εντολές while, 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

Β7.1.4 Δομές Επανάληψης. Β Λυκείου Κατεύθυνσης

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

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. Δείκτες (Διάλεξη 14)

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό. Ενότητα 8: Συναρτήσεις. Κ.

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 6 Ο. Συναρτήσεις Τοπικές, καθολικές, στατικές μεταβλητές Μεταβλητές τύπου extern και register Αναδρομή

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

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos

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

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

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

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

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Transcript:

Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 10. Εντολές επανάληψηςκαι οι εντολές for και do-while Ιωάννης Κατάκης

Σήμερα o for o break/continue o dowhile() o φωλιασμένοι βρόχοι o παραδείγματα

Ο βρόχος for o Η for είναι η εντολή που χρησιμοποιείται πιο συχνά για την υλοποίηση βρόχων στην C o Η σύνταξη της εντολής είναι: for (πρόταση1; παράσταση; πρόταση2) ή εντολή1; for (πρόταση1; παράσταση; πρόταση2) εντολή1 1 ;... εντολή1 Ν ; o Αρχικά εκτελείται η πρόταση1 o Για όσο η λογική παράσταση είναι αληθής Εκτελείται η εντολή1 Εκτελείται η πρόταση2 Πρόταση1 Παράσταση true Εντολή1 Πρόταση2 Επόµενη Πρόταση false

Παράδειγμα intx; for(x=0; x<5; x++) printf( %d\n,x); x x<5 έξοδος 0 1 0 1 1 1 2 1 2 3 1 3 4 1 4 5 0

Ομοιότηταfor καιwhile intx= 0; while (x < 5) printf( %d\n,x); x++; intx; for (x=0; x<5; x++) printf( %d\n,x); Οποιoδήποτε for μπορεί να γραφεί με while και οποιoδήποτε whileμε for.ακόμα και το άπειρο loop for(;1;) printf("hello"); <==> while (1) printf("hello");

Παραδείγματα Αντίστροφη μέτρηση intx; for(x=5; x>0; x--) printf( %d,,x); Αποτέλεσμα: 5, 4, 3, 2, 1, Μεγαλύτερο βήμα (step increment) ή κάτι άλλο inti; for (i = 0; i < 10; i += 2) printf( %d,, i); Αποτέλεσμα: 0,2,4,6,8, inti = 10; for(i = 10; i > 0; i /= 2) printf("%d, ",i); Αποτέλεσμα:10, 5, 2, 1

Ο βρόχος do - while o Η εντολή do -while είναι παρόμοια με την while και επαναλαμβάνει την εκτέλεση μιας πρότασηςενώσω η τιμή μιας λογικής παράστασης είναι αληθής (1) o Η σύνταξη της εντολής είναι: do Πρόταση1; while (παράσταση); o Ο έλεγχος της do-whileσε αντίθεση με την while γίνεται στο τέλος Η Πρόταση1 θα εκτελεστεί τουλάχιστον μία φορά ανεξάρτητα από την τιμή της παράστασης o Π.χ. int i=0; do i++; printf( %d\n",i); while (i<10); Προηγούµενη Πρόταση Πρόταση while Παράσταση true Επόµενη Πρόταση false

Παράδειγμα Το παρακάτω πρόγραμμα διαβάζει ακέραιους από το χρήστη και εμφανίζει το τετράγωνο τους μέχρι να δεχθεί τον αριθμό 0 #include <stdio.h> main() intnum; do printf("give a number: "); scanf("%d",&num); printf("%d^2= %d\n",num,num*num); while (num!=0); system ("pause");

Διαφορές while και do-while o Ο έλεγχος στην εντολή whileγίνεται στην αρχή Οι μεταβλητές που εξετάζονται στη λογική παράσταση πρέπει να έχουν πάρει τιμή πριν εκτελεστεί ο βρόχος για πρώτη φορά Οι εντολές μέσα στο βρόχο δεν εκτελούνται καμία φορά αν η λογική παράσταση == false o Ο έλεγχος στην do-while γίνεται στο τέλος Οι εντολές μέσα στο βρόχο εκτελούνται τουλάχιστον μια φορά ανεξάρτητα από την τιμή της λογικής παράστασης

Ένθετα while & do - while o Η ένθεση μιας εντολής επανάληψης είναι η προσθήκη της μέσα στο σώμα των εντολών μιας άλλης εντολής επανάληψης while(συνθήκη1) Πρόταση1; Πρόταση2;... while (συνθήκη2) Πρόταση11; Πρόταση12;... Πρόταση1M;... ΠρότασηΝ-1; ΠρότασηΝ; do Πρόταση1; Πρόταση2;... do Πρόταση11; Πρόταση12;... Πρόταση1M; while (συνθήκη2);... ΠρότασηΝ-1; ΠρότασηΝ; while(συνθήκη1);

Ένθετοι βρόχοι for o Η εντολή for μπορεί να περιέχει στο σώμα της οποιεσδήποτε εντολές της C και επομένως και άλλες εντολές for o Μία for στο σώμα μιας άλλης for σχηματίζουν μια ένθετη for o Έστω ο παρακάτω κώδικας for (i=0;i<5;i++) for (j=4;j>0;j--) printf( %d,%d\t,i,j); printf( \n ); 0,4 0,3 0,2 0,1 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 _ o Η εντολή printfθα εκτελεστεί 20 φορές (5*4) o Η εντολή printfθα εκτελεστεί 5 φορές

Παράδειγμα Προπαίδεια main() int i,j; for (i=1;i<10;i++) for (j=1;j<10;j++) printf( %d*%d= %d\n,i,j,i*j);

Εντολή break Η εντολή breakµπορεί να χρησιµοποιηθεί σε βρόχο while, do-while και for για να προκαλέσει έξοδο από το βρόχο #include <stdio.h> main ( ) inti; for (i = 1; i < 10; i++) if (i == 5) break; printf( %d, i); printf( \nexetevgeiapoto loop!!! ); Αποτέλεσµα: 1 2 3 4 Exete vgei apo to loop!!!

Εντολή continue H εντολή continueμπορεί να χρησιμοποιηθεί μεfor, while,do-while για να προκαλέσει την ματαίωση της εκτέλεσης των επομένων εντολών του βρόχου, για την τρέχουσα επανάληψη. #include <stdio.h> main ( ) inti; for (i = 1; i < 10; i++) if (i == 5) continue; printf( %d, i); printf( \n ); Aποτέλεσµα: 1 2 3 4 6 7 8 9 10-14

Άσκηση 10.1 Σχεδιάστε αλγόριθμο ο οποίος υπολογίζει το παραγοντικό ενός θετικού ακέραιου αριθμού που δίνει ο χρήστης o Δεδομένα εισόδου: αριθμός x o Δεδομένα εξόδου : το παραγοντικό Υπολογισμός παραγοντικού; 1! = 1, 2! = 1*2 = 2, 3! = 1*2*3 = 6 4!=1*2*3*4=24, 5!=1*2*3*4*5=120,. 10-15

Άσκηση 10.1: Λύση intmain() int i, factorial=1; intn; printf("enter Number (1-12):"); scanf("%d", &n); for (i=1; i<=n; i++) factorial = factorial * i; printf("the factorial of %d is %d\n", n, factorial); return 0; 10-16

Άσκηση 10.1 -Επέκταση: έλεγχος εισόδου intmain() int i, factorial=1; intn; do // Έλεγχος ότι τα δεδομένα εισόδου είναι ορθά printf("enter Number (1-12):"); scanf("%d", &n); while (n<1 n>12); for (i=1; i<=n; i++) factorial = factorial * i; printf("the factorial of %d is %d\n", n, factorial); return 0; 10-17

Άσκηση 10.1 χρήση while int main() int i=1, factorial=1; int n; do printf("enter Number (1-12):"); scanf("%d", &n); while (n<1 n>12); while (i<=n) factorial = factorial * i; i++; printf("the factorial of %d is %d\n", n, factorial); return 0;

Άσκηση 10.1: χρήση do-while int main() int i=1, factorial=1; int n; do printf("enter Number (1-12):"); scanf("%d", &n); while (n<1 n>12); do factorial = factorial * i; i++; while (i<=n) printf("the factorial of %d is %d\n", n, factorial); return 0; 10-19

Τέλος διάλεξης