bİl 102 bİlgİsayar programlama

23
BİL 102 BİLGİSAYAR PROGRAMLAMA BİL 102 BİLGİSAYAR PROGRAMLAMA 3. HAFTA İŞLENECEK KONULAR 3. HAFTA İŞLENECEK KONULAR ARİTMETİK İŞLEMLER ARİTMETİK İŞLEMLER KONTROL KOMUTLARI KONTROL KOMUTLARI DÖNGÜ KOMUTLARI DÖNGÜ KOMUTLARI

Upload: thetis

Post on 23-Jan-2016

66 views

Category:

Documents


0 download

DESCRIPTION

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\ Modmod Üs alma^. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: BİL 102 BİLGİSAYAR PROGRAMLAMA

BİL 102 BİLGİSAYAR PROGRAMLAMABİL 102 BİLGİSAYAR PROGRAMLAMA

3. HAFTA İŞLENECEK KONULAR3. HAFTA İŞLENECEK KONULAR

ARİTMETİK İŞLEMLERARİTMETİK İŞLEMLER KONTROL KOMUTLARIKONTROL KOMUTLARI DÖNGÜ KOMUTLARIDÖNGÜ KOMUTLARI

Page 2: BİL 102 BİLGİSAYAR PROGRAMLAMA

ARİTMETİK İŞLEMLERARİTMETİK İŞLEMLERVisual Basic’te kullanılan Visual Basic’te kullanılan aritmetik işlemler aritmetik işlemler şunlardır.şunlardır.

ToplamaToplama ++ ÇıkarmaÇıkarma -- ÇarpmaÇarpma ** BölmeBölme // Tamsayı bölmeTamsayı bölme \\ ModMod modmod Üs almaÜs alma ^̂

Page 3: BİL 102 BİLGİSAYAR PROGRAMLAMA

Toplama ve çıkarma işlemiToplama ve çıkarma işlemi

Toplama ve çıkarma işlemi iki basit Toplama ve çıkarma işlemi iki basit matematiksel işlemdir. matematiksel işlemdir.

toplam = sayı1+sayı2toplam = sayı1+sayı2

fark = 5 - eldekalanfark = 5 - eldekalan

sonuc = Sayı1 – Sayı2sonuc = Sayı1 – Sayı2

Page 4: BİL 102 BİLGİSAYAR PROGRAMLAMA

String verilerin toplanmasıString verilerin toplanması

İki karekter bilgi + operatörü ile İki karekter bilgi + operatörü ile birleştirilebilir. birleştirilebilir.

Örnek:Örnek:Sonuc = “Visual” + “ ”+ “Basic” Sonuc = “Visual” + “ ”+ “Basic”

Bu işlem sonucunda Sonuc=“Visual Basic” olur.Bu işlem sonucunda Sonuc=“Visual Basic” olur.

Karekter bilgileri birbirine eklemek için toplama Karekter bilgileri birbirine eklemek için toplama (+) operatörü yerine birleştirme (& (+) operatörü yerine birleştirme (& Ampersand) operatörünü kullanabilirsiniz.Ampersand) operatörünü kullanabilirsiniz.

Sonuc = “Visual” & “ ”& “Basic” Sonuc = “Visual” & “ ”& “Basic”

Page 5: BİL 102 BİLGİSAYAR PROGRAMLAMA

Çarpma, Bölme ve Tamsayı Çarpma, Bölme ve Tamsayı Bölme İşlemleri( *, /, \ )Bölme İşlemleri( *, /, \ ) Çarpma işlemi toplama işlemi gibi düzdür. Sayılar Çarpma işlemi toplama işlemi gibi düzdür. Sayılar

sırasıyla birbiri ile çarpılarak sonuç elde edilir. sırasıyla birbiri ile çarpılarak sonuç elde edilir. Sonuc = Sayı1*Sayı2*Sayı3Sonuc = Sayı1*Sayı2*Sayı3

Bölme işleminde ise birinci sayının ikinci sayıya Bölme işleminde ise birinci sayının ikinci sayıya bölünmesiyle elde edilir. bölünmesiyle elde edilir. Sonuc = Sayı1 / Sayı2Sonuc = Sayı1 / Sayı2Sonuc = 10 / 6 ‘ Sonuc değişkeninin değeri 1.66Sonuc = 10 / 6 ‘ Sonuc değişkeninin değeri 1.66

Tamsayı bölme işleminde bölüm sonucunun tamsayı Tamsayı bölme işleminde bölüm sonucunun tamsayı kısmı döndürülür. kısmı döndürülür. Sonuc = Sayı1 \ Sayı2Sonuc = Sayı1 \ Sayı2Sonuc = 10 \ 6 ‘ Sonuc değişkeninin değeri 1 ‘dir.Sonuc = 10 \ 6 ‘ Sonuc değişkeninin değeri 1 ‘dir.

