new mexico computer science for all variables and scope maureen psaila-dombrowski

Post on 04-Jan-2016

214 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

New Mexico Computer Science For All

Variables and Scope

Maureen Psaila-Dombrowski

Variables - review

•Variable: container that holds a value that can be used and changed.

•Three Steps for Using Variables▫Declare – allocates the space for the

variable and sets the name given to the variable

▫Initialize – set the initial value of the variable

▫Get/Set– Use it in the program or change the value stored in the variable as the program is executed

Types of Variables

•There are three types of NetLogo variables

Local Variables Agent Variables Global Variable

•Differ in scope of where they can be used Local – used in the block where declared Agent – used by specific type of agents Global – used anywhere in the program

Local Variables

•Already discussed at length

•Can only be used in the procedure or command block where it is declared

•Can be used by any agent

•How to Use:▫Declare and initialize local variables using

the let command▫Use the local variable in an expression or▫Modify a local variable using the set

command

Agent Variables•Three types of Agent Variables

▫Turtle Variables Each turtle has its own value for every turtle

variable▫Patch Variables

Each patch has its own value for every patch variable

▫Link Variables Each link has its own value for every link

variable

•Built-In Agent Variables▫Some agent variables are built-in to NetLogo

Turtles: color, heading, xcor, ycor, etc. Patches: pcolor, pxcor, pycor, etc. Links: color, shape, etc.

•User-defined variables▫Can make user defined agent variables by

declaring them at the beginning of the program

turtles-own [ energy ]patches-own [ grass? ]links-own [ strength ]

Agent Variables

Agent Variables

•How to use an agent variable▫Declare the agent variable if necessary ▫Change/modify the variable using the set

command▫Generally can only be used/set by the

specific agent Turtles Turtle Variables Patches Patch Variable Link Link Variables

Agent Variables•Exceptions

▫An agent can set a different agent's variable by using the ask command.

ask patches […….ask turtle 5 [ set color blue] ;; changes turtle 5’s color to blue

…]

▫One agent can read another agent’s variable using the of command

show [color] of turtle 5 ;; prints turtle 5’s color

▫A turtle can read and set patch variables of the patch it is standing on directly

ask turtles [set pcolor blue] ;;makes patches under all turtles blue

•Show program with different types of variables

Global Variables•The is only one value of each global

variable at any time

•You can declare a global variable by

▫Using an input device on the interface tab (switch, slider, chooser or input box)

▫In the code by using the globals keyword at the beginning of the code

globals [NumTurtles]

Global Variable

•Can be used and modify ▫At any location in any procedure in the

code▫By any agent

•Use by using the variable name

•Modified by the using ▫In the Code with the set command

set NumTurtles 100

▫On the Interface tab with switch, slider, chooser or input box

•SIMPLE NETLOGO PROGRAM WITH SLIDER INPUT BOX, SWITCH AND CHOOSER

Summary•Variable: container to hold a value

•To use: Declare, Initialize and Use/Modify

•Three types:▫Local Variables

▫ can be used by any agent but only in the procedure or block it is declared in

▫Agent Variables▫Each agent has its own value for each agent

variable▫Used only by that specific agent (exceptions)

▫Global Variables▫Only one value at any time▫Used by any agent in any procedure

top related