If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!
Asp`de rastgele sayi üretmek icin Randomize ve Rdn komutlarini kullaniyoruz. Görev olarak bazen cok karmasik bir uygulamayi yüklensede tesadüfi (rastgele) sayi üretmek Asp`de cok kolaydir.
Hemen ilk örnegimizi yapalim;
Dim rastgeleSayi Randomize rastgeleSayi = Rnd response.write rastgeleSayi
iste bu kadar.
Isin mantigini anlatmak gerekirse;
ilk once Randomize komutunu yazmamamiz gerekiyor bu bir kuraldir yani rastgele sayi icin starti vermis oluyoruz sonraki adimda degiskenimizi Rnd `ye esitleyerek tesadüfi sayimizi elde ediyoruz.
Yalniz dikkat etmememiz gereken bir husus var; ürettigimiz bu sayi tamsayi veya büyük bir ihtimalle kesirli (küsüratli) sayi olabilir. Eger sadece tam sayi istiyorsaniz Int ve Round komutlarindan birini kullanarak sayimizi tam sayiya cevirebilirsiniz.
Dim rastgeleSayi Randomize rastgeleSayi = Rnd response.write Int(rastgeleSayi) 'veya response.write Round (rastgeleSayi)
Int ve Round komutlarindan kisaca bahsetmek gerekirse;
-
Int –> Bu fonksiyon ile sayinin kusuratini atabilirsiniz. Örnegin 158,675 gibi bir sayi 158 olarak dönüstürülür. yani kusurat atilir.
-
Round –> Round ise küsüratina göre tam sayiya dönüstürür. Örnegin 158,675 sayisi 159 olarak dünüstürülür veya 47,3 sayisi 46 olarak deger alir.
Son olarak bazende iki sayi araliginda bir deger olusturmak isteyebirsiniz.
Örnegin 50 ile 100 arasinda rastgele bir sayi üretmek istiyorum;
Dim rastgeleSayi, max, min, islem max = 100 min = 50 islem = (max - min) + 1 Randomize rastgeleSayi = int((Rnd * islem)+min) response.write Int(rastgeleSayi)
yukaridaki örnegi tarayicinizda denerseniz ekranda 50 ile 100 arasi bir sayi yazdigini göreceksiniz. Yenile düğmesine tiklayarak tekrar tekrar test edebilirsiniz.
Buradaki iki sayi arsinda rastgele bir değer elde etmemizi sağlayan formul (Rnd * 50) + 50 ‘dür. Bu formulün mantigini anlatmak gerekirse;
Sayımız en düsük olabileceği değere +50 ilave ediyoruz böylece sayımız 50 ‘nin altina düşmüyor.
Yukarıdaki formulde (rnd * 50) dikkatinizi çekmiştir aslinda rastgele sayimiz 50 ile çarpilmiyor bunu bir kod formulu olarak düsünebilrsiniz. Çarpi isareti ( * ) sonrasinda en yüksek değeri belirtmeniz yeterli olacaktir.


















Yazar Hüseyin Kocak
Kategoriler: ASP