mt 373 visual basic programlama laboratuvar...

76
MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT 1 MT 373 Visual Basic Programlama Laboratuvar Uygulamaları-1 Uygulama 1) Aşağıdaki genel (global) değişken tanımlamalarını VB üzerinde yapınız. Süre 10 dak. a) İki adet ondalıklı sayı tanımlaması yapınız b) İki adet tamsayı tanımlaması yapınız c) Dört adet karakter tanımlaması yapınız Uygulama 2) Aşağıdaki yerel (local) değişken tanımlamalarını VB üzerinde yapınız. Süre 10 dak. Uygulama 3) aşağıda daha önce tanımladığınız değişkenleri uygun değer atadıktan sonra msgbox() fonksiyonu kullanarak ekrana yazdırın. Süre 25 dak. a) Label1.caption ekle b) text1.text ile değişkenlere değer ata c) text1.text ile label1.caption a veri girişi yap d) text1.text ile label1.caption a değere çevrilmiş veri girişi yap Uygulama 4) Kürenin hacmini ve yüzey alanını hesaplayan aşağıdaki Visual Basic programını yazın. Süre 15 dak.

Upload: dangtram

Post on 09-Aug-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

1

MT 373 Visual Basic Programlama Laboratuvar Uygulamaları-1

Uygulama 1) Aşağıdaki genel (global) değişken tanımlamalarını VB üzerinde yapınız. Süre 10

dak.

a) İki adet ondalıklı sayı tanımlaması yapınız

b) İki adet tamsayı tanımlaması yapınız

c) Dört adet karakter tanımlaması yapınız

Uygulama 2) Aşağıdaki yerel (local) değişken tanımlamalarını VB üzerinde yapınız. Süre 10

dak.

Uygulama 3) aşağıda daha önce tanımladığınız değişkenleri uygun değer atadıktan sonra

msgbox() fonksiyonu kullanarak ekrana yazdırın. Süre 25 dak.

a) Label1.caption ekle

b) text1.text ile değişkenlere değer ata

c) text1.text ile label1.caption a veri girişi yap

d) text1.text ile label1.caption a değere çevrilmiş veri girişi yap

Uygulama 4) Kürenin hacmini ve yüzey alanını hesaplayan aşağıdaki Visual Basic programını

yazın. Süre 15 dak.

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

2

Private Sub Command1_Click()

Dim r As Double

Dim v As Double

Dim s As Double

pi = 3.159

r = Val(text1.text)

v = (4 * pi * (r * r * r)) / 3

s = 4 * pi * r * r

MsgBox ("Kürenin Hacmi =" & v)

MsgBox ("Kürenin Yüzey Alanı =" & s)

End Sub

Uygulama 5) Küresel bir k sabit yüzey alanına sahip su deposunu n/saat değişken ile

dolduran musluk yine bu depoyu m/saat değişken ile boşaltan musluk mevcuttur. Klavyeden

girilen m ve n değerlerine göre deponun doluluk miktarını gösteren Visual Basic Bilgisayar

programının kodlarını yazın. Süre 30 dak.

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

3

MT 373 Visual Basic Programlama Laboratuvar Uygulamaları-2

Uygulama 6) form bileşeni üzerine bir adet komut butonu, bir text bileşeni ekleyin. Text

bileşeninden girilen değerin 0 sıfırdan büyük olma durumunu kontrol edin. Ekrana msgbox ile

mesaj verin

Private Sub Command2_Click()

Dim x, f As Single

x = text1.Text

If x > 0 Then

MsgBox ("girilen değer sifirdan büyüktür")

End If

End Sub

Private Sub Command1_Click()

End

End Sub

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

4

Uygulama 7) form bileşeni üzerine bir adet komut butonu, bir text ve bir adet label1 bileşeni

ekleyin. Text bileşeninden girilen değerin 0 sıfırdan büyük olma durumunu kontrol edin.

Ekrana label1 bileşeni ile mesaj verin. Form load altprogramına text1.text = “ “ ve

label1.caption = “ “ şeklinde başlangıçta programınızın bileşenleri temizlemesini sağlayın.

Private Sub Command2_Click()

Dim x, f As Single

x = text1.Text

If x > 0 Then

Label1.caption = "girilen değer sifirdan büyüktür"

End If

End Sub

Private Sub Command1_Click()

End

End Sub

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

5

Uygulama 8) form bileşeni üzerine bir adet komut butonu, bir text ve bir adet label1

bileşeni ekleyin. Text bileşeninden girilen değerin 0 sıfırdan büyük olma ve aksi durumu

kontrol edin. Ekrana msgbox fonksiyonu ile mesaj verin

Private Sub Command1_Click()

Dim x, f As Single

x = text1.Text

If x > 0 Then

Msgbox( "girilen değer sifirdan büyüktür)

Else

Msgbox(“girilen değer sifirdan küçüktür)

End If

End Sub

Private Sub Command2_Click()

End

End Sub

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

6

Uygulama 9) form bileşeni üzerine bir adet komut butonu, bir text ve bir adet label1 bileşeni

ekleyin. Text bileşeninden girilen değerin 0 sıfırdan büyük olma ve aksi durumu kontrol edin.

Ekrana label1 bileşeni ile mesaj verin

Private Sub Command1_Click()

Dim x, f As Single

x = text1.Text

If x > 0 Then

Label1.caption = "girilen değer sifirdan büyüktür"

Else

Label1.caption = "girilen değer sifirdan küçüktür"

End If

End Sub

Private Sub Command2_Click()

End

End Sub

Uygulama 10) x değişkeninin tanımlı olduğu aralıkta değerini hesaplayan ve sonucu msgbox

fonksiyonu ile ekrana yazan programı yazınız. Command1.caption özelliğini Hesapla olarak

değiştirin.

Private Sub Command1_Click()

Dim x, f As Single

x = InputBox("x Değerini Girin", "Sayı Giriş Kutusu")

If x >= 0 Then

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

7

f = Sqr(x ^ 2 + 5)

Else

f = Abs(x - 3)

End If

MsgBox ("x =" & x & "için f(" & x & ")=" & f & " İşlem sonucu")

End Sub

Private Sub Command2_Click()

End

End Sub

Uygulama 11) Uygulama 10 bir adet komut butonu ekleyin, caption özelliğini Temizle olarak

değiştirin ve aşağıdaki komutları command3_click özelliği içerisine yazın.

Private Sub Command3_Click()

Text1.text = “ “

Label1.caption = “ “

End Sub

Uygulama 12) ikinci durum şart yapısını kullanarak ikinci dereceden bir bilinmeyenli denklem

sisteminin köklerini bulan programı yazınız.

MT 373 Visual Basic Programlama Laboratuvar Uygulamaları-3

Uygulama 13) Klavyeden Text1.Text bileşeni ile girilen sayının tek veya çift sayı olmasını bir

komut butonuna bağlı olay olarak test eden bir programı üçüncü tür şart yapısı ile yazınız.

Private Sub Command1_Click()

Dim sayi As Integer

sayi = Val(Text1.Text)

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

8

If Text1.Text = " " Then

MsgBox ("Veri giriş kutusu boş olamaz...!")

Else

If sayi < 0 Then

MsgBox ("HATA!!! NEGATİF DEĞER GİRDİNİZ!!!")

ElseIf sayi Mod 2 = 1 Then

MsgBox ("tek sayı girdiniz")

Else

MsgBox ("çift sayı girdiniz")

End If

End If

End Sub

Uygulama 14) iki adet text bileşeni ve üç adet komut butonu kullanarak girilen kullanıcı adı

ve şifrelerini karşılaştıran programı üçüncü tür şart yapısını kullanarak yazınız. Girilen

kullanıcı adı ve şifrelerin başarılı olması veya olmaması durumunda ekrana msgbox

fonksiyonu kullanarak mesaj vermesini sağlayın.

Private Sub Command1_Click()

Dim kullanıcıadı As String

Dim parola As Variant

kullanıcıadı = Text1.Text

parola = Text2.Text

If UCase(kullanıcıadı) = "AYŞE" And parola = 1234 Then

MsgBox ("Ayşe Hanım hoşgeldiniz...")

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

9

ElseIf UCase(kullanıcıadı) = "ALİ" And parola = 4321 Then

MsgBox (" Ali Bey hoşgeldiniz...")

ElseIf UCase(kullanıcıadı) = "MEHMET" And parola = 1111 Then

MsgBox (" Mehmet Bey hoşgeldiniz...")

Else

MsgBox ("kullanıcı adı ya da parola hatalı. lütfen tekrar kontrol ediniz..."), 16

End If

End Sub

Private Sub Command2_Click()

Text1.Text = ""

Text2.Text = ""

End Sub

Private Sub Command3_Click()

End

End Sub

Private Sub Form_Load()

Text1.Text = ""

Text2.Text = ""

End Sub

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

10

Uygulama 15) Klayeden text bileşenlerine girilen ara sınav ve final notlarına göre öğrencinin

alacağı notları ekrana msgbox fonksiyonu ile yazan programı aşağıdaki ekran tasarımını

kullanarak yazınız.

Private Sub Command1_Click()

Dim not1 As Integer

Dim not2 As Integer

Dim ortalama As Double

not1 = Val(Text1.Text)

not2 = Val(Text2.Text)

ortalama = (not1 * 0.4 + not2 * 0.6)

If not2 < 50 Then

MsgBox ("Final notu basarısız olduğundan dersten başarısız..."), 32

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

11

Else

If ortalama < 50 Then

MsgBox (" Ortalama siniri geçemediğinden dersten başarısız"), 16

ElseIf 50 >= ortalama And ortalama <= 60 Then

MsgBox (" Dersten DD İle ŞARTLI BAŞARILI ")

ElseIf 60 > ortalama And ortalama <= 70 Then

MsgBox (" Dersten DC İle ŞARTLI BAŞARILI ")

ElseIf 70 > ortalama And ortalama <= 75 Then

MsgBox (" Dersten CC İle BAŞARILI ")

ElseIf 75 > ortalama And ortalama <= 80 Then

MsgBox (" Dersten CB İle BAŞARILI ")

ElseIf 80 > ortalama And ortalama <= 85 Then

MsgBox (" Dersten BB İle BAŞARILI ")

ElseIf 85 > ortalama And ortalama <= 90 Then

MsgBox (" Dersten BA İle BAŞARILI ")

Else

MsgBox (" Dersten AA İLE BAŞARILI ")

End If

End If

End Sub

Private Sub Command2_Click()

End

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

12

End Sub

Private Sub Command3_Click()

Text1.Text = ""

Text2.Text = ""

End Sub

Private Sub Form_Load()

Text1.Text = ""

Text2.Text = ""

End Sub

Uygulama 16) Klavyeden text bileşenleri ile girilen üç sayıyı büyükten küçüğe doğru sıralayan

programı yazınız.

Private Sub Command1_Click()

Dim a As Integer

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

13

Dim b As Integer

Dim c As Integer

a = Val(Text1.Text)

b = Val(Text2.Text)

c = Val(Text3.Text)

If a = b Or a = c Or b = c Then

MsgBox ("EŞİT DEĞER GİRDİNİZ. LÜTFEN YENİDEN DEĞER GİRİNİZ..."), 16

Else

If a > b And a > c Then

If b > c Then

MsgBox (" SIRALAMA=" & a) + (">" & b) + (">" & c)

Else

MsgBox (" SIRALAMA=" & a) + (" > " & c) + (">" & b)

End If

ElseIf b > a And b > c Then

If a > c Then

MsgBox (" SIRALAMA=" & b) + (" > " & a) + (">" & c)

Else

MsgBox (" SIRALAMA=" & b) + (" > " & c) + (">" & a)

End If

ElseIf c > a And c > b Then

If b > a Then

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

14

MsgBox (" SIRALAMA=" & c) + (" > " & b) + (">" & a)

Else

MsgBox (" SIRALAMA=" & c) + (" > " & a) + (">" & b)

End If

Else

MsgBox ("yanlış giriş yaptınız...")

End If

End If

End Sub

Private Sub Command2_Click()

Text1.Text = ""

