0% found this document useful (0 votes)
70 views29 pages

Lec 08 Subprocedures

This document discusses sub procedures in Visual Basic .NET. It covers declaring and writing sub programs, passing arguments to sub programs, and the differences between call by value and call by reference. The key topics are introduced, including modular design concepts, dividing code into procedures, and different modular techniques like sub procedures. Examples are provided to illustrate sub procedures without arguments, with arguments, and the use of Exit Sub. Learning outcomes, key terms, and exercises are also included.

Uploaded by

Yovin Lekamge
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
70 views29 pages

Lec 08 Subprocedures

This document discusses sub procedures in Visual Basic .NET. It covers declaring and writing sub programs, passing arguments to sub programs, and the differences between call by value and call by reference. The key topics are introduced, including modular design concepts, dividing code into procedures, and different modular techniques like sub procedures. Examples are provided to illustrate sub procedures without arguments, with arguments, and the use of Exit Sub. Learning outcomes, key terms, and exercises are also included.

Uploaded by

Yovin Lekamge
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 29

Visual Basic .

Net
AAPP00-8-3-2 VBN

Sub Procedures
Lecture 8
Topic & Structure of the lesson

•Introduction to Modular Design Concepts


•Write Sub Procedures
•Compare between Call by Value and Call
by Reference

AAPP00-8-3-2 VBN Visual Basic .Net Slide 2 (of 25)


Learning Outcomes

At the end of this lecture you should be able to :


1. Declare a sub program
2. Write a sub program and pass
arguments to it
3. Write a Call-By-Value and a Call By
Reference sub procedure

AAPP00-8-3-2 VBN Visual Basic .Net Slide 3 (of 25)


Key Terms you must be able to use

If you have mastered this topic, you should be able to


use the following terms correctly in your
assignments and tests:

 Call By Ref
 Call By Val

AAPP00-8-3-2 VBN Visual Basic .Net Slide 4 (of 25)


Modular Design Concepts

Modularity refers to breaking a large problem down


into smaller self-contained modules.
This allows the programmer to isolate problems
within the program by looking at specific areas.
Breaking problems down into smaller modules, will
decrease program maintenance cost.

AAPP00-8-3-2 VBN Visual Basic .Net Slide 5 (of 25)


Dividing code into procedures

• Divide & Conquer Approach


Makes program development more
manageable.
• Software Reusability
Using existing procedures as building
blocks for new programs
• Avoid duplicating parts of programs

AAPP00-8-3-2 VBN Visual Basic .Net Slide 6 (of 25)


Different Modular Techniques

Visual Basic provides us with the ability to


represent modules through the use of the
following:

• Sub Procedures
• Function Procedures
• Event Procedures

AAPP00-8-3-2 VBN Visual Basic .Net Slide 7 (of 25)


Sub Procedures

What are Sub Procedures?

Sub Procedures are subprograms or routines


which are self contained and are used to
perform a particular task.

AAPP00-8-3-2 VBN Visual Basic .Net Slide 8 (of 25)


Breaking down a problem into
smaller parts
Private Sub btnDrawSnowman_Click(…)
Dim small, medium, large, left, right as integer
small = 1
medium = 2
large = 3
call drawCircle(small) call drawHat()
call drawCircle(medium) left = 1
call drawCircle(large) right = 2
call drawArm(left)
call drawArm(right)
End Sub

AAPP00-8-3-2 VBN Visual Basic .Net


A Sub Program with No Arguments

MAIN PROGRAM
Private Sub Command1_Click( )
‘ Check the parentheses. There is no argument
Call No_arg_No_return( )
End Sub
No arguments

AAPP00-8-3-2 VBN Visual Basic .Net Slide 12 (of 25)


No Arguments

SUB PROCEDURE
Public Sub No_arg_No_return( )
Dim x, y, z As Integer
x = 200
y = 400
z=x+y
Label1.Caption = "TOTAL = " & z
End Sub

AAPP00-8-3-2 VBN Visual Basic .Net Slide 13 (of 25)


OUTPUT

AAPP00-8-3-2 VBN Visual Basic .Net Slide 14 (of 25)


A Sub Procedure with Arguments
Private Sub cmdAdd_click()
Call max(2,1) Arguments
End sub
Private Sub max(num1, num2 as integer)
Dim max as integer
if num1 > num2 then
max = num1
parameters
elseif num2 > num1 then
max = num2
Else
MessageBox.Show (“The numbers are equal”)
End If
End Sub
AAPP00-8-3-2 VBN Visual Basic .Net Slide 9 (of 25)
Exercise 1

