Execution Control with If/Else and Boolean Functions Alice.

13
Execution Control with If/Else and Boolean Functions Alice

Transcript of Execution Control with If/Else and Boolean Functions Alice.

Page 1: Execution Control with If/Else and Boolean Functions Alice.

Execution Control with If/Else and Boolean Functions

Alice

Page 2: Execution Control with If/Else and Boolean Functions Alice.

Adding More Complexity to Worlds

Initially programs were not interactiveprogram ran and user watched

Then learned how to make programs interactive

add events to program

when event occurs an event handler method is called

adds variability to programs

not always the same thing happening

Page 3: Execution Control with If/Else and Boolean Functions Alice.

3

Event Driven Programming

a whole philosophy of programming called “event driven” programming

flow of program controlled by external events as opposed to things internal to the program

very important in user interfacesthe parts of programs that interact with real users

think about using a computerthe operating system ( Windows XP, Mac OS X, etc. ) has a large component that is event driven

responding to your actions. (Move mouse, click, type)

Page 4: Execution Control with If/Else and Boolean Functions Alice.

Thinking About More Advanced Worlds

No doubt you have started to think about building animations like simulations and video games…To build more advanced worlds, you will need to write code that involves decisions

Page 5: Execution Control with If/Else and Boolean Functions Alice.

5

Examples of DecisionsA race car simulationdriver provides input from steering wheel, gas pedal, and brake

if car stays on road display next section of roadif car hits another car, crashif car goes too far off road, crashif pass checkpoints, more time

Page 6: Execution Control with If/Else and Boolean Functions Alice.

Logical Expressions

• Program must make decision based on current conditions– on road? – time left? – intersected another car?

Page 7: Execution Control with If/Else and Boolean Functions Alice.

Logical Expressions

A condition is checked in a logical expression that evaluates to Boolean value

true or false (Boolean) value car on road true

car over finish line false

Page 8: Execution Control with If/Else and Boolean Functions Alice.

If/ElseIn Alice, a logical expression is used as the condition in an If/Else control structure.

Decisions (using If/Else) are used in

functions

methods

Page 9: Execution Control with If/Else and Boolean Functions Alice.

Example: Boolean Function

Suppose you are building a simulation system used to train air traffic controllers. One of the tasks of an traffic controller is to be alert for possible collisions in the flight space.

Page 10: Execution Control with If/Else and Boolean Functions Alice.

StoryboardOne factor in determining whether two aircraft are in danger of collision is the vertical distance (difference in altitudes) between them.

We can write a function that checks the vertical distance against a minimum difference in altitudes.

The function returns true if they are too close, otherwise

false. isTooClose

Parameters: aircraftOne, aircraftTwo, minimumDistance

If the vertical distance between aircraftOne and aircraftTwo is less than minimumDistance return trueElse return false

Page 11: Execution Control with If/Else and Boolean Functions Alice.

Demo

Lab12FlightCollision-V1

Concepts illustrated in this example

A world-level relational operator is used to create a Boolean expression as the condition.

The absolute value function is used to make sure the computed difference in altitude is not a negative number.

Page 12: Execution Control with If/Else and Boolean Functions Alice.

Storyboard

To avoid a collision, the aircraft that is above the other should move up and the lower aircraft should move down.

avoidCollision

Parameters: aircraftOne, aircraftTwo

If aircraftOne is above aircraftTwo Do together aircraftOne move up aircraftTwo move downElse Do together aircraftOne move down aircraftTwo move up

Page 13: Execution Control with If/Else and Boolean Functions Alice.

Demo

Lab12FlightCollision-V2

Concepts illustrated in this example Decisions were made to

control whether a method is called

determine which set of instructions are immediately executed