Text2.Text = ""

Text3.Text = ""

End Sub

Private Sub Command3_Click()

End

End Sub

Private Sub Form_Load()

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

15

Text1.Text = ""

Text2.Text = ""

Text3.Text = ""

End Sub

Uygulama 17) Text bileşenine klavyeden girilen tüketim miktarına göre fatura ücretini

hesaplayan programı aşağıdaki ekran tasarımını kullanarak yazınız.

Private Sub Command1_Click()

Dim tüketim As Integer

Dim fatura As Double

tüketim = Text1.Text

Select Case tüketim

Case 0 To 150

fatura = tüketim * 15.8

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

16

Case 151 To 300

fatura = (150 * 15.8) + ((tüketim - 150) * 18.8)

Case Is > 300

fatura = (150 + 15.8) + (150 * 18.8) + ((tüketim - 300) * 22.8)

End Select

fatura = fatura / 100

MsgBox ("Fatura=" & fatura) + ("TL")

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Form_Load()

Text1.Text = ""

End Sub

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

17

MT 373 Visual Basic Programlama Laboratuvar Uygulamaları-4

Uygulama 18) Ekranda 1 den 10 a kadar sayıları gösterecek Visual Basic programını yazın.

Private Sub Command1_Click()

Dim i As Integer

For i = 1 To 10

Msgbox (i)

Next i

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

18

MsgBox ("döngünün son değeri " & i)

Rem Label1.Caption = i

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Form_Load()

Label1.Caption = " "

End Sub

Uygulama 19) ekrana form1 nesnesi üzerine 1 den klavyeden girilen n sayısına kadar yazan

Visual Basic programını yazın.

Private Sub Command1_Click()

Dim i As Integer

Dim n As Integer

n = InputBox("Veri girişi", "Bir tamsayı giriniz")

For i = 1 To n

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

19

Form1.Print i

Next i

Rem msgbox (i) bu satir derleyici tarafından çalıştırılmaz

End Sub

Private Sub Command2_Click()

End

End Sub

Uygulama 20) Inputbox() bileşeni kullanarak 1 den n e kadar sayıların toplamını bulunuz.

Private Sub Command1_Click()

Dim toplam As Integer

Dim Sayac As Byte, SayiMiktari As Byte

SayiMiktari = Val(InputBox("Sayi Miktarını Giriniz"))

toplam = 0

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

20

For Sayac = 1 To SayiMiktari

toplam = toplam + Val(InputBox(Sayac & ". sayıyı giriniz"))

Next Sayac

MsgBox "Girilen " & SayiMiktari & " tane sayının toplamı=" & toplam

End Sub

Uygulama 21) klavyeden girilen m ve n değerleri arasında kalan sayıların toplamını bulan

Visual Basic programını yazın.

Private Sub Command1_Click()

Dim i, n As Integer

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

21

Dim toplam As Integer

a = Val(Text1.Text)

n = Val(Text2.Text)

toplam = 0

For i = a To n

toplam = toplam + i

Next

MsgBox (toplam)

End Sub

Private Sub Form_Load()

Text1.Text = ""

Text2.Text = ""

End Sub

Uygulama 22) Ekranda 1 den 10 a kadar sayıların toplamının ortalamasını alan Visual Basic

programını yazın.

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

22

Private Sub Command1_Click()

Dim i, toplam As Integer

Dim ortalama as Double

For i = 1 To 10

Toplam = toplam + i

Next i

Ortalama = toplam / 10

Label1.Caption = “Sayıların ortalaması” & ortalama

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Form_Load()

Label1.Caption = " "

End Sub

Uygulama 23) Ekranda 1 den n kadar sayıların toplamının ortalamasını alan Visual Basic

programını yazın.

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

23

Private Sub Command1_Click()

Dim i, n As Integer

Dim toplam As Integer

a = Val(Text1.Text)

n = Val(Text2.Text)

toplam = 0

For i = a To n

toplam = toplam + i

Next

Ortalama = toplam / n

Label1.caption = “1 den ” & n & “ ye kadar sayilarin ortalamasi “ & ortalama

End Sub

Private Sub Form_Load()

Text1.Text = ""

Text2.Text = ""

End Sub

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

24

Uygulama 24) Ekranda m den n kadar sayıların toplamının ortalamasını alan Visual Basic

programını yazın.

Private Sub Command1_Click()

Dim i, m, n, a As Integer

Dim ortalama As Double

Dim toplam As Integer

m = Val(Text1.Text)

n = Val(Text2.Text)

toplam = 0

For i = m To n

toplam = toplam + i

Next

ortalama = toplam / (n - m + 1)

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

25

MsgBox ("ortalama=" & ortalama)

End Sub

Private Sub Form_Load()

Text1.Text = ""

Text2.Text = ""

End Sub

Uygulama 25) Ekranda veri girişini kontrol ederek 1 den n kadar sayıların toplamının

ortalamasını alan Visual Basic programını yazın.

Private Sub Command1_Click()

Dim n, toplam As Integer

n = Val(Text1.Text)

toplam = 0

a = 0

If Text1.Text = " " Or Text2.Text = " " Then

MsgBox ("Veri Girişini Boş Birakmamalisiniz...!")

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

26

Else

For i = 1 To n

toplam = toplam + i

Next i

MsgBox (" toplamı=" & toplam)

End If

End Sub

Private Sub Form_Load()

Text1.Text = ""

End Sub

Uygulama 26) Ekranda veri giriş kontrolleri kullanarak m den n kadar sayıların toplamını ve

toplanan sayıların adedini bulan Visual Basic programını yazın.

Private Sub Command1_Click()

Dim a, n, toplam As Integer

a = 0

m = Val(Text1.Text)

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

27

n = Val(Text2.Text)

toplam = 0

a = 0

If Text1.Text = " " Or Text2.Text = " " Then

MsgBox ("Veri Girişini Boş Birakmamalisiniz...!")

Else

For i = m To n

a = a + 1

toplam = toplam + i

Next i

MsgBox ("sayı adedi=" & a) + (" toplamı=" & toplam)

End If

End Sub

Private Sub Form_Load()

Text1.Text = ""

