Loops ISYS 350. Two Types of Loops while loop for loop.

21
Loops ISYS 350

description

The while Loop The while loop causes a statement or set of statements to repeat as long as a Boolean expression is true The simple logic is: While a Boolean expression is true, do some task A while loop has two parts: – A Boolean expression that is tested for a true or false value – A statement or set of statements that is repeated a long as the Boolean expression is true Boolean Expression Statement(s) True False

Transcript of Loops ISYS 350. Two Types of Loops while loop for loop.

Page 1: Loops ISYS 350. Two Types of Loops while loop for loop.

Loops

ISYS 350

Page 2: Loops ISYS 350. Two Types of Loops while loop for loop.

Two Types of Loops

• while loop• for loop

Page 3: Loops ISYS 350. Two Types of Loops while loop for loop.

The while Loop• The while loop causes a statement or set of statements to

repeat as long as a Boolean expression is true• The simple logic is: While a Boolean expression is true, do

some task• A while loop has two parts:

– A Boolean expression that is tested for a true or false value– A statement or set of statements that is repeated a long as the Boolean expression is true

BooleanExpression Statement(s)

True

False

Page 4: Loops ISYS 350. Two Types of Loops while loop for loop.

Structure of a while Loop• In C#, the generic format of a while loop is:

while (BooleanExpression){ Statements;}

• The first line is called the while clause• Statements inside the curly braces are the body of the loop• When a while loop executes, the Boolean expression is tested. If true, the

statements are executed• Each time the loop executes its statement or statements, we say the loop

is iterating, or performing an iteration

Page 5: Loops ISYS 350. Two Types of Loops while loop for loop.

Example: An Infinite Loop while (1 > 0) { MessageBox.Show("Looping");

}

Page 6: Loops ISYS 350. Two Types of Loops while loop for loop.

An Infinite Loop that plays beep sound

while (1 > 0)// while (true) { SystemSounds.Beep.Play();

}

To play beep, we need System.Media namespace:

using System.Media;

Page 7: Loops ISYS 350. Two Types of Loops while loop for loop.