Page 6: BİL 102 BİLGİSAYAR PROGRAMLAMA

Üs(^) ve Mod ( mod) Üs(^) ve Mod ( mod) işlemiişlemi

Bir sayının üssü alınmak istenirse, ^ Bir sayının üssü alınmak istenirse, ^ operatörü kullanılır.operatörü kullanılır.

Sonuc = 3 ^ 2 ‘ Sonuc 9 olur.Sonuc = 3 ^ 2 ‘ Sonuc 9 olur.

Sonuc = 10 ^ 0 ‘ Sonuc 1 olur.Sonuc = 10 ^ 0 ‘ Sonuc 1 olur.

Sonuc = 10 ^ -2 ‘ Sonuc .01 olur.Sonuc = 10 ^ -2 ‘ Sonuc .01 olur.

Mod işlemi bölme işleminde kalanı verir.Mod işlemi bölme işleminde kalanı verir.

Sonuc = 11 mod 3 ‘ Sonuc 2 olur.Sonuc = 11 mod 3 ‘ Sonuc 2 olur.

Page 7: BİL 102 BİLGİSAYAR PROGRAMLAMA

İşleçlerin (Operatörlerin) İşleçlerin (Operatörlerin) öncelikleriöncelikleri

Aritmetik ifadelerde öncelik Aritmetik ifadelerde öncelik parantez içindeki ifadededir. parantez içindeki ifadededir. Eğer parantez kullanılmıyorsa, Eğer parantez kullanılmıyorsa, o zaman operatörlerin o zaman operatörlerin öncelikleri,öncelikleri,

1.1.Üs alma (^)Üs alma (^)

2.2.Negatif (-)Negatif (-)

3.3.Çarpma ve bölme (*/)Çarpma ve bölme (*/)

4.4.Tamsayı bölme (\)Tamsayı bölme (\)

5.5.Mod işlemi (Mod)Mod işlemi (Mod)

6.6.Toplama ve çıkarma (+-)Toplama ve çıkarma (+-)

2^4/2*1510sonuc 2^4/2*1510sonuc

16/2*1510sonuc 16/3010sonuc

875.110sonuc

875.11sonuc

Page 8: BİL 102 BİLGİSAYAR PROGRAMLAMA

1818.565

25a

a = 5 + 2 / (5 + 6)

VB ilea = 5 + 2 / 5 + 6 YANLIŞ

DOĞRU

6666.55*6*156*2

5a a = 5 + 2 *6/ 15 *6*5

YANLIŞ

a = 5 + (2 *6)/(15 *6)*5DOĞRU

a = 5 + 2 *6/(15 *6)*5DOĞRU

6.308*

4156*2

5a a = 5 + 2 * 6 / 15 / 4 * 8a = 5 + 2 * 6 /( 15 / 4) * 8

YANLIŞ

DOĞRU

Page 9: BİL 102 BİLGİSAYAR PROGRAMLAMA

Karşılaştırma operatörleriKarşılaştırma operatörleri

Bu operatörler ile verilen ifadeler arasında karşılaştırmalar 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 yapılır. Genel karşılaştırma operatörleri aşagıda verilmiştirverilmiştir..

1.1. = operatörü ( eşittir)= operatörü ( eşittir)

2.2. < > operatörü ( eşit değildir)< > operatörü ( eşit değildir)

3.3. > operatörü ( büyüktür)> operatörü ( büyüktür)

4.4. < operatörü (küçüktür) < operatörü (küçüktür)

Eşittir operatörü verilen iki ifadenin eşit olup olmadığını Eşittir operatörü verilen iki ifadenin eşit olup olmadığını anlamak için kullanılmaktadır.anlamak için kullanılmaktadır.

A=12A=12: : B=45B=45SonucSonuc == (A=B) (A=B) 'Sonuc=False'Sonuc=FalseC=23C=23: : D=23D=23SonucSonuc == (A=D) (A=D) 'Sonuc=True'Sonuc=True

Page 10: BİL 102 BİLGİSAYAR PROGRAMLAMA

KONTROL DEYİMLERİKONTROL DEYİMLERİ

Kontrol Kontrol deyimlerideyimleri belirli ifadeleri kontrol belirli ifadeleri kontrol etmek veya bazı şartların gerçekleşip etmek veya bazı şartların gerçekleşip gerçekleşmedigini kontrol etmek gerçekleşmedigini kontrol etmek amacıyla kullanılan komutlardıramacıyla kullanılan komutlardır. .

