You are on page 1of 30

Fonksiyonlar ve

Yordamlar
Fonksiyonlar ve Yordamlar
 Bir fonksiyon veya bir yordam belirli bir işi yapmak
için oluşturulan küçük program parçalarıdır.
 Birçok yerde aynı kodları kullanmanız gerektiğinde
bunları her sefer yeniden yazmak yerine bu kodları bir
prosedüre tanımlayıp kullanacağımız yerden bunu
çağırmanız yeterlidir.
 Yapılan işlemin sonucunda oluşan değer isteniyorsa
fonksiyonlar kullanılır.
 Eğer yapılan işlemlerin sonunda bir değer
döndürülmüyorsa yordamlar kullanılır.
1. “Sub-End Sub” Alt Programı
 Sub yordamları dönüş değeri olmayan kod bloklarıdır.
 Fonksiyonlardan farkları herhangi bir değişkene
eşitlenmemelerinden kaynaklanmaktadır.
 Uygulama içinde birçok yerde çalışacak olan kodlar Sub
yordamı içinde yazılır.
 Bu kodlar, içine yazıldıkları yordamın ismi ile çağırılarak,
istenen yerde tekrar çalıştırılabilir.
 Kullanımı :
Sub isim(Parametreler)
Komut veya komutlar
End Sub
 Yordamlar, tanımlandıktan sonra başka bir yordam
veya fonksiyon içinde kullanılır.
 Yordamı kullanmak için, gerekli yere isminin
yazılması yeterlidir. Ayrıca Call ifadesi de tercihe bağlı
olarak kullanılabilir.
 Yordamlar çağırıldıklarında, kodlar End Sub ifadesi
görülene kadar çalıştırılır.
 Yordamın normal akışından çıkılmak istenirse Exit
Sub veya Return ifadeleri kullanılır.
Parametre Kullanımı
 Yordamların bazı değerlere göre farklı işlem yapması
istenebilir.
 İşlemin bağlı olduğu bu değerlere parametre veya argüman
denir.
 Yordamlar parametre alacak şekilde tanımlanıp,
çağırıldıkları sırada istedikleri parametreler verilerek
kullanılır.
 Sub YordamIsmi(Parametre1 As VeriTipi, Parametre2 As
VeriTipi, …)

 End Sub
Parametre Kullanımı
 Yordamları çağırırken tüm parametrelerin belirtilen veri
tipinde verilmesi gerekir.
 Yordamları tanımlarken parametrelerin isimleri ve veri
tipleri belirtilmelidir.
 Ayrıca parametrelerin değer tipi olarak mı, yoksa referans
tipi olarak mı geçileceği belirtilmelidir.
 ByVal olarak geçilen parametrelerin değerleri
kullanılabilir, ancak değiştirilemez.
 ByRef, parametrelerin hafızadaki adreslerine ulaşmayı
sağlar.
 Dolayısıyla parametrelerin değerleri değiştirilebilir.
 ByVal ve ByRef arasındaki farklar ilerleyen slaytlarda
detaylı olarak anlatılacak.
Parametre Kullanımı
 Örnek : Girilen üç sayının ortalamasını alan Sub
Procedure’ünü oluşturunuz.
Opsiyonel Parametreler
 Yordamlara parametre verilmesi opsiyonel olabilir.

 Parametre tanımlarken Optional anahtar kelimesi


kullanılırsa, yordam çağırıldığında bu parametrenin
girilmesi zorunlu olmaz.

 Opsiyonel parametreler tanımlanırken başlangıç


değerleri verilmelidir, çünkü bu alan boş bırakıldığı
zaman hangi değerin işleneceği bilinmelidir.
Opsiyonel Parametreler
 Opsiyonel parametreler, yordamların son
argümanları olmalıdır.
 Bir opsiyonel parametreden sonra ancak başka bir
opsiyonel parametre gelebilir.
 Kullanımı:
 Private Sub OpsiyonluProsedur(ByVal Ad as
String,Optional ByVal Meslek as String=« Vasıfsız
İşçi»)

 End Sub
ParamArray
 Yordamları ve fonksiyonları çağırırken parametrelerin
mutlaka girilmesi gerekir.
 Ancak bazı durumlarda yordamlara ve fonksiyonlara
