﻿ Introducing ThinBASIC > Example 3 - functions

Example 3 - functions

 Navigation:  Introducing ThinBASIC > Example 3 - functions

A little more complex script example.

2 functions, one standard, one recursive.

'----------------------------------------------------------------------

' Optional TBMain function - if found, it is the first function to be executed

function TBMain()

dim msg   as string

dim count as long

' Optional modern BASIC variable declaration (DATATYPE variable) with initialization

ext N1 = 10

ext N2 = Factorial(N1)

MsgBox 0, "Factorial of " & N1 & " = " & Format\$(N2, "0#")

MsgBox 0, "I've called a recursive function " & RecursiveExample(1, N1) & " times"

For count = 1 To 64

msg = msg & "[" & Format\$(2^count) & "]"

If MOD(count,2) = 0 Then

msg = msg & \$crlf

Else

msg = msg & " "

End If

Next

MsgBox 0, "From 2^1 to 2 ^ 64:\n" & msg

end function

'---

' A simple standard function - note it can be declared after the line it is called on

'---

function Factorial(InVal As Number) As Ext

Dim i, r As Ext

r = 1

For i = 2 To InVal

r = r * i

Next

return r

end Function

'---

' A recursive function

'---

function RecursiveExample(n As Number, MaxRecurse As Number) As Ext

Dim s As String = Repeat\$(10000, "X")

INCR n

If n >= MaxRecurse Then

return n

Else

return RecursiveExample(n, MaxRecurse)

End If

end Function