Measures of Central Tendency: Mean, Median and Mode
OOP Chapter 5 : Program Looping
1. Object-Oriented Programming Language
Chapter 5 : Program Looping
Atit Patumvan
Faculty of Management and Information Sciences
Naresuan University
วันจันทร์ท่ี 27 กุมภาพันธ์ 12
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
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
Triangular Number Example
Program 5.1
01: #import <Foundation/Foundation.h>
02:
03:// Program to calculate the eighth triangular number
04:
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
The for Statement
Program 5.2
01: #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
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 first.
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
Table ot Triangular Number
Program 5.3
01: #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 NUMBERS
15:! for(n = 1; n <= 10; ++n){ n Sum from 1 to n
16:! ! triangularNumber +=n; -- ----------------
17:! ! NSLog(@" %i t%i", n, triangularNumber); 1 1
18:! } 2 3
3 6
19: 4 10
20:! NSLog(@"The 200th triangular number is %i", triangularNumber); 5 15
21: 6 21
7 28
22:! [pool drain]; 8 36
23:! return 0; 9 45
24: } 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
Keyboard Input
Program 5.4
01: #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
Nested for Loops
Program 5.5
05: #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
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
The while Statement
Program 5.6
01: #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
Find the greatest common divisor
Program 5.7
01: #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 18
07:
08:! NSLog(@"Please type in two nonnegative integers.");
09:! scanf("%u%u", &u, &v);
10: 30 /18 = 1R12
11:! while( v != 0){
12:! ! temp = u % v; 18 /12 = 1R6
12 / 6 = 2R0
13:! ! 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 18
22: Their greatest common advisor is 6
!
Atit Patumvan, Faculty of Management and Information Sciences, Naresuan University Object-Oriented Programming Language
วันจันทร์ท่ี 27 กุมภาพันธ์ 12
13. 13
Program to reverse the digits of number
Program 5.8
01: #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 = 4
01:! scanf("%i", &number);
01:
01:! while( number != 0){
01:! ! right_digit = number % 10;
01:! ! NSLog(@"%i", right_digit);
1234 / 10 = 123
01:! ! number /= 10;
01:! }
01:
01:! [pool drain]; 123 % 10 = 3
01:! 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
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
Program to reverse the digits of number
Program 5.9
01: #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
The break and continue Statements
• Labeled break statement
• Exit from nested control structures
• Proceeds to end of specified labeled block
• Labeled continue statement
• Skips remaining statements in nested-loop body
• Proceeds to beginning of specified labeled block
Atit Patumvan, Faculty of Management and Information Sciences, Naresuan University Object-Oriented Programming Language
วันจันทร์ท่ี 27 กุมภาพันธ์ 12