CMPT 102 Introduction to Scientific Computer Programming
-
Upload
rebekah-hayes -
Category
Documents
-
view
17 -
download
0
description
Transcript of CMPT 102 Introduction to Scientific Computer Programming
![Page 1: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/1.jpg)
1 © Janice Regan, CMPT 102, Sept. 2006
CMPT 102Introduction to Scientific Computer Programming
Control Structures
while Loops
continue; and break; statements
![Page 2: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/2.jpg)
© Janice Regan, CMPT 102, Sept. 2006 2
Control Structures Three methods of processing a program
In sequence Branching Looping
Branch: Altering the flow of program execution by making a selection or choice
Loop: Altering the flow of program execution by repetition of a particular block of statement(s)
![Page 3: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/3.jpg)
© Janice Regan, CMPT 102, Sept. 2006 3
Basic Loops When one action is to be repeated a number of
times a loop is used. Loops are repetition structures
There are two common types of loops while loop or do...while loop
Used to continue repetition while a condition holds Can also be used (along with a counter variable) to repeat a
particular number of times
for loop Specifically designed to repeat a particular number of times
![Page 4: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/4.jpg)
© Janice Regan, CMPT 102, Sept. 2006 4
A while Loop in C while ( condition )
{ /* Series of actions to be taken */ /* each time the loop is executed */ /* loop is executed when condition is True */
action 1;action 2;
}/* When condition is false execute following actions */actions;
![Page 5: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/5.jpg)
© Janice Regan, CMPT 102, Sept. 2006 5
Structure of while loop
T
Fcondition
Statement 1;
Statement n;
![Page 6: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/6.jpg)
© Janice Regan, CMPT 102, Sept. 2006 6
Counting while statement
T
loopIndex < end
loopIndex += step;
start = nend = m
loopIndex = start;
Initial statements
Loop condition
First Statement:…..
Last Statement;
F
Repeats Statements m-n times
Update statement
![Page 7: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/7.jpg)
© Janice Regan, CMPT 102, Sept. 2006 7
Example while Loop in C /* Sum the Integers from 1 to 25 inclusive */
X = 1;
Sum = 0;
while ( X <= 25 )
{
Sum += X;
X++;
}
printf(“%d\n”, Sum);
![Page 8: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/8.jpg)
© Janice Regan, CMPT 102, Sept. 2006 8
do…while Loop in C do
{/*Series of actions to be taken *//*each time the loop is executed *//*Always executed on first pass *//* Subsequently executed if condition is True */action 1;action 2;
}
while ( condition ); /* When condition is false execute following actions */actions;
![Page 9: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/9.jpg)
© Janice Regan, CMPT 102, Sept. 2006 9
Structure of do…while Loop
T
Fcondition
Statement 1;
Statement n;T
Loop condition
![Page 10: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/10.jpg)
© Janice Regan, CMPT 102, Sept. 2006 10
Counting do…while statement
Update statement
T loopIndex < end
start = nend = m
loopIndex = start;
Initial statement
Loop condition
First Statement:…..
Last Statement;
F
Repeats Statements m-n times
loopIndex += step;
![Page 11: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/11.jpg)
© Janice Regan, CMPT 102, Sept. 2006 11
Example do…while Loop /* Sum the Integers from 1 to 25 inclusive */ X = 1; sum = 0; do { sum += X;
X++; } while ( X <= 25 ); printf(“%d”, sum);
![Page 12: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/12.jpg)
© Janice Regan, CMPT 102, Sept. 2006 12
Differences do vs do…while /* Sum Integers from n to m */ n = 4: m = 3: sum = 0; do { sum += n;
n++; } while ( n <= m ); printf(“%d”, sum);
/* Sum Integers from n to m */ n = 4: m = 3: sum = 0; while ( n <= m ) { sum += n;
n++; } printf(“%d”, sum);
After code sum = 4Body of loop executes once
After code sum = 0Body of loop does not execute
![Page 13: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/13.jpg)
© Janice Regan, CMPT 102, Sept. 2006 13
Infinite Loops When using while or do..while loops it is possible that the
loop condition is always true. If the variable or expression tested in the loop condition
is not modified in the action statements within the loop, then if the condition is true for the first loop test it remains true for ever
Even if the variable or expression changes it may satisfy the test condition for ever
An infinite loop will cause your program to execute forever If your program is caught in an infinite loop you can
terminate it by typing <CNTRL>C into your linux or cygwin command window
![Page 14: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/14.jpg)
© Janice Regan, CMPT 102, Sept. 2006 14
Uses of an infinite loop To make an infinite loop useful, you must have a
way to exit from it It is possible to exit from a loop by using a break;
statement (discussed below) If you use an infinite loop intentionally it is usually
a loop you intend to execute many times until Some condition is met OR The loop has executed the maximum number of times
If you use an infinite loop intentionally you should always exit after a maximum number of times through the loop, just in case the condition you expect to take you out of the loop never occurs.
![Page 15: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/15.jpg)
© Janice Regan, CMPT 102, Sept. 2006 15
The Break Statement: Loops
Sometimes you wish to exit from a loop even if the loop condition is still true For example if your loop is reading and processing
data and an error occurs that can be recognized but cannot be corrected, you may wish to print an error message and exit the loop immediately
break; A C statement that causes you to exit the loop you
are in Program execution will continue at the statement
following the loop
![Page 16: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/16.jpg)
© Janice Regan, CMPT 102, Sept. 2006 16
break statement
T
F
ConditionLoop condition
…..Statement n;
break;T
F
Statement 1;…..
condition2
![Page 17: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/17.jpg)
© Janice Regan, CMPT 102, Sept. 2006 17
The Continue Statement: Sometimes you wish to execute only some of
the statements in the body of the loop for a particular value of the loop index For example you may wish to skip the last half of the
body of the loop if (loopindex/14)= = 1 continue;
A C statement that causes you to go from anywhere in the loop to the update statement and loop condition
Program execution will continue at the update statement of the loop
![Page 18: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/18.jpg)
© Janice Regan, CMPT 102, Sept. 2006 18
continue statement
T
F
Condition
…..Statement n;
continue;T
F
Statement 1;…..
condition2
![Page 19: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/19.jpg)
© Janice Regan, CMPT 102, Sept. 2006 19
continue in Counting while
Update statement
T
loopIndex < end
Start = nEnd = m
loopIndex = start;Initial statement
Loop condition
…..Last Statement;
F
Repeats Statements m-n times
loopIndex += step;
F
Tcondition2
First Statement:…..
continue;
![Page 20: CMPT 102 Introduction to Scientific Computer Programming](https://reader036.fdocuments.in/reader036/viewer/2022082818/56812cf9550346895d91c6b7/html5/thumbnails/20.jpg)
© Janice Regan, CMPT 102, Sept. 2006 20
Example infinite Loop in C /* The user inputs a positive integer */ /* the routine prints the square of the number, */ /* to terminate the user enters -999 */ while ( 1 ) { printf("enter a positive integer " ); scanf("%d", &positiveIntNum); if(positiveIntNum < 0) { if( positiveIntNum == -999) {break}; printf("error*** negative input ***\n"); continue; } printf("%d\n", positiveIntNum*positiveIntNum); }