Vb.net Permütasyon Kombinasyon Faktöriyel Hesaplama Programı

Merhaba Arkadaşlar,

Tam gaz devam ediyoruz.Bugun anlatıcağım şey Vb.Net ile Permütasyon,Kombinasyon,Faktöriyel hesaplama programı yazıcaz…

Biraz enerjik olun ve bunu hızlı bir şekilde yapalım,önce nası yapmamız gerektiğini anlatıcam sonra kodları ve programı vericem.Programı kullanmak isteyen indirip kullanabilir.

Evet Başlayalım;

Önce Faktöriyel hesaplamayı anlatayım ilk olarak 2 tane Double değişkeni tanımlıyoruz.Daha sonra bunlar c1,c2 olsun

(Button a Çift Tıklıyoruz) c1 değerini Textbox dan alalım bunun için kodumuz : c1=Val(Textbox1.Text)

Daha sonra c2 = 1 diyorum ve For döngümüzü Çalıştırıyoruz.  döngüde p=1  değeri c1 olasıya kadar çarpması gerektiğini yazıyoruz. Bunun için Kodumuz:

    Dim c1, c2 As Double
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        c1 = Val(TextBox3.Text)
        c2 = 1
        For p = 1 To c1
            c2 = c2 * p
        Next
        Label3.Text = c2

    End Sub

Faktöriyel hesaplamamız bu kadardı faktöriyel hesaplama mantığını anlattığım için permütasyon ve kombinasyon hesaplama kodlarını anlatmıcam anlarsınız zaten belli noktaları söyliyim sadece

Permütasyon Formulü : P(n,r)=n!/(n-r)!

Kombinasyon Formulü: C(n,r)=n!/r!*(n-r)!

Girilen değişkene n  faktöriyeline nf dedim girilen r  faktöriyeli rf gibi

(n-r)!  ise  a=n-r    dedim sonra  a nın faktöriyelini aldım.

Kodlar:

Public Class Form1

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

    End Sub
    Dim n, r, nf, rf, a, af, personuc, komsonuc As Double


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        n = Val(TextBox1.Text)
        r = Val(TextBox2.Text)
        nf = 1
        For t = 1 To n
            nf = nf * t
        Next
        rf = 1
        For m = 1 To r
            rf = rf * m
        Next

        'a Değişkenini (n-r) Olarak Tanımlıyoruz
        a = n - r
        af = 1
        For z = 1 To a
            af = af * z
        Next

        personuc = nf / af
        Label1.Text = personuc
        komsonuc = nf / (rf * af)
        Label2.Text = komsonuc


        If n < r Then
            MsgBox("n, r'den küçük olamaz", MsgBoxStyle.Critical, "canmose.org")
        End If


    End Sub

    Dim c1, c2 As Double
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        c1 = Val(TextBox3.Text)
        c2 = 1
        For p = 1 To c1
            c2 = c2 * p
        Next
        Label3.Text = c2

    End Sub
End Class

 

Program Resim :

kombperprogram

 

Program Linki :

indirmebutonu

 

Yorum yaparsanız sevinirim …

Facebook Yorumlar

Yorum

Leave a Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir