Alice Workshop Functions, Loops, and Parameters

1 / 27

# Alice Workshop Functions, Loops, and Parameters - PowerPoint PPT Presentation

Alice Workshop Functions, Loops, and Parameters. Do in order dragon flies to princess princess climbs on dragon\'s back dragon and princess escape knight shakes his arm (and sword) in protest. dragon takes off. Where are we?.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' Alice Workshop Functions, Loops, and Parameters' - sabina

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Alice WorkshopFunctions, Loops, and Parameters

Do in order

dragon flies to princess

princess climbs on dragon\'s back

dragon and princess escape

knight shakes his arm (and sword) in protest

dragon takes off

Where are we?
• Thus far, we have written object-level methods for the dragon
• flapWings
• takeOff
• fly
Next
• Now, the dragon must fly to the princess
• Break it down into simple steps:

Do in order

fly to the princess

dragon turn into a position that will allow princess to climb on board

World-level method
• This method clearly involves two different objects:
• dragon
• princess
• We will write a world-level method rather than a object-level method.

General rule of thumb: If more than one

object is involved in a method, write the

method as a world-level method.

Loop
• The fly method moves the dragon forward 1 meter.
• We want to call the fly method repeatedly to move the dragon to the princess.
• Alice has a Loop statement.
Problem
• The problem is: How many times should the fly method be called?

?

Functions
• Alice has several built-in distance functions, that can be used to determine the number of meters objects are from one another.
• In this example, the Loop should execute once for each meter of this distance.
Behind the scenes
• To be truthful,
• Loop needs a whole number (e.g., 4)
• The distance in front of function returns a double number (e.g., 4.37 meters)
• Behind the scenes, Alice truncates the distance to a whole number
Animation:Smooth, Continuous Movement
• For most purposes, execution of an instruction works best with a gentle slowdown in speed (toward the end of the duration)
• Successive repetitions, however, may have a smoother continuous motion if made to end abruptly
Animation:Smooth, Continuous Movement
• For most purposes, execution of an instruction works best with a gentle slowdown in speed (toward the end of the duration)
• Successive repetitions, however, may have a smoother continuous motion if made to end abruptly
Object-level method with parameters
• We could also write this method for the dragon object
• But it still involves two objects in the world
• dragon
• princess
• We must use a parameter in order to access the princess from the dragon method
Create a object-level method

Name it flyToPerson

Parameters
• A parameter is a shared element that conveys information between one method and another
• A parameter, has a name, a value, and a type
• Type describes the kind of information that is shared
• Click on create new parameter button
Parameters
• Name the object "who” (or something else appropriate)
• Select the Object type then click OK
Use the parameter
• Turn the dragon to face …
What is a Variable?
• A variable is an element in a program to store values that are likely to change as the program executes
• Also useful for
• Naming values that may be abstract
• Allowing code to be more readable
• Decomposing a complex process into a series of simpler processes
Like Parameters
• Variables have a name (distanceToWho)
• Variables have a type (Number)
Parameters vs. Variables
• Both parameters and variables
• Have a name
• Have a type (which describes the kind of data being stored)
• Store values that can change as the program runs
• Parameters carry values from one method to another
• Variables belong to one particular method only (local)
Using a variable
• Drag the variable tile into the code editor
• Select a value for the variable
Using the function with parameter
• To set the value of the variable
Text
• Functions and Expressions
• Chapters 3 and 6
• Loop
• Chapters 3 and 7 (Section 1)
• Methods and Parameters
• Chapter 4
• Variables
• 10-1

Do in order

princess climbs on dragon\'s back

dragon and princess escape

knight shakes his arm (and shield) in protest

dragon takes off

dragon flies to princess