Bir procedure olarak düzenlenen fonksiyonlar belli bir işlemi kod olarak içeren ve bir değeri geri döndüren program parçalarıdır. Örneğin bir çok yerde faktöriyel hesaplamanız gerekmektedir, her seferinde faktöriyel formülünü yazmaktansa bu işlemi bir fonksiyonda tanımlayıp sonra bu fonksiyonu çağırırız. Fonksiyonlar Function deyimi ile başlayıp End Function deyimi ile biter. Bir function oluşturmak için code penceresi açıkken Tools menüsünden Add Procedüre seçilir.
Örnek 1
Klavyeden girilen bir sayının faktöriyelini bulan fonksiyon. Önce fak bir function tanımlanır.
Public Function fak(x)
Dim a, b
b = 1
For a = 1 To x
b = b * a
Next
fak = b
End Function
Private Sub Command1_Click()
Dim a
a = InputBox("Lütfen bir sayı giriniz")
Print a & "! =" & fak(a)
End Sub
Örnek 2
Klavyeden girilen bir sayının faktöriyelini bulan ve tüm sayıları ekrana yazan fonksiyon. Önce fak bir function tanımlanır.
Public Function fak(x)
Dim a, b
b = 1
For a = 1 To x
b = b * a
Next
fak = b
End Function
Private Sub Command1_Click()
Dim a, b
a = InputBox("Lütfen bir sayı giriniz")
For b = 1 To a
Print b & "! =" & fak(b)
Next
End Sub
Örnek 3
Klavyeden girilen bir sayının fahrenheit cinsinden değerini veren fonksiyon.
Public Function fah(x)
fah = x * 9 / 5 + 32
End Function
Private Sub Command1_Click()
Cls
Dim a
a = InputBox("Lütfen bir sayı giriniz")
MsgBox a & " °C Fahrenheit cinsinden karşılığı =" & fah(a)
End Sub
Örnek 4
Klavyeden girilen bir sayının karesini ve karakökünü bulan fonksiyon.
Public Function kare(x)
kare = x ^ 2
End Function
Public Function karekok(x)
karekok = Sqr(x)
End Function
Private Sub Command1_Click()
Cls
Dim a
a = InputBox("Lütfen bir sayı giriniz")
Print a & " sayısının karesi = " & kare(a)
Print a & " sayısının karekökü =" & karekok(a)
End Sub
Örnek 4
bir üçgenin hipotenüsünü bulan function.
Public Function hipo(x, y)
hipo = Sqr(x ^ 2 + y ^ 2)
End Function
Private Sub Command1_Click()
Cls
Dim a, b
a = InputBox("Lütfen birinci kenarı giriniz")
b = InputBox("Lütfen ikinci kenarı giriniz")
Print hipo(a, b)
End Sub |