Text2.Text = ""

End Sub

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

28

Uygulama 27) Ekranda veri giriş kontrolleri kullanarak m den n kadar sayıların toplamının 2

aralıklı (ikişerli) toplamını ve sayı adedini bulan Visual Basic programını yazın.

Private Sub Command1_Click()

Dim a, n, toplam As Integer

a = 0

m = Val(Text1.Text)

n = Val(Text2.Text)

toplam = 0

a = 0

If Text1.Text = " " Or Text2.Text = " " Then

MsgBox ("Veri Girişini Boş Birakmamalisiniz...!")

Else

For i = m To n Step 2

a = a + 1

toplam = toplam + i

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

29

Next i

MsgBox ("sayı adedi=" & a) + (" toplamı=" & toplam)

End If

End Sub

Private Sub Form_Load()

Text1.Text = ""

Text2.Text = ""

End Sub

Uygulama 28) ekrana 1 den n kadar (n<90) girilen sayıların faktöryelin hesaplayan bir Visual

Basic programını yazın.

Private Sub Command1_Click()

Dim n, i, faktoriyel As Integer

n = Val(Text1.Text)

faktoriyel = 1

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

30

For i = 1 To n

faktoriyel = faktoriyel * i

Next i

MsgBox ("faktoriyel=" & faktoriyel)

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Form_Load()

Text1.Text = ""

End Sub

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

31

MT 373 Visual Basic Programlama Laboratuvar Uygulamaları-5

Uygulama 29) Dört elemanlı bir dizi tanımlayarak içerisine sabit değerler giriniz. Dizinin ikinci

elemanını msgbox ile ekranda gösteriniz.

Private Sub Command1_Click()

Dim dizi(3) As Integer

dizi(0) = 3

dizi(1) = 5

dizi(2) = 4

dizi(3) = 6

MsgBox ("Dizinin 2. elemanı=" & dizi(1))

End Sub

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

32

Uygulama 30) Dört elemanlı bir dizi tanımlayarak sabit değerler giriniz. Girdiğini dizinin

elemanların sabit değerlerini toplayınız.

Private Sub Command1_Click()

Dim dizi(3) As Double

Dim toplam As Double

dizi(0) = 10

dizi(1) = 20

dizi(2) = 30

dizi(3) = 40

toplam = dizi(0) + dizi(1) + dizi(2) + dizi(3)

MsgBox ("Dizi elemanları toplamı=" & toplam)

End Sub

Uygulama 31) Haftanın günlerini sabit değer olarak tanımladığını dizini elemanlarını

klavyeden text1 bileşeninden girilen sıraya göre ekranda gösteren programı yazınız.

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

33

Private Sub Command1_Click()

Dim gunler(7) As String

Dim i As Integer

i = Val(Text1.Text)

gunler(0) = "pazartesi"

gunler(1) = "sali"

gunler(2) = "carsamba"

gunler(3) = "persembe"

gunler(4) = "cuma"

gunler(5) = "cumartesi"

gunler(6) = "pazar"

MsgBox "haftanın " & i & ". günü=" & gunler(i)

End Sub

Private Sub Command2_Click()

Text1.Text = ""

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

34

End Sub

Uygulama 32) Dizinin boyutunun klavyeden girilen sayıda olmasını sağlayan ve girilen

değerleri form1 bileşeni üzerine print yöntemi ile yazınız.

Dim dizi() As Integer

Dim i As Integer

Dim a As Integer

Private Sub Command1_Click()

a = Val(InputBox("Dizinin değerini girin", "dizi boyutu"))

ReDim dizi(a)

For i = 1 To a

dizi(i) = Val(InputBox("dizi(" & i & ")="))

Next i

End Sub

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

35

Private Sub Command2_Click()

End

End Sub

Private Sub Command3_Click()

For i = 1 To a

Form1.Print dizi(i)

Next i

End Sub

Uygulama 33) Boyutunu klavyeden girdiğiniz dizinin elemanlarının ortalamasını alan

programı yazınız. Programdan çıkışı kontrol eden bir komut butonu kullanın.

Private Sub Command1_Click()

Dim dizi() As Integer

Dim toplam As Integer

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

36

Dim i As Integer

Dim a As Integer

Dim ortalama As Double

a = Val(Text1.Text)

ReDim dizi(a) 'redim diziyi yeniden boyutlandırır..

toplam = 0

For i = 0 To a

dizi(i) = Val(InputBox("dizi(" & i & ")="))

toplam = toplam + dizi(i)

Next i

ortalama = toplam / (a + 1) 'a+1 = dizinin eleman sayısı

MsgBox (ortalama)

End Sub

Private Sub Command2_Click()

Dim cik As Integer

cik = MsgBox("Çıkmak istiyormusunuz", vbYesNoCancel, "Çıkmak için Yes")

If cik = vbYes Then

End

Else

MsgBox "programdan çıkılmadı", 16

End If

End Sub

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

37

Private Sub Form_Load()

Text1.Text = ""

End Sub

MT 373 Visual Basic Programlama Laboratuvar Uygulamaları-6

Uygulama 34) İki boyutlu dizi tanımlayarak eleman sayısını ekrana Msgbox ile yazdırın.

Private Sub Command1_Click()

Dim matris(3, 3) As Integer

Dim elemansayisi As Integer

elemansayisi = 3 * 3

MsgBox ("MATRİSİN ELEMAN SAYISI=" & elemansayisi)

End Sub

Uygulama 35) İki boyutlu dizilerin eleman sayısını gösteren program yazınız. Yazdığınız

programın dizinin eleman sayısını kontrol ederken aynı zamanda boş veri girişini de

engelleyin.

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

38

Private Sub Command1_Click()

Dim i, j As Integer

Dim matris(2, 2)

matris(1, 1) = 10

matris(1, 2) = 15

matris(2, 1) = 8

matris(2, 2) = 25

MsgBox ("matrisin hangi elemanını görmek istiyorsunuz")

i = InputBox("Matrisin satır elemanı", "Satır elemanı gir")

j = InputBox("Matrisin sütun elemanı", "Sütun elemanı gir")

