28
PROSEDÜRLER (YORDAMLAR) (FONKSİYONLAR VE ALT PROGRAMLAR)

PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

  • Upload
    trinh

  • View
    61

  • Download
    2

Embed Size (px)

DESCRIPTION

PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR). PROSEDÜR NEDİR?. BAŞKA BİR PROGRAM TARAFINDAN ÇALIŞTIRILARAK KULLANILABİLEN BAĞIMSIZ KOMUT SETLERİNE PROSEDÜR DENİR. NEDEN KULLANILIR?. - PowerPoint PPT Presentation

Citation preview

Page 1: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

PROSEDÜRLER (YORDAMLAR)(FONKSİYONLAR VE ALT PROGRAMLAR)

Page 2: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

PROSEDÜR NEDİR?

BAŞKA BİR PROGRAM TARAFINDAN ÇALIŞTIRILARAK KULLANILABİLEN BAĞIMSIZ KOMUT SETLERİNE PROSEDÜR DENİR.

Page 3: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

NEDEN KULLANILIR?

TEMEL NEDENLERİNDEN BİRİ, BİR PROSEDÜRÜN PROGRAM İÇİNDE FARKLI YERLERDE BİR ÇOK KEZ KULLANILABİLİR OLMASIDIR.AYNI KOMUT SETLERİNİN TEKRARI PROGRAM KAYNAK KODUNUN BÜYÜMESİNE NEDEN OLUR, HATA GİDERME VE İYİLEŞTİRME SÜREÇLERİ DE YAVAŞLAR.

Page 4: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

ÖRNEK

N! (N FAKTÖRİYEL) DEĞERİNİ BULAN PROSEDÜR. BU PROSEDÜR BİR DEFA OLUŞTURULUR VE GEREKEN HER YERDE KULLANILIR.C=N!/P!*(N-P)! GİBİ...(KOMBİNASYON HESABI)

Page 5: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

PROSEDÜR ÇEŞİTLERİ

PROSEDÜRLER İŞLEVSEL OLARAK 2 ÇEŞİTTİR. FONKSİYONLAR (FUNCTION) ALT PROGRAMLAR (SUB)

Page 6: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

FONKSİYONLAR

BU TÜR PROSEDÜRLERİN EN TİPİK ÖZELLİĞİ, ÇAĞIRAN PROGRAMA TEK BİR SONUÇ DEĞERİ AKTARMASIDIR. BU SONUÇ SAYISAL YA DA KARAKTER İÇERİKLİ OLABİLİR.

Page 7: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

FONKSİYONLAR

FONKSİYONLARIN DİĞER BİR ÖZELLİĞİ, HERHANGİ BİR KOMUT SATIRINDA ÇALIŞTIRILIRLAR VE ELDE EDİLEN SONUCU, ADININ GEÇTİĞİ KONUMA GETİRİRLER.BU NEDENLE FONKSİYON BİTİRİLMEDEN ÖNCE, FONKSİYON ADINA, BİR DEĞİŞKENE YAPILDIĞI GİBİ BİR ATAMA YAPILMALIDIR.

Page 8: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

FONKSİYONLARIN GENEL FORMATI

function adı (parametreler) ........ ........ adı=sonuc

end function

Page 9: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

KOMBİNASYON HESABI n=val(text1.text) p=val(text2.text) print fakto(n)/(fakto(p)*fakto(n-p)) end function fakto (k)

s=1 for i=2 to k

s=s*i next fakto=s

end function

Page 10: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

KARE FONKSİYONU

function kare(x) sonuc=x*x kare=sonuc

end function

Page 11: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

KARE FONKSİYONU2

function kare(x) kare=x*x

end function

Page 12: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

KULLANIM BİÇİMLERİ

SQR(X) FONKSİYONU X SAYISININ KARESİNİ ALIR. print sqr(x) for i=1 to sqr(x) k=sqr(x)+1

Page 13: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

ALT PROGRAMLAR

