5. FONKSİYONLAR VE ALT PROGRAMLAR

Slides:



Advertisements
Benzer bir sunumlar
CEIT 101 Teorik Emrah Soykan - Konu 3 -.
Advertisements

SQL String Fonksiyonları
Fonksiyonlar.
MATLAB MATLAB İLE GRAFİK.
Tuğba DEMİREL
Yrd.Doç.Dr.Levent Malgaca,2010
10. DOĞRUSAL DENKLEM TAKIMLARININ ÇÖZÜMÜ (Matris Uygulamaları)
Yard.Doç.Dr. Selim YILDIRIM
STRING FONKSİYONLARI Tip Tanımları: char a; char ad[16]; char *ad;
Visual Basic 6.0 Ders Notları
SQL de Değişken Tanımlama
OOP4 LAB.
2. VISUAL BASIC PROGRAM YAPISI
4. KONTROL VE DÖNGÜ KOMUTLARI
5. FONKSİYONLAR VE ALT PROGRAMLAR
PROSEDÜRLER (YORDAMLAR) (FONKSİYONLAR VE ALT PROGRAMLAR)
Fonksiyonlar ve Alt Programlar
Excel’de VBA programlama (Visual Basic Application) Ders 4
Excel’de VBA programlama (Visual Basic Application) Ders 7
7. DİZİLER Diziler birçok değişkene aynı adla ulaşmayı sağlayan bir grup veri yapısıdır. Bir dizi aynı tipte ve aynı adı paylaşan bir grup değişken demektir.
Fonksiyonlar Hafta 4.
BPR151 ALGORİTMA VE PROGRAMLAMA - I
CSS Birimleri.
Erişim Denetimi, Fonksiyon
6. HAFTA
METODLAR.
Excel’de VBA programlama (Visual Basic Application) Ders 3
WINDOWS TEMEL İŞLEMLER
Formüller Mustafa AÇIKKAR.
3. DEĞİŞKENLER Değişkenlerin kullanım ve tanımlanma şekli, o dilde program yapmayı ve programların anlaşılırlığını etkileyen önemli faktörlerden biridir.
SQL de Değişken Tanımlama
8. VİSUAL BASİC İLE TEMEL DOSYALAMA İŞLEMLERİ
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 8: Windows Formları
Metotlar.
MESAJ KUTUSU.
WEB PROGRAMLAMA PHP Temelleri Dr. Erman Yükseltürk.
Bilgisayar Programlama
VİSUAL BASIC İLE GRAFİK ÇİZİMİ
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
CHARINDEX CHARINDEX fonksiyonu 2 parametre almaktadır. 1.parametredeki değerin 2.parametre olarak verilmiş değerde olup olmadığını belirtir. Varsa karakter.
a) b) c) d) e) Pi= 4* atan(1) y=Log10 | x | +4 Y= LOG10 (ABS(x))+4
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Amaçlar Bu derste öğrenilecekler: –Uygulamaları “method”
BİL 102 BİLGİSAYAR PROGRAMLAMA
Değişken Türleri.
4. KONTROL VE DÖNGÜ KOMUTLARI
11. MÜHENDİSLİK PROBLEMLERİNİN ÇÖZÜMÜ
Uygulama 3.1: Hesap makinası programını geliştiriniz. UYGULAMA 3.
Diziler Diziler, sayısal veya alfanümerik (string) bir veri setinden oluşur. Tanımlama: Dim Diziadı (DiziBoyutu) As DataType Dim isimler(15) As String.
KLAVYEDE TUŞLAR İMLEÇ NEDİR?
Örnek Adam asmaca oyununun programının yazılması.
Uygulama 2.1: İki tane arka arkaya sayı girilerek girilen iki sayının toplamı MsgBox ile bildiriniz. MsgBox penceresinde information da olsun. Private.
Gereksinimler 1 Adet Textbox (metin kutusu) 1 Adet Label 4 Adet CommandButton (düğme) Pehlivanköy Atatürk Ortaokulu Len() Space() Int() DateTime fonksiyonları.
Uygulama 2.1: İki tane arka arkaya sayı girilerek girilen iki sayının toplamı MsgBox ile bildiriniz. MsgBox penceresinde information da olsun. Private.
UYGULAMALARLA İLGİLİ KOMUTLAR SHELL APPACTIVATE ENVIRON DOEVENTS GİBİ KOMUTLARDIR...
KOMUTLAR ÖNCEKİ KUŞAK BASIC VERSİYONLARINDA ÇOK FAZLA KOMUT İŞLERİ YAPILIYOR OLAMASINA RAĞMEN VB’DE KOMUT KULLANIMI MÜMKÜN OLDUĞUNCA AZALTILMIŞTIR. ÖRNEĞİN.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
FARE VE KLAVYE ÖĞR. GÖR. A. ÇAĞLAR ERKAN.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
VERİ TİPLERİ BYTE:0-255 ARASI TAMSAYI (1 BYTE)
7. HAFTA.
STRING FONKSİYONLARI Dim ders As String
UYGULAMA 4 Uygulama 4.1: Aşağıdaki kodlardaki hataları/eksiklikleri belirleyerek düzeltiniz, ekran çıktılarını yazınız. Programı yazıp çalıştırırarak.
Bu Hafta Öğreneceklerimiz
2. VISUAL BASIC PROGRAM YAPISI
Excel’de VBA Programlama (Visual Basic Application)
Bilgisayar Bilimi Problem Çözme Süreci-2.
S1. Aşağıda Form dizaynı Şekil 1’de verilen Visual Basic projesinde;
5. FONKSİYONLAR VE ALT PROGRAMLAR
Sunum transkripti:

