DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Buyurun.Bir zar 100 kere atılıyor msgbox ile kaç tane1, kaç tane 2,kaç tane 3......kaç tane 6 elde edildiğini gösterebilirmisiniz?
Sub zar_at_Trex()
Randomize Timer
Dim z As Object, zar As Integer, vkey
Set z = CreateObject("Scripting.Dictionary")
For i = 1 To 100
zar = Int(Rnd() * 7) + 1
If Not z.exists(zar) Then
z.Add zar, 1
Else
z.Item(zar) = z.Item(zar) + 1
End If
Next
deg = "Adet" & vbTab & "Zar No"
For Each vkey In z
deg = deg & vbLf & z.Item(vkey) & vbTab & vkey
Next
deg = deg & vbLf & "-----------------" & vbLf & "TOPLAM 100 ZAR ATILDI" & vbLf & "T rex"
MsgBox deg
Set z = Nothing
End Sub
zar = Int(Rnd() * [COLOR="Red"]6[/COLOR]) + 1
Kod:zar = Int(Rnd() * [COLOR="Red"]7[/COLOR]) + 1
zarda maksimum rakam 6 olduğundan aşağıdaki ifadede 7'yi altı yapmak gerekir.
Kod:zar = Int(Rnd() * [COLOR="Red"]6[/COLOR]) + 1
zar = Int(Rnd() * 6) + 1
Bu formüle göre;
Rnd() fonksiyonu, 1 değerini üretirse; zar, 7 değerini alır ve bir mucize gerçekleşir
zar=Int(Rnd()*5)+1
olmalı.
Tavlacılar bilir.
Bir zar atıldığında şunlardan birinin gelmesi beklenir.
Yek, Dü, Se, Cehar, Penç, Şeş ... (1-6 arası Farsça sayılar)
Heft (7) gelirse; tavlayı ilelebet kapatmak, bu mesajı tefekkür etmek ve dünyadan el etek çekmek gerekir![]()
Yani, bir zar atıldığında, normalde; 7 gelmesi mümkün değildir.
.
Bu tesbit yanlış.Bu formüle göre;
Rnd() fonksiyonu, 1 değerini üretirse; zar, 7 değerini alır ve bir mucize gerçekleşir
zar=Int(Rnd()*5)+1
olmalı.
Bu formüle göre;
Rnd() fonksiyonu, 1 değerini üretirse; zar, 7 değerini alır ve bir mucize gerçekleşir
zar=Int(Rnd()*5)+1
olmalı.
Şimdi ben şüpheye düştüm.Bu tesbit yanlış.
*6 dediğimiz zaman,0 dan başlar sonuçlar 5 te biter.
Yani 0-5 arası olur ki işte ben buna mucize derim.
bu durumda en küçüğk değer sıfır üretilir en büyük değer ise 5 üretilir.
Ama +1 eklrsek 1 ile 6 arasında değer elde etmiş oluruz.
İsterseniz bolca deneyin.
Kolay gelsin.:biggrin: