![Page 1: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/1.jpg)
Chapter 3: Introducing theMicrosoft .NET Framework
and Visual Basic .NET
Visual Basic .NET Programming:
From Problem Analysis to Program Design
![Page 2: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/2.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 2
Objectives
• Explore the Microsoft .NET Framework
• Write a Visual Basic .NET module definition
• Define Visual Basic .NET variables and data types
• Write basic computational statements
• Read input from the keyboard
![Page 3: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/3.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 3
Exploring the Microsoft .NET Framework
• .NET Framework key parts:
– Compilers for:
• VB .NET
• Other supported .NET languages
– Common Language Runtime (CLR)
– Framework Class Library (FCL)
![Page 4: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/4.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 4
![Page 5: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/5.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 5
The Microsoft .NET Compilers
• Includes compilers for:
– VB
– C++
– C#
– J#
– COBOL
![Page 6: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/6.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 6
The Microsoft .NET Compilers (continued)
• Compiler has two primary purposes:
– Check source code for valid syntax
– Translate it into executable form
• Compilers translate source code into language called Microsoft Intermediate Language (MSIL)
– Language used by CLR
– CLR translates IL into executable code
![Page 7: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/7.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 7
The Common Language Runtime
• Responsibility:
– Connect IL files coming from various .NET compilers
– Translate these into executable files
– Manage execution of code in file
![Page 8: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/8.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 8
![Page 9: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/9.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 9
The Common Language Runtime (continued)
• CLR consists of
– Common Type System (CTS)
– Common Language Specification (CLS)
– Just-In-Time (JIT) compiler
• Allocates and reclaims memory while application running
![Page 10: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/10.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 10
The Framework Class Library
• Assembly – File containing IL
– Each contains one or more classes
• FLC– Consists of approximately 100 assemblies
– Have suffix of .dll
• Members– Methods and attributes in .NET classes
![Page 11: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/11.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 11
The Framework Class Library (continued)
• Namespaces
– Organize classes
– Can contain both classes and other namespaces
– Compilers do not automatically search all namespaces for classes used by code
• Must use keyword Imports
• Tell compiler specific namespaces to access
![Page 12: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/12.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 12
![Page 13: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/13.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 13
![Page 14: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/14.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 14
Writing a Visual Basic .NET Module Definition
• Module definition
– Begins with keyword Module
– Ends with keyword End Module
• Statements contain:
– Keywords
– Identifiers
![Page 15: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/15.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 15
Writing a Visual Basic .NET Module Definition (continued)
• Identifier
– Name assigned to things such as:
• Modules
• Procedures
• Variables
![Page 16: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/16.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 16
Writing a Visual Basic .NET Module Definition (continued)
• Identifier naming rules:– Can be up to 1023 characters long
– Can include any:• Letter
• Number
• Underscore character
• No spaces
– Cannot begin with a number
– Cannot be a keyword
![Page 17: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/17.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 17
Writing a Visual Basic .NET Module Definition (continued)
• Code not case sensitive• Comment lines
– Add explanations to code
– Ignored by compiler
• Module header– Names module
– Syntax:• Module modulename
![Page 18: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/18.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 18
Writing a Visual Basic .NET Module Definition (continued)
• Procedure:
– Contains statements that perform processing
– Types:
• Sub
• Function
– Begin with header
• Procedure Main invoked automatically
![Page 19: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/19.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 19
Writing a Visual Basic .NET Module Definition (continued)
• Argument
– Information contained in parentheses when calling procedure
– Passed to procedure
• Literal
– Value defined within a statement
![Page 20: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/20.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 20
Defining Visual Basic .NET Variables And Data Types
• Variable
– Memory location that contains data
– Characteristics:
• Name
• Data type
• Value
![Page 21: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/21.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 21
Understanding VB .NET Data Types
• Each variable has a data type
• Can be:
– Primitive
– Complex
• Unicode character set
– Allocates two bytes for each character
– Accommodates all characters of major international languages
![Page 22: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/22.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 22
![Page 23: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/23.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 23
Declaring and Populating Variables
• Declaration statements
– Define variables
• Syntax:
– Dim variablename As datatype
• Assignment operator
– =
– Assigns value on right side to variable named on left side
![Page 24: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/24.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 24
Example 3-2: Declaring Variables
Dim myInteger As Integer
Dim myDouble As Double
Dim myBoolean As Boolean
![Page 25: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/25.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 25
Example 3-4: Populating Variables
myInteger = 1
myDouble = 2.5
![Page 26: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/26.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 26
Defining Constants
• Constant– Variable with a value that does not change
– Contain values such as:• Company name
• Tax identification number
– Syntax:• Const constantname As datatype
– Must be initialized in the same statement that declares them
![Page 27: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/27.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 27
Defining Constants (continued)
• Naming convention:
– Capitalize constant names
– If name consists of more than one word
• Separate words with underscore character (_)
– Example:
• TAX_ID
![Page 28: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/28.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 28
Converting Data Types
• Numeric data types have different capacities:
– Byte variable can hold maximum value of 255
– Integer variable has maximum value of 2.1 billion
• Implicit type conversion
– Use assignment operator to assign contents of variable to a variable with different data type
![Page 29: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/29.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 29
Example 3-7: Implicit Type Conversion
Dim myInteger As Integer = 1
Dim myDouble As Double = 2.5
myDouble = myInteger
• Assign Integer value to Double variable – Data type Double has greater capacity than Integer
– No potential loss of data
![Page 30: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/30.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 30
Example 3-8: Loss of Precision
• Loss of precision
– Computing error that can occur when decimal positions are dropped
Dim myInteger As Integer = 1
Dim myDouble As Double = 2.5
myInteger = myDouble
• VB .NET will automatically round decimal values before truncating
![Page 31: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/31.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 31
Example 3-8: Loss of Precision (continued)
• Option Strict
– Prevent unintentional loss of precision when mixing data types in assignment statements
– Compiler detects potential loss of precision
• Displays error message
• Explicit type conversion
– Invoke Convert method to convert data types
![Page 32: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/32.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 32
![Page 33: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/33.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 33
Converting Data Types (continued)
• Option Explicit
– Must define variable before using it in a statement
– Otherwise
• Compiler generates error message
– Generally set On
![Page 34: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/34.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 34
Using Reference Variables
• Uses class name as data type
• For example:
– String
• Variable refers to or points to instance of class
– Does not actually contain data
– Contains memory address of instance of class that contains data
![Page 35: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/35.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 35
![Page 36: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/36.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 36
Writing Basic Computational Statements
• Concatenate operator– &
– Joins two Strings
• Arithmetic operators – For multiplication, division, addition, and
subtraction
– *, /, +, -
![Page 37: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/37.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 37
Using the Arithmetic Operators
• Evaluated in predetermined order called precedence
– Standard algebraic rules of precedence apply
• Other operators:
– Exponentiation
– Integer division
– Remainder computation
![Page 38: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/38.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 38
Example 3-15: Integer Division (\)
Dim firstInt As Integer = 11
Dim secondInt As Integer = 2
Dim integerResult As Integer = 0
integerResult = firstInt \ secondInt
Console.WriteLine(“integerResult = firstInt \ secondInt: “ & integerResult)
• Sample Run:– integerResult = firstInt \ secondInt: 5
![Page 39: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/39.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 39
![Page 40: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/40.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 40
Using the Arithmetic Operators (continued)
• Assignment operators:
– Formed by combining arithmetic operator with assignment operator
– Example:
• i += 1
![Page 41: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/41.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 41
Invoking Methods in the Math Class
• System namespace includes Math class
– Contains methods to accomplish
• Exponentiation
• Rounding
• Trigonometric calculations
• Use .NET Help facility to explore methods
• Invoke method:
– Math.Pow(firstInt, secondInt)
![Page 42: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/42.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 42
Invoking Methods in the Math Class (continued)
• Math class constants:
– PI
– E
– To access:
• Math.E
![Page 43: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/43.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 43
Reading Input From the Keyboard
• Use Console class
– ReadLine method
• Read one or more characters from keyboard
• Convert any numeric data to desired data type
• Prompt
– Message displayed to user asking for input
![Page 44: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/44.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 44
Programming Example: Temperature Converter
• Input
– Fahrenheit temperature including decimal positions
• Output
– Celsius temperature that corresponds to Fahrenheit temperature that was input
• Results rounded to one decimal position
![Page 45: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/45.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 45
Programming Example: Temperature Converter
(continued)
• Main Algorithm
– Declare variables
– Prompt user for input
– Invoke Console.ReadLine to input value from keyboard
– Invoke Convert.ToDouble to convert data type String to Double
![Page 46: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/46.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 46
Programming Example: Temperature Converter
(continued)
• Main Algorithm (continued)
– Compute Celsius temperature
– Invoke Math.Round to round computed value to one decimal position
– Invoke Console.WriteLine to display rounded Celsius temperature
![Page 47: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/47.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 47
Summary
• Framework consists of:
– Compilers
– Common Language Runtime (CLR)
– Framework Class Library (FCL)
• VB .NET statements consist of
– Keywords
– Identifiers
![Page 48: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/48.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 48
Summary (continued)
• Module
– Main module executed automatically
• Procedures:
– Subs
– Functions
• Variable
– Memory location that contains data
![Page 49: Chapter 3: Introducing the Microsoft .NET Framework and Visual Basic .NET](https://reader036.vdocuments.us/reader036/viewer/2022081506/56815809550346895dc57921/html5/thumbnails/49.jpg)
Visual Basic .NET Programming: From Problem Analysis to Program Design 49
Summary (continued)
• Constant
– Variable with value that does not change
• Reference variable
– Uses class name as data type
• Operators:
– Mathematic
– Assignment