5. FONKSİYONLAR VE ALT PROGRAMLAR Başka bir program tarafından çalıştırılarak kullanılabilen bağımsız komut setlerine prosedür (Yordam) denir. Kullanım sebebi, bir prosedürün program içinde farklı yerlerde bir çok kez kullanılabilir olmasıdır. Ayrıca, aynı komut setlerinin tekrarı program kodunun büyümesine neden olur, hata giderme ve iyileştirme süreçleri de yavaşlar. Prosedürler işlevsel olarak 2 çeşittir; fonksiyonlar (Function), alt programlar (Sub). Bir fonksiyon yada alt program belirli bir işi yapan küçük programcıklardır. Değişken isimlendirilmesindeki kurallar, fonksiyon ve altprogramlar için de uygulanmaktadır. Bir prosedür Public olarak tanımlanırsa programdaki bütün form ve modüllerde, Private olarak tanımlanırsa yalnızca tanımlandığı form ve modülde çağırılabilir.

Bir VB6 program yapısı incelendiğinde, kontrollere ait farklı olayların farklı alt program olarak oluşturulduğu görülür. Örneğin bir Command1 düğmesinin tıklama olayının kendine ait alt programı Private Sub Command1_Click() ‘..... End Sub görünümündedir. Bu iki satırın üstünde ve altında belki binlerce satır olmasına rağmen, bu satırlar arasındaki kodlar tüm diğer satırlardan bağımsız çalışmaktadır. Bu nedenle buradaki program parçasına alt program adı verilir. VB6 da bu amaca yönelik iki farklı alt program yapısı vardır: 1. Function 2. Sub Function alt programı tek bir değer hesaplarken Sub alt programı birden çok değer hesaplar. Function bir işlem içinde de adı ile çağrılabilir. Sub alt programı Call deyimi ile ayrı bir satırda çağrılmak zorundadır. Aralarındaki önemli farklar bundan ibarettir.

ALT PROGRAMLAR Alt programları fonksiyonlardan ayıran tipik özellikleri, çağıran programa, parametre listesindeki değişkenler aracılığıyla birden çok sonuç değeri gönderebilmeleri ve bağımsız bir komut ile çalıştırılmalarıdır. Alt programlar, başka bir prosedür içinden Call komutu ile çağrılırlar. Genel formatı: Sub AltprogramAdı (parametreler) ....... End sub Örnek: Dim alan, x As Integer Sub kare() alan = x * x Print alan End Sub Public alan, x As Integer Sub kare() alan = x * x Form1.Print alan End Sub

FONKSİYONLAR Fonksiyonlar, çağrıldığı programa tek bir sonuç değeri aktarırlar. Bu sonuç sayısal ya da karakter içerikli olabilir. Fonksiyonların diğer bir özelliği, herhangi bir komut satırında çalıştırılırlar ve elde edilen sonucu, adının geçtiği konuma getirirler. Bu nedenle fonksiyon bitirilmeden önce, fonksiyon adına, bir değişkene yapıldığı gibi bir atama yapılmalıdır. Genel formatı: Function FonksiyonAdı (parametreler) ........ FonksiyonAdı=sonuc End function

Örnek: Function kare (x As Single) As Single kare=x*x End Function Yukarıdaki fonksiyonu command nesnesi içinde çağırmak için; Private Sub Command1_Click() Dim x1 As Integer x1 = 2 alan = kare(x1) Print alan End Sub Örnek: Function daire (r As Double) As Double daire = pi * r * r End Function Yukarıdaki fonksiyonu çağırmak için: Aland = daire (r1)

a1, b1 değişkenleri tanımlanmalı ! Parametreler Parametreler, prosedüre (bir fonksiyon veya altprogram) geçişi sağlayan değerlerdir. Kullanılan parametrelerin sayısı, fonksiyon veya altprogramda tanımlanan parametrelerin sayısı ile aynı olmalıdır. İki veya daha çok parametrenin söz konusu olduğu bazı durumlarda, bir fonksiyona ihtiyaç duyulduğunda, “opsiyonel parametre” kullanımı gerekmektedir. Örnek: Function Dikdortgen (a, b As Double) As Double Dikdortgen = a * b End Function Alan1 = Dikdortgen(a1) a1, b1 değişkenleri tanımlanmalı ! HATALI Alan1 = Dikdortgen(a1,b1) DOĞRU

Örnek: Opsiyonel (Optional) parametre kullanımı Function Dikdortgen (a As Double, Optional b As Double) As Double Dikdortgen = a * b End Function Bu durumda her iki kullanımda geçerlidir. Alan1 = Dikdortgen(a1) DOĞRU Alan1 = Dikdortgen(a1,b1) DOĞRU

OLAY ALT PROGRAMLARI Visual Basic olay (event) tabanlı bir program olarak tanımlanabilir. Bu durumda VB kontrollerindeki her bir olay bir alt program olarak kabul edilebilir. Bu tanıımlamalar dikkate alınırsa, Visual Basic’de, kontrollerin kendi olay alt programları vardır. Diğer prosedürler gibi programcı tarafından çağırılmaları gerekmez, alt program ait olduğu kontrol tarafından çağırılır. Bir nesneye tıklamak (click, dbclick), farenin bir nesne üzerinde dolaşması (mousemove), nesnelerin taşınması (drag) windows olaylarından bazılarıdır. Bu olaylar, bazı kodların aktif hale gelmesini (çalışmasını) sağlar.

Genel formatı: Sub kontroladı_olay ([parametreler]) ........ End sub VB’ de Olaylar Gotfocus() Klavye kontrolünün ilgili nesneye geçmesiyle çalışan olaylardır. İlgili nesneye kontrolün geçebilmesi için “visible” ve “enabled” olması gerekir. Keydown() Klavyeden harhangi bir tuşa basıldığında meydana gelen olaylardır. Tuş basılı olduğu müddetçe devam eder. Keyup() Bu olay klavyeden basılan tuş bırakıldığı anda meydana gelir.

Click(), Dbclick() Farenin tıklanmasıyla/çift tıklanmasıyla meydana gelen olaydır. Mousemove() Farenin bir form yada kontrol üzerinde dolaşması sonucu meydana gelen olaylardır. Dolaşma devam ettiği müddetçe bu olay meydana gelir. Mousedown() Fareye basılması sonucu meydana gelen olaydır. Mouseup() Fareye basılmış tuşun bırakılması sonucu meydana gelen olaydır.

If X < 2500 Then Form1.BackColor = RGB(100, 0, 0) Örnek: Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Form1.BackColor = RGB(255, 0, 0) End Sub Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Form1.BackColor = RGB(0, 255, 0) Örnek: Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Form1.Caption = X & " , " & Y If X < 2500 Then Form1.BackColor = RGB(100, 0, 0) If X >= 2500 And X < 4500 Then Form1.BackColor = RGB(0, 100, 0) If X >= 4500 Then Form1.BackColor = RGB(0, 0, 100) End Sub

VISUAL BASIC FONKSİYONLARI (KOMUTLARI) String İşlemleri Metinler üzerinde işlem yapmaya yarayan komutlardır. TRim(string) Verilen metnin her iki tarafindaki boşluk karakterlerini siler. LTrim(string) : Verilen metnin başindaki boşluk karakterini siler. RTrim(string) : Verilen metnin sonundaki boşluk karakterini siler. Len(string) Metin içindeki karakter sayısını verir. Left(string, n) Metin içindeki soldan n karakteri verir. Right(string, n) Metin içindeki sağdan n karakteri verir. Mid(string,başlangıç, uzunluk) Metin içindeki başlangıçtan sona kadar olan karakter sayısını verir.

