23
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

Example – calculating interest until the amount doubles using a for loop: will calculate up to 1000 years, if necessary if condition decides when to terminate

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

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.

only needed 10 years

Example – accept input, appending it to vector, until a negative number is entered:

allow up to 1000values, if necessary

negative value stops the input

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

Could use “nested” if/else commands

or

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

Examples:

Note – many elseifsare allowed,

but only 1 “else”

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 – computing a table of z = x2+y2 for x and y equal to the integers 1, 2,…6:

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.

Test a valid assignment for quality:

And then terminate the 4 for loops:

The result:

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

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

controls forcreating and

removingbreakpoints

indicator of breakpoint location(can have multiple breakpoints)

What shows up at the breakpoint Command window: Editor window:

location indicator

differentprompt

Can single step (F10) or continue (F5) to the next breakpoint (or end)