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 :
Program Linki :
Yorum yaparsanız sevinirim …