230 likes | 428 Views
BİL 102 BİLGİSAYAR PROGRAMLAMA. 3. HAFTA İŞLENECEK KONULAR ARİTMETİK İŞLEMLER KONTROL KOMUTLARI DÖNGÜ KOMUTLARI. ARİTMETİK İŞLEMLER. Visual Basic’te kullanılan aritmetik işlemler şunlardır. Toplama + Çıkarma - Çarpma * Bölme / Tamsayı bölme Mod mod Üs alma ^.
E N D
BİL 102 BİLGİSAYAR PROGRAMLAMA 3. HAFTA İŞLENECEK KONULAR • ARİTMETİK İŞLEMLER • KONTROL KOMUTLARI • DÖNGÜ KOMUTLARI
ARİTMETİK İŞLEMLER Visual Basic’te kullanılan aritmetik işlemler şunlardır. • Toplama + • Çıkarma - • Çarpma * • Bölme / • Tamsayı bölme \ • Mod mod • Üs alma ^
Toplama ve çıkarma işlemi • Toplama ve çıkarma işlemi iki basit matematiksel işlemdir. toplam = sayı1+sayı2 fark = 5 - eldekalan sonuc = Sayı1 – Sayı2
String verilerin toplanması • İki karekter bilgi + operatörü ile birleştirilebilir. Örnek: Sonuc = “Visual” + “ ”+ “Basic” Bu işlem sonucunda Sonuc=“Visual Basic” olur. Karekter bilgileri birbirine eklemek için toplama (+) operatörü yerine birleştirme (& Ampersand) operatörünü kullanabilirsiniz. Sonuc = “Visual” & “ ”& “Basic”
Çarpma, Bölme ve Tamsayı Bölme İşlemleri( *, /, \ ) Çarpma işlemi toplama işlemi gibi düzdür. Sayılar sırasıyla birbiri ile çarpılarak sonuç elde edilir. Sonuc = Sayı1*Sayı2*Sayı3 Bölme işleminde ise birinci sayının ikinci sayıya bölünmesiyle elde edilir. Sonuc = Sayı1 / Sayı2 Sonuc = 10 / 6 ‘ Sonuc değişkeninin değeri 1.66 Tamsayı bölme işleminde bölüm sonucunun tamsayı kısmı döndürülür. Sonuc = Sayı1 \ Sayı2 Sonuc = 10 \ 6 ‘ Sonuc değişkeninin değeri 1 ‘dir.
Üs(^) ve Mod ( mod) işlemi Bir sayının üssü alınmak istenirse, ^ operatörü kullanılır. Sonuc = 3 ^ 2 ‘ Sonuc 9 olur. Sonuc = 10 ^ 0 ‘ Sonuc 1 olur. Sonuc = 10 ^ -2 ‘ Sonuc .01 olur. Mod işlemi bölme işleminde kalanı verir. Sonuc = 11 mod 3 ‘ Sonuc 2 olur.
İşleçlerin (Operatörlerin) öncelikleri Aritmetik ifadelerde öncelik parantez içindeki ifadededir. Eğer parantez kullanılmıyorsa, o zaman operatörlerin öncelikleri, • Üs alma (^) • Negatif (-) • Çarpma ve bölme (*/) • Tamsayı bölme (\) • Mod işlemi (Mod) • Toplama ve çıkarma (+-)
VB ile a = 5 + 2 / 5 + 6 YANLIŞ a = 5 + 2 / (5 + 6) DOĞRU YANLIŞ a = 5 + 2 *6/ 15 *6*5 DOĞRU a = 5 + (2 *6)/(15 *6)*5 DOĞRU a = 5 + 2 *6/(15 *6)*5 YANLIŞ a = 5 + 2 * 6 / 15 / 4 * 8 DOĞRU a = 5 + 2 * 6 /( 15 / 4) * 8
Karşılaştırma operatörleri Bu operatörler ile verilen ifadeler arasında karşılaştırmalar yapılır. Genel karşılaştırma operatörleri aşagıda verilmiştir. • = operatörü ( eşittir) • < > operatörü ( eşit değildir) • > operatörü ( büyüktür) • < operatörü (küçüktür) Eşittir operatörü verilen iki ifadenin eşit olup olmadığını anlamak için kullanılmaktadır. A=12: B=45Sonuc=(A=B) 'Sonuc=FalseC=23: D=23Sonuc=(A=D) 'Sonuc=True
KONTROL DEYİMLERİ Kontrol deyimleri belirli ifadeleri kontroletmek veya bazı şartların gerçekleşip gerçekleşmedigini kontrol etmek amacıyla kullanılan komutlardır. Visual Basic ‘te kullanılan kontrol deyimleri • If-End If kontrol yapısı • Select Case yapısı
IF - END IF Deyimi If Kosul ThenKoşul dogru ise yapılması istenen işlemler End If Kullandığımız her If kontrolü için mutlaka bir End If kullanmalıyız. Bu kontrol yapısının sonlandığını belirtir. Örnek: If ad="FATIH" Then Maas=1800End If
Eğer koşul gerçekleşmemiş ise yapılması istenen bazı işlemler varsa o zaman şu şekilde bir kontrol yapısını kullanabiliriz. If Koşul ThenKoşul dogru ise yapılması istenen işlemler. ElseKoşul yanlış ise yapılması istenen işlemler. End If Aynı anda bir kaç koşul için karşılaştırma yapılmak isternirse; If Koşul ThenKoşul dogru ise yapılması istenen işlemler. ElseIf Koşul2ThenKoşul2 dogru ise yapılması istenen işlemler. ElseIf Koşul3ThenKoşul3 dogru ise yapılması istenen işlemler. ElseBütün koşullar yanlış ise yapılması istenen işlemler. End If
Option Explicit Private Sub Command1_Click() Dim ay As Integer ay = InputBox("İstediginiz Ayı Rakam İle Giriniz (1-12)", "If-EndIf Ornegi") Form1.Cls Form1.FontSize = 16 Form1.FontBold = True Form1.ForeColor = RGB(255, 0, 0) Form1.CurrentX = 2500 Form1.CurrentY = 1500 If ay = 12 Or ay = 1 Or ay = 2 Then Print "KIŞ" ElseIf ay >= 3 And ay <= 5 Then Print "İLKBAHAR" ElseIf ay >= 6 And ay <= 8 Then Print "YAZ" ElseIf ay >= 9 And ay <= 11 Then Print "SONBAHAR" Else Print "Bir yılda 12 ay vardır!" End If End Sub Private Sub Form_Load() Form1.Caption = "If-Then-End If Kontrol Bloğu Örneği" Command1.Caption = "BAŞLA" Form1.BackColor = RGB(255, 255, 255) End Sub
Select Case Yapısı Bu kontrol yapısında sadece bir degişkenin durum kontrolü yapılır.Kontrolü yapılacak degişkenin genel olarak alabilecegi degerler belirli ise bu yapının kukllanılması If yapısına göre daha avantajlıdır. Yazılış biçimi genel olarak aşagıdaki şekildeki gibidir.Select Case DegiskenCase Deger1 Degisken=Deger1 oldugu durumda yapılması istenen işlemler Case Deger2 Degisken=Deger2 oldugu durumda yapılması istenen işlemler Case Else Degisken yukarıdaki degerler den hicbirine eşit degil ise yapılacak işlemler End SelectKullandıgımız her Select ifadesi için bir End Select kullanmalıyız.
Örnek: Private Sub Command1_Click() Dim ay As Double giris: ay = InputBox("Yilin Hangi Ayi (1-12 Arasinda)") Select Case ay Case 3 To 5 Print "Ilkbahar" Case 6 To 8 Print "Yaz" Case 9 To 11 Print "Sonbahar" Case 12, 1 To 2 Print "Kış" Case Else Print "Lutfen 1-12 Arasinda deger Giriniz" GoTo giris End Select End Sub Örnek : Private Sub Command1_Click() Dim ay As Double giris: ay = InputBox("Yilin Hangi Ayi (1-6 Arasinda)") Select Case ay Case 1 Print "Ocak" Case 2 Print "Subat" Case 3 Print "Mart" Case 4 Print "Nisan" Case 5 Print "Mayis" Case 6 Print "Haziran" Case Else Print "Lutfen 1-6 Arasinda deger Giriniz" GoTo giris End Select End Sub
Döngüler Bu komutlar belirli işlemleri belirli sayıda veya herhangi bir şart sağlanana kadar tekrarlamak amacı ile kullanılırlar. Bu komutlar aşagıda verilmiştir. • For ….. Next Döngüsü • Do …Loop Döngüsü • Do While …. Loop Döngüsü • Do Until ……Loop Döngüsü • Do …… Loop While Döngüsü • Do …… Loop Until Döngüsü
For...Next Döngüsü Bütün dillerde bulunan en temel döngü yapısıdır. Genel yazım şekli aşagıdaki şekildeki gibidir. For sayac=başlangıçTo bitiş Step artım Arada işletilecek komutlar Next sayac Dim Faktoriyel As Double Dim i As Integer Faktoriyel=1For i=1 To SayiFaktoriyel= Faktoriyel *iNext iPrint Faktoriyel Dim i As Integer For i = 1 To 5 Print i, i ^ 2 Next i
Örnek (For Next Döngüsünden Çıkış) Dim a As Double Dim i As Integer For i = 1 To 5 a = InputBox("Bir sayi giriniz (Döngüden çikmak için -1)", "Döngu Ornegi") Print a ^ 2 If a = -1 Then Print "Programi Bitirdiniz..." Exit For End If Next i Private Sub Command1_Click() Dim a As Double 10 a = InputBox("Sayi Giriniz...(Bitirmek Icin -1 Giriniz)") If a = -1 Then Exit Sub Print a, a ^ 2 GoTo 10 End Sub
Örnek: Sonsuz Döngü (Ctrl+Break ile kesilebilir), Command2 işe yaramaz. Private Sub Command1_Click() Do Print "VB ile Programlama" Loop End Sub Private Sub Command2_Click() End End Sub Örnek: Sonsuz Döngü Command2 ile sonlandırılabilir. Private Sub Command1_Click() Do Print "VB ile Programlama" DoEvents Loop End Sub Private Sub Command2_Click() End End Sub
Do While Koşul…Loop deyimi Bir blok deyimi, verilen KOŞUL doğru (True) olduğu sürece işletir. Yapısı: Do While Kosul Komutlar Loop Örnek : Fact=1: I=2: Sayi=10Do While I<=SayiFact=Fact * II=I+1LoopPrint Fact
Do Until Koşul…Loop Deyimi Bu blok deyimi verilen koşul doğru (True) olana kadar işletir. • Yapısı Do Until Koşul Komutlar Loop Örnek : Fact=1: I=5Do Until I=1Fact=Fact * II=I-1Loop Print Fact
İki Do...Loop döngüsünü iç içe kullanabiliriz. Do Until Kosul1 … Do Until Kosul2 ... ... Loop … Loop Her Do-Until için mutlaka bir Loop yerleştirmeliyiz.
Private Sub Command1_Click() Dim a a = Now Label1.Caption = Format(a, "hh:mm:ss") Label2.Caption = Format(a, "dd:mm:yy") Label3.Caption = Format(a, "dddd") Label4.Caption = Format(a, "mmmm") Label5.Caption = Format(a, "yyyy") End Sub Private Sub Timer1_Timer() Form1.Cls Form1.FontBold = True Form1.FontSize = 14 Form1.FontName = "Verdana" Form1.CurrentX = 1000 Form1.CurrentY = 1000 Print "Su anki zaman: " & Time Form1.CurrentX = 1000 Form1.CurrentY = 1500 Print "Su anki tarih:" & Date End Sub Zaman ve Tarih Komutları Now: Bilgisayar Saati,Gün, Ay, Yıl Bilgilerini verir. Time: Bilgisayar saatini verir Date: Bilgisayar tarihini verir.