MsgBox ("matris(" & i & " satır " & j & " sütun )" & matris(i, j))

End Sub

Private Sub Command2_Click()

Dim i, j As Integer

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

39

Dim matris(2, 2)

matris(1, 1) = 10

matris(1, 2) = 15

matris(2, 1) = 8

matris(2, 2) = 25

MsgBox ("matrisin hangi elemanını görmek istiyorsunuz")

i = InputBox("Matrisin satır elemanı", "Satır elemanı gir")

j = InputBox("Matrisin sütun elemanı", "Sütun elemanı gir")

If i > 2 Or j > 2 Then

MsgBox "Hatalı matris boyutu girdiniz..!", 16

Else

MsgBox ("matris(" & i & " satır " & j & " sütun )" & matris(i, j))

End If

End Sub

Private Sub Command3_Click()

Dim i, j As Integer

Dim matris(2, 2)

matris(1, 1) = 10

matris(1, 2) = 15

matris(2, 1) = 8

matris(2, 2) = 25

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

40

MsgBox ("Matrisin hangi elemanını görmek istiyorsunuz")

i = Val(InputBox("Matrisin satır elemanı", "Satır elemanı gir"))

j = Val(InputBox("Matrisin sütun elemanı", "Sütun elemanı gir"))

If i = Nil Or j = Nil Then

MsgBox "Veri girişi boş olamaz..!"

Else

If i > 2 Or j > 2 Then

MsgBox "Hatalı matris boyutu girdiniz..!"

Else

MsgBox ("matris(" & i & " satır " & j & " sütun )" & matris(i, j))

End If

End If

End Sub

Private Sub Command4_Click()

End

End Sub

Uygulama 36) Tanımlayacağınız nxn boyutunda matrise eleman girişi yapınız. Girilen matrisin

elemanlarının bir buton ile form1.print yöntemi ile ekranna yazdırın. Girilen matris

elemanlarını list1 bileşenine ekleyen bir buton ile yazınız.

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

41

Private Sub Command1_Click()

Dim i, j As Integer

Dim m As String

Dim a(100, 100) As Integer

n = InputBox("Matrisin Boyutunu Girin nxn", "Boyut Girişi")

Form1.Print "Matrisin Boyutu" & n

For i = 1 To n

For j = 1 To n

m = "Matrisin " & i & "," & j & "elemanı için "

a(i, j) = InputBox("Değer girin", m)

Form1.Print "A(" & i & "," & j & ")=" & a(i, j)

Next j

Next i

End Sub

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

42

Private Sub Command2_Click()

Dim i, j As Integer

Dim m As String

Dim a(100, 100) As Integer

n = InputBox("Matrisin Boyutunu Girin nxn", "Boyut Girişi")

Form1.Print "Matrisin Boyutu" & n

For i = 1 To n

For j = 1 To n

m = "Matrisin " & i & "," & j & "elemanı için "

a(i, j) = InputBox("Değer girin", m)

List1.AddItem "A(" & i & "," & j & ")=" & a(i, j)

Next j

Next i

End Sub

Private Sub

Uygulama 37) tanımladığınız nxn boyutundaki matrisin eleman sayısının belirlenmesi

işleminde veri kontrolü yaparak boş eleman sayısı girilmesini engelleyin. Matrise girilen

elemanları form1.print yöntem ile form üzerine yazdırın. Her yazdırmada form bileşeninde

daha önce yazılan elemanlar silinsin.

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

43

Private Sub Command1_Click()

n = InputBox("Matrisin boyutunu girin", "Boyut girişi")

If n <> Null Then

Form1.Print "Matrisin Boyutu" & n

For i = 1 To n

For j = 1 To n

m = "A(" & i & "," & j & ") elemanı için"

a(i, j) = InputBox("değer Girin", m)

Next j

Next i

Else

MsgBox "girilen değer boş olamaz"

End If

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

44

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Command3_Click()

Form1.cls

For i = 1 To n

For j = 1 To n

Form1.Print "Matrisin " & i & "," & j & " elemanı: " & a(i, j)

Next j

Next i

End Sub

Private Sub Form_Load()

Form1.Cls

End Sub

Uygulama 38) Klavyeden girilen nxn boyutunda iki matrisin toplama işlemini yapan programı

yazınız. Yazılan programda ekrana matrisin elemanları yazıldıktan sonra temizleyecek bir

botun ile girilen değerlerin temizlenmesini sağlayın.

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

45

Dim i, j, n, k As Integer

Dim m As String

Dim a(100, 100), b(100, 100) As Integer

Private Sub Command1_Click()

n = InputBox("Matrisin boyutunu girin", "Boyut girişi")

If n <> Nil Then

Form1.Print "Matrisin Boyutu" & n

For i = 1 To n

For j = 1 To n

m = "A(" & i & "," & j & ") elemanı için"

a(i, j) = InputBox("değer Girin", m)

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

46

Next j

Next i

Else

MsgBox "girilen değer boş olamaz"

End If

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Command3_Click()

For i = 1 To n

For j = 1 To n

Form1.Print "Matrisin " & i & "," & j & " elemanı: " & a(i, j)

Next j

Next i

End Sub

Private Sub Command4_Click()

k = InputBox("Matris ile toplanacak sayı", "sayı girin")

For i = 1 To n

For j = 1 To n

b(i, j) = a(i, j) + k

Next j

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

47

Next i

End Sub

Private Sub Command5_Click()

Form1.Print

Form1.Print "Matris elemanları ile toplanan sayı :" & k

For i = 1 To n

For j = 1 To n

Form1.Print "Matrisin " & i & "," & j & " elemanı: " & b(i, j)

Next j

Next i

End Sub

Private Sub Command6_Click()

For i = 1 To n

For j = 1 To n

a(i, j) = 0

Next j

Next i

Form1.Print

For i = 1 To n

For j = 1 To n

Form1.Print "Matrisin " & i & "," & j & " elemanı: " & a(i, j)

Next j

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

48

Next i

End Sub

Private Sub Command7_Click()

For i = 1 To n

For j = 1 To n

b(i, j) = 0

Next j

Next i

Form1.Print

For i = 1 To n