girilecek parametrelerin sayısı tasarım zamanında belli
olmaz.
 ParamArray anahtar kelimesi ile yordamlara, aynı veri
tipinde bir parametre dizisi verilebilir.
 ParamArray ile verilen dizi, yordamın son
parametresi olarak tanımlanmalıdır.
 Girilen parametrelerin veri tipleri aynı olmak
zorundadır.
2. “ Function-End Function ”
 Fonksiyonlar bir işlem yaptıktan sonra geriye değer
döndürürler. Örneğin, bir çarpma fonksiyonunun
dönüş değeri, parametre olarak verilen iki sayının
çarpımı olacaktır.
 Fonksiyonların tanımları değişkenler gibidir.
 Kullanımı :
Function isim ( Argümanlar) as Döngülecek veritipi
Komutlar
Return döndürücelek değer
End Funciton
 Bir fonksiyon End Function satırı ile biter. Ancak bazı
şartlar gerçekleştiğinde fonksiyonun çalışmasını
bitirmeden çıkmak için Exit Function kullanılabilir.

 Fonksiyon çağrısı
Programın herhangi bir yerinde bir fonksiyonu şu
şekilde çağırabiliriz.
Donendeger=FonksiyonAdi([Giris degerleri])
Örnek :Faktöriyel hesaplayan bir fonksiyon yazınız.

Örnek:Kombinasyon hesaplayan bir fonksiyon yazınız.


 Örnek: Sınıf geçme notu hesaplayan bir fonksiyon
yazınız. Parametre olarak final ve vize notları alacak ve
bunlarla geçme notu hesaplanacaktır.
“ Private ve Public ” Anahtar Kelimeleri
 Prosedürler Public olarak tanımlanırsa programdaki
bütün form ve modüller bu prosedürü çağırabilir.

 Private olarak belirlenen prosedürler ise yalnızca


tanımlandığı form veya modülden çağrılabilir.
ByVal ( Varsayılan ) ve ByRef
Kelimeleri
 Tanımlanmış bir prosedüre değer gönderirken
tanımlanan değişkenlerin değerlerinden ByVal ya da
bellekteki adreslerinden çağırmak için ByRef
kullanılır.
 ByRef olarak tanımlanmış parametrelerde
parametrenin değeri değil, o parametrenin bellekteki
adresi gönderilir.
 Dolayısıyla bu parametreye atanan değer aynı bellek
bölgesinde değişikliğe sebep olacağı için fonksiyonu
çağıran yer de bu değişimden etkilenir.
 ByVal olarak tanımlanmış parametrelerde ise fonksiyona
parametrenin adresi değil bir kopyası gönderilir.
 Bu iki kopya ayrı bellek bölgelerini kullanacaklarından
parametrenin fonksiyon içindeki değişiminden çağıran yer
etkilenmez.
 Ne zaman ByVal ve ne zaman ByRef kullanacağıyla ilgili
bazı ana noktalar şu şekildedir.
 Bir yordamın, kendisine bir bağımsız değişken aracılığıyla
aktarılan bir değişkeni düzeltmesini istemiyorsanız ByVal
kullanın.
 Bir yordamın kendisine aktarılan bir değişkeni
düzeltmesine izin vermek istediğinizde ByRef kullanın.
 Kuşkulu durumlarda ByVal anahtar sözcüğünü kullanın
Matematiksel Fonksiyonlar
 Uygulamalarda çoğu zaman matematiksel
hesaplamalara ihtiyaç duyulur.

 Bu hesaplamaları kolaylaştıran hazır matematik


fonksiyonları vardır.

 Bu fonksiyonlar .NET Framework’te System.Math ad


uzayının (namespace) içinde tanımlanmıştır.
Matematiksel Fonksiyonlar
Abs.
 Verilen bir sayının mutlak değerini döndürür. Dönen
değer her durumda pozitif olacaktır.

 Math.Abs(-22)

 ' Sonuç: 22
Matematiksel Fonksiyonlar
Ceiling & Floor.
 Ceiling fonksiyonu girilen ondalıklı sayıyı bir üst sayıya
tamamlayan fonksiyondur. Bu Fonksiyonda sayı ister 6.4
isterse 6.7 olsun her iki durumda da sayıyı 7.0 yapar.
 Floor fonksiyonu Girilen ondalıklı sayıyı bir alt sayıya
