1 / 17

10 – User Defined Functions

10 – User Defined Functions. Session Aims & Objectives. Aims To introduce user defined functions Objectives, by end of this week’s sessions, you should be able to: Create your own function definitions Call these functions. Procedures and Functions. Both Procedures and Functions

eudora
Download Presentation

10 – User Defined Functions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 10 – User Defined Functions

  2. Session Aims & Objectives • Aims • To introduce user defined functions • Objectives,by end of this week’s sessions, you should be able to: • Create your own function definitions • Call these functions

  3. Procedures and Functions • Both Procedures and Functions • Group of statements • Identified by uniquename • mirror real life activities • Procedures – just do something • Functions – return a value

  4. Built in Functions: Sqr X: Double Sqr Double • Sqr – gives square root of a number: • Examples Sqr(4) returns 16 Sqr(3) returns 9 Sqr(2) returns 4 Option Explicit Private Sub txtNum_Change() Dim tmpNum As Double tmpNum = Val(Me.txtNum.Text) Me.lblResult.Caption = Sqr(tmpNum) End Sub SquareRoot

  5. Built in Functions: Rnd Random Single • Rnd() function • generates pseudo-random numbers • >= 0 and <1 • Randomize – initialises random number generator RandomNumbers Option Explicit Private Sub Form_Load() Randomize End Sub Private Sub btnRandom_Click() Me.lblNum.Caption = Rnd() End Sub

  6. User Defined Functions (how) • Syntax very similar to procedure definition: Function<name>(<parameters>) As <type> [<Statement-Block>] <name> = <value> End Function • Where • <name> represents function’s name you choose • <parameters> represent information needed • <type> represents the return type • <value> represent the return value

  7. Exercise 1: Function Diagrams Thing double km: double Miles double num: long Twice long • Draw function diagram for the following code: Function Thing() As Double Function Miles(km As Double) As Double Function Twice(num As Long) As Long

  8. Exercise 2: Function Headers Mins: integer Minutes integer Hours: integer Pounds: integer Euros integer • Generate the code for the following diagrams: Function Euros(Pounds As Integer) As Integer Function Minutes(Mins As Integer, _ Hours As Integer) As Integer

  9. Function Implementation: Code • Function Header – gives: • name (e.g. Double), • parameter names and types (e.g. num: integer), and • return type (e.g. integer) • Function Body – gives code: Function Double(num As integer) As integer Double = num * 2 End Function num: integer Double integer

  10. Meet George • Common Boa Constrictor • boa constrictor imperator • Native to Central & South America • No venom (no poison)

  11. Meet George (cont.)

  12. George (cont.) • Problem: • Difficult to keep • Require temperature and humidity controlled environment • Much of the literature is from the US • Temperature in Fahrenheit • Solution • Need a program to convert from Celsius to Fahrenheit

  13. George (cont.) • To convert from Fahrenheit to Celsius: • To convert from Celsius to Fahrenheit:

  14. Example 1: Temp v1 Temp v1 Option Explicit Private Sub Form_Load() lblResult.Caption = ((txtFah.Text - 32) * 5) / 9 End Sub Private Sub txtFah_Change() lblResult.Caption = ((txtFah.Text - 32) * 5) / 9 End Sub

  15. FtoC Function • The declaration: Function FtoC(F As double) As double FtoC = ((f-32) * 5) / 9 End Function • The call: lblResult.Caption = FtoC(50)

  16. Example 2: Temp v2 Temp v2 Option Explicit Function FtoC(F As Double) As Double FtoC = ((F - 32) * 5) / 9 End Function Private Sub Form_Load() lblResult.Caption = FtoC(txtFah.Text) End Sub Private Sub txtFah_Change() lblResult.Caption = FtoC(txtFah.Text) End Sub

  17. Example 3: Total Total

More Related