For j = 1 To n

Form1.Print "Matrisin " & i & "," & j & " elemanı: " & b(i, j)

Next j

Next i

End Sub

Uygulama 39) klavyeden girilen nxk boyutundaki matrisi ekrana form1.print yöntemi ile

yazdırınız.

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

49

Dim i, j, n, k As Integer

Dim m As String

Dim a(100, 100) As Integer

Private Sub Command1_Click()

Form1.Cls

n = InputBox("matrisin satır sayısını girin", "Boyut girişi")

k = InputBox("matrisin sutün sayısını girin", "Boyut girişi")

Form1.Print "Matrisin Satır Sayısı" & n

Form1.Print "Matrisin Sutün Sayısı" & k

For i = 1 To n

For j = 1 To k

m = "A(" & i & "," & j & ") elemanı girin"

a(i, j) = InputBox("Değer Girin", m)

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

50

Next j

Next i

End Sub

Private Sub Command2_Click()

Form1.Print

For i = 1 To n

For j = 1 To k

Form1.Print "Matrisin " & i & "," & j & " elemanı: " & a(i, j)

Next j

Next i

End Sub

Private Sub Command3_Click()

End

End Sub

Uygulama 40) klavyeden girilen nxk boyutunda iki matrisin toplamını yapan ve sonucu

ekrana yazan program yazın. Matrisin elemanlarının temizleme işlemini eleman değerlerini

sıfıra eşitleyerek yapın.

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

51

Dim i, j, n, k As Integer

Dim m As String

Dim a(100, 100), b(100, 100), c(100, 100) As Integer

Private Sub Command1_Click()

Form1.Cls

n = InputBox("matrisin satır sayısını girin", "Boyut girişi")

k = InputBox("matrisin sutün sayısını girin", "Boyut girişi")

Form1.Print "Matrisin Satır Sayısı" & n

Form1.Print "Matrisin Sutün Sayısı" & k

For i = 1 To n

For j = 1 To k

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

52

m = "A(" & i & "," & j & ") elemanı girin"

a(i, j) = InputBox("Değer Girin", m)

Next j

Next i

End Sub

Private Sub Command2_Click()

For i = 1 To n

For j = 1 To k

m = "B(" & i & "," & j & ") elemanı girin"

b(i, j) = InputBox("Değer Girin", m)

Next j

Next i

End Sub

Private Sub Command3_Click()

For i = 1 To n

For j = 1 To n

c(i, j) = a(i, j) + b(i, j)

Next j

Next i

For i = 1 To n

For j = 1 To n

Form1.Print "A ve B Matrisin " & i & "," & j & " Toplamı: " & c(i, j)

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

53

Next j

Next i

End Sub

Private Sub Command4_Click()

For i = 1 To n

For j = 1 To n

a(i, j) = 0

b(i, j) = 0

c(i, j) = 0

Next j

Next i

Form1.Print

For i = 1 To n

For j = 1 To n

Form1.Print "A Matrisin " & i & "," & j & " elemanı: " & a(i, j)

Form1.Print "B Matrisin " & i & "," & j & " elemanı: " & b(i, j)

Form1.Print "C Matrisin " & i & "," & j & " elemanı: " & c(i, j)

Next j

Next i

Form1.Print "Matrislerin tüm elemanları temizlendi"

End Sub

Private Sub Command5_Click()

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

54

End

End Sub

Uygulama 41) Klavyeden girilen iki boyutlu mxn boyutlu dizinin değerlerini MSFlexGrid

bileşenine yazan program yazınız.

Dim a(100, 100) As Integer

Private Sub Command1_Click()

n = InputBox("Matrisin Satıs Sayısı", "Satır Sayısını Girin")

m = InputBox("Matrisin Sutün Sayısı", "Sutün Sayısını Girin")

MSFlexGrid1.Rows = n + 1

MSFlexGrid1.Cols = m + 1

For i = 1 To n

For j = 1 To m

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

55

MSFlexGrid1.Row = i

MSFlexGrid1.Col = j

MSFlexGrid1.Text = Val(InputBox("Matrisin " & i & "," & j & " elemanı "))

a(i, j) = MSFlexGrid1.Text

Next j

Next i

End Sub

Private Sub Command2_Click()

End

End Sub

Uygulama 42) Klavyeden girilen iki boyutlu mxn boyutlu dizinin değerlerini MSFlexGrid

bileşenine yazan program yazınız. Girilen matrisin transpozunu yine MSFlexgrid bileşenine

yazdırın.

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

56

Private Sub Command1_Click()

MSFlexGrid1.Clear

n = InputBox("Matrisin Satıs Sayısı", "Satır Sayısını Girin")

m = InputBox("Matrisin Sutün Sayısı", "Sutün Sayısını Girin")

MSFlexGrid1.Rows = n + 1

MSFlexGrid1.Cols = m + 1

For i = 1 To n

For j = 1 To m

MSFlexGrid1.Row = i

MSFlexGrid1.Col = j

MSFlexGrid1.Text = Val(InputBox("Matrisin " & i & "," & j & " elemanı "))

a(i, j) = MSFlexGrid1.Text

Next j

Next i

End Sub

Private Sub Command2_Click()

MSFlexGrid2.Rows = m + 1

MSFlexGrid2.Cols = n + 1

For i = 1 To m

For j = 1 To n

MSFlexGrid2.Row = i

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

57

MSFlexGrid2.Col = j

b(i, j) = a(j, i)

MSFlexGrid2.Text = b(i, j)

Next j

Next i

End Sub

Private Sub Command3_Click()

End

End Sub

Uygulama 43) Klavyeden girilen nxn boyutundaki matrisin köşegen elemanlarını toplayan

programı MSFlexgrid bileşeni kullanarak yazınız.

Private Sub Command1_Click()

MSFlexGrid1.Clear

n = InputBox("Matrisin Satır ve Sutün Sayısı", "Satır Sayısını Girin")

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

58

MSFlexGrid1.Rows = n + 1

MSFlexGrid1.Cols = n + 1

For i = 1 To n

For j = 1 To n

MSFlexGrid1.Row = i

MSFlexGrid1.Col = j

