Microsoft Visual Basic 2010 Reloaded Fourth Edition Chapter
Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Three Memory Locations and Calculations
Objectives After studying this chapter, you should be able to: • Declare variables and named constants • Assign data to an existing variable • Convert data to the appropriate type using the Try. Parse method and the Convert class methods • Write arithmetic expressions • Understand the scope and lifetime of variables and named constants Microsoft Visual Basic 2010: Reloaded, Fourth Edition 2
Objectives (cont'd. ) • Understand the purpose of the Option statements • Use a TOE chart, pseudocode, and a flowchart to code an application • Clear the contents of a control’s Text property during run time • Send the focus to a control during run time • Explain the difference between syntax errors and logic errors • Format an application’s numeric output Microsoft Visual Basic 2010: Reloaded, Fourth Edition 3
Internal Memory • Internal memory: a component inside a computer comprised of memory locations • Each memory location has a unique numeric address and can hold only one item at a time • A programmer can reserve memory locations for a program by assigning each location a name, a data type, and an initial value • Data type: indicates the type of data the memory location will store • Two types of memory locations that a programmer can declare: variables and constants Microsoft Visual Basic 2010: Reloaded, Fourth Edition 4
Internal Memory (cont'd. ) Figure 3 -1: Illustration of storage bins Microsoft Visual Basic 2010: Reloaded, Fourth Edition 5
Variables • Variables: computer memory locations used to temporarily store data while an application is running – Contents can change during run time • Use a meaningful variable name that reflects the purpose of the variable • Use camel casing for variable identifiers • Variable names should conform to naming rules Microsoft Visual Basic 2010: Reloaded, Fourth Edition 6
Figure 3 -2: How to name a variable Microsoft Visual Basic 2010: Reloaded, Fourth Edition 7
Variables (cont'd. ) • Each variable must be assigned a data type, which determines the memory location’s data type • Each data type is a class – Integer, Long, or Short data types can store integers (whole numbers) – Decimal, Double, and Single data types: store real numbers (numbers with a decimal place) – Char data type: stores one Unicode character – String data type: stores multiple Unicode characters Microsoft Visual Basic 2010: Reloaded, Fourth Edition 8
Variables (cont'd. ) • Unicode: – Universal coding scheme for characters that assigns a unique numeric value to each character • Other data types – Boolean data type: stores a value of True or False – Date data type: stores date and time information – Object data type: stores any type of data • Computer must determine the data type at run time, making it more inefficient Microsoft Visual Basic 2010: Reloaded, Fourth Edition 9
Figure 3 -3: Basic data types in Visual Basic Microsoft Visual Basic 2010: Reloaded, Fourth Edition 10
Declaring a Variable in Code • Declaration statement: used to declare, or create, a variable – Declaration statement includes: • Scope keyword: Dim, Private, or Static • Name of the variable and data type • Initial value (optional) • Initialization – Numeric data types: automatically initialized to 0 – String data type: automatically initialized to Nothing – Boolean data type: initialized to False Microsoft Visual Basic 2010: Reloaded, Fourth Edition 11
Declaring a Variable in Code (cont’d. ) Figure 3 -4: How to declare a variable Microsoft Visual Basic 2010: Reloaded, Fourth Edition 12
Declaring a Variable in Code (cont’d. ) Figure 3 -4: How to declare a variable (cont’d. ) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 13
Assigning Data to an Existing Variable • Assignment statement: – Used to assign values to properties of controls – Used to assign values to variables • Assignment operator (=): – Expression on the right of the = operator is assigned to the variable on the left of the = operator • Expression: can contain literal constants, object properties, variables, keywords, or arithmetic operators Microsoft Visual Basic 2010: Reloaded, Fourth Edition 14
Assigning Data to an Existing Variable (cont'd. ) • Literal constant: – An item of data whose value does not change while the application is running – Can be a numeric or a string literal constant • A numeric literal without a decimal place is treated as an integer • A numeric literal with a decimal place is treated as a Double type • String literals are enclosed in quotation marks Microsoft Visual Basic 2010: Reloaded, Fourth Edition 15
Assigning Data to an Existing Variable (cont'd. ) Figure 3 -5: How to assign a value to a variable Microsoft Visual Basic 2010: Reloaded, Fourth Edition 16
Assigning Data to an Existing Variable (cont'd. ) Figure 3 -5: How to assign a value to a variable (cont’d. ) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 17
Using the Try. Parse Method • Method: a specific portion of a class’s instructions that performs a task for the class • Try. Parse method: – Part of every numeric data type’s class – Used to convert a string to that numeric data type • Argument: a value that is provided to a method • Basic syntax of Try. Parse method has two arguments: – String: string value to be converted – Variable: location to store the result Microsoft Visual Basic 2010: Reloaded, Fourth Edition 18
Using the Try. Parse Method (cont'd. ) • If Try. Parse conversion is successful, the method stores the value in the variable • If unsuccessful, a 0 is stored in the numeric variable Microsoft Visual Basic 2010: Reloaded, Fourth Edition 19
Figure 3 -6: How to use the basic syntax of the Try. Parse method Microsoft Visual Basic 2010: Reloaded, Fourth Edition 20
Using the Try. Parse Method (cont'd. ) Figure 3 -7: Result of the Try. Parse method for the Double, Decimal, and Integer data types Microsoft Visual Basic 2010: Reloaded, Fourth Edition 21
Using the Convert Class Methods • Convert class: – Contains methods for converting numeric values to specific data types • Commonly used methods of the Convert class include: – – To. Double To. Decimal To. Int 32 To. String Microsoft Visual Basic 2010: Reloaded, Fourth Edition 22
Using the Convert Class Methods (cont’d. ) Figure 3 -8: How to use the Convert class methods Microsoft Visual Basic 2010: Reloaded, Fourth Edition 23
Including Variables in Arithmetic Expressions • Arithmetic operators: used to perform calculations • Precedence number: indicates the order in which an operation in an expression is performed • If an expression has two operators with the same precedence, they are evaluated from left to right • Use parentheses to change the order of evaluation • Integer division operator (): divides two integers and returns an integer value • Modulus arithmetic operator (Mod): divides two numbers and returns the remainder Microsoft Visual Basic 2010: Reloaded, Fourth Edition 24
Including Variables in Arithmetic Expressions (cont'd. ) Figure 3 -9: Most commonly used arithmetic operators Microsoft Visual Basic 2010: Reloaded, Fourth Edition 25
Including Variables in Arithmetic Expressions (cont'd. ) Figure 3 -10: How to use the integer division and Mod operators Microsoft Visual Basic 2010: Reloaded, Fourth Edition 26
Including Variables in Arithmetic Expressions (cont'd. ) Figure 3 -11: Expressions containing more than one operator having the same precedence Microsoft Visual Basic 2010: Reloaded, Fourth Edition 27
Figure 3 -12: How to use variables and arithmetic operators Microsoft Visual Basic 2010: Reloaded, Fourth Edition 28
Including Variables in Arithmetic Expressions (cont'd. ) Figure 3 -12: How to use variables and arithmetic operators (cont’d. ) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 29
Arithmetic Assignment Operators • Arithmetic assignment operators: abbreviate an assignment statement that contains an arithmetic operator for specific cases • Statement must be of the form: variable. Name = variable. Name arithmetic. Operator value Microsoft Visual Basic 2010: Reloaded, Fourth Edition 30
Arithmetic Assignment Operators (cont’d. ) Figure 3 -13: How to use the arithmetic assignment operators Microsoft Visual Basic 2010: Reloaded, Fourth Edition 31
Figure 3 -13: How to use the arithmetic assignment operators (cont’d. ) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 32
The Scope and Lifetime of a Variable • Scope: indicates where the variable can be used • Lifetime: indicates how long the variable remains in memory • Variables can have module scope, procedure scope, or block scope • A variable’s scope and lifetime are determined by where you declare the variable – Variables declared in the form’s Declarations section have class scope – Variables declared within a procedure have either procedure scope or block scope Microsoft Visual Basic 2010: Reloaded, Fourth Edition 33
Variables with Procedure Scope • Procedure-level variable: declared within a procedure – Use the Dim keyword in the declaration • Procedure scope: only the procedure can use the variable – With procedure-level scope, two procedures can each use the same variable names • Comments: – Used to internally document the procedure – Are ignored by the compiler – Appear in green in the Code Editor Microsoft Visual Basic 2010: Reloaded, Fourth Edition 34
Figure 3 -14: The Main. Form in the Sales Tax application Figure 3 -15: Examples of using procedure-level variables Microsoft Visual Basic 2010: Reloaded, Fourth Edition 35
Variables with Procedure Scope (cont’d. ) Figure 3 -15: Examples of using procedure-level variables (cont’d. ) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 36
Variables with Class Scope • Class scope: variable can be used by all procedures in the form • Class-level variable: – Declared in the form’s Declarations section – Use Private keyword in declaration • Class-level variables retain their values until the application ends Microsoft Visual Basic 2010: Reloaded, Fourth Edition 37
Figure 3 -17: Example of using a class-level variable Microsoft Visual Basic 2010: Reloaded, Fourth Edition 38
Static Variables • Static variable: – Procedure-level variable that remains in memory and retains its value even after the procedure ends – Retains its value until the application ends (like a class-level variable), but can only be used by the procedure in which it is declared • A static variable has: – Same lifetime as a class-level variable – Narrower scope than a class-level variable • Declared using the Static keyword Microsoft Visual Basic 2010: Reloaded, Fourth Edition 39
Static Variables (cont’d. ) Figure 3 -18: Example of using a static variable Microsoft Visual Basic 2010: Reloaded, Fourth Edition 40
Named Constants • Named constant: memory location whose value cannot be changed while the application is running – Declared using the Const keyword – Good programming practice to specify the data type as well – Many programmers use Pascal case for named constants • Literal type character: forces a literal constant to assume a specific data type • Named constants help to document the program code Microsoft Visual Basic 2010: Reloaded, Fourth Edition 41
Figure 3 -19: How to declare a named constant Microsoft Visual Basic 2010: Reloaded, Fourth Edition 42
Figure 3 -20: Area Calculator application’s interface Figure 3 -21: Example of using a named constant Microsoft Visual Basic 2010: Reloaded, Fourth Edition 43
Option Explicit, Option Infer, and Option Strict • Undeclared variable: a variable that does not appear in a declaration statement (such as Dim) – Is assigned a data type of Object • Misspelling a variable name can result in an undeclared variable unless Option Explicit is on • Option Explicit On statement – Appears in the General Declarations section of the Code Editor window (above Public Class statement) – Enforces that all variables must be declared before being used Microsoft Visual Basic 2010: Reloaded, Fourth Edition 44
Option Explicit, Option Infer, and Option Strict (cont'd. ) • Option Infer Off statement: ensures that every variable is declared with a data type • Implicit type conversion: occurs when you attempt to assign data of one type to a variable of another type without explicitly attempting to convert it – If converted to a data type that can store larger numbers, the value is said to be promoted – If converted to a data type that can store only smaller numbers, the value is said to be demoted • Can cause truncation and loss of precision Microsoft Visual Basic 2010: Reloaded, Fourth Edition 45
Figure 3 -22: Rules and examples of type conversions Microsoft Visual Basic 2010: Reloaded, Fourth Edition 46
Option Explicit, Option Infer, and Option Strict (cont'd. ) • Option Strict On statement: ensures that values cannot be converted from one data type to a narrower data type, resulting in lost precision Microsoft Visual Basic 2010: Reloaded, Fourth Edition 47
Option Explicit, Option Infer, and Option Strict (cont'd. ) Figure 3 -23: Option statements entered in the General Declarations section Microsoft Visual Basic 2010: Reloaded, Fourth Edition 48
Coding the Sunshine Cellular Application Figure 3 -24: Sunshine Cellular interface from Chapter 2 Microsoft Visual Basic 2010: Reloaded, Fourth Edition 49
Coding the Sunshine Cellular Application (cont'd. ) Figure 3 -25: Sunshine Cellular TOE chart from Chapter 2 Microsoft Visual Basic 2010: Reloaded, Fourth Edition 50
Using Pseudocode to Plan a Procedure • Pseudocode: short phrases that describe the steps a procedure needs to take to accomplish its goal Microsoft Visual Basic 2010: Reloaded, Fourth Edition 51
Using Pseudocode to Plan a Procedure (cont’d. ) Figure 3 -26: Pseudocode for the Sunshine Cellular application Microsoft Visual Basic 2010: Reloaded, Fourth Edition 52
Using a Flowchart to Plan a Procedure • Flowchart: uses standardized symbols to show the steps a procedure must take to accomplish its goal • Can be used in place of pseudocode for planning • Three symbols: – Start/stop symbol (oval): indicates start and stop points – Process symbol (rectangle): represents tasks – Input/output symbol (parallelogram): represents input or output tasks • Flowlines: connect the symbols to show the direction Microsoft Visual Basic 2010: Reloaded, Fourth Edition 53
Figure 3 -27: Flowcharts for the Sunshine Cellular application Microsoft Visual Basic 2010: Reloaded, Fourth Edition 54
Coding the Calculate Order Button’s Click Event Procedure Figure 3 -28: Pseudocode for the calc. Button’s Click event procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 55
Coding the Calculate Order Button’s Click Event Procedure (cont'd. ) Figure 3 -29: Named constants and variables for the calc. Button’s Click event procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 56
Coding the Calculate Order Button’s Click Event Procedure (cont'd. ) Figure 3 -25: Declaration statements entered in the procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 57
Coding the Calculate Order Button’s Click Event Procedure (cont'd. ) Figure 3 -31: User input stored in variables Microsoft Visual Basic 2010: Reloaded, Fourth Edition 58
Figure 3 -32: Completed calc. Button’s Click event procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 59
Completing the Sunshine Cellular Application • Empty string: set of quotation marks with nothing between them; also called zero-length string • String. Empty: a value used to clear an object’s Text property • Focus method: moves the focus to a specified control when the application is running Figure 3 -28: Pseudocode for the clear. Button’s Click event procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 60
Figure 3 -34: Sunshine Cellular application’s code Microsoft Visual Basic 2010: Reloaded, Fourth Edition 61
Figure 3 -34: Sunshine Cellular application’s code (cont'd. ) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 62
Testing and Debugging the Application • To test an application: – Select a set of sample data – Manually compute the expected output – Run the application and compare its output with the expected output • Bug: an error in the program code • Syntax error: an error that violates the programming language’s syntax – Usually caused by mistyping Microsoft Visual Basic 2010: Reloaded, Fourth Edition 63
Testing and Debugging the Application (cont'd. ) • Logic error: when the application does not perform as expected • Valid data: data that the application is expecting • Invalid data: data that is unexpected • Test a program with both valid and invalid data Microsoft Visual Basic 2010: Reloaded, Fourth Edition 64
Testing and Debugging the Application (cont'd. ) Figure 3 -35: Sample test data for the Sunshine cellular application Microsoft Visual Basic 2010: Reloaded, Fourth Edition 65
Testing and Debugging the Application (cont'd. ) Figure 3 -36: Result of using the data from Set 1 in Figure 35 Microsoft Visual Basic 2010: Reloaded, Fourth Edition 66
Testing and Debugging the Application (cont'd. ) Figure 3 -37: Result of using the data from Set 2 in Figure 3 -35 Microsoft Visual Basic 2010: Reloaded, Fourth Edition 67
Formatting Numeric Output • Formatting: specifying the number of decimal places and any special characters to display • To. String method of a variable can be used to format a number • Format. String argument: specifies the type of formatting to use • Precision specifier: controls the number of significant digits or zeros to the right of the decimal point Microsoft Visual Basic 2010: Reloaded, Fourth Edition 68
Figure 3 -38: How to format a number Microsoft Visual Basic 2010: Reloaded, Fourth Edition 69
Figure 3 -39: The calc. Button’s modified Click event procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 70
Formatting Numeric Output (cont'd. ) Figure 3 -40: Formatted output shown in the interface Microsoft Visual Basic 2010: Reloaded, Fourth Edition 71
Programming Tutorial 1 Figure 3 -51: Result of entering 255, and 0 as the RGB values Microsoft Visual Basic 2010: Reloaded, Fourth Edition 72
Programming Tutorial 2 Figure 3 -55: Main. Form for the Vans & More Depot application Microsoft Visual Basic 2010: Reloaded, Fourth Edition 73
Programming Example Figure 3 -63: Pseudocode Microsoft Visual Basic 2010: Reloaded, Fourth Edition 74
Summary • Variables and named constants are memory locations that store data • Variables can change value, but constants cannot • Variables and constants have a name, data type, initial value, scope, and lifetime • Use Dim or Static to declare a variable at block or procedure level • Use Private to declare a variable at class level Microsoft Visual Basic 2010: Reloaded, Fourth Edition 75
Summary (cont'd. ) • Assignment statement is used to assign values to an existing variable during run time • Literals are constant items of data that do not change during run time • String literal constants are enclosed in quotation marks • Use the Try. Parse method to convert a string to a number • The Convert class contains methods to convert values to a specified data type Microsoft Visual Basic 2010: Reloaded, Fourth Edition 76
Summary (cont'd. ) • A procedure-level variable is usable only by the procedure in which it is declared • A class-level variable is usable by all procedures in the form • A static variable is a procedure-level variable that retains its value even when the procedure ends • Use comments to document your code • Use Const to declare a named constant • Option Explicit On forces declaration of all variables before use Microsoft Visual Basic 2010: Reloaded, Fourth Edition 77
Summary (cont'd. ) • Option Infer Off warns if a variable declaration does not include a data type • Option Strict On disallows any implicit type conversions that may cause a loss of data • Pseudocode or a flowchart is used to plan a procedure’s code • You can clear the contents of a text box or label control by assigning an empty string or String. Empty value • The Focus method moves the focus to a control Microsoft Visual Basic 2010: Reloaded, Fourth Edition 78
Summary (cont'd. ) • Test a program with both valid and invalid data • Use the To. String method to format a program’s numeric output with special characters, such as for currency, percentages, and number of decimal places Microsoft Visual Basic 2010: Reloaded, Fourth Edition 79
- Slides: 79