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 …