MSFlexGrid1.Text = Val(InputBox("Matrisin " & i & "," & j & " elemanı "))

a(i, j) = MSFlexGrid1.Text

Next j

Next i

End Sub

Private Sub Command2_Click()

toplam = 0

For i = 1 To n

toplam = toplam + a(i, i)

Next i

Label1.Caption = "Matris Köşegen Toplamı : " & toplam

End Sub

Private Sub Command3_Click()

End

End Sub

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

59

Uygulama 44) Klavyeden girilen nxn boyutundaki matrisin köşegen elemanlarını bir buton

kullarak toplayan programı MSFlexgrid bileşeni kullanarak yazınız. Programa ekleyeceğiniz

diğer buton ile matrisin girilen tüm eleman değerlerini toplayan programı yazınız.

Dim i, j, n, topla As Integer

Dim a(100, 100) As Integer

Private Sub Command1_Click()

n = Val(InputBox("Matris Satır Sayısı", "Satır Sayısını Girin"))

MSFlexGrid1.Rows = n + 1

MSFlexGrid1.Cols = n + 1

For i = 1 To n

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

60

For j = 1 To n

MSFlexGrid1.Row = i

MSFlexGrid1.Col = j

MSFlexGrid1.Text = Val(InputBox("Matrisin " & i & "," & j & "elemanı :"))

a(i, j) = MSFlexGrid1.Text

Next j

Next i

End Sub

Private Sub Command2_Click()

For i = 1 To n

toplam = toplam + a(i, i)

Next i

Label1.Caption = "Matrisin Köşegen Toplamı :" & toplam

End Sub

Private Sub Command3_Click()

For i = 1 To n

For j = 1 To n

toplam = toplam + a(i, j)

Next j

Next i

Label1.Caption = "Matrisin Tüm Elemanların Toplamı :" & toplam

End Sub

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

61

Private Sub Command4_Click()

End

End Sub

Private Sub Form_Load()

Label1.Caption = "Eleman Köşegen Toplamı :"

End Sub

Uygulama 45) Klavyeden girilen son ifadesine kadar inputbox ile veri girişi yapan programı

yazınız. Klavyeden son ifadesi girildiğinde program sonlanmalıdır.

Private Sub Command1_Click()

Do While inp <> "son"

inp = InputBox("Çıkmak için SON yazın", "Giriş")

If inp <> "son" Then Label1.Caption = inp

Loop

End Sub

Private Sub Command2_Click()

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

62

End

End Sub

Private Sub Form_Load()

Label1.Caption = ""

End Sub

Uygulama 46) tasarlanan programda radiobutton bileşeni kullanarak girilen 1 den n kadar

sayıların toplamını veya çarpımını veren programı yazınız. Kullanılan radiobuttonlardan

sadece biri seçilmelidir.

Private Sub Command1_Click()

End

End Sub

Private Sub Command2_Click()

Dim i, k, n As Integer

Dim toplam As Integer

Dim fak, carp As Double

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

63

Dim m1, m2, m3 As String

If Option1.Value = True Then

m1 = "n değerini girin"

n = InputBox(m1, "değeri girin")

m2 = " 1 den " & n & " e kadar sayıların toplamı"

toplam = 0

Do While i < 1000

toplam = toplam + i

If i >= n Then Exit Do

i = i + 1

Loop

MsgBox (m2 & "=" & toplam), , "işlem sonucu"

End If

carp = 1

k = 1

If Option2.Value = True Then

m1 = "n değerini girin"

n = InputBox(m1, "değeri girin")

m2 = " 1 den " & n & " e kadar sayıların çarpımı"

Do While k < 1000

carp = carp * k

If k >= n Then Exit Do

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

64

k = k + 1

Loop

MsgBox (m2 & "=" & carp), , "işlem sonucu"

End If

End Sub

Uygulama 47) Klavyeden girilen bir değerin faktöryelini do-loop until yapısı ile yazın.

Private Sub Command1_Click()

End

End Sub

Private Sub Command2_Click()

Dim k As Integer

Dim m1, m2 As String

Dim fak As Double

m1 = "n değerini girin"

n = InputBox(m1, "değeri girin")

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

65

m2 = " 1 den" & n & " e kadar sayıların faktöryeli"

k = 1

fak = 1

Do

fak = fak * k

If k >= n Then Exit Do

k = k + 1

Loop Until k = 1000

MsgBox (m2 & "=" & fak)

End Sub

Uygulama 48) k adet sayıyı programı form1.print yöntemi ile do-until döngüsü ile yazdırın.

Private Sub Command1_Click()

Dim k As Integer

Do

If k >= 5 Then Exit Do

k = k + 1

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

66

Form1.Print k

Loop Until k = 100

Form1.Print "en son değer" & k

End Sub

Private Sub Command2_Click()

End

End Sub

Uygulama 49) Klavyeden girilen k değerine kadar form1.print yöntemi ile ekrana yazdırın.

Private Sub Command1_Click()

Dim k, m As Integer

k = Val(InputBox("Ekrana Sayılacak Sayıyı Girin", "Sayı Girişi"))

m = 0

Do

Form1.Print m

If k >= 50 Then Exit Do

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

67

m = m + 1

Loop Until k = m

Form1.Print "en son değer " & k

End Sub

Private Sub Command2_Click()

End

End Sub

Uygulama 50) Faktöryel hesaplama işleminde veri girişini text kutusu veya inputbox yöntem

ile girilmesini option butonu ile seçen ve do- until loop ile hesaplama yapan program yazınız.

Dim k, n As Integer

Dim m1, m2 As String

Dim fak As Double

Private Sub Command1_Click()

End

End Sub

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

68

Private Sub Command2_Click()

m1 = "n değerini girin"

If Option1.Value = True Then

n = Val(Text1.Text)

Else

n = InputBox(m1, "değeri girin")

End If

m2 = " 1 den" & n & " e kadar sayıların faktöriyeli"

k = 1

fak = 1

Do

fak = fak * k

If k >= n Then Exit Do

k = k + 1

Loop Until k = 100

MsgBox (m2 & "=" & fak)

End Sub

