Week 15 May 10 Review R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento.

Download Report

Transcript Week 15 May 10 Review R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento.

1
Week 15
May 10
Review
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
Final Exam
• Tuesday, May 17
• 12:45 – 2:45
• BRH-104
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
2
Data - Variables and Constants
• Variable
– Memory locations that hold data that can be changed
during project execution
– Dim customerName as String
Declaration
Variable name
Data type
• Named Constant
– Memory locations that hold data that cannot be changed
during project execution
– Const salesTaxRate as Decimal = .0775
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
3
Data Types (p 87 Table 3.1)
•
•
•
•
•
•
•
Boolean
Byte (0 to 255)
Char
Date
String
Decimal
Object
• Short (-32,768 to 32,767)
• Integer (-2,147,483,648 to
2,147,483,647)
• Long (larger whole numbers)
• Single (floating point accuracy to 6
digits)
• Double (floating point accuracy to 14
digits)
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
4
Declaring Variables
• Declared inside a procedure using a Dim statement
• Declared outside a procedure using Public, Private or Dim
statements
• Always declare the variable’s data type
• May declare several variables with one statement
• Use IntelliSense to assist in writing statements
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
5
Arithmetic Operations
Operator
+
–
*
/
\
Mod
^
Operation
Addition
Subtraction
Multiplication
Division
Integer Division
Modulus – Remainder of division
Exponentiation
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
6
Order of Operations
• Order of precedence in arithmetic expressions from highest to
lowest
1. Any operation inside parentheses
2. Exponentiation
3. Multiplication and division
4. Integer division
5. Modulus
6. Addition and subtraction
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
7
Mathematical Examples
• Note the use of parentheses to control order of precedence
3+4*2 = 11 Multiply then add
(3+4)*2 = 14 Parentheses control: add then multiply
8/4*2 = 4
Same level, left to right: divide then multiply
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
8
Using Calculations in Code
• Perform calculations in assignment statements
• What appears on right side of assignment operator is
assigned to item on left side
• Assignment operators
=, +=, -=, *=, /=, \=, &=
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
9
Writing General Procedures
• A general procedure is reusable code which can be called
from multiple procedures
• Useful for breaking down large sections of code into
smaller units
• Two types
– Sub Procedure performs actions
– Function performs actions AND returns a value (the
return value)
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
10
Creating a New Sub Procedure
11
• In the Editor window enclose the lines of code with a set of
Private Sub and End Sub statements
• To use the Sub Procedure, call it from another procedure
• Code in a Sub Procedure cannot be executed unless called
from another procedure
Private Sub ProcedureName( )
' Statements in the procedure.
End Sub
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
Passing Arguments to Procedures (page
205)
• Declare variable as local and pass to any called procedures
• If a sub procedure names an argument, any call to the procedure
must supply the argument
• Name of local variable does not need to match name in sub
procedure argument list
• Number of arguments, sequence and data type must match
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
12
Passing Arguments ByVal or ByRef
• ByVal (default)
– Sends a copy, original cannot be altered
• ByRef
– Sends a reference to the memory location where the
original is stored and therefore the original can be
altered
• Examples page 206
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
13
Sub Procedure Example
14
Private Sub changeTitleButtonColor_Click( )
Dim originalColor As Color
originalColor = titleLabel.ForeColor
SelectColor(originalColor)
titleLabel.ForeColor = ColorDialog1.Color
End Sub
Calling
Procedure
Private Sub SelectColor(incomingColor As Color)
With ColorDialog1
.Color = incomingColor
Sub Procedure
.ShowDialog( )
End With
End Sub
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
Writing Function Procedures
• In the Editor window enclose the lines
of code with Private Function( ) and End Function
statements
• To use the Function, Call it by using it in an expression
• Pass arguments ByVal or ByRef
Private Function FunctionName( ) As Datatype
' Statements to execute.
End Function
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
15
Returning the Result of a Function
• To return a value to the calling procedure set up a return
value
• The return value will be placed by VB in a variable with
the SAME name as the Function's name
OR
• Use the Return statement to return the value
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
16
Function Example
17
Private Sub calculateButton_Click( )
Calling
Dim salesDecimal As Decimal
Procedure
salesDecimal = Decimal.Parse(salesTextBox.Text)
commissionLabel.Text = Commission(salesDecimal.ToString("C"))
End Sub
Private Function Commission(ByVal salesAmountDecimal As Decimal) _
As Decimal
If salesAmountDecimal < 100D Then
Commission = 0D
Else
Function
Commission = 0.15 * salesAmountDecimal
End If
End Function
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
Functions with Multiple Arguments
18
• Functions can receive one or more arguments (values)
• Sequence and data type of arguments in Call must exactly
match arguments in function header
Private Function Payment(ByVal rateDecimal As Decimal, _
ByVal timeDecimal As Decimal, ByVal amountDecimal _
As Decimal) As Decimal
paymentLabel.Text = Payment(Decimal.Parse(rateTextBox.Text), _
Decimal.Parse(yearsTextBox.Text), _
Decimal.Parse(principalTextBox.Text)).ToString( )
End Function
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
Object-Oriented (OO) Program
• Objects
Class
– Consist of one
or more data
values which
Data
define the state Message
or properties
of the object
– Encapsulated by
a set of functions (methods) that can be applied to that
object
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
19
Object-Oriented (OO) Program
20
• Class
– Defines:
• Characteristics of the data contained by objects of
the class
• Functions that can be applied to the objects of the
class
Class
Data
Data
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
Data
In VB.net
•
•
•
•
Create a class
Define the properties of the class (data)
Build the accessor methods
Encapsulate the data
Build the constructors
with methods
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
21
Object-Oriented Terminology
•
•
•
•
•
Encapsulation
Inheritance
Polymorphism
Reusable Classes
Multitier Applications
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
22
Encapsulation
• Combination of characteristics of an object along with its
behavior in "one package"
• Cannot make object do anything it does not already
"know" how to do
• Cannot make up new properties, methods, or events
• Sometimes referred to as data hiding; an object can expose
only those data elements and procedures that it wishes
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
23
Encapsulation
24
Class
Message
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
Data
Inheritance
• Ability to create a new class from an existing class
– Original class is called Base Class, Superclass, or
Parent Class
– Inherited class is called Subclass, Derived Class, or
Child Class
• For example, each form created is inherited from the
existing Form class
• Purpose of inheritance is reusability
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
25
Inheritance (continued)
• Examine first line of code for a form in the Editor
Inherited Class: Subclass, Derived Class, Child Class
Public Class Form1
Inherits System.Windows.Forms.Form
Original Class: Base Class, Superclass, Parent Class
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
26
Inheritance Example
• Base Class
– Person
• Subclasses
– Employee
– Customer
– Student
27
Person
-Name
-Address
-Phone
Properties
Employee
Subclass
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
Customer
Student
Polymorphism
• Methods having identical names but different
implementations
• Overloading
– Several argument lists for calling the method
– Example: MessageBox.Show method
• Overriding
– Refers to a class that has the same method name as its
base class
– Method in subclass takes precedence
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
28
Reusability
• Big advantage of OOP over traditional programming
• New classes created can be used in multiple projects
• Each object created from the class can have its own
properties
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
29
Decision: If Statements
• Used to make decisions
• If true, only the Then clause is executed, if false, only Else
clause, if present, is executed
• Block If…Then…Else must always conclude with End If
• Then must be on same line as If or ElseIf
• End If and Else must appear alone on a line
• Note: ElseIf is 1 word, End If is 2 words
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
30
Decision: If…Then…Else – General Form
If (condition) Then
statement(s)
[ElseIf (condition) Then
statement(s)]
[Else
statement(s)]
End If
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
Condition True
False
Statement
Statement
31
Decision: If…Then…Else - Example
unitsDecimal = Decimal.Parse(unitsTextBox.Text)
If unitsDecimal < 32D Then
freshmanRadioButton.Checked = True
Else
freshmanRadioButton.Checked = False
End If
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
32
Decision: Conditions
•
•
•
•
•
Test in an If statement is based on a condition
Six relational operators are used for comparison
Negative numbers are less than positive numbers
An equal sign is used to test for equality
Strings can be compared, enclose strings in quotes (see
Page 142 for ANSI Chart, case matters)
– JOAN is less than JOHN
– HOPE is less than HOPELESS
• Numbers are always less than letters
– 300ZX is less than Porsche
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
33
Decision: The Six Relational Operators
•
•
•
•
•
•
Greater Than
Less Than
Equal To
Not Equal To
Greater Than or Equal To
Less Than or Equal to
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
>
<
=
<>
>=
<=
34
Decision: Compound Conditions
35
Condition 2
Condition 2
Condition 1
• Join conditions using logical operators
OR T
F
– Or
If one or both conditions True,
entire condition is True
T
T
T
– And Both conditions must be True
for entire condition to be True
F
T
F
– Not
Reverses the condition, a
Condition 1
True condition will evaluate False
and vice versa
AND T
F
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
T
T
F
F
F
F
Decision: Compound Condition Examples
36
If maleRadioButton.Checked And _
Integer.Parse(ageTextBox.Text) < 21 Then
minorMaleCountInteger += 1
End If
If juniorRadioButton.Checked Or seniorRadioButton.Checked Then
upperClassmanInteger += 1
End If
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
Decision: Combining And and Or Example
If saleDecimal > 1000.0 Or discountRadioButton.Checked _
And stateTextBox.Text.ToUpper( ) <> "CA" Then
' Code here to calculate the discount.
End If
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
37
Decision: Nested If Statements
If tempInteger > 32 Then
If tempInteger > 80 Then
commentLabel.Text = "Hot"
Else
commentLabel.Text = "Moderate"
End If
Else
commentLabel.Text = "Freezing"
End If
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
38
Iteration: Do/Loops
• Repeating a series of instructions
• An iteration is a single execution of the statement(s) in the
loop
• Used when the exact number of iterations is unknown
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
39
Iteration: Do/Loops (continued)
• Terminates based on a specified condition
– Loop While a condition is True
– Loop Until a condition becomes True
• Condition can be placed at
– Top of loop - Pretest
– Bottom of loop - Posttest
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
40
Iteration: The Do and Loop Statements General Form
Do {While |Until} condition
' Statements in loop.
Loop
OR
Do
' Statements in loop.
Loop {While | Until} condition
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
Top of Loop
Condition,
Pretest
(condition
checked before
the loop
exectures
Bottom of Loop
Condition,
Posttest
(condition
checked after the
loop executes)
41
Iteration: Pretest vs. Posttest
• Pretest, loop may never be executed since tested BEFORE
running
• Do While … Loop
• Do Until … Loop
• Posttest, loop will always be executed at least once
• Do … Loop While
• Do … Loop Until
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
42
Iteration: Do While vs. Do Until
43
• Do While a condition is true or false
Loop
userEntry = False
Do while errorFlag = False
…
If len(customerName.textbox) > 0 Then
…
userEntry = True
Else
…
End If
Loop
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
Condition
False
True
Condition
True
False
Iteration: Do While vs. Do Until: Pretest
44
• Do While a condition is true or false
Loop
userEntry = False
Do until errorFlag = True
…
If len(customerName.textbox) > 0 Then
…
userEntry = True
Else
…
End If
Loop
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
Condition
True
False
Condition
True
False
Iteration: Do While vs. Do Until: Posttest
• Do While a condition is true or false
Loop
userEntry = True
Do
…
If len(customerName.textbox) > 0 Then
False
Condition
…
True
userEntry = True
Else
userEntry
…
= True
End If
Loop Until userEntry = True
Condition
(or Loop While userEntry = False)
False
True
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
45
Iteration: For/Next Loops
• Use when you know the number of iterations
• Uses a numeric counter variable, called Loop Index, to
control number of iterations
• Loop Index is incremented at the bottom of the loop on
each iteration
• Step value can be included to specify the incrementing
amount to increment Loop Index, step can be a negative
number
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
46
Iteration: The For and Next Statements General Form
For LoopIndex = InitialValue To TestValue [Step Increment]
' Statements in loop.
Next [LoopIndex]
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
47
Iteration: For/Next Loop
• For example:
Dim customerCount as Integer
For customerCount = 1 to 10
...
If customerType = “Regular” Then
…
Else
End If
Next
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
48
Iteration: Exiting For/Next Loops
• In some situations you may need to exit the loop
prematurely
• Use the Exit For statement inside the loop structure
• Generally the Exit For statement is part of an If statement
R. Ching, Ph.D. • MIS Dept. • California State University, Sacramento
49