Date post: | 12-Jan-2016 |
Category: |
Documents |
Upload: | loreen-booth |
View: | 231 times |
Download: | 7 times |
Chapter 3 Part 1 1
Variables, Constants, and Calculations
Chapter 3 Section 3.3Chapter 3 Section 3.4
Chapter 3 Part 1 2
Section 3.3
Variables Constants
Chapter 3 Part 1 3
So far…
Take user input, perform calculation, and display output.
Have not stored input or output for future processes within the application.
Chapter 3 Part 1 4
Variable
What is it? Storage location in memory (RAM)
What does it store? Data during execution of the program
What are the uses? Copy and store user input Manipulate user input Store intermediate calculation results to be
used later Store results to display for output
Chapter 3 Part 1 5
Why is it called a “variable”?
The data may change during execution of the program.
The data varies. Run the program several times to calculate
different employees’ gross pay.
Chapter 3 Part 1 6
Variable Declaration
Statement that sets aside memory; creates the variable location. Specify variable name and data type
Syntax:Dim typeVariableName As DataType
Examples:Dim intAge As IntegerDim strName As String
Declaration before usage of variable
Chapter 3 Part 1 7
Variable Name Rules (Required)
1st character must be a letter or underscore (not a numeric value)
Other characters may be letters, numeric digits, and underscores
No spaces allowed No use of keywords as variable names
Dim Integer Private
Chapter 3 Part 1 8
Variable Names (Conventions)
Descriptive (not vague) names Camel Casing (Uppercase first letter each
word chained) dblSalesTax strFirstName intMaximumCapacity
Three-letter prefix abbreviation of data type Casing different to distinguish constant &
variables.
Chapter 3 Part 1 9
Variable Name Exercise
Name Valid? Conventional?
Quantity
strCompany
decpayrate
Sub
Minimum Amt
Chapter 3 Part 1 10
Data Type
Indicates the type of data that the variable can store.
Important: Specifies amount of memory used Dictates how the variable formats and stores
data in memory
Chapter 3 Part 1 11
Data Types
Numeric Data Only numbers Available to use in mathematical calculations e.g., 34.56 amount of money e.g., 231 number of available hotel rooms
String Data Any symbol Not available for calculations e.g., ISYS 1200 (course number)
Chapter 3 Part 1 12
“Numeric” Data
9.35 Weight in tons of crate
125000 Population of City
109.95 Dollar Amount
84097 Zip Code
629111111 Social Security Number
8018638843 Phone Number
If data will NEVER used in calculations (e.g., Phone Number), make it a string.
Chapter 3 Part 1 13
Zip/Postal Code
84097 84097-0555 K1Z 8R7 (Ottawa, Ontario, Canada)
Chapter 3 Part 1 14
Visual Basic .NET Data Types (p. 118)
Integer Decimal Double String Boolean
Chapter 3 Part 1 15
Mini Quiz: Which data type…
Stores only whole numbers? Decimal, Double, or Long
Stores larger numbers? Decimal or Double
More appropriate for U.S. Zip Codes? Short, Long, String
Provides greater precision? Decimal or Double
Chapter 3 Part 1 16
Default Values
Default value created when you declare a variable
Numeric (integer, decimal, double, etc.) Assign 0 as default value
String Special value known as Nothing
Boolean False
Chapter 3 Part 1 17
Variable Initialization
Process of specifying an initial value upon declaration
Syntax:Dim variableName As DataType = initialValue
ExampleDim intUnitsSold As Integer = 12
Using a string variable without initialization halts the execution.Dim strName As String = “”
Chapter 3 Part 1 18
Variable Assignment
Specifies contents for a variable name. Syntax:variablename = expression
Examples:decSalary = val(txtSalary.Text)decSalary = decSalary + decRAISE
Chapter 3 Part 1 19
Constant or Variable
Permanent number or string throughout application that does not change or
Able to take on different numbers or strings during run time?
Chapter 3 Part 1 20
Constants
Read-only data items whose values do not change while the program is running.
Declared & set at the beginning of application and maintain their values.
Examples: UVSC string literal constant 0.0625 numeric literal constant decSALESTAX symbolic constant
Chapter 3 Part 1 21
String Literal Constants
Begins and ends with quotation marks. Occurs in pairs. Examples:
“314 North State” “Visual Basic” “Utah Valley State College”
lblData.Text = "ISYS 1200 class rocks!"
Chapter 3 Part 1 22
Numeric Literal Constants
Numeric value that does not change during the operation of the program.
Example:lblResult.Text = Val(txtSubtotal.Text) *
0.0625
But…the above statement uses a magic number to display the constant 0.0625.
Chapter 3 Part 1 23
Magic Numbers
When a literal constant number is used in an expression. (e.g., 0.0625 in previous slide)
Problems: Not immediately apparent to anyone but
original programmer what 0.0625 is Maintenance nightmare if use the magic
number throughout a complex program and the value changes
Sales tax rate changes from 6.25% to 6.6% Nightmare to ensure that you made all changes
Chapter 3 Part 1 24
Magic Numbers, Continued
Solution: Create a named constant (a descriptive name) for
the literal numeric constant value Use the named constant in expressions
Example:Const decRAISE As Decimal = 1000decSalary = decSalary + decRAISE
Declaration: Set up memory and specify its permanent value Must initialize upon declaration (not optional)
Chapter 3 Part 1 25
Magic Numbers, Continued
Exceptions:-1, 0, 1 when used as counters (such as in
loops)
Chapter 3 Part 1 26
Constant Name Rules
Letters and digits First character must be letter No spaces or punctuation marks No reserved (keywords) used
Sub If End
Chapter 3 Part 1 27
Constant Name Conventions
Use meaningful, descriptive names. Use all CAPITAL letters for symbolic constant
names. Include underscore between words. Include three-letter lowercase prefix for data
type identification. Examples:
strCOLLEGE_NAME decSALES_TAX_RATE
Chapter 3 Part 1 28
Run Time
1) Creates empty table of symbolic constants.
2) Adds row to the table showing the name and value of new constants.
3) Goes to table to look up value corresponding with symbolic name.
4) Substitutes literal value for the name.
5) Executes statement using literal value.
Chapter 3 Part 1 29
Errors Will Result If:
You do not assign a value to a symbolic constant declaration.
The program contains event procedures that attempt to change a constant’s contents.
Chapter 3 Part 1 30
Intrinsic Constants
System-defined constants Typically declared in system class libraries
and are available for use in VB programs Examples:
MessageBoxIcon.Question ContentAlignment.Left
Chapter 3 Part 1 31
Scope & Lifetime
Scope Area of program (such as an event procedure)
where the variable is visible and may be accessed by programming statements.
Lifetime Time during which the variable exists in
memory.
Chapter 3 Part 1 32
Scope Issues
Variables can not be used before being declared. See problem example on p. 121
Variables declared inside a procedure are visible only within that procedure. No other procedure can access that variable. See problem example on pp. 121-122
You cannot have multiple variables of the same name in the same procedure.
Chapter 3 Part 1 33
Local and Module Declarations
Local Specific (event) procedure only No other procedure can access variables in
another procedure* Module (or Class-Level)
Available for any procedure on the form Declaration area at top of code window (below
programmer ID info); not Form Load though
*Can be passed through procedure calls and function calls. See Chapter 6.
Chapter 3 Part 1 34
Lifetime
Variable set up and memory reserved upon declaration.
Variable exists in memory. Variable destroyed; ends it lifetime.
Local variables lifetime expires at the end of the event procedure.
Class-level variables lifetime expires when the form is removed from memory.
Chapter 3 Part 1 35
Date Data Types
Read pp. 122-123 on your own.
Chapter 3 Part 1 36
Implicit Type Conversion
VB attempts to convert data type into data type for specific variable
Example: Dim intCount As Integer intCount = txtData.Text ‘user enters 12.2 VB converts 12.2 to 12 Rounds to nearest whole number
Chapter 3 Part 1 37
Conversion Concerns
Data entered in text boxes is really a string, but VB tries to convert to numeric data for numeric data types.
Type Mismatch or Type Conversion Error intCount = txtData.Text ‘type abc123 Run-time error because VB can’t convert “abc”
to integer value.
Chapter 3 Part 1 38
Val Function
Converts strings to numeric values. Prevents Type Mismatch and
Type Conversion errors. Intrinsic function that carries out specialized
operation and returns a value to the program. Syntax
Val(argument)
Chapter 3 Part 1 39
Val Function
intCount = Val(txtData.Text) Val function
receives data from text property of the txtData text box control.
converts argument from a string to a numeric value.
returns the numeric value to the statement that called the function
Chapter 3 Part 1 40
Val Function
intCount = Val(txtData.Text)
Returns number 45 from the string 45
String “45”
Chapter 3 Part 1 41
Val Function Examples (p. 126)
String Conversion
“34.90” 34.9
“86abc” 86
“$24.95” 0
“3,789” 3
“x29” 0
Chapter 3 Part 1 42
ToString (p. 126)
Returns a string equivalent of data stored in a variable (sometimes used for output)
Dim intNumber As Integer = 123 lblNumber.Text = intNumber.ToString
Chapter 3 Part 1 43
Option Strict On (pp. 126-127)
Prevents VB from performing most implicit type conversions.
Reduces errors that might result from implicit data type conversions.
Must appear at the top of the code window before any other statements (after programmer ID remarks)
Chapter 3 Part 1 44
Section 3.4
Arithmetic Operators Calculations
Chapter 3 Part 1 45
Arithmetic Operators
+ Addition
- Subtraction
* Multiplication
/ Division
^ Exponentiation
Chapter 3 Part 1 46
Arithmetic Examples
decAmount = 4 + 8 (but has magic #s) dblTotal = dblPrice + dblTax decArea = decLength * decWidth dblAverage = dblTotal / intNumber dblResult = Val(txtInput.Text) * _
dblUNIT_PRICE
Chapter 3 Part 1 47
Warning
When performing division, be sure that the operand to the right of the / operator is NOT zero.
An error results if you divide by zero.
Chapter 3 Part 1 48
Special Division (p. 129)
Integer Division \ Result is always an integer intParts = 17 \ 3 intParts contains value 5
MOD Operator Modulus operator returns remainder of division intLeftOver = 17 MOD 3 intLeftOver contains 2
Chapter 3 Part 1 49
Order of Precedence
1. Exponentiation 1st
2. Multiplication and Division
3. Integer Division
4. Modulus
5. Addition and Subtraction
Chapter 3 Part 1 50
Examples
Outcome = 12 + 6 / 3 Outcome = 12 + 2 Outcome = 14
Outcome = (12 + 6) / 3 Outcome = 18 / 3 Outcome = 6
Chapter 3 Part 1 51
More on Calculations
Algebra Class 6y means multiply 6 by y
Programming Class 6 * y is required Must use operator
Chapter 3 Part 1 52
Combined Assignment Operators
Add current variable contents to 5 and save back to same variable intNumber = intNumber + 5 intNumber += 5
Multiply current variable contents by 10 and save back to same variable intOutcome = intOutcome * 10 intOutcome *= 10
Chapter 3 Part 1 53
Type Conversion Functions
Read pp. 135-136 on your own.
Chapter 3 Part 1 54
Checkpoints for Individual Review
page 127 page 137