38 lines
720 B
Plaintext
38 lines
720 B
Plaintext
Function Y(f As String) As String
|
|
Y = f
|
|
End Function
|
|
|
|
Function fib(n As Long) As Long
|
|
Dim As Long n1 = 0, n2 = 1, k, sum
|
|
For k = 1 To Abs(n)
|
|
sum = n1 + n2
|
|
n1 = n2
|
|
n2 = sum
|
|
Next k
|
|
Return Iif(n < 0, (n1 * ((-1) ^ ((-n)+1))), n1)
|
|
End Function
|
|
|
|
Function fac(n As Long) As Long
|
|
Dim As Long r = 1, i
|
|
For i = 2 To n
|
|
r *= i
|
|
Next i
|
|
Return r
|
|
End Function
|
|
|
|
Function execute(s As String, n As Integer) As Long
|
|
Return Iif (s = "fac", fac(n), fib(n))
|
|
End Function
|
|
|
|
Sub test(nombre As String)
|
|
Dim f As String: f = Y(nombre)
|
|
Print !"\n"; f; ":";
|
|
For i As Integer = 1 To 10
|
|
Print execute(f, i);
|
|
Next i
|
|
End Sub
|
|
|
|
test("fac")
|
|
test("fib")
|
|
Sleep
|