Visual Basic ‘te kullanılan kontrol Visual Basic ‘te kullanılan kontrol deyimlerideyimleriIf-End IfIf-End If kontrol yapısı kontrol yapısıSelect CaseSelect Case yapısı yapısı

Page 11: BİL 102 BİLGİSAYAR PROGRAMLAMA

IF - END IF DeyimiIF - END IF DeyimiIfIf Kosul Kosul ThenThen KoKoşşul dogru ise yapılması istenen işlemlerul dogru ise yapılması istenen işlemlerEndEnd I If f KullandıKullandığğımız her ımız her IfIf kontrol kontrolüü için mutlaka bir için mutlaka bir EndEnd I Iff kullanmalıyız. Bu kontrol yapısının sonlandıkullanmalıyız. Bu kontrol yapısının sonlandığğını ını belirtir. belirtir.

Örnek: Örnek: If ad="FATIH" Then If ad="FATIH" Then Maas=1Maas=1880000EndEnd I Iff

Page 12: BİL 102 BİLGİSAYAR PROGRAMLAMA

      EEğğer koşul gerçekleşmemiş ise yapılması istenen bazı işlemler varsa o er koşul gerçekleşmemiş ise yapılması istenen bazı işlemler varsa o zaman şu şekilde bir kontrol yapısını kullanabiliriz. zaman şu şekilde bir kontrol yapısını kullanabiliriz.

IfIf Ko Koşşul ul ThenThen KoKoşşul dogru ise yapılması istenen işlemler. ul dogru ise yapılması istenen işlemler. ElseElse KoKoşşul yanlış ise yapılması istenen işlemler. ul yanlış ise yapılması istenen işlemler. EndEnd I Iff

    Aynı anda bir kaç koşul için karşılaştırma yapılmak isternirse;     Aynı anda bir kaç koşul için karşılaştırma yapılmak isternirse;

IfIf Ko Koşşul ul ThenThen KoKoşşul dogru ise yapılması istenen işlemler. ul dogru ise yapılması istenen işlemler. ElseElseIIff Ko Koşşulul22 ThenThen KoKoşşulul22 dogru ise yapılması istenen işlemler. dogru ise yapılması istenen işlemler. ElseElseIIff Ko Koşşulul33 ThenThen KoKoşşulul33 dogru ise yapılması istenen işlemler. dogru ise yapılması istenen işlemler. ElseElse Bütün koBütün koşşullar yanlış ise yapılması istenen işlemler. ullar yanlış ise yapılması istenen işlemler. EndEnd I Iff

Page 13: BİL 102 BİLGİSAYAR PROGRAMLAMA

Option ExplicitPrivate 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 IfEnd SubPrivate 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

Page 14: BİL 102 BİLGİSAYAR PROGRAMLAMA

Select Case YapısıSelect Case YapısıBu kontrol yapısında sadece bir degişkenin durum kontrolü yaBu kontrol yapısında sadece bir degişkenin durum kontrolü yappılır.Kontrolü ılır.Kontrolü yapılacak degişkenin genel olarak alabilecegi degerler belirli ise bu yapının 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 kukllanılması If yapısına göre daha avantajlıdır. Yazılış biçimi genel olarak aşagıdaki şekildeki gibidiraşagıdaki şekildeki gibidir..

Select Case DegiskenSelect Case Degisken Case Deger1 Case Deger1 Degisken=Deger1 oldugu durumda yapılması istenen işlemler Degisken=Deger1 oldugu durumda yapılması istenen işlemler Case Deger2 Case Deger2 Degisken=Deger2 oldugu durumda yapılması istenen işlemler Degisken=Deger2 oldugu durumda yapılması istenen işlemler Case Else Case Else Degisken yukarıdaki degerler den hicbirine eşit degil ise Degisken yukarıdaki degerler den hicbirine eşit degil ise yapılacak yapılacak işlemler işlemler

End SelectEnd Select

Kullandıgımız her Select ifadesi için bir End Select kullanmalıyız. Kullandıgımız her Select ifadesi için bir End Select kullanmalıyız.

Page 15: BİL 102 BİLGİSAYAR PROGRAMLAMA

Ö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 SelectEnd Sub

Ö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 SelectEnd Sub

Page 16: BİL 102 BİLGİSAYAR PROGRAMLAMA

DöngülerDöngülerBu komutlar belirli işlemleri belirli Bu komutlar belirli işlemleri belirli sayıda veya herhangi bir şart sağlanana sayıda veya herhangi bir şart sağlanana kadar tekrarlamak amacı ile kullanılırlar. kadar tekrarlamak amacı ile kullanılırlar. Bu komutlar aşagıda verilmiştir. Bu komutlar aşagıda verilmiştir.