Using a Counter to Control the Loop int counter = 0; while (counter<5) { MessageBox.Show(counter.ToString()); ++counter; //counter++; }

int counter = 1; while (counter<=5) { MessageBox.Show(counter.ToString()); ++counter; //counter++; }

Page 8: Loops ISYS 350. Two Types of Loops while loop for loop.

Using a FlagBoolean continueFlag = true; while (continueFlag) { SystemSounds.Beep.Play(); if (MessageBox.Show("Do you want to continuue? ", "Continue?", MessageBoxButtons.YesNo) == DialogResult.No) continueFlag = false; }

Page 9: Loops ISYS 350. Two Types of Loops while loop for loop.

Flag Example

bool myFlag = true;int counter2 = 1;while (myFlag){ MessageBox.Show(counter2.ToString()); ++counter2; if (counter2 > 5) myFlag = false;}

Page 10: Loops ISYS 350. Two Types of Loops while loop for loop.

AccumulatorFind the sum of all numbers between 1 and N.

int N, Sum, Counter = 1;N = int.Parse(textBox1.Text);Sum = 0;while (Counter <= N) { Sum += Counter; ++Counter; }MessageBox.Show(Sum.ToString());

Page 11: Loops ISYS 350. Two Types of Loops while loop for loop.

While Loop ExampleN Factorial, N!

int N, NFact, Counter = 1; N = int.Parse(textBox1.Text); NFact = 1; while (Counter <= N) { NFact *= Counter; ++Counter; } MessageBox.Show(NFact.ToString());

Page 12: Loops ISYS 350. Two Types of Loops while loop for loop.

Enter present value and rate in textboxes, then display future values for years from 5

to 40 with a step of 5 in a ListBox

double pv, rate, year, fv; pv = double.Parse(textBox1.Text); rate = double.Parse(textBox2.Text); year = 5; while (year <= 40) { fv = pv * Math.Pow(1 + rate, year); listBox1.Items.Add("Year = " + year.ToString() + " Future valuet is: " + fv.ToString("c")); year += 5; }

Page 13: Loops ISYS 350. Two Types of Loops while loop for loop.

Enter pv and year in textboxes, then display fv for rates from 5% to 10%

with a step of 0.5% in a ListBoxdouble pv, rate, year, fv; pv = double.Parse(textBox1.Text); year = double.Parse(textBox2.Text); rate = 0.05; while (rate <= .1) { fv = pv * Math.Pow(1 + rate, year); listBox1.Items.Add("Rate = " + rate.ToString("p") + " Future valuet is: " + fv.ToString("c")); rate += .005; }

Note: A double may not exactly equal to .1

while (rate < .105)

Page 14: Loops ISYS 350. Two Types of Loops while loop for loop.

The for Loop• The for loop is specially designed for situations requiring a

counter variable to control the number of times that a loop iterates

• You must specify three actions:– Initialization: a one-time expression that defines the initial value of the

counter– Test: A Boolean expression to be tested. If true, the loop iterates.– Update: increase or decrease the value of the counter

• A generic form is:

for (initializationExpress; testExpression; updateExpression){ }

• The for loop is a pretest loop

Page 15: Loops ISYS 350. Two Types of Loops while loop for loop.

Sample Codeint count;for (count = 1; count <= 5; count++){ MessageBox.Show(“Hello”);}

•The initialization expression assign 1 to the count variable•The expression count <=5 is tested. If true, continue to display the message.•The update expression add 1 to the count variable•Start the loop over

// declare count variable in initialization expressionfor (int count = 1; count <= 5; count++){ MessageBox.Show(“Hello”);}

Page 16: Loops ISYS 350. Two Types of Loops while loop for loop.

Other Forms of Update Expression• In the update expression, the counter variable is typically incremented by

1. But, this is not a requirement.

//increment by 10for (int count = 0; count <=100; count += 10){ MessageBox.Show(count.ToString());}

• You can decrement the counter variable to make it count backward

//counting backwardfor (int count = 10; count >=0; count--){ MessageBox.Show(count.ToString());}

Page 17: Loops ISYS 350. Two Types of Loops while loop for loop.

AccumulatorFind the sum of all numbers between 1 and N.

int N, Sum, Counter; N = int.Parse(textBox1.Text); Sum = 0; for (Counter = 1; Counter <= N;Counter++ ) { Sum += Counter; } MessageBox.Show(Sum.ToString());

Page 18: Loops ISYS 350. Two Types of Loops while loop for loop.

Enter present value and rate in textboxes, then display future values for years from 5

to 40 with a step of 5 in a ListBox

double pv, rate, year, fv;pv = double.Parse(textBox1.Text);rate = double.Parse(textBox2.Text);for (year=5;year<=40;year+=5) { fv = pv * Math.Pow(1 + rate, year); listBox1.Items.Add("Year = " + year.ToString() + " Future valuet is: " + fv.ToString("c")); }

Page 19: Loops ISYS 350. Two Types of Loops while loop for loop.

Increment smaller than 1:Enter Loan and Term in textboxes, then display monthly pay for rates from 3% to 10% with a

step of .5% in a ListBoxdouble pv, rate, year, fv; pv = double.Parse(textBox1.Text); year = double.Parse(textBox2.Text); for (rate=.03;rate<=.1;rate+=0.005) { fv = pv * Math.Pow(1 + rate, year); listBox1.Items.Add("Rate = " + rate.ToString("p") + " Future valuet is: " + fv.ToString("c")); }

Note: for (rate = .03; rate < .105; rate += .005)

Page 20: Loops ISYS 350. Two Types of Loops while loop for loop.

Find the Sum of All Even Numbers between 1 and N

int N, Sum, Counter; N = int.Parse(textBox1.Text); Sum = 0; for (Counter = 1; Counter<=N;Counter++ ) { if (Counter % 2 ==0) Sum += Counter; } MessageBox.Show(Sum.ToString());

Page 21: Loops ISYS 350. Two Types of Loops while loop for loop.

The loop control variable may be declared before the loop or within the for

statementInt counter;for (counter = 0; counter <=5; counter++){ MessageBox.Show(counter.ToString());}

What is the value of counter after the loop?• Or

for (int counter= 0; counter <=5; counter++){ MessageBox.Show(counter.ToString());}