tamamlayan fonksiyondur.Bu Fonksiyonda sayı ister 6.4
isterse 6.7 olsun her iki durumdada sayıyı 6 yapar.
Math.Ceiling(-10.331231)
' Sonuç: -10
Math.Ceiling(10.331231)
' Sonuç: 11
Math.Floor(-10.331231)
' Sonuç: -11
Math.Floor(10.331231)
' Sonuç: 10
Matematiksel Fonksiyonlar
Cos, Sin, Tan.
 Bu fonksiyonlar temel trigonometrik işlemleri
gerçekleştirir.

 Cos fonksiyonu verilen derecenin kosinüsünü, Sin


sayının sinüsünü ve Tan sayının tanjantını hesaplar.

 Parametre olarak verilen derece radyan (360 derece)


değeri olarak kabul edilir.
Exp.
 Bu fonksiyon, e sabitinin değerinin (yaklaşık 2,718281
değerinin), parametrede verilen sayı ile üssünü alır.
Math.Exp(4)
' Sonuç yaklaşık: 54,59815
Log.
 Logaritmik hesaplamalar için kullanılan bir fonksiyondur.
 Taban parametresi verilmezse sayının e tabanında
logaritmasını alır.
Math.Log(1000, 10)
' Sonuç: 3
Math.Log(Math.E)
' Sonuç: 1
Matematiksel Fonksiyonlar
Max & Min.
 Max fonksiyonu verilen iki sayıyı karşılaştırarak büyük
olanı,

 Min fonksiyonu ise sayılardan küçük olanı döndürür.

Math.Max(100, 200)

' Sonuç: 200

Math.Min(100, 200)

' Sonuç: 100


Matematiksel Fonksiyonlar
Pow.
 İlk parametrede verilen bir sayının, ikinci
parametredeki değer kadar üssünü alır.
Math.Pow(10,3)
' Sonuç: 1000
Sqrt.
 Verilen sayının karekökünü hesaplar.
Math.Sqrt(441)
' Sonuç: 21
String Fonksiyonları
 String fonksiyonları, kullanıldığı String değeri
üstünde verilen parametrelere göre değişen işlemler
yaparlar.
 Sonuç olarak geriye döndürdükleri değerler,
fonksiyonun işleyiş amacına göre değişir.

Compare
 İki stringi birbiriyle karşılaştırır.Eğer iki stringde
birbiriyle eşit ise 1 değil ise -1 değeri döndürür.
Concat
 String değerlerini birleştirmek için kullanılır.

Copy
 Stringi kopyalar.
ToUpper & ToLower.
 ToUpper, String değişkenin içindeki küçük
karakterleri büyüğe;
 ToLower, büyük karakterleri küçüğe çevirir.
SubString.
 Verilen bir String değerinin, bir bölümünü String olarak
döndüren fonksiyondur.
 İstenen karakterlerin hangi indisten başlayacağı parametre
olarak geçilir.
 Bu durumda, başlangıç karakterinden sona kadar okunur.
Ancak fonksiyonun, kaç karakter okunacağını belirten bir
parametre kabul eden aşırı yüklemesi de vardır.
 Dim yazi As String = «AhmetSever"
 MsgBox(yazi.Substring(5))
 ' Sonuç : Sever
 MsgBox(yazi.Substring(5, 2))
 ' Sonuç : Se
Trim
 Trim fonksiyonu, Stringin başındaki ve sonundaki
boşlukları siler.
LENGHT
 Bu fonksiyon stringin karakter sayısını yada bir başka
değişle uzunluğunu verir.
Len
 Metin içindeki karakter sayısını verir. Bu sayıya
boşluklarda dahildir
ISNULLOREMPTY
 Stringin olup olmadığını kontrol eder.Yoksa true varsa
false değeri döndürür
REPLACE
 Girelen stringe göre istenilen yerdeki string değiştirilir.

 a = TextBox1.Text
 b = TextBox2.Text
 c = TextBox3.Text
 RichTextBox1.Text = a.Replace(b, c)
REMOVE
 Bu fonksiyon stringde istenilen karakter başlayarak
yine istenilen karaktere kadar silme işlemini yapar.

 a = TextBox1.Text
 b = TextBox2.Text
 c = TextBox3.Text
 RichTextBox1.Text = a.Remove(b, c)

You might also like