CH 03
CH 03
Mohammad Shokoohi
2
3.1 Numbers
• Arithmetic Operations
• Variables
• Incrementing the Value of a Variable
• Built-In Functions:
• Math.Sqrt
• Int
• Math.Round
3
Numbers (continued)
• The Integer Data Type
• Multiple Declarations
• Two Integer-Valued Operators
• Parentheses
• Three Types of Errors
• The Error List Window
4
Arithmetic Operations
• Numbers are called numeric literals
• Five arithmetic operations in Visual Basic
+ addition
- subtraction
* multiplication
/ division
^ exponentiation
5
Numeric Expressions
2+3
3 * (4 + 5)
2^3
6
Displaying Numbers
Let n be a number or a numeric expression.
The statement
lstBox.Items.Add(n)
displays the value of n in the list box.
7
Example 1: Form
8
Example 1: Code and Output
Private Sub btnCompute_Click (...)
Handles btnCompute.Click
lstResults.Items.Add(5)
lstResults.Items.Add(2 * 3)
lstResults.Items.Add((2 ^ 3) – 1)
End Sub
Output 5
in list 6
box 7
9
Numeric Variable
A numeric variable is a name to which a
number can be assigned.
Examples:
speed
distance
interestRate
balance
10
Variables
• Declaration:
Dim speed As Double
• Assignment:
speed = 50
11
Initialization
• Numeric variables are automatically
initialized to 0:
Dim varName As Double
12
Numeric Expressions
Numeric variables can be used in numeric
expressions.
Output: 1050
13
Assignment Statement
Dim numVar1 As Double = 5
Dim numVar2 As Double = 4
numVar1 = 3 * numVar2
lstBox.Items.Add(numVar1)
Output: 12
14
Incrementing
• To add 1 to the numeric variable var
var = var + 1
• Or as a shortcut
var += 1
• Or as a generalization
var += numeric expression
15
Built-in Functions
Functions return a value
Math.Sqrt(9) returns 3
Int(9.7) returns 9
Math.Round(2.7) returns 3
16
Integer Data Type
• Variables of type Double can be assigned
both whole numbers and numbers with
decimals.
• The statement
Dim varName As Integer
declares a numeric variable that can only be
assigned whole number values between
about -2 billion and 2 billion.
17
Multiple Declarations
Dim a, b As Double
18
Two Integer-Valued Operators
• Integer division (denoted by \) is similar to
ordinary long division except that the
remainder is discarded.
• The Mod operator returns only the integer
remainder.
23 \ 7 = 3 23 Mod 7 = 2
8\2=4 8 Mod 2 = 0
19
Parentheses
• Parentheses should be used liberally in
numeric expressions.
• In the absence of parentheses, the
operations are carried out in the following
order: ^, * and /, \, Mod, + and -.
20
Three Types of Errors
• Syntax error
• Runtime error
• Logic error
21
Some Types of Syntax Errors
• Misspellings
lstBox.Itms.Add(3)
• Omissions
lstBox.Items.Add(2 + )
• Incorrect punctuation
Dim m; n As Integer
22
A Type of Runtime Error
Overflow error
23
A Logical Error
Dim average As Double
Dim m As Double = 5
Dim n As Double = 10
average = m + n / 2
24
Error List Window
Dim m; n As Double
lstResults.Items.Add(5
lstResults.Items.Add(a)
25
3.2 Strings
• Variables and Strings
• Option Explicit and Option Strict
• Using Text Boxes for Input and Output
• Auto Correction
• String Properties and Methods:
Length ToUpper
Trim ToLower
IndexOf Substring
26
Strings (continued)
• Concatenation
• The Empty String
• Initial Value of a String
• Widening and Narrowing
• Internal Documentation
• Line Continuation
• Scope of a Variable
27
String Literal
A string literal is a sequence of
characters surrounded by quotation marks.
Examples:
"hello"
"123-45-6789"
"#ab cde?"
28
String Variable
A string variable is a name to which a
string value can be assigned.
Examples:
country
ssn
word
firstName
29
String Variable (continued)
• Declaration:
Dim firstName As String
• Assignment:
firstName = "Fred"
30
String Variable (continued)
You can declare a string variable and
assign it a value at the same time.
31
Add Method
Let str be a string literal or variable. Then,
lstBox.Items.Add(str)
32
String Variable
You can assign the value of one string
variable to another.
Dim strVar1 As String = "Hello"
Dim strVar2 As String = "Goodbye"
strVar2 = strVar1
lstOutput.Items.Add(strVar2)
Output: Hello
33
Variables and Strings
Private Sub btnDisplay_Click(...) Handles
btnDisplay.Click
Dim president As String
president = "George Washington"
lstOutput.Items.Add("president")
lstOutput.Items.Add(president)
End Sub
Output: president
George Washington
34
Option Strict
• Visual Basic allows numeric variables to be
assigned strings and vice versa, a poor
programming practice.
• To prevent such assignments, set Option
Strict to On in the Options dialog box.
35
Option Strict (continued)
• Select Options from the Tools menu
• In left pane, expand Projects and Solution
• Select VB Defaults
• Set Option Strict to On
36
Option Strict (continued)
37
Using Text Boxes for Input
and Output
• The contents of a text box is always a string.
• Input example:
strVar = txtBox.Text
• Output example:
txtBox.Text = strVar
38
Data Conversion
Because the contents of a text box is always a
string, sometimes you must convert the input
or output.
dblVar = CDbl(txtBox.Text)
txtBox.Text = CStr(numVar)
40
With Option Strict On
Dim dblVar As Double, intVar As Integer
Dim strVar As String
41
Concatenation
Combining two strings to make a new string
quote1 = "We'll always "
quote2 = "have Paris."
quote = quote1 & quote2
txtOutput.Text = quote & " - Humphrey Bogart"
Output:
We'll always have Paris. - Humphrey Bogart
42
Appending
• To append str to the string variable var
var = var & str
• Or as a shortcut
var &= str
43
Appending Example
Dim var As String = "Good"
var &= "bye"
txtBox.Text = var
Output: Goodbye
44
Comment on Example 4
Consider
txtOutput.Text = numOfKeys & " keys"
45
String Properties and Methods
"Visual".Length is 6.
"Visual".ToUpper is VISUAL.
"123 Hike".Length is 8.
"123 Hike".ToLower is 123 hike.
"a" & " bcd ".Trim & "efg" is abcdefg.
46
Positions in a String
Positions of characters in a string are
numbered 0, 1, 2, ….
Consider the string “Visual Basic”.
Position 0: V
Position 1: i
Position 7: B
Substring “al” begins at position 4
47
Substring Method
Let str be a string.
str.Substring(m, n) is the substring of length
n, beginning at position m in str.
48
IndexOf Method
Let str1 and str2 be strings.
str1.IndexOf(str2)
49
The Empty String
• The string "", which has no characters, is
called the empty string or the zero-length
string.
• The statement lstBox.Items.Add("") skips a
line in the list box.
• The contents of a text box can be cleared
with either the statement
txtBox.Clear()
or the statement
txtBox.Text = ""
50
Initial Value of a String
Variable
• By default the initial value is the keyword
Nothing
• Strings can be given a different initial value
as follows:
51
Widening
• Widening: assigning an Integer value to
a Double variable
• Widening always works. (Every Integer
value is a Double value.)
• No conversion function needed.
52
Narrowing
• Narrowing: assigning a Double value to an
Integer variable
• Narrowing might not work. (Not every
Double value is an Integer value.)
• Narrowing requires the Cint function.
53
Comments
Private Sub btnCompute_Click (...)
Handles btnCompute.Click
'Calculate the balance in an account
Dim rate As Double 'Annual rate of interest
Dim curBalance As Double 'Current balance
54
Internal Documentation
1. Other people can easily understand the
program.
2. You can understand the program when you
read it later.
3. Long programs are easier to read because
the purposes of individual pieces can be
determined at a glance.
55
Line Continuation
A long line of code can be continued on
another line by using an underscore (_)
preceded by a space
56
Implicit Line Continuation
The line continuation character can be
omitted after a comma, ampersand, or
arithmetic operator.
msg = "I'm going to make " &
"him an offer he can't refuse."
average = sumOfNumbers /
numberOfNumbers
57
Scope (continued)
• The scope of a variable is the portion of the
program that can refer to it.
• Variables declared inside an event
procedure are said to have local scope and
are only available to the event procedure in
which they are declared.
58
Scope
• Variables declared outside an event
procedure are said to have class-level
scope and are available to every event
procedure.
• Usually declared after
Public Class formName
(In Declarations section of Code Editor.)
59
Automatic Colorization
Comments – green
String literals – maroon
Keywords – blue
Class Name – turqoise
Note: Examples of keywords are Handles,
Sub, and End. Examples of class names are
Form1, Math, and MessageBox.
60
3.3 Input and Output
• Formatting Output with Format Functions
• Using a Masked Text Box for Input
• Dates as Input and Output
• Getting Input from an Input Dialog Box
• Using a Message Dialog Box for Output
• Named Constants
• Sending Output to the Printer
61
Formatting Output with Format
Functions
FormatNumber(12345.628, 1) 12,345.6
FormatCurrency(12345.628, 2) $12,345.63
FormatPercent(0.183, 0) 18%
62
Masked Text Box Control
Similar to an ordinary text box, but has
a Mask property that restricts what can
be typed into the masked text box.
Tasks button
63
Masked Text Box Control
Click on the Tasks button to reveal the
Set Mask property.
64
Input Mask Dialog Box
65
Mask
A Mask setting is a sequence of characters,
with 0, L, and & having special meanings.
• 0 Placeholder for a digit.
• L Placeholder for a letter.
• & Placeholder for a character
66
Sample Masks
• State abbreviation: LL
• Phone number: 000-0000
• Social Security Number: 000-00-0000
• License plate: &&&&&&
67
Dates as Input and Output
• Date literal: #7/4/1776#
• Declarations:
Dim indDay As Date
Dim d As Date = CDate(txtBox.Text)
Dim indDay As Date = #7/4/1776#
68
Getting Input from an Input
Dialog Box
stringVar = InputBox(prompt, title)
fullName = InputBox("Enter your full name.",
"Name")
title
prompt
69
Using a Message Dialog Box
for Output
MessageBox.Show(prompt, title)
MessageBox.Show("Nice try, but no cigar.",
"Consolation")
title
prompt
70
Named Constants
• Declared with
Const CONSTANT_NAME As DataType = value
71
Sending Output to the Printer
Double-click on the PrintDocument control
in the Toolbox. (The control will appear in
the form’s component tray.)
72
Output to Printer (continued)
• Double-click on PrintDocument1 to obtain
its default event procedure PrintPage.
• All printing statements appear inside this
procedure. They begin with the statement
Dim gr As Graphics = e.Graphics
73
Output to Printer (continued)
gr.DrawString(str, font, Brushes.color, x, y)
• str is string to be printed
• font specifies name, size, and style of font
used (can be set to Me.Font for form’s font)
• color specifies the color of the printed text
• x and y specify location of the beginning of
the printed text
74
Output to Printer (continued)
x and y are distances measured in points
(1 point = 1/100 inch)
beginning of
printed text
75
Output to Printer (continued)
• Execute the statement
PrintDocument1.Print()
76