Upcoming SlideShare
×

OOP Chapter 5 : Program Looping

1,420 views

Published on

Published in: Education, Technology
1 Comment
1 Like
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• โหลดไม่ได้หรอคับ

Are you sure you want to  Yes  No
Views
Total views
1,420
On SlideShare
0
From Embeds
0
Number of Embeds
175
Actions
Shares
0
0
1
Likes
1
Embeds 0
No embeds

No notes for slide

OOP Chapter 5 : Program Looping

1. 1. Object-Oriented Programming Language Chapter 5 : Program Looping Atit Patumvan Faculty of Management and Information Sciences Naresuan Universityวันจันทร์ท่ี 27 กุมภาพันธ์ 12
2. 2. 2 Contents • The for statement • The while statement • The do statement • The break and continue Statements Atit Patumvan, Faculty of Management and Information Sciences, Naresuan University Object-Oriented Programming Languageวันจันทร์ท่ี 27 กุมภาพันธ์ 12
3. 3. 3 Triangular Number n=4 sum = 1 + 2 + ... + n Atit Patumvan, Faculty of Management and Information Sciences, Naresuan University Object-Oriented Programming Languageวันจันทร์ท่ี 27 กุมภาพันธ์ 12
4. 4. 4 Triangular Number ExampleProgram 5.101: #import <Foundation/Foundation.h>02:03:// Program to calculate the eighth triangular number04:05: int main(int argc, const char * argv[])06:{07:! NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];08:! int triangularNumber;09:10:! triangularNumber = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8;11:12:! NSLog(@"The eighth triangular number is %i", triangularNumber);13:14:! [pool drain];15:! return 0;16:} The eighth triangular number is 36 Atit Patumvan, Faculty of Management and Information Sciences, Naresuan University Object-Oriented Programming Languageวันจันทร์ท่ี 27 กุมภาพันธ์ 12
5. 5. 5 The for StatementProgram 5.201: #import <Foundation/Foundation.h>02:03:04: int main(int argc, const char * argv[])05: {06:! NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];07:! int n, triangularNumber;08:09:! triangularNumber = 0;10:11:! for(n = 1; n <= 200; n = n + 1)12:! ! triangularNumber +=n;13:14:! NSLog(@"The 200th triangular number is %i", triangularNumber);15:16:! [pool drain];17:! return 0;18: } The 200th triangular number is 20100 Atit Patumvan, Faculty of Management and Information Sciences, Naresuan University Object-Oriented Programming Languageวันจันทร์ท่ี 27 กุมภาพันธ์ 12
6. 6. 6 The for Statement for( init_expression; loop_condition; loop_expression) program_statement; 11:!for(n = 1; n <= 200; n = n + 1) 12:!! triangularNumber +=n; 1. The initial expression is evaluate ﬁrst. 2. The looping condition is evaluated. 3. The program statement is executed. 4.The looping expression is evaluated. 5. Return to step 2. Atit Patumvan, Faculty of Management and Information Sciences, Naresuan University Object-Oriented Programming Languageวันจันทร์ท่ี 27 กุมภาพันธ์ 12
7. 7. 7 Table ot Triangular NumberProgram 5.301: #import <Foundation/Foundation.h>02:03:04: int main(int argc, const char * argv[])05: {06:! NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];07:! int n, triangularNumber;08:09:! NSLog(@"TABLE OF TRIANGULAR NUMBERS");10:! NSLog(@" n Sum from 1 to n");11:! NSLog(@"-- ----------------"); for( init_expression; loop_condition; loop_expression)12:13:! triangularNumber = 0; program_statement;14: TABLE OF TRIANGULAR NUMBERS15:! for(n = 1; n <= 10; ++n){ n Sum from 1 to n16:! ! triangularNumber +=n; -- ----------------17:! ! NSLog(@" %i t%i", n, triangularNumber); 1 118:! } 2 3 3 619: 4 1020:! NSLog(@"The 200th triangular number is %i", triangularNumber); 5 1521: 6 21 7 2822:! [pool drain]; 8 3623:! return 0; 9 4524: } 10 55 The 200th triangular number is 55 Atit Patumvan, Faculty of Management and Information Sciences, Naresuan University Object-Oriented Programming Languageวันจันทร์ท่ี 27 กุมภาพันธ์ 12
8. 8. 8 Keyboard InputProgram 5.401: #import <Foundation/Foundation.h>02:03: int main(int argc, const char * argv[])04: {05:! NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];06:! int n, number, triangularNumber;07:08:! NSLog(@"What triangular number do you want?");09:! scanf("%i", &number);10:11:! triangularNumber = 0;12:13:! for(n = 1; n <= number; ++n){14:! ! triangularNumber +=n;15:! }16:17:! NSLog(@"Triangular number %i is %in", number, triangularNumber);18:19:! [pool drain];20:! return 0;21: } What triangular number do you want?22: 100 Triangular number 100 is 5050 Atit Patumvan, Faculty of Management and Information Sciences, Naresuan University Object-Oriented Programming Languageวันจันทร์ท่ี 27 กุมภาพันธ์ 12
9. 9. 9 Nested for LoopsProgram 5.505: #import <Foundation/Foundation.h>05:05: int main(int argc, const char * argv[])05: {05:! NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];05:! int n, number, triangularNumber, counter;05:05:! for(counter = 1; counter <= 5; ++counter){05:! ! NSLog(@"What triangular number do you want?");05:! ! scanf("%i", &number);05:05:! ! triangularNumber = 0;05:05:! ! for(n = 1; n <= number; ++n){05:! ! ! triangularNumber +=n;05:! ! }05:05:! ! NSLog(@"Triangular number %i is %i", number, triangularNumber);05: ! }05:! [pool drain];05:! return 0;05: } Atit Patumvan, Faculty of Management and Information Sciences, Naresuan University Object-Oriented Programming Languageวันจันทร์ท่ี 27 กุมภาพันธ์ 12
10. 10. 10 The while Statement while( expression ) program_statement init_expression; while( loop_condition ) { program_statement; loop_expression; } Atit Patumvan, Faculty of Management and Information Sciences, Naresuan University Object-Oriented Programming Languageวันจันทร์ท่ี 27 กุมภาพันธ์ 12
11. 11. 11 The while StatementProgram 5.601: #import <Foundation/Foundation.h>02:03: int main(int argc, const char * argv[])04: {05:! NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];06:! int count = 1;07:08:! while( count <= 5){ init_expression;09:! ! NSLog(@"%i", count); while( loop_condition )10:! ! ++count;11:! } {12: program_statement;13:! [pool drain]; loop_expression;14:! return 0; }15: }16:! 1 2 3 4 5 Atit Patumvan, Faculty of Management and Information Sciences, Naresuan University Object-Oriented Programming Languageวันจันทร์ท่ี 27 กุมภาพันธ์ 12
12. 12. 12 Find the greatest common divisorProgram 5.701: #import <Foundation/Foundation.h>02:03: int main(int argc, const char * argv[])04: {05:! NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];06:! unsigned int u, v, temp; 30 1807:08:! NSLog(@"Please type in two nonnegative integers.");09:! scanf("%u%u", &u, &v);10: 30 /18 = 1R1211:! while( v != 0){12:! ! temp = u % v; 18 /12 = 1R6 12 / 6 = 2R013:! ! u = v;14:! ! v = temp;15:! }16:17:! NSLog(@"Their greatest common advisor is %u", u);18:19:! [pool drain];20:! return 0; Please type in two nonnegative integers.21: } 30 1822: Their greatest common advisor is 6! Atit Patumvan, Faculty of Management and Information Sciences, Naresuan University Object-Oriented Programming Languageวันจันทร์ท่ี 27 กุมภาพันธ์ 12
13. 13. 13 Program to reverse the digits of numberProgram 5.801: #import <Foundation/Foundation.h>01:01: int main(int argc, const char * argv[])01:{01:! NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];01:! int number, right_digit;01:01:! NSLog(@"Enter your number."); 1234 % 10 = 401:! scanf("%i", &number);01:01:! while( number != 0){01:! ! right_digit = number % 10;01:! ! NSLog(@"%i", right_digit); 1234 / 10 = 12301:! ! number /= 10;01:! }01:01:! [pool drain]; 123 % 10 = 301:! return 0;01:} Enter your number. 123 /10 = 12 :01: 1234! 4 3 2 1 Atit Patumvan, Faculty of Management and Information Sciences, Naresuan University Object-Oriented Programming Languageวันจันทร์ท่ี 27 กุมภาพันธ์ 12
14. 14. 14 The do Statement do program_statement while( expression ) init_expression; do { program_statement; loop_expression; } while( loop_condition ) Atit Patumvan, Faculty of Management and Information Sciences, Naresuan University Object-Oriented Programming Languageวันจันทร์ท่ี 27 กุมภาพันธ์ 12
15. 15. 15 Program to reverse the digits of numberProgram 5.901: #import <Foundation/Foundation.h>02:03: int main(int argc, const char * argv[])04: {05:! NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];06:! int number, right_digit;07:08:! NSLog(@"Enter your number.");09:! scanf("%i", &number);10:11:! do{ init_expression;12:! ! right_digit = number % 10; do{13:! ! NSLog(@"%i", right_digit);14:! ! number /= 10; program_statement;15:! }while( number != 0); loop_expression;16: } while( loop_condition );17:! [pool drain];18:! return 0;19: }01:! Atit Patumvan, Faculty of Management and Information Sciences, Naresuan University Object-Oriented Programming Languageวันจันทร์ท่ี 27 กุมภาพันธ์ 12
16. 16. 16 The break and continue Statements • Labeled break statement • Exit from nested control structures • Proceeds to end of speciﬁed labeled block • Labeled continue statement • Skips remaining statements in nested-loop body • Proceeds to beginning of speciﬁed labeled block Atit Patumvan, Faculty of Management and Information Sciences, Naresuan University Object-Oriented Programming Languageวันจันทร์ท่ี 27 กุมภาพันธ์ 12