Anasayfa > Kodlar > Visual Basic 6 ile rasgele sayılar oluşturmak

Visual Basic 6 ile rasgele sayılar oluşturmak


Rasgele sayılar nasıl üretilir

Herkese Merhaba...
Visual Basic'te geliştirdiğiniz projelerinizde bilgisayarın üreteceği rasgele sayılara ihtiyaç duyabilirsiniz.Mesela mp3 çalarınızın parçaları belli bir düzene uymadan(rasgele) çalabilmesi ya da yaptığınız Loto programında rasgele 6 adet sayının üretilmesi durmunda böyle bir fonksiyona ihtiyaç duyabilirsiniz.Özelliklede oyunlar da... 🙂
VB'de bu işi Rnd fonksiyonu üstlenir.Bu fonksiyon bilgisayarımıza 0 ile 1 arasında rasgele bir sayı üretmesini söyler.Tabi 0 ile 1 arasında üretilen bir sayı bizim çok ta işimize yaramıyacaktır.Ancak Rnd fonksiyonu ile bizim belirleyeceğimiz sayılar arasında da (negatif ya da pozitif fark etmez) sayılar üretmek mümkün.Dilerseniz uygulamaya geçelim...

Önce Standart.exe uygulaması başlatın ve formumuza bir CommandButton ve bir Label(etiket kontrolü) ekleyin.
İlk önce 0 ile 9 arasında bir rakam üretelim
Kodlarımızı Command1'in Click olayına yazacağız


Private Sub Command1_Click()
Dim sayi
sayi = Rnd*(10)
Label1.Caption = sayi
End Sub

Programı test ettiğimizde 0 ile 9 arasında rasgele sayıların oluştuğunu görüyoruz ancak bu sayılar noktalı sayılar bunu engellemek için
sayi = Rnd*(10)
satırını
sayi = int(Rnd*(10))
şeklinde değiştirmeliyiz.
Böylece ürettiğimiz sayılar 0 ile 9 arası tam sayılar olacaktır.
Üreteceğimiz sayıların üst sınırını istediğimiz şekilde belirleyebiliriz.Aynı zamanda alt sınır da sıfır olmak zorunda değil mesela;
100 ile -50 arası bir sayı üretmek için...
sayi = int(Rnd* 100-50)
kodu yeterlidir.
Bu konuda genel bir formül şöyledir; Eğer a ile b arasında bir sayı üretmek istiyorsanız
Rnd*(b-a)+a
formülünden yaralanabilirsiniz.
Artık istediğimiz değer aralıkarında istediğimiz kadar rasgele sayı üretebiliriz ancak burda bir sorun var sizinde dikkatinizi çekti mi?
Kodu her çalıştırışımızda rakamlar aynı geliyor.Bilgisayar her defasında aynı rakamları tutuyor....
Elbette bunuda bir çözümü var
Aslında bilgisayarlar gerçek anlamda rasgele sayı üretemez.Kodu her çalıştırışımızda aynı rakamların gelmesi bunun kanıtı.
İşte bu yüzden her defasında başka başka rakamlar üretmek için bilgisayarın içinde sürekli değişen bişeyi referans almak zorundayız.Peki nedir bu değişen şey... Evet!! çok haklısınız "Sistem saati" Bu referansı sağlamak içinse kodumuzun başına şu satırı ekleyeceğiz
Randomize Timer
Artık kodumuz sorunsuz işliyor.Gerisi sizin yaratıcı kişiliğinize kalmış.
nedala@mynet.com


TD Software


Reklamlar
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Yanıt Bırakın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: