Alice Variables: Intro • a Variable Is a Name That Represents a Storage Location for a Value – Represented by an Identifier

Alice Variables: Intro • a Variable Is a Name That Represents a Storage Location for a Value – Represented by an Identifier

Alice Variables: Intro • A variable is a name that represents a storage location for a value { Represented by an identifier (name) using the same naming conventions as for methods { Corresponds to a data type - the kind of value it can represent { Has a location in computer memory allocated to it { The data type and amount of memory limits the range of values a variable can store { Stores a value of the specified data type • Data types: { Double: Fractional values (include decimal point) { Integer: Whole numbers (no decimal point) { Boolean: True/false { String: Literal values indicated by double quotes { NOTE: If Java not selected as language, will see slightly different type window 1 Alice Variables: Intro (2) • A variable declaration specifies a variable's name and type { Alice expects an initial value in addition { Alice refers to the combination of declaration and initialization as variable definition • A variable's scope refers to where a variable's value can be accessed • There are three types of variables based on where they are declared: 1. Local variables { These are declared within a method { Their scope (where they can be used) is within the body (code) of that method; hence the name local 2. Parameters { These are declared in a method's header - in the parentheses that follow the name of the method when created { These are used to hold values that can be sent to the method when it is called { Their scope is the same as for local variables { The values that are sent to the method are called arguments { They allow the method to behave differently on each call, providing different arguments are passed to the method 3. Instance variables (properties) { These are declared within a class { They specify properties for objects of that class { Their scope is the whole class (i.e., they can be used by methods of the class) • Variables are used to store values that are used in a program { They make it easy to update values as a program executes { They make it easy to modify a program's code 2 Alice Variables: Local Variables • Steps in declaring a local variable: 1. Drag variable into a method from the list of control structures in edit mode A pop-up window appears 2. The radio button variable next to the label Is variable should be selected (see constants below) 3. Select a data type 4. Enter an initial value; Alice insists on this { You may want something entirely different for an initial value than the options provided { Simply select one - you will be able to change this once the variable has been declared 5. Name the variable { The name should be a meaningful noun or noun phrase 3 Alice Variables: Local Variables (2) • Expressions { An expression is a piece of code that produces a value { There are several forms this can take: 1. A literal (actual) value: 5, 17.2 2. A variable: x, length 3. A function call: this.alice.getWidth(), Math.sqrt(x) 4. A compound expression: expression1 operator expression2, where ex- pression1 and expression2 can be any of these types of expressions • Variables are initialized with an expression { Frequently want to initialize a variable with an expression other than a simple value { Consider x : 5 y : 10 z : 0:5 ∗ x + 1:5 ∗ y { When declaring z, Alice won't allow the above, but you can change it after you've created the variable z • To change the expressions for a variable: 1. Click the down arrow to the right of the expression - a set of choices appears 4 Alice Variables: Local Variables (3) These include { Default values { Compound expressions (Math) { Randomly generated values { User-specified values { Values of existing variables (listed at bottom) • Math allows the creation of complicated expressions involving operators { It also provides math functions like square root, trig functions, etc. • Function calls can be dragged into the value slots of expressions 5 Alice Variables: Local Variables (4) • Input can be interactively supplied by the user using the getTYPEFromUser() function (under Scene), where TYPE is replaced by one of Alice's data types { This function has a String parameter (message )that is printed before re- trieving a typed-in value from the user { This string is called a prompt and should tell the user exactly what is expected { The program will wait until the user enters a value and hits ENTER before continuing 6 Alice Variables: Local Variables (5) • Assignment statements { These are used to change the value of a variable as a program executes { Assignment statements are dragged from the control list at the bottom of the edit window { They require an expression in the same way as when a variable is initialed on declaration { The syntax is var name = expression { The semantics: The value of the expression is stored in the memory location associated with var name { Generally, only local variables appear on the left of assignment statements • Constants { When creating a variable, there radio buttons labeled variable and constant next to Is variable { A programming constant is a value that does not change throughout a program's execution { By declaring a variable constant, you will be prevented from changing it's value { Constant names use all caps, unlike variable names 7 Alice Variables: Parameters • A parameter is a "variable" that stores a value passed to a method { The value is sent when the method is called, and the value is called an argument • Creating a parameter for a method is similar to creating a local variable { Once a method has been named and created, an add parameter button appears in its header { Selecting this brings up a window just like for variables 8 Alice Variables: Parameters (2) { When selecting the data type, you'll see a new option: Gallery ∗ Under Gallery are listed all the classes available in your program ∗ You can pass actual objects as arguments into a method ∗ When selecting a type from the gallery, choose the most general type that you want your method to accept ∗ Classes that start with S (S-types, which stand for story types) are classes that cannot be modified by the programer ∗ Appendix C lists the complete Alice S-type hierarchy 9 Alice Variables: Instance Variables • Instance variables define the properties of a class • They are created the same as for methods except by choosing Add Property menu of the selected class • When an instance variable is created, Alice automatically creates two methods associated with it: 1. Procedure set var name for assigning a value to var name 2. Function get var name for retrieving the value of var name 10 Alice Variables: User-defined Functions • Just like with methods, you can create custom-designed functions to generate values • They are created in the same way a user-defined procedures are, with the following differences: { Since a function returns a value, a function has an associated data type, called its return type { When creating a new function, a pop-up window similar to that for new variables { In addition, the body of the function requires a return statement ∗ When executed, a return statement halts the execution of the function, and specifies the value to be returned ∗ Return statements are added by dragging from the control statement list at the bottom of the edit window ∗ The value to be returned can be any acceptable expression, and the expression is created in the same way as for variables • Remember: a function call can appear anywhere a value is expected in a pro- gram 11 Alice Variables: Vehicles (Note: This topic has nothing to do with variables) • Every class has a vehicle property • Its default value is Scene • When a vehicle moves, every object with that vehicle property will move with the vehicle by the same amount • To change an object's vehicle, use the setVehicle() method (a procedure) • The vehicle property makes it easy to have multiple objects move in tandem { The alternative would be to program each of the objects to move by the same amount, using a doTogether() control statement { This requires a lot more code and effort 12.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    12 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us