![]() |
|
|
|
#1 (permalink) |
|
I'm REAL ?>
![]() Üye No: 5141
Katılma Tarihi: Feb 2006
Yaş: 23
Mesajlar: 1,753
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
rem ilk.frm
sabit sayıların form başlığında toplatılması Private Sub Command1_Click() a = 12 b = 9 Label1.Caption = "sonuç=" Text1 = a + b Form1.Caption = "sonuç=" & a + b Print "sonuç="; a + b End Sub rem ******************************************* rem ikiiki.frm text kutuları yardımı ile girilen verileri toplama Private Sub Command1_Click() Text1 = Text3 + Val(Text2) End Sub Private Sub Form_DblClick() Text1 = "": Text2 = "": Text3 = "" End Sub rem ******************************************* rem static komutunun kullanımı rem program çalıştırıldığında butona basılırsa buton üzerinde basılma miktarı gözlenir Private Sub Command1_Click() Static x X=x+1 Command1.caption=x End Sub rem ******************************************* rem topla.frm Rem klavyeden girilen sayıları döngüsüz toplar Rem static komutunun kullanımı Private Sub Command1_Click() Static top a = Val(InputBox("veri giriniz")) Print 'enter görevi görür Print a ' klavyeden girilen a yı ekrana basmak top = top + a Print "top="; top ' toplamın hesaplanması End Sub rem******************************************** ' if1.frm amacı if blok kullanımı Private Sub Command1_Click() a = InputBox("a=") b = InputBox("b=") c = InputBox("c=") d = InputBox("d=") If a >= 50 Then Print "a >= 50" Else Print "a < 50" If b >= 50 Then Print "b >= 50" Else Print "b < 50" Print "a="; a Print "b="; b If c >= 50 Then Print "c >= 50" Else Print "c < 50" End If Print "c="; c If d >= 50 Then Print "d >= 50" ElseIf d < 50 Then Print "d < 50" Else Print "alakasız bir sayı" End If Print "d="; d End Sub rem ******************************************* rem if11.frm rem 'yukarıda kullanılan programın farklı kullanımı Private Sub Command1_Click() a = 12 b = 45 c = 6 d = 70 If a >= 50 Then Print "a > 50" Else Print "a < 50" If b >= 50 Then Print "b > 50" Else Print "b < 50" If c >= 50 Then Print "c > 50" Print "c < 50" End If If d >= 50 Then Print "d > 50" Else Print "d < 50" End If End Sub rem ******************************************* rem ikisayiif.frm rem iki sayının karşılaştırılması Private Sub Command1_Click() Randomize a = Val(Int(Rnd() * 101)) b = Val(Int(Rnd() * 101)) Print "a="; a Print "b="; b If a < b Then Print "a < b" ElseIf a > b Then Print "a > b " Else Print "a = b " End If Form1.Caption = a + b End Sub Rem if1.vbp if komutunun else komutu ile kullanımına örnek Private Sub Command1_Click() 'rasgele notların hesaplanması Randomize Text1 = Int(Rnd() * 101) If Val(Text1) <= 39 Then Label1.Caption = "ff" ElseIf Val(Text1) <= 45 Then Label1.Caption = "dd" ElseIf Val(Text1) <= 47 Then Label1.Caption = "dc" ElseIf Val(Text1) <= 50 Then Label1.Caption = "cc" ElseIf Val(Text1) <= 64 Then Label1.Caption = "cb" ElseIf Val(Text1) <= 74 Then Label1.Caption = "bb" ElseIf Val(Text1) <= 85 Then Label1.Caption = "ba" Else Label1.Caption = "aa" End If End Sub rem ******************************************* rem loop1.frm do//loop döngüsü yardımı ile 50 sayısını kaçıncı denemede bulduğumuzu hesaplar Private Sub Command1_Click() Randomize Do a = Val(Int(Rnd() * 101)) x = x + 1 Print a If a = 50 Then Form1.Caption = x & ". denemede bulduk" MsgBox ("program duracak") End End If Loop End Sub Rem********************************************** Rem faktor.frm Rem klavyeden girilen sayını faktoriyelini bulma Private Sub Command1_Click() Dim k As Integer faktor = 1 a = InputBox("faktoriyeli alınacak sayıyı giriniz=") Do While k < a k = k + 1 faktor = faktor * k Loop Print "faktor="; faktor End Sub Exit do: do loop döngüsünden (sonsuz döngüden çıkmak amacı ile kullanılır Private Sub Command1_Click() Do i = i + 1 Print i If i = 10 Then Exit Do Loop End Sub For //next döngüleri Başlangıç ve bitiş değerleri belli olan çevrimlerdir. For k=1 to 5 ifadesinde k indisi ballangıç 5 değeri dngümüzün gideceği son değeri vermektedir. Ayrıca 5 değerinden sonra gizli step 1 varmış kabul edilir. For k=1 to 5 step 1 gibi düşünülür. Eğer kullanıcı döngüyü tersden çslıştırmak isterse for z=5 to 1 step -1 mutlak suretle step komutunu kullanmak zorundadır. İsteğe bağlı olarak döngü sayısı arttırılabilnir. Her bir for deyimine karşılık next deyimi kullanılır. Örnek For i = 5 To 1 Step -1 For j = 2 To 1 Step -1 Print i, j Next j Next I ************************************************** ************** Rem forfaktor.frm Rem text kutusuna girilen rakamın faktoriyelini text kutusuna aktarmak Private Sub Command1_Click() a = Val(Text1) faktor = 1 For k = 1 To a faktor = faktor * k Next Label1.Caption = a & "nın faktoriyeli=" Text1 = faktor End Sub Private Sub Form_Load() Text1 = "" Label1.Caption = "yandaki kutuya sayı giriniz -->" End Sub Rem forenbenk.frm Rem rasgele üretilen sayıların enbüyük ve enküçük sayıları ve yerlerini bulan program. Private Sub Command1_Click() Cls Randomize enb = 0: enk = 100 For k = 1 To 10 a = Val(Int(Rnd() * 101)) Print a If a > enb Then enb = a: enbs = k If a < enk Then enk = a: enks = k Next Print "enb="; enb; "sırası="; enbs, "enk="; enk; "sırası="; enks End Sub Time komutu: Makinanın zaman saatini verir. Programlarda genellikle zamana bağlı işlemlerde kullanılır. Do Print Time If Time = "00:51:00" Then Exit Do Loop ***************************************** Liste kutusu nesnesi Liste kutusuna amaca uygun verileri yerleştirmek için list1.additem değişken adı kullanılır List1.additem a gibi liste kutusunun içindeki verileri silmek için list1.clear komutu kullanılır Rem liste kutularına tek ve cift toplam 10 sayı yerlestirme Private Sub Command1_Click() Randomize List1.Clear List2.Clear For k = 1 To 10 a = Int(Rnd() * 101) If a / 2 = Int(a / 2) Then Rem çift işlemleri cift = cift + 1 List1.AddItem a Else Rem tek sayı işlemleri tek = tek + 1 List2.AddItem a End If Next Label1.Caption = cift Label2.Caption = tek ************************************************** ******************************* Rem girilen sifreyi gizleyerek üç hakta bulmak Private Sub Command1_Click() Static x If Text1 <> "123" Then x = x + 1 MsgBox ("hatalı sifre" & x & ".ncı hakkınız") If x = 3 Then MsgBox ("lütfen 5464564564 noya basvur"): End Else Form2.Show Form1.Hide End If End Sub Private Sub Form_Load() Text1.PasswordChar = "&" End Sub Option nesnesi: tek bir seçeneği işaretlemek zorunda olunan durumlarda kullanılır Rem option buton uygulaması rem option17.03.frm Private Sub Command1_Click() If Option1 = True Then b = "erkek" Else b = "bayan" End If If Option3 = True Then c = "evli" Else c = "bekar" End If Form1.Caption = "siz " & c & b & "siniz" End Sub ************************************************** ***************************** Check nesnesi: onay butonu yada çeketme butonu olarak anılmaktadır. Check1=1 ise işaretli anlamındadır Check1.Enabled = 0 kutunun silik olduğunu verir. Check1.Enabled = 1 kutu görünür olduğunu verir. Check1.Value = 1 kutunun işaretli olduğunu verir. Check1.Value = 1 kutunun işaretli olduğunu verir ************************************************** *************************** Rem kdv örneği Rem option17.03.frm Private Sub Check1_Click() If Check1 = 1 Then Text4 = Text3 * Text2 * 1.18 Check1.Caption = "%18 kdv dahil" Else Text4 = Text3 * Text2 Check1.Caption = "kdv hariç" End If End Sub Private Sub Form_Click() Text1 = "": Text2 = "": Text3 = "" End Sub Hatırlatma liste kutusu örnekleri (ileride işlenecek- dizilerin konusu) Soru :klavyeden girilen on sayının ortalamasını bulma, ortalamadan büyük olan sayıları liste kutusuna yerleştirmek. Rem listeort.frm Private Sub Command1_Click() Dim a(10) Dim top As Integer For k = 1 To 10 a(k) = Val(InputBox("sayı girin")) top = top + a(k) Next k Print "top="; top c = top / 10 Print top / 10 Do While m < 10 m = m + 1 Print a(m) If a(m) > top / 10 Then List1.AddItem a(m) Loop:End Sub ************************************************** ******************************** rem Private Sub Command1_Click() ragele üretilen 0 ile 999 arasındaki sayılardan tek ve çift olarak ,beşer adet olacak şekilde liste kutularına yerleştirme bas: e1 = 0 e2 = 0 sayac = 0 List1.Clear List2.Clear dn = dn + 1 Do While sayac < 10 Randomize a = Int(Rnd() * 1000) sayac = sayac + 1 If a > 501 Then List1.AddItem a Else List2.AddItem a End If e1 = List1.ListCount e2 = List2.ListCount Label1.Caption = e1 Label2.Caption = e2 Loop If e1 = e2 Then MsgBox ("esıt ") Else GoTo bas End If Form1.Caption = dn & ".denemede esıtlık var" End Sub Örnek iki liste kutusu üzerinde verilerin butonlar yardımı ile taşınması Private Sub Command1_Click() If List1.ListIndex >= 0 Then List2.AddItem List1: 'burası List1.RemoveItem List1.ListIndex: 'burası Label1.Caption = List1.ListCount Else MsgBox ("sılınecek elemanı secmedınız") End If End Sub Private Sub Command2_Click() If List2.ListIndex >= 0 Then List1.AddItem List2: 'burası List2.RemoveItem List2.ListIndex: 'burası Label2.Caption = List2.ListCount Else MsgBox ("sılınecek elemanı secmedınız") End If End Sub Private Sub Form_Load() List1.AddItem "a" List1.AddItem "b" List1.AddItem "c" List1.AddItem "d" List1.AddItem "e" List1.AddItem "f" List1.AddItem "g" List1.AddItem "h" List1.AddItem "i" List1.AddItem "j" List1.AddItem "k" List1.AddItem "l" List1.AddItem "m" List1.AddItem "n" List1.AddItem "o" List1.AddItem "p" List1.AddItem "r" List1.AddItem "t" List1.AddItem "u" List1.AddItem "y" List1.AddItem "w" List1.AddItem "z" End Sub Işe alımla ilgili vize sorusu (üniversite, 20 yaş üstü ,50 puan ve üstünü alan ilk dört kişi için seçim) Static say Print "hoş geldiniz" If Option1 = True Then MsgBox ("üzgünüz uygun değilsiniz") ElseIf Option2 = True Then MsgBox ("üzgünüz uygun değilsiniz") ElseIf Option3 = True Then If Option4 = True Then MsgBox ("üzgünüz uygun değilsiniz") ElseIf Option5 = True Then If Val(Text1) > 49 Then MsgBox ("seçildiniz") say = say + 1: Print say b = InputBox("adınızı girin") List1.AddItem b Text1 = "" If say = 4 Then MsgBox ("sınav kapasıitesi dolmuştur"): End End If End If End If Select case komutu :if komutu gibi çalışıp bağlı bulunduğu değişkene göre programın sonuçlandırılmasını sağlar. Örnek yaş grubuna göre okul tayin Rem case.frm Private Sub Form_Click() Rem Do While lsay < 5 Static lsay yas = InputBox("yasınızı girin") Select Case yas Case 3 To 7 MsgBox ("ana okulu") Case 8 To 12 MsgBox ("ilköğretim") Case 13 To 15 MsgBox ("ortaokul") Case 16 To 18 MsgBox ("lise") Case 19 To 22 MsgBox ("ünüversite") Rem lsay = lsay + 1 Case Else MsgBox ("okumuyor olabilirsiniz") End Select Rem Loop Print lsay If lsay = 5 Then MsgBox ("secim bıtmıstır"): End:End Sub Combo nesnesi:Bilgilerin açılan kutuya yerleştirilmesi için kullanılır .Çokfazla yer kaplamadığı için tercih edilir. Dim mks, yardim Private Sub Combo1_Click() If Combo1 = "eşi çalışmıyor" Then Combo2.Enabled = 1 ElseIf Combo1 = "eşi çalışıyor" Then Combo2.Enabled = 1 ElseIf Combo1 = "bekar" Then Combo2.Enabled = 0 MsgBox ("Yardım Yok") End If End Sub Private Sub Command1_Click() mks = 10 topyardım = 0 If Combo1 = "eşi çalışıyor" Then If Combo2 = "0" Then Form1.Caption = "Toplam Yardım= " & topyardım & " YTL" If Combo2 = "1" Then: topyardım = mks * 5: Form1.Caption = "Toplam Yardım= " & topyardım & " YTL" If Combo2 = "2" Then: topyardım = mks * 10: Form1.Caption = "Toplam Yardım= " & topyardım & " YTL" If Combo2 = "3" Then: topyardım = mks * 15: Form1.Caption = "Toplam Yardım= " & topyardım & " YTL" If Combo2 = "4" Then: topyardım = mks * 20: Form1.Caption = "Toplam Yardım= " & topyardım & " YTL" If Combo2 = "5" Then: topyardım = mks * 25: Form1.Caption = "Toplam Yardım= " & topyardım & " YTL" ElseIf Combo1 = "eşi çalışmıyor" Then If Combo2 = "0" Then Form1.Caption = "Toplam Yardım= " & topyardım & " YTL" & " YTL" If Combo2 = "1" Then: topyardım = mks * 15: Form1.Caption = "Toplam Yardım= " & topyardım & " YTL" If Combo2 = "2" Then: topyardım = mks * 20: Form1.Caption = "Toplam Yardım= " & topyardım & " YTL" If Combo2 = "3" Then: topyardım = mks * 25: Form1.Caption = "Toplam Yardım= " & topyardım & " YTL" If Combo2 = "4" Then: topyardım = mks * 30: Form1.Caption = "Toplam Yardım= " & topyardım & " YTL" If Combo2 = "5" Then: topyardım = mks * 35: Form1.Caption = "Toplam Yardım= " & topyardım & " YTL" End If End Sub Private Sub Form_Load() With Combo1 .AddItem "eşi çalışmıyor" .AddItem "eşi çalışıyor" .AddItem "bekar" End With With Combo2 .AddItem "0" .AddItem "1" .AddItem "2" .AddItem "3" .AddItem "4" .AddItem "5" End With End Sub Örnek ascii tablosunun form üzerinde gösterimi Private Sub Form_click() Text1 = "" For i = 1 To 255 Text1 = Text1 & "[" & i & "=" & Chr(i) & "]" Next End Sub 20-03-2007 & 21-03-2007 //Bir formda üç adet check butonu ve üç adet option butonu bulunmaktadır. Option butonları seçildikten sonra , her option butonuna karşılık gelen check butonu otomatik seçilmekte diğer check butonlaı kapalı duruma geçmektedir. Private Sub Option1_Click() If Option1.Value = True Then Check1.Value = 1 ‘seçili Check1.Enabled = 1 ‘görünür Check2.Enabled = 0 ‘görünmez Check3.Enabled = 0 ‘görünmez Option2.Value = 0 Option3.Value = 0 End If End Sub Private Sub Option2_Click() If Option2.Value = True Then Check1.Value = 0 Check1.Enabled = 0 Check2.Enabled = 1 Check2.Value = 1 Check3.Enabled = 0 Option2.Value = 1 Option3.Value = 0 End If End Sub Private Sub Option3_Click() If Option3.Value = True Then Check1.Value = 0 Check1.Enabled = 0 Check2.Enabled = 0 Check2.Value = 0 Check3.Enabled = 1 Check3.Value = 1 Option2.Value = 0 Option3.Value = 1 End If End Sub Rem form üzerindeki yer alan kutulardan kaçtanesi 10 sn. Içinde işaretlenebilinir Formda mutlaka 1 adet timer bulunması gerekir. Dim saniye Private Sub Form_Load() saniye = 10 Label1.Caption = "süreniz" & saniye End Sub Private Sub Timer1_Timer() Dim i, say As Integer saniye = saniye - 1 Label1.Caption = saniye & "kaldı" If saniye = 0 Then Label1.Caption = "süre bitti" Timer1 = False 'sure bittiğinde saniye durması için Rem kutu sayma işlemi For i = 0 To 11 If Check1(i) = 1 Then 'işaretli ise say = say + 1 End If Next Form1.Caption = "toplam=" & say & "kutu işaretlendi" End If End Sub Örnek soru Rasgele işaret üreten bir makina bulunmaktadır elemanları +,*,?,/ simgelerinden oluşmaktadır. Her çalışmada toplam 4 adet işaret basılmaktadır. Ne zaman üç adet ? simgesini arka arkaya basa bilmektedir.? Private Sub Command1_Click() Randomize Do While say < 3 say = 0 For k = 1 To 5 a = Int(Rnd() * 4) 'Print a; If a = 0 Then S = "+" If a = 1 Then S = "*" If a = 2 Then S = "?": say = say + 1 If a = 3 Then S = "/" List1.AddItem S Next List1.AddItem "-------" don = don + 1 Loop Form1.Caption = don & "denemede bulundu" End Sub 27-03-2007 &28-03-2007 Örnek soru Aşağıdaki formun çalışması için kodları hazırlayınız.x>=0 olduğunda ve x<0 olması durumunda oluşacak fonksiyonları yazınız. Private Sub Command1_Click() Label1.Caption = "x>=0-->sqr(x^2+5) x<0 --> abs(x-3)" Dim x, f As Single x = InputBox("x değerini giriniz") If x >= 0 Then f = Sqr(x ^ 2 + 5) Else f = Abs(x - 3) End If Label2.Caption = ("x=" & x & " için f=" & f) End Sub Örnek soru Aşağıdaki formu çalıştıran programı yazınız. 10 saniye içinde liste kutusuna 10 adet rasgele sayı ekleme programı Dim k Private Sub Form_Load() k = 10 End Sub Private Sub Timer1_Timer() Randomize k = k - 1 a = Int(Rnd() * 101) List1.AddItem a If k = 0 Then Timer1.Enabled = False Command1.Caption = "işlem bitti" End If Label1.Caption = List1.ListCount End Sub Not:programın çalışabilmesi için timer nesnesinin Interval değerinin 1000 yapılması gereklidir. Dim k ifadesi decleration kısmında tanımlandığına dikkat ediniz.Aksi taktirde k değişkeni programın diğer yerlerinde değerini unutur. Örnek soru:Aşağıdaki form 10 sn içinde text kutusuna rasgele sayı üretmektedir. Süre bittiğinde üretilen sayıda değişmeyecektir. Private Sub Timer1_Timer() Static k Randomize k = k + 1 Text1 = Int(Rnd() * 101) If k = 10 Then Timer1.Enabled = False Label2.Caption = 10 - k End Sub Not:Bu örnekte general alanına değişken girilmemiş bu işlem için static ifadesi kullanılmıştır. Diziler Sıralama, değişkenin hafızada tutulabilmesi için kullanılır. Örnek soru :Rasgele üretilen on adet sayının standart sapma ,ortalama, varyansın bulunması Private Sub Command1_Click() Randomize Dim n As Integer Dim x(100) As Single Dim i, j As Integer Dim ortalama, varyans, spma As Single Dim toplam1, toplam2 As Single n = InputBox("dizi boyutu") toplam1 = 0 For i = 1 To n x(i) = Int(Rnd() * 101) List1.AddItem x(i) toplam1 = toplam1 + x(i) Next ortalama = toplam1 / n Label1.Caption = "dizinin ortalaması=" Label2.Caption = ortalama toplam2 = 0 For j = 1 To n toplam2 = toplam2 + (x(j) - ortalama) ^ 2 Next varyans = toplam2 / (n - 1) Label3.Caption = "dizinin varyansı=" Label4.Caption = varyans spma = Sqr(varyans) Form1.Caption = "sapma=" & spma End Sub Örnek soru:Rasgele üretilen 10 sayının 1.liste kutusunda sırasız 2. liste kutusuna sıralı olarak yerleştirilmesi Private Sub Command1_Click() Dim a(100) Top = 0 Randomize For k = 1 To 10 a(k) = Int(Rnd() * 101) List2.AddItem a(k) Next Rem karşılaştırma For i = 1 To 10 For z = 1 To 10 If a(i) < a(z) Then tut = a(z) a(z) = a(i) a(i) = tut End If Next Next Rem yazma For p = 1 To 10 List1.AddItem a(p) Next End Sub Aynı örneğin sorusunu şu şekilde değiştirmiş olsaydık. Ortalamadan büyük notların küçükten büyüğe sıralanmış halini list3 kutusuna yerleştirelim. Programın devamı: Rem karşılaştırma For i = 1 To 10 For z = 1 To 10 If a(i) < a(z) Then tut = a(z) a(z) = a(i) a(i) = tut End If Next: Next Rem sıralı yazdırma For h = 1 To 10 List3.AddItem a(h) Next Rem ortalamadan buyukleri sıralı yazdırma For p = 1 To 10 If a(p) > ort Then List1.AddItem a(p) Next End Sub Private Sub Command1_Click() Dim a(100) Top = 0 Randomize For k = 1 To 10 a(k) = Int(Rnd() * 101) List2.AddItem a(k) Top = Top + a(k) Next ort = Top / 10 Command1.Caption = "ort=" & ort kaynak:Öğr.Gör.Ali Atalay Eskişehir Osmangazi Üniversitesi Bilgisayar Mühendisliği
__________________
................................... |
|
|
|
|
|
#3 (permalink) | |||||||||||||||||||||||
|
I'm REAL ?>
![]() Üye No: 5141
Katılma Tarihi: Feb 2006
Yaş: 23
Mesajlar: 1,753
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() ![]()
__________________
................................... Bu mesajı en son Yusuf düzenledi . Düzenleme zamanı: 03.06.2007... 16:37. |
|||||||||||||||||||||||
|
|
|
![]() |
| Etiketler: balangianlatimornek |
| Bookmarks |
| Şu Anda Konuyu İnceleyen Aktif Kullanıcılar: 1 (0 üye ve 1 misafir) | |
| Konu Araçları | |
| Gösterim Biçimleri | |
|
|
Benzer Konular
|
||||
| Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
| C de Pointerlar(İşaretçiler)anlatım+örnek... | staticiation | Programlama & Geliştiriciler için | 3 | 3 Hafta Önce 20:34 |
| Hamit'ten süper başlangıç! | CoolmanJr | Avrupadan Futbol | 0 | 01.07.2007 22:52 |
| C++ İçin Döküman(örnek+anlatım)... | staticiation | Programlama & Geliştiriciler için | 0 | 04.06.2007 23:55 |
| VB Basic (anlatım+Örnek)... | staticiation | Programlama & Geliştiriciler için | 0 | 02.06.2007 17:05 |
![]() |
![]() |
