Asp`de Rastgele Sayi Üretmek (Randomize – Rnd)

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;     

[asp]Dim rastgeleSayi
Randomize
rastgeleSayi = Rnd

response.write rastgeleSayi[/asp]

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.

[asp]Dim rastgeleSayi
Randomize
rastgeleSayi = Rnd

response.write Int(rastgeleSayi)
‘veya
response.write Round (rastgeleSayi)[/asp]

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;

[asp]Dim rastgeleSayi
Randomize
rastgeleSayi = (Rnd * 100) + 50

response.write Int(rastgeleSayi)[/asp]

yukaridaki örnegi tarayicinizda denerseniz ekranda 50 ile 100 arasi bir sayi yazdigini göreceksiniz. Yenile dügmesine tiklayarak tekrar tekrar test edebilirsiniz.

Buradaki iki sayi arsinda rastgele bir deger elde etmemizi saglayan formul  (Rnd * 100) + 50 ‘dür. Bu formulün mantigini anlatmak gerekirse; sayimiz en düsük olabilecegi icin +50 olarak bir deger veriyoruz böylece sayimiz 50′nin altina düsmüyor en yuksek sayiyi ise *100 olarak belirttik burada aslinda rastgele sayimiz 100 ile carpilmiyor bunu bir kod formulu olarak düsünebilrsiniz. Carpi isareti ( * ) sonrasinda en yüksek degeri belirtmeniz yeterli olacaktir.

Comments

  1. Anonim diyor ki:

    Oldukça faydalı bir çalışma benim için.
    Emeği geçen arkadaşalara teşekkürler…

  2. ömer diyor ki:

    güzel çalışma eline sağlık ama virgülü nasıl kaldıracağımız hakkında bilgi verebilirmisin

  3. flashcentury diyor ki:

    Son örnekte aslında belirtmiştim ama birkez daha açıklayım

    Randomize
    rastgeleSayi = (Rnd * 100) + 50

    burada rastgele sayı değişkeni 50 ile 100 arasında bir sayıya eşit olacak. şimdi farzedelimki 73,89 şeklinde rastgele bir sayı oluştu

    rastgeleSayi = Int(rastgeleSayi)

    ile virgülü atıp rastgele değişkenini 73 rakamına eşitleyebilirsiniz.

    rastgeleSayi = round (rastgeleSayi)

    yaparsanız 73,89 rakamını en yakın tam sayıya yuvarlar ve 74 olur.

    Aslında sayı rastgele olacağı için yukarıdaki iki teknikten istediğini kullanabilirsin sonuc olarak aşağıdaki şekilde direk kullanabilirsin;

    Dim rastgeleSayi
    Randomize
    rastgeleSayi = (Rnd * 100) + 50
    rastgeleSayi = Int(rastgeleSayi)
    response.write (rastgeleSayi)

  4. flashcentury diyor ki:

    Dim rastgeleSayi
    Randomize
    rastgeleSayi = (Rnd * 100) + 50
    rastgeleSayi = Int(rastgeleSayi)
    response.write (rastgeleSayi)

Leave a Comment

Kategoriler

Tag cloud

Deneme

Deneme Deneme Deneme

Sayfalar

Son Yazılar

Son Yorumlar

Etiketler

Copyright � 2010 Flashcentury