Example – calculating interest until the amount doubles using a for loop: will calculate up to 10 years, if necessary if condition decides when to terminate loop ak terminates the execution of the whole lo
Dec 19, 2015
Example – calculating interest until the amount doubles using a for loop:
will calculate up to 1000years, if necessary
if condition decideswhen to terminate loop
break terminates the execution of the whole loop.
Example – accept input, appending it to vector, until a negative number is entered:
allow up to 1000values, if necessary
What if there are more than 2 situations?
3 situations:
find the largest of 3 variables a, b, c
a ≥ b ≥ c a ≥ c ≥ b
b ≥ a ≥ c b ≥ c ≥ a
c ≥ b ≥ a c ≥ a ≥ b
4 situations:
convert a compass angle to a direction:
0º east
90º north
180º west
270º south
The “elseif” command
if expression1
{commands if expression1 is true }
elseif expression2
{commands if expression2 is true }
else
{commands if both expressions are false }
end
Example – Hi-Lo: a guessing game with feedback
select hidden number
input guess
correct?
yes
noprovide hi/lo feedback
5 tries?
yesno
win
lose
Variable values by example
1 31 61 92 32 62 93 33 6 3 94 34 64 9
inde
x1in
dex2
All possible combinationsof the indices are generated.
Example – matching of people’s skills and tasks:
Situation: 4 tasks 4 people with
different skills to do them
Skill table as shown
Goal – assign tasks to maximize the sum
Example solution of 20
Job 1
Job 2
Job 3
Job 4
Joe 7 4 4 2
Sue 6 8 5 2
Bob 4 7 1 3
Liz 6 5 2 1
Solution – use nested loops to try all combinations, skipping repeats:
First, let’s initialize variables:
Job
1 2 3 4
Joe 7 4 4 2
Sue 6 8 5 2
Bob 4 7 1 3
Liz 6 5 2 1
Next, start nested loops:
Check for repeats and skip
continue stops the present pass and starts the next pass.
Debugging ≡ finding and correcting errors (bugs) in programs
Useful debugging tools:– Ability to stop a program in the middle of its
execution (at a breakpoint)– Ability to examine variable values at that point– Ability to modify variable values at that point