26 Haziran 2012 Salı

Visual Basic.Net--Bubble Sort Sıralaması


Form görüntüsü

















"BAS" tuşuna basın ve sol tarafta listbox'ın içinde rastgele sayıları,sağ taraftaki listbox'ın içinde de bubble sort yöntemiyle o sayıların küçükten büyüğe sıralı halini göreceksiniz.
----------------------------------------------------------------------------

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim deger
        Dim sayi, ara, z, y, art As Integer
        For i = 1 To 10
            Randomize()
            deger = Int((100 * Rnd()) + 1)
            ListBox1.Items.Add(deger)
        Next
        For s = 0 To 9
            ListBox2.Items.Add(ListBox1.Items(s))
        Next
        For i = 0 To 8
            For x = 0 To 8
                z = ListBox1.Items(x)
                art = x + 1
                y = ListBox1.Items(art)
                If z > y Then
                    ara = ListBox1.Items(x)
                    ListBox1.Items(x) = ListBox1.Items(x + 1)
                    ListBox1.Items(x + 1) = ara
                End If
            Next
        Next
    End Sub
End Class

---------------------------------------------------------------------------
Kodda geçen bazı fonksiyonların işlevi
Rnd() Fonksiyonu
Rastgele sayı türetmek için kullanılır.Türetilen sayi [0-1) aralığındadır.Türetilen sayılar ondalıklıdır.Rnd foksiyonu her seferinde farklı değerler üretsin diye Randomize() ifadesi kulanılır.Aksi takdirde hep aynı rastgele sayıyı verecektir.
Örnekler:
Rnd*5 ifadesi -->"0 dahil ve 5'in dahil olmadığı aralıktaki herhangi bir sayı"
Rnd()*11  --> "0 ile 10.99999 arası sayılar (sınırlar dahil)"
Int(Rnd()*11)  --> "0 ile 10 arası tam sayılar (sınırlar dahil)"
Int(Rnd()*11)+10  --> "10 ile 20 arası tam sayılar (sınırlar dahil)"



Visual Basic-Küçük Ünlü Uyumu



Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim genisduz(1), daryuvarlak(1), duzdar(1), genisyuvarlak(1) As String
        Dim bak1, bak2, bak3, bak4 As Integer
        bak1 = 0
        bak2 = 0
        bak3 = 0
        bak4 = 0

        genisduz(0) = "a"
        genisduz(1) = "e"

        daryuvarlak(0) = "u"
        daryuvarlak(1) = "ü"

        duzdar(0) = "ı"
        duzdar(1) = "i"

        genisyuvarlak(0) = "o"
        genisyuvarlak(1) = "ö"

        If TextBox1.Text(0) = genisduz(0) Or TextBox1.Text(0) = genisduz(1) Or TextBox1.Text(0) = duzdar(0) Or TextBox1.Text(0) = duzdar(1) Then
            For i = 1 To TextBox1.Text.Length - 1
                If (TextBox1.Text(i) = daryuvarlak(0) Or TextBox1.Text(i) = daryuvarlak(1) Or TextBox1.Text(i) = genisyuvarlak(0) Or TextBox1.Text(i) = genisyuvarlak(1)) Then
                    bak1 = 1 'küu uymaz
                Else
                    bak2 = 1 'küu uyar
                End If
            Next
            If bak1 = bak2 Then
                MsgBox("Küçük ünlü uyumuna uymaz")
            Else
                MsgBox("Küçük ünlü uyumuna uyar")
            End If

        ElseIf TextBox1.Text(1) = genisduz(0) Or TextBox1.Text(1) = genisduz(1) Or TextBox1.Text(1) = genisduz(1) Or TextBox1.Text(1) = genisduz(1) Then
            For i = 2 To TextBox1.Text.Length - 1
                If (TextBox1.Text(i) = daryuvarlak(0) Or TextBox1.Text(i) = daryuvarlak(1) Or TextBox1.Text(i) = genisyuvarlak(0) Or TextBox1.Text(i) = genisyuvarlak(1)) Then
                    bak1 = 1 'küu uymaz
                Else
                    bak2 = 1 'küu uyar
                End If
            Next
            If bak1 = bak2 Then
                MsgBox("Küçük ünlü uyumuna uymaz")
            Else
                MsgBox("Küçük ünlü uyumuna uyar")
            End If

        ElseIf TextBox1.Text(0) = genisyuvarlak(0) Or TextBox1.Text(0) = genisyuvarlak(1) Or TextBox1.Text(0) = daryuvarlak(0) Or TextBox1.Text(0) = daryuvarlak(1) Then
            For z = 1 To TextBox1.Text.Length - 1
                If (TextBox1.Text(z) = daryuvarlak(0) Or TextBox1.Text(z) = daryuvarlak(1) Or TextBox1.Text(z) = genisduz(0) Or TextBox1.Text(z) = genisduz(1)) Then
                    bak3 = 1  'küu uyar
                Else
                    bak4 = 1  'küu uymaz
                End If
            Next
            If bak1 = bak2 Then
                MsgBox("Küçük ünlü uyumuna uyar")
            Else
                MsgBox("Küçük ünlü uyumuna uymaz")
            End If

        ElseIf TextBox1.Text(1) = genisyuvarlak(0) Or TextBox1.Text(1) = genisyuvarlak(1) Or TextBox1.Text(1) = daryuvarlak(0) Or TextBox1.Text(1) = daryuvarlak(1) Then
            For z = 2 To TextBox1.Text.Length - 1
                If (TextBox1.Text(z) = daryuvarlak(0) Or TextBox1.Text(z) = daryuvarlak(1) Or TextBox1.Text(z) = genisduz(0) Or TextBox1.Text(z) = genisduz(1)) Then
                    bak3 = 1  'küu uyar
                Else
                    bak4 = 1 'küu uymaz
                End If
            Next
            If bak1 = bak2 Then
                MsgBox("Küçük ünlü uyumuna uyar")
            Else
                MsgBox("Küçük ünlü uyumuna uymaz")
            End If
        End If
    End Sub