Private Sub Form_Load()

Option1.Value = False

Option2.Value = False

Text1.Visible = False

Text1.Text = ""

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

69

End Sub

Private Sub Option1_Click()

Text1.Visible = True

End Sub

Private Sub Option2_Click()

Text1.Visible = False

End Sub

Uygulama 51) Klavyeden girilen nxn yeniden boyutlandırılan matrisin köşegen elemanlarını

bir buton kullanarak toplayan programı MSFlexgrid bileşeni kullanarak yazınız. Programa

ekleyeceğiniz diğer buton ile matrisin girilen tüm eleman değerlerini toplayan programı

yazınız. Programın veri kontrollerini do-while yapısını kullanarak matrise eleman girişini

kontrol edin. Elemanların girilmemesi durumunda ekrana matrisin elemanın girilmesini

mesaj olarak veren yapıyı kurun.

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

70

Dim i, j, n, topla, eleman As Integer

Dim a(100, 100) As Integer

Private Sub Command1_Click()

MSFlexGrid1.Clear

n = Val(InputBox("Matris Satır Sayısı", "Satır Sayısını Girin"))

If n <> Nil Then

MSFlexGrid1.Rows = n + 1

MSFlexGrid1.Cols = n + 1

For i = 1 To n

For j = 1 To n

MSFlexGrid1.Row = i

MSFlexGrid1.Col = j

eleman = Val(InputBox("Matrisin " & i & "," & j & "elemanı :"))

If eleman = Nil Then

MsgBox "Matrise eleman girmelisiniz", 16

Do While eleman = Nil

eleman = Val(InputBox("Matrisin " & i & "," & j & "elemanı :"))

MSFlexGrid1.Text = eleman

a(i, j) = MSFlexGrid1.Text

If eleman <> nill Then Exit Do

Loop

Else

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

71

MSFlexGrid1.Text = eleman

a(i, j) = MSFlexGrid1.Text

End If

Next j

Next i

Else

MsgBox "Matrisin eleman sayısını girin", 16

End If

End Sub

Private Sub Command2_Click()

For i = 1 To n

toplam = toplam + a(i, i)

Next i

Label1.Caption = "Matrisin Köşegen Toplamı :" & toplam

End Sub

Private Sub Command3_Click()

For i = 1 To n

For j = 1 To n

toplam = toplam + a(i, j)

Next j

Next i

Label1.Caption = "Matrisin Tüm Elemanların Toplamı :" & toplam

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

72

End Sub

Private Sub Command4_Click()

End

End Sub

Private Sub Form_Load()

Label1.Caption = "Eleman Köşegen Toplamı :"

End Sub

Uygulama 52)

MSGBOX Fonksiyonunun Kullanımı

MsgBox deyimi özellikle kullanıcıya belli bir mesaj verme ve kullanıcıdan belli bir yanıtı almak

için kullanılır.

MsgBox deyiminin iki türlü kullanımı vardır: MsgBox Deyimi, MsgBox Fonksiyonu.

MsgBox Deyimi:

MsgBox deyimi belirtilen mesajı bir mesaj kutusu içinde ekranda görüntüler. OK tuşuna

basılmanın ardından programın işleyişine devam edilir.

MsgBox mesaj [, simgeler, [başlık]]

Private Sub Form_Load()

MsgBox "Merhaba Dünyalı", 16, "Kullanıcı Mesajı"

End Sub

Simgeler

Anlamı Değeri Simgesi

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

73

vbCritical 16 X

vbQuestion 32 ?

vbExclamation 48 !

vbInformation 64 i

MsgBox Fonksiyonu :

MsgBox Fonksiyonu mesajın gösteriminin yanı sıra mesaj kutusu üzerinde basılan bir

düğmenin değerinin de geri dönmesini sağlar.

Cevap=MsgBox (mesaj [,tip] , [başlık] , [yardım dosyası,konu no]])

Tip = düğme+ icon + varsayılan+ öncelik

Düğme

Sabit Bilgisi Değeri

vbOKOnly 0

vbOKCancel 1

vbAbortRetryIgnore 2

vbYesNoCancel 3

vbYesNo 4

vbRetryCancel 5

İcon

Sabit Bilgisi Değeri

vbCritical 16 X

vbQuestion 32 ?

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

74

vbExclamation 48 !

vbInformation 64 i

Varsayılan

Sabit Bilgisi Değeri

vbDefaultButton1 0

vbDefaultButton2 256

vbDefaultButton3 512

Öncelik

Sabit Bilgisi Değeri

vbApplicationModal 0

vbSystemModal 4096

3+16+256 = 275

Private Sub Form_Load()

Dim secim

secim = MsgBox("Değişiklikleri Kaydetmek İstiyor musunuz?", 275, "Uyarı")

End Sub

Düğme Seçenekleri:

Sabit Bilgisi Değer

vbOK 1

vbCancel 2

vbAbort 3

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

75

vbRetry 4

vbIgnore 5

vbYes 6

vbNo 7

Private Sub Form_Load()

Dim secim, mesaj, tip, baslik

mesaj = "Devam Etmek İstiyor musunuz?"

tip = vbYesNo + vbCritical + vbDefaultButton2

baslik = "Mesaj Kutusu Başlığı"

secim = MsgBox(mesaj, tip, baslik)

If secim = 6 Then

MsgBox "Evet Butonuna Tıklandı"

ElseIf secim = 7 Then

MsgBox "Hayır Butonuna Tıklandı"

End If

End Sub

Private Sub Form_Load()

Dim secim, mesaj, tip, baslik

mesaj = "Devam Etmek İstiyor musunuz?"

tip = vbYesNo + vbCritical + vbDefaultButton2

baslik = "Mesaj Kutusu Başlığı"

secim = MsgBox(mesaj, tip, baslik)

If secim = vbYes Then

MsgBox "Evet Butonuna Tıklandı"

ElseIf secim = vbNo Then

MsgBox "Hayır Butonuna Tıklandı"

End If

End S

MT 373 Laboratuvar Uygulamaları Öğr. Gör. Dr. İrfan MACİT

76

INPUTBOX Yönteminin Kullanımı