600 likes | 768 Views
Chapter 4. General Procedures. Outline & Objective. Creating Visual Basic Sub Procedures Creating User-defined Function Procedures Parameter Passing Mechanism Modularizing in Programming Languages. What is Modularization. Breaking the program into subtasks
E N D
Chapter 4 General Procedures Chapter 4 - Visual Basic Schneider
Outline & Objective • Creating Visual Basic Sub Procedures • Creating User-defined Function Procedures • Parameter Passing Mechanism • Modularizing in Programming Languages Chapter 4 - Visual Basic Schneider
What is Modularization • Breaking the program into subtasks • A Sub procedure or Function performs a well-defined task • Easier to test, debug and correct Chapter 4 - Visual Basic Schneider
Why use Sub procedures and Functions? • Provide abstract operations • Make programs easier to write, debug and maintain. Chapter 4 - Visual Basic Schneider
Modularizing Programs in Visual Basic • In Visual Basic, there are two types of procedures: • Sub • Function • Note: To distinguish procedures from event procedures, Sub and Functions are referred to as general procedures. Chapter 4 - Visual Basic Schneider
Passing Arguments to Subs: • When you define a Sub procedure; sometimes you need to transfer variables that are used in different Subs. This is called passing in programming languages. Chapter 4 - Visual Basic Schneider
Sub Procedures Properties: • may be called • may be passed data called arguments • may return values to the calling program • may change the data stored in a received variable Chapter 4 - Visual Basic Schneider
Components of Sub Procedure: • name: used to identify the Sub procedure • parameters: a Sub procedure accepts values from the caller through its parameters; it may also send values back to the caller through it’s parameters. Chapter 4 - Visual Basic Schneider
Sub Procedure's Name • The rules for naming Sub Procedures are the same as naming variables. • In this text, Sub procedure names begin with uppercase letters in order to distinguish them from variable names. Chapter 4 - Visual Basic Schneider
Syntax of a Sub Procedure Private Sub ProcedureName ( ) statement(s) End Sub Chapter 4 - Visual Basic Schneider
Creating Visual Basic Sub Procedure: • Activate a code window • Select Add Procedure from the Tools menu • Type in the name of the Sub procedure • Click on Private in Scope frame • Press the Enter key or click the OK button • Type the statements of the Sub procedure into this window Chapter 4 - Visual Basic Schneider
Example of Call to a Sub Procedure: Private Sub cmdCompute_Click() Dim num As Single num = Val(InputBox("Enter a number:")) Call Triple(num) End Sub Chapter 4 - Visual Basic Schneider
Sub Procedure Triple: Private Sub Triple(num As Single) ' Multiply the value of the number by 3 picResult.Print "The number is"; 3 * num End Sub Chapter 4 - Visual Basic Schneider
Passing Arguments to Sub Procedures • Arguments : Variables or expressions placed in parentheses in a Call statement. • Not only is the value of the argument passed to the parameter, but the value of the parameter is passed back to the argument. Chapter 4 - Visual Basic Schneider
Example of Arguments • Call Triple(num) Chapter 4 - Visual Basic Schneider
Parameters • Variables placed in parentheses after a Sub Procedure's name. • When the procedure is called, the values of the corresponding arguments are placed in the parameters. Chapter 4 - Visual Basic Schneider
Example of Parameters • Private Sub Triple(num As Single) Chapter 4 - Visual Basic Schneider
Passing arguments to parameters Call Triple(num ) Private Sub Triple (num As Single) Argument Parameter Chapter 4 - Visual Basic Schneider
Passing Arguments to Parameters • Call Add (x, y ) • Private Sub Add ( num1 As Single, num2 As Single) Arguments Parameters Chapter 4 - Visual Basic Schneider
Passing Arguments • The Sub Procedure receives the location of the arguments, the Sub Procedure may use and modify the value of the arguments. • Two way into and out of the Sub Procedure. Chapter 4 - Visual Basic Schneider
Passing Arguments Private Sub cmdDisplay_Click() Dim amt As Single amt = 2 picResults.Print amt; Call Triple(amt) picResults.Print amt End Sub Chapter 4 - Visual Basic Schneider
Sub Triple Private Sub Triple(num As Single) ' Triple a number picResults.Print num; num = 3 * num picResults.Print num; End Sub Chapter 4 - Visual Basic Schneider
Passing Arguments Call Triple(amt) Private Sub Triple (num As Single) amt num Chapter 4 - Visual Basic Schneider
Passing Data - by Reference amt amt amt 2 2 6 6 num num Chapter 4 - Visual Basic Schneider
Important Rules for Passing Arguments to a Sub • The number of arguments and parameters must match. • The data type of each argument must match its corresponding parameter. Chapter 4 - Visual Basic Schneider
Local Variables: • A variable that is used only in a specific procedure (Sub or Function). • The scope of the local variable is the portion of a Sub or Function in which that variable has been defined. Chapter 4 - Visual Basic Schneider
Local Variables: • Declared within a procedure definition • Private to a procedure definition • Variables in different procedures are totally independent • different procedures can have variables with the same names; however, each variable will have its own memory location Chapter 4 - Visual Basic Schneider
Advantages of Local Variables • Extremely useful for team programming • To protect side effect (which is an accidental change of the value of the variable) Chapter 4 - Visual Basic Schneider
Example of Local Variables Private Sub cmdButton_Click() Dim var1 As Integer, var2 As Integer,num As Integer var1 = 2 var2 = 4 Call Add(num) picBox.Print num End Sub Chapter 4 - Visual Basic Schneider
Sub Add Private Sub Add(num As Integer) Dim var1 As Integer, var2 As Integer num = var1 + var2 End Sub Chapter 4 - Visual Basic Schneider
Form-Level Variables • Form-level variables are visible to every procedure (Global variable). • Form-level variables appear at the top of the code window. Chapter 4 - Visual Basic Schneider
How to create Form-Level Variables? • Activate the code window • Click on the down arrow to the right of the object list box • Click on General • Click on Declaration in the procedure list box • Type in Dim statements for form-level variables Chapter 4 - Visual Basic Schneider
Example ' In Declaration section of General Dim num1 As Single, num2 As Single Chapter 4 - Visual Basic Schneider
Review • Visual Basic has two types of procedures: • Sub • Function • Each Sub procedure performs a distinct task. • The Call statement causes a Sub procedure to be executed. Chapter 4 - Visual Basic Schneider
Review A Sub procedure can receive many values A Sub procedure can return many values Chapter 4 - Visual Basic Schneider
Review • Values can be passed between the calling program and Sub by passing arguments. • The number and type of arguments in the calling program and Sub must match. Chapter 4 - Visual Basic Schneider
Review • Variables that are used in a particular Sub are local variables. • Values that are assigned to them are not returned to the calling module. Chapter 4 - Visual Basic Schneider
Review • Structure charts are useful in determining how to divide a program into Sub procedures. • Modularizing programs offers significant advantages. • Easier to maintain • Extremely useful for team programming • Side effect can be prevented Chapter 4 - Visual Basic Schneider
Common Errors • Passing incorrect data types. • Not returning the result of the computation back to the calling program. Chapter 4 - Visual Basic Schneider
Review • A sub is like a black box; you know what goes in and what comes out; but you do not have to know what happens inside. • To specify the result of the computation inside the box ; the result can only be returned through its arguments. Chapter 4 - Visual Basic Schneider
Another Example Private Sub cmdDisplay_Click() ' Demonstrate that variables in a Sub procedure do ' not retain their values in subsequent calls Call Three Call Three End Sub Chapter 4 - Visual Basic Schneider
Sub Three Private Sub Three() Dim num As Single ' Display the value of num and assign it the value 3 picResults.Print num; num = 3 End Sub Chapter 4 - Visual Basic Schneider
What is a function? • A function designed to perform a specific task also. • A function designed to return asingle value to the calling program. Chapter 4 - Visual Basic Schneider
Types of Functions • Standard functions (built-in) • User-defined functions Chapter 4 - Visual Basic Schneider
User-Defined Function • A function designed to return a single value. • The value is returned in the function itself. • The arguments of a function should not be changed in the function body. Chapter 4 - Visual Basic Schneider
The Function Syntax Private Function FunctionName (parameter-list) As datatype Statement(s)…… ….. FunctionName = …….. End Function Chapter 4 - Visual Basic Schneider
Example of a Function(using a function to change from Fahrenheit to Celsius) Private Sub cmdConvert_Click() picTempC.Cls picTempC.Print FtoC(Val(txtTempF.Text)) End Sub Private Function FtoC(t As Single) As Single ‘ Convert Fahrenheit temperature to Celsius FtoC = (5 / 9) * (t - 32) End Function Chapter 4 - Visual Basic Schneider
Rule for Defining and Calling a Function • User-defined function must include a statement that assigns the function name a value. • User-defined functions are called in the same way that built-in functions are called. • A user-defined function may be called in an expression. Chapter 4 - Visual Basic Schneider
Returning Value A function can receive many values Only one value can be directly returned Chapter 4 - Visual Basic Schneider
Example of a Function Private Sub cmdDetermine_Click() Dim nom As String ' Determine a person's first name nom = txtFullName.Text picFirstName.Cls picFirstName.Print "The first name is ";FirstName(nom) End Sub Chapter 4 - Visual Basic Schneider