End Class

Visual Basic.Net--Girilen metni ters çeviren uygulama



Form görüntüsü















"Ters Çevir" butonuna çift tıklıyoruz ve içerisine şu kodları yazıyoruz.

-----------------------------------------------------------
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim kelime, terskelime As String
        kelime = TextBox1.Text    'TextBox'dan kelime alıyoruz
        terskelime = ""
        For i = 1 To kelime.Length             'Girilen kelimenin uzunluğu kadar döngüye giriyoruz
            terskelime = terskelime & kelime.Substring(kelime.Length - i, 1)  
        Next
        Label1.Text = terskelime
    End Sub
End Class

-----------------------------------------------------------
Kodda kullanılan bazı fonksiyonların işlevi

Substring(a,b) foksiyonu kelimenin a. indisinden başlayıp ve b. indisine kadar devam eden harfleri döndürür.

Length kelimenin uzunluğunu döndürür.

Visual Basic.Net--Fibonacci serisinde sırası verilen sayının değerini bulma



Form görüntüsü


















"Fibonacci Serisindeki Sırayı Giriniz" butonuna çift tıklıyoruz ve içerisine şu kodları yazıyoruz.

--------------------------------------------

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim a, b, sayi, deger As Integer
        If Val(TextBox2.Text) <> 1 Then
            sayi = Val(TextBox2.Text)
            a = 1
            b = 2
            For z = 1 To sayi - 2
                deger = b
                b = a + b
                a = deger
            Next z
        End If
        TextBox1.Text = a
    End Sub
End Class

---------------------------------------------
Kodda kullanılan bazı fonksiyonların işlevi:

Val() fonksiyonu kendisine parametre olarak verilen karaktersel bilgilerisayısal bilgiye çevirir.

Visual Basic.Net--Faktöriyel Hesabı



Form görüntüsü















"Faktöriyel" butonuna basıyoruz ve içerisine şu kodları yazıyoruz.
-------------------------------------------------

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim sayi, z As Integer
        sayi = 1
        If TextBox1.Text = 0 Then 'eğer girilen sayı 0 ise
            TextBox2.Text = 1     'Faktöriyeli yazan yerde 1 görüntüle
        Else
            For z = 1 To TextBox1.Text
                sayi = sayi * z
            Next
        End If
        TextBox2.Text = sayi
    End Sub
End Class

---------------------------------------------

Visual Basic.Net--1'den 100'e kadar olan sayıların tek ve çift olanlarını bulma



Form görüntüsü


















Çift sayıları yazdırmak için  "Çift Sayılar" yazılı checkbox'ın altındaki "bas" butonuna basıyoruz ve içerisine şu kodları yazıyoruz.
---------------------------------------------------

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ListBox1.Items.Clear()     'ListBox'ın içerisini temizler
        If CheckBox1.Checked = True Then      'Eğer checkbox seçili değil ise işlem yapmaz
            For z = 1 To 100
                If z Mod 2 = 0 Then      ' Sayının 2'ye bölümünden kalan 0 ise
                    ListBox1.Items.Add(z)
                End If
            Next z
        End If
    End Sub
--------------------------------------------------

Tek sayıları yazdırmak için "Tek Sayılar" yazılı checkbox'ın altınki "bas" butonuna basıyoruz ve içerisine şu kodları yazıyoruz.
--------------------------------------------------

 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        ListBox1.Items.Clear()
        If CheckBox2.Checked = True Then
            For z = 1 To 100
                If z Mod 2 = 1 Then
                    ListBox1.Items.Add(z)
                End If
            Next z
        End If
    End Sub
-------------------------------------------------
Kodda kullandığımız bazı fonksiyonların işlevi

Mod bölme işleminde kalanı verir. C dilinde % işaretiyle aynı işlevi görür.
Clear kullanıldığı yerin içerisindekileri tamamen siler.

Visual Basic.Net--Büyük Ünlü Uyumu



Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim kalin(3), ince(3), karakter As String
        Dim bak, bak1 As Integer
        bak = 0
        bak1 = 0

        kalin(0) = "a"
        kalin(1) = "ı"
        kalin(2) = "u"
        kalin(3) = "o"

        ince(0) = "e"
        ince(1) = "i"
        ince(2) = "ü"
        ince(3) = "ö"

        For i = 1 To TextBox1.Text.Length
            If Mid(TextBox1.Text, i, 1) = kalin(0) Or Mid(TextBox1.Text, i, 1) = kalin(1) Or Mid(TextBox1.Text, i, 1) = kalin(2) Or Mid(TextBox1.Text, i, 1) = kalin(3) Then
                bak = 1
            ElseIf Mid(TextBox1.Text, i, 1) = ince(0) Or Mid(TextBox1.Text, i, 1) = ince(1) Or Mid(TextBox1.Text, i, 1) = ince(2) Or Mid(TextBox1.Text, i, 1) = ince(3) Then
                bak1 = 1
            End If
        Next
        If bak1 = bak Then
            MsgBox("Büyük ünlü uyumuna uymaz.")
        Else
            MsgBox("Büyük ünlü uyumuna uyar.")
        End If
        TextBox1.Text = ""
    End Sub
End Class

-----------------------------------------------------------
Kodda kullandığım bazı fonksiyonların işlevi

Mid() fonksiyonu bir stringin en solundan belirtilen karakterden,belirtilen karakter kadarını alarak yeni bir string oluşturur.
Mid(string,1,2) --> En soldaki 1. karakter de dahil olmak üzere 2 harf alır.