Write a program to accept two numbers using


textboxes and pass the numbers to a
subprogram called product to multiply them.
Display the answer in the product procedure.
Use a MessageBox to display the answer

AAPP00-8-3-2 VBN Visual Basic .Net Slide 10 (of 25)


Answer
Private Sub cmdMultiply_Click()
Dim a,b as integer
a = InputBox(“enter 1st number”)
b = InputBox(“enter 2nd number”)
Call product (a, b)
End Sub

Private Sub product (num1 As integer, num2 As integer)


MsgBox ("The product of “ & num1 & “ and “ &
num2 & “ is “ &
num1 * num2)
End Sub

AAPP00-8-3-2 VBN Visual Basic .Net Slide 11 (of 25)


Exercise 2

Write a program that will accept three


numbers and pass the numbers to a
procedure minimum to determine the
smallest number.

Accept the numbers using an InputBox


and display the smallest number in a Text
Box.

AAPP00-8-3-2 VBN Visual Basic .Net Slide 15 (of 25)


Solution
Private Sub cmdSmallest_Click()
Dim value1 As Long, value2 As Long, value3 As Long
value1 = txtOne.Text
value2 = txtTwo.Text
value3 = txtThree.Text
Call Minimum(value1, value2, value3)
End Sub
Private Sub Minimum(x As Long, y As Long, z As Long)
dim min as Long
min = x
If y < min Then
min = y
End If
If z < min Then
min = z
End If
txtSmallest.Text = "Smallest value is " & min
End Sub

AAPP00-8-3-2 VBN Visual Basic .Net Slide 16 (of 25)


EXIT Sub

•EXIT SUB will alter the flow of control in your


program
•Executing EXIT SUB in a sub procedure
causes an immediate exit from that procedure.

AAPP00-8-3-2 VBN Visual Basic .Net Slide 16 (of 30)


EXIT SUB Example

Private Sub cmdBegin_Click()


Dim x As Integer
For x = 5 To -1 Step -1
Call PrintNumbers(x)
Next
cmdBegin.Enabled = False
End Sub

AAPP00-8-3-2 VBN Visual Basic .Net Slide 17 (of 30)


EXIT SUB Example

Private Sub PrintNumbers(number As Integer)


If number >=0 Then
Print number
Else
Print "Exiting Sub with number = " &
number
Exit Sub
End If
End Sub
AAPP00-8-3-2 VBN Visual Basic .Net Slide 18 (of 30)
Call By Reference

• If a variable retains the value it is given


in a sub procedure, it is passed by
reference
• By default Call By Reference is used in
VB (FYI: This is not true in C++ and
Java.)

AAPP00-8-3-2 VBN Visual Basic .Net Slide 17 (of 25)


Call By Reference - Procedure

Private sub a()


dim a as integer
a=5
call square(a)
MessageBox.Show (“Ans a = “ & a)
end sub
private sub square(num as integer)
num = num * num
end sub
Ans a = 25

AAPP00-8-3-2 VBN Visual Basic .Net Slide 18 (of 25)


Call By Value

• When you pass a copy of the variable to


a sub program - it does not affect the
value in the main program

AAPP00-8-3-2 VBN Visual Basic .Net Slide 19 (of 25)


Call By Value

Private sub a()


dim a as integer
a=5
call square(a)
MessageBox.Show (“Ans a = “ & a)
end sub
private sub square (byval num as integer)
num = num * num
end sub
Ans a = 5

AAPP00-8-3-2 VBN Visual Basic .Net Slide 20 (of 25)


Exercise 3

• Write a program that accepts a student mark


and passes the mark to a subprogram called
grade which will determine the students grade.
Mark Grade
75-100 A
60-74 B
50- 59 C
40-49 D
0 – 39 F

AAPP00-8-3-2 VBN Visual Basic .Net Slide 21 (of 25)


Exercise 4

Write a program that uses a Sub procedure


Maximum to determine the largest of three
Integers. The smallest value is displayed in
a Label.

AAPP00-8-3-2 VBN Visual Basic .Net Slide 22 (of 25)


Summary of Main Teaching Points

• Module Design
– Sub Procedures
– Function Procedures
– Event Procedures

• Sub Procedures
– Do not return a value

– Call By Value
– Call By Reference

AAPP00-8-3-2 VBN Visual Basic .Net Slide 23 (of 25)


Next Session

Function Procedures

AAPP00-8-3-2 VBN Visual Basic .Net Slide 25 (of 25)


Question and Answer Session

Q&A

AAPP00-8-3-2 VBN Visual Basic .Net Slide 24 (of 25)

You might also like