460 likes | 853 Views
Variables, Constants, Methods, and Calculations. Objectives. Declare variables and named constants Assign data to an existing variable Convert data to the appropriate type using the TryParse method and the Convert class methods
E N D
Objectives • Declare variables and named constants • Assign data to an existing variable • Convert data to the appropriate type using the TryParse method and the Convert class methods • Understand the scope and lifetime of variables and named constants • Understand the purpose of the Option Explicit, Option Strict, and Imports statements • Send the focus to a control while the application is running • Explain the difference between syntax errors and logic errors • Format an application’s numeric output
Variables • Variables: computer memory locations used to store data while an application is running • Every variable has a: • Name • Data type • Scope • Lifetime
Selecting a Data Type for a Variable • Each variable must be assigned a data type • Data type: the type of data the variable can store • Each data type is a class • Unicode: • Universal coding scheme for characters • Assigns a unique numeric value to each character
Selecting a Name for a Variable • Identifier: descriptive name given to a variable • Use a meaningful name that reflects the purpose of the variable • Use camel casing for variable identifiers • Variable names must conform to naming rules
Declaring a Variable • Declaration statement: used to declare, or create, a variable • Declaration statement includes • Scope keyword: Dim or Private or Static • Name of the variable • Data type • Initial value (optional) • Syntax: • {Dim Privet | static} variablename as datatype =[initialvalue]
Assigning Data to an Existing Variable • Assignment statement: • Used to assign values to properties of controls • Used to assign values to variables • Assignment operator: (=) • Value on the right of the = operator is assigned to the variable on the left of the = operator • Synatax: • Variablename= value
Assigning Data to an Existing Variable (continued) • String: group of characters enclosed in quotation marks • 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 with a decimal place is treated as a Double type • Literal type character: forces a literal constant to assume a specific data type
Using the TryParse Method • Method: a specific portion of a class’s instructions that performs a task for the class • TryParse method: • Part of every numeric data type’s class • Used to convert a string to that numeric data type • TryParse method has 4 arguments • String: string value to be converted • Variable: location to store the result • IFormatProvider (optional): specifies formatting • NumberStyles (optional): allows formatting characters to be in the data to be converted
Using the TryParse Method (continued) • IFormatProvider argument formats numbers, dates, and times • NumberFormatInfo.CurrentInfo value: • Uses the formatting characters specified in the Windows Customize Regional Options dialog box
Using the TryParse Method (continued) • Assign the TryParse method’s return value to a Boolean variable • If True, the conversion was successful • If False, the value could not be converted • Line continuation character: the underscore (_) • Breaks up a long instruction into two or more lines • Must appear at end of line, preceded by a space • Must have an Imports statement in the General Declarations section of code to use NumberStyles and NumberformatInfo.CurrentInfo: • Imports System.Globalization
Using the Convert Class • Convert class: • Contains methods for converting numeric values to specific data types • Use the dot member access operator to separate the class name from the method name
Writing Arithmetic Expressions • 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
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 are usually declared in two places: • Within a procedure • In the form’s Declarations section • Procedure-level variable: declared within a procedure • Procedure scope: only the procedure can use the variable
The Scope and Lifetime of a Variable (continued) • 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
The Scope and Lifetime of a Variable (continued) • Module scope: variable can be used by all procedures in the form • Module-level variable: • Declared in the form’s Declarations section • Use Private keyword in declaration • Module-level variables retain their values until the application ends
The Scope and Lifetime of a Variable (continued) • Block scope: variable can be used within a specific block of code • Block-level variable: declared within a specific block of code
Static Variables • Static variable: • Procedure-level variable that retains its value even after the procedure ends • Retains its value until the application ends • Can be used instead of a module-level variable • A static variable has: • Same lifetime as a module-level variable • Narrower scope than a module-level variable • Declared using the Static keyword
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 • Syntax: • Const constantname [As datatype]= expression
Option Explicit and Option Strict • Option Explicit: • When on, all variables used must first be declared • Protects against misspelled variable names in code • Placed in the General Declarations section of code editor • Implicit type conversion: can occur if the value on the right side of an assignment statement is not the same data type as the variable on the left side
Option Explicit and Option Strict (continued) • Promoting: when a value is converted to another data type that stores larger numbers • Demoting: when a value is converted to another data type that stores only smaller numbers • Data loss can occur with demoting • Option Strict: • Can be used to enforce correct data typing • Placed in the General Declarations section of the code editor
Option Explicit and Option Strict (continued) • Option Strict On follows these conversion rules: • Strings are not implicitly converted to numbers or vice versa • Narrower data types are implicitly promoted to wider data types • Wider data types are not implicitly demoted to narrower data types
Using Pseudocode to Plan a Procedure • Pseudocode: short phrases to describe the steps a procedure needs to take to accomplish its goal
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
Clearing the Contents of a Control’s Text Property • Zero-length string (or empty string): • Removes the contents in the Text property of a control • Use empty set of quotation marks: “” • String.Empty: used to assign an empty string to a control’s Text property • For TextBox control, use the Clear method
Setting the Focus • Focus method: moves the focus to a specified control at runtime • Syntax: • Objextname.Focus()
Testing and Debugging the Application • Valid data: data that the application is expecting • Invalid data: data that is unexpected • Debugging: locating errors in a program • Syntax errors: usually caused by mistyping • Logic errors: occur when you enter an instruction that does not give the expected results • Test a program with both valid and invalid data
Formatting Numeric Output • Formatting: specifying the number of decimal places and any special characters to display • Format specifier: specifies the type of formatting to use • Precision specifier: controls the number of significant digits or zeros to the right of the decimal point
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, scope, and lifetime • Use Dim to declare a variable at block or procedure level • Use Private to declare a variable at module level
Summary (continued) • Assignment statement is used to assign values to an existing variable • Literals are constant items of data • Use the TryParse method to convert a string to a number • Use the Imports statement to import a namespace • The Convert class contains methods to convert values to a specified data type
Summary (continued) • A procedure-level variable is usable only by the procedure in which it is declared • A module-level variable is usable by all procedures in the form • A block-level variable is usable only within the block in which it is declared • A static variable is a procedure-level variable that retains its value when the procedure ends • Option Explicit On forces declaration of all variables before use
Summary (continued) • 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 • Use the Clear method or empty string to clear a textbox • The Focus method moves the focus to a control • Test a program with both valid and invalid data