CSCI1580-Lab4-Tutorial
CSCI1580-Lab4-Tutorial
YU Shaozuo
[email protected]
1
Objective
• Get familiar with methods in VB
2
Methods in VB
• Subroutine
• Function
• Pass-By-Value vs Pass-By-Reference
7
Subroutine vs. Function
• Difference between Subroutine and Function
– Function has a return value
– Example: print the sum of a and b
A simple subroutine:
Private Sub Add(ByVal a As Integer, ByVal b As Integer)
Console.WriteLine(a + b)
End Sub
A simple function:
Private Function Add(ByVal a As Integer, ByVal b As Integer) As
Integer
Return a + b ‘Add = a + b
End Function
How to run the above function? Console.WriteLine(Add(2,3))
8
ByVal vs. ByRef
• ByVal
– Sends a copy of the argument’s value
– The original value cannot be altered
• ByRef
– Sends a reference to the memory location where
the original value is stored
– The original value can be altered
Private Sub Add( ByVal a As Integer, ByVal b As Integer) Dim a As
End
Integer
Sub Console.WriteLine(a + b) Dim b As Integer
Add(1.4, 2) a=1, b=2 9
Scope of variables
• Scope refers to the visibility of variables.
– Determine where the variable can be used
– Namespace, Module level, Local, Block level
Namespace
Module Level
Local
Block Level
10
The block with the same indents is the
Module Module1
Dim result As Integer
Sub Main ()
Dim a, b As Integer
a = 1
b = 5
Try
Dim c As Integer = Console . ReadLine ( )
result = Discriminant( a, b , c)
Console . WriteLine ( " The discriminant is " & result &
".")
Catch
Console . WriteLine ( ” The input is invalid. " )
End Try
End Sub
Function Discriminant(ByVal a As Integer, ByVal b As Integer,
ByVal c As Integer) As Integer
Return b ^ 2 - 4 * a * c
End Function
End Module
11
Exercise
• Obtain valid user input
12
Thanks!