For ….. Next DöngüsüFor ….. Next Döngüsü Do …Loop DöngüsüDo …Loop Döngüsü Do While …. Loop Döngüsü Do While …. Loop Döngüsü Do Until ……Loop Döngüsü Do Until ……Loop Döngüsü Do …… Loop While Döngüsü Do …… Loop While Döngüsü Do …… Loop Until Döngüsü Do …… Loop Until Döngüsü

Page 17: BİL 102 BİLGİSAYAR PROGRAMLAMA

For...Next DöngüsüFor...Next DöngüsüBütün dillerde bulunan Bütün dillerde bulunan en temel en temel döngü yapısıdır. döngü yapısıdır. Genel yazım şekli aşagıdaki şekildeki gibidirGenel yazım şekli aşagıdaki şekildeki gibidir. .

ForFor sayac=başlangıç sayac=başlangıç ToTo bitiş bitiş StepStep artım artım Arada işletilecek komutlar Arada işletilecek komutlar NextNext sayac sayac

Dim i As IntegerFor i = 1 To 5 Print i, i ^ 2Next i

Dim Faktoriyel As DoubleDim Faktoriyel As Double

Dim i As IntegerDim i As Integer

FaFakkttooriyel=1riyel=1For For ii=1 To Sayi=1 To Sayi FaFakkttooriyel= Fariyel= Fakkttooriyel *riyel *iiNext Next iiPrint FaktoriyelPrint Faktoriyel

Page 18: BİL 102 BİLGİSAYAR PROGRAMLAMA

Örnek (For Next Döngüsünden Çıkış)

Dim a As DoubleDim 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 Double10 a = InputBox("Sayi Giriniz...(Bitirmek Icin -1 Giriniz)") If a = -1 Then Exit Sub Print a, a ^ 2 GoTo 10End Sub

Page 19: BİL 102 BİLGİSAYAR PROGRAMLAMA

Örnek: Sonsuz Döngü

(Ctrl+Break ile kesilebilir), Command2 işe yaramaz.

Private Sub Command1_Click() Do Print "VB ile Programlama" LoopEnd SubPrivate Sub Command2_Click() EndEnd Sub

Örnek: Sonsuz Döngü

Command2 ile sonlandırılabilir.

Private Sub Command1_Click() Do Print "VB ile Programlama" DoEvents Loop

End SubPrivate Sub Command2_Click() EndEnd Sub

Page 20: BİL 102 BİLGİSAYAR PROGRAMLAMA

Do While KoşulDo While Koşul……Loop deyimiLoop deyimi

Bir blok deyimi, verilen KOŞUL doğru (True) olduğu sürece işletir.Bir blok deyimi, verilen KOŞUL doğru (True) olduğu sürece işletir.Yapısı:Yapısı:

Do While Kosul Do While Kosul Komutlar Komutlar LoopLoop

Örnek : Örnek : Fact=1Fact=1:: I=2 I=2: Sayi=10: Sayi=10Do While I<=SayiDo While I<=Sayi Fact=Fact * IFact=Fact * I I=I+1I=I+1LoopLoop Print FactPrint Fact

Page 21: BİL 102 BİLGİSAYAR PROGRAMLAMA

Do Until KoşulDo Until Koşul……Loop DeyimiLoop DeyimiBu blok deyimi verilen koşul doğru (True) olana Bu blok deyimi verilen koşul doğru (True) olana

kadar işletir.kadar işletir. YapısıYapısı

Do Until Koşul Do Until Koşul Komutlar Komutlar LoopLoop

Örnek : Örnek : Fact=1Fact=1:: I= I=55Do Until I=1Do Until I=1 Fact=Fact * IFact=Fact * I I=I-1I=I-1LoopLoop

Print FactPrint Fact

Page 22: BİL 102 BİLGİSAYAR PROGRAMLAMA

İİki Do...Loop döngüsünü iç içe kullanabiliriz.ki Do...Loop döngüsünü iç içe kullanabiliriz.

        Do Until Kosul1 Do Until Kosul1 … … Do Until Kosul2 Do Until Kosul2 ... ... ... ...

Loop Loop … … Loop Loop

      Her DoHer Do--Until için mutlaka bir Loop Until için mutlaka bir Loop yerleştirmeliyiz. yerleştirmeliyiz.

Page 23: BİL 102 BİLGİSAYAR PROGRAMLAMA

Now: Bilgisayar Saati,Gün, Ay, Yıl Bilgilerini verir.

Time: Bilgisayar saatini verir

Date: Bilgisayar tarihini verir.

Zaman ve Tarih Komutları

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:" & DateEnd Sub

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