ALT PROGRAMLARI FONKSİYONLARDAN AYIRAN TİPİK ÖZELLİKLERİ, ÇAĞIRAN PROGRAMA, PARAMETRE LİSTESİNDEKİ DEĞİŞKENLER ARACILIĞIYLA BİRDEN ÇOK SONUÇ DEĞERİ GÖNDEREBİLMELERİ VE BAĞIMSIZ BİR KOMUT İLE ÇALIŞTIRILMALARIDIR.

Page 14: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

GENEL FORMATI

sub adı (parametreler) ....... .......

end sub

Page 15: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

ÖRNEK

sub selam () print “hoşgeldin ramazan”

end sub

Page 16: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

ÖRNEK2

ad=text1.textselam(ad)

sub selam (x) print ”hoşgeldin” x

end sub

Page 17: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

VB’DE PROSEDÜRLER

VB’DE FONKSİYON VE ALT PROGRAMLARI BELİRTMEK İÇİN PROSEDÜR DEYİMİ KULLANILIR.BİR FONKSİYON YADA ALT PROGRAM BELİRLİ BİR İŞİ YAPAN KÜÇÜK PROGRAMCIKTIR.ÖRNEĞİN BİR ÇOK YERDE FAKTÖRİYEL HESABI YAPMANIZ GEREKİYORSA BUNU BİR FONKSİYONLA HALLEDEBİLİRSİNİZ.

Page 18: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

PROSEDÜRLER

PROGRAMDA YENİ BİR PROSEDÜR TANIMLAMAK İÇİN “TOOLS\ ADD PROSEDURE” KOMUTU KULLANILABİLİR.BURADA PROSEDÜR “PUBLIC” OLARAK TANIMLANIRSA PROGRAMDAKİ BÜTÜN FORM VE MODÜLLERDE, “PRIVATE” OLARAK TANIMLANIRSA YALNIZCA TANIMLANDIĞI FORM VE MODÜLDE ÇAĞIRILABİLİR.

Page 19: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

ÖRNEK

AŞAĞIDAKİ ALT PROGRAM, GİRİLEN BİR SAYININ KARESİNİ YAZDIRIR.kare val(text1.text) ‘ kare çağırılıyor sub kare (x as integer)’ kare alt programı dim ka ka=x*x print ka’ ilgili sayının karesi yazdırılır

end sub

Page 20: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

ÖRNEK

dim xx=val(text1.text)topla(x)’x değişkeni için topla fonksiyonu çalışacak.function topla (sayi) dim i,top,sayi for i=0 to sayi

top=top+i next topla=top

end function

Page 21: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

ÖRNEK

dim i,nfor i=0 to n print i&”!=”& fak(i)

Next

Page 22: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

...DEVAMI...

function fak(x) dim i,s s=1 for i=1 to x

s=s*i

next fak=s’sonucu geri gönderirend function

Page 23: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

BİR SAYININ KARESİNİ BULAN FONKSİYON

Public Function kare (x as integer) kare=x^2

End Function

Page 24: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

BİR SAYININ KAREKÖKÜNÜ BULAN FONKSİYON

Public Function karakok (m as integer) karekok=m^(1/2)

End Function

Page 25: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

OLAY ALT PROGRAMLARI

KULLANICININ TANIMLAYACAĞI ALT PROGRAMLRIN DIŞINDA, KONTROLLERİN KENDİ OLAY ALT PROGRAMLARI VARDIR. DİĞER PROSEDÜRLER GİBİ PROGRAMCI TARAFINDAN ÇAĞIRILMALARI GEREKMEZ, ALT PROGRAM AİT OLDUĞU KONTROL TARAFINDAN ÇAĞIRILIR.

Page 26: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

GENEL FORMATI

sub kontroladı_olay ([parametreler)] ........ ........

end sub

Page 27: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

ÖRNEK

private sub text1_change() dim i,top for i=0 to 9

top=top+val(text(i)) next label1=top

end sub

Page 28: PROSEDÜRLER (YORDAMLAR) ( FONKSİYONLAR VE ALT PROGRAMLAR)

ÖRNEK2

sub text1_change() dim kare kare=val(text1.text)^2 text2.text=kare

end sub