Ucase(string) Metin içindeki karakterleri büyük harfe çevirir. Lcase(string) Metin içindeki karakterleri küçük harfe çevirir. Space(sayı) Verilen sayı kadar boşluk oluşturur. Asc(harf) Girilen harf için ASCII kodunu verir. Chr(ASCII kodu) ASCII kodu verilen sayının karakter karşılığını verir. (Alt+Sayı) Str(sayı) Verilen sayı’yı string’e dönüştürür. Val(String) Verilen string’i sayıya dönüştürür. Çevirme işlemi geçersiz (sayı olmayan) karaktere kadar devam eder.

Örnek: Dim a, b As String a = Space(15) + "DEÜ Makina" + Space(15) b = "1982" Print a + b Print Trim(a) + b Print RTrim(a) + b Print LTrim(a) + b Örnek: Dim a, b As String a = Space(15) + "DEÜ Makina" + Space(15) b = "1982 " Print Len(a), Len(b) Print Left(a, 18) Print Right(a, 18) Print Mid(a, 16, 3)

x=Str(123) ‘123 artık bir rakam değil, stringdir. x=“123” olur. Örnek: Örnek: Print Val (“124.33”) ‘124.33 Print Val (“123a4.33”) ‘123 Print Val (“a179”) ‘0 Örnek: Private Sub Command1_Click() n1 = Asc(0) n2 = Asc(9) For i = n1 To n2 Print i, Chr(i) Next i End Sub

Renk Belirleme Komutları Kontrollerin zemin renkleri, çizimlerin renkleri veya yazılarin renkleri bu komutlarla değiştirilebilir. Qbcolor (RenkNo) Siyah 8 Gri 1 Mavi 9 Açık Mavi 2 Yeşil 10 Açık Yeşil 3 Cyan 11 Açık Cyan 4 Kırmızı 12 Açık Kırmızı 5 Eflatun 13 Açık Eflatun 6 Sarı 14 Açık Sarı 7 Beyaz 15 Açık Beyaz RenkNo 0-15 arasi değerler alır. Bu renkler 8 temel rengin koyu ve açık halleridir. Rgb (Red, Green, Blue) Renk Kırmızı Yeşil Mavi Siyah 255 Cyan Eflatun Sarı Beyaz Red, Green, Blue 0-255 arası değerler alabilir. Üç rengin farklı tonlarda karışımından renkler oluşturulur.

Matematiksel Komutlar Karekök : sqr() Mutlak değer : abs() Logaritma : log() Exponansiyel : exp() Sin() Cos() Tan() Atn() Not: Açılar radyan cinsinden girilir ! Yuvarlatma Fonksiyonları Int (sayı) Virgülden sonraki sayıyı atar, eğer sayı pozitifse sayının tam kısmını alır, negatifse kendinden bir önceki sayıya yuvarlatılır. Örnek: Print int(60.2) ‘60 Print int(60.6) ‘60 Print int(-60.2) ‘-61 Print int(-60.6) ‘-61 Fix (sayı) Virgülden sonraki sayıyı atar. Round (sayı) En yakın tam sayıya yuvarlar. Örnek: Print Fix(60.6) ‘60 Print Fix(-60.6) ‘-60 Örnek: Print Round(60.6) ‘61 Print Round(-60.6) ‘-61

Rnd Rasgele (Random) sayı üretmek için Rnd fonsiyonu kullanılır. 0 ile 1 arasında rasgele sayılar üretir. Örnek: Print Rnd ‘0 ile 1 arası bir sayı üretir Print Rnd*100 ‘0 ile 100 arasında bir sayı üretir Verilen a-b aralığında rasgele sayılar üretiniz ve sonuçları yuvarlatma fonksiyonları ile yorumlayınız. Örnek: Private Sub Command1_Click() a = 0: b = 15 c = Rnd * (b - a) + a Print c, Int(c), Fix(c), Round(c) End Sub

Shell (Program, [Pencere_tipi] ) Uygulama Komutları Shell Hazırladığımız program içerisinde başka bir programı çalıştırmak için kullanılır. Genel formatı: Shell (Program, [Pencere_tipi] ) Pencere_tipi VbHide Pencere gizli olarak aktifleşir. vbNormalFocus 1 Pencere normal boyutlarında açılır. vbMinimizedFocus 2 Pencere simge olarak açılır. vbMaximizedFocus 3 Pencere tüm ekranı kaplar. vbNormalNoFocus 4 Pencere geri yüklenir. Focus başka komponentte vbMinimizedNoFocus 6 Pencere simge olarak yüklenir. Focus başka komponentte. Örnek: Private Sub Command1_Click() Dim a a = Shell(“Notepad.exe",3) End Sub