//MSDN
Acak
Untuk menghasilkan bilangan bulat acak dalam suatu rentang, gunakan rumus berikut: Int((batas atas-bawah+1)*Rnd+batas bawah)
Di sini, batas atas adalah batas atas rentang angka acak, dan batas bawah adalah batas bawah rentang angka acak.
---- Fungsi acak di VB adalah Rnd, tetapi selama proses penggunaannya, saya menemukan bahwa meskipun nilai yang dihasilkan setelah program dimulai adalah acak, program akan menghasilkan urutan angka acak yang sama setiap kali dijalankan. dimulai ulang. Apa yang harus saya lakukan?
---- Prototipe fungsi acak di VB adalah: Rnd(angka). Fungsi Rnd mengembalikan nilai kurang dari 1 tetapi lebih besar dari atau sama dengan 0. Nilai number (opsional) menentukan bagaimana Rnd menghasilkan angka acak. Karena penentuan cara untuk menghasilkan bilangan acak, setiap kali fungsi acak dimulai, benih yang diberikan pada awalnya akan menghasilkan barisan yang sama, karena setiap kali fungsi Rnd dipanggil, bilangan sebelumnya dalam barisan tersebut digunakan sebagai benih. untuk nomor berikutnya.
---- Untuk mendapatkan urutan angka acak yang berbeda setiap kali program yang berjalan memanggil fungsi acak, sebelum memanggil Rnd, pertama-tama gunakan pernyataan Randomize tanpa parameter untuk menginisialisasi generator angka acak, yang memiliki benih yang diperoleh sesuai dengan pengatur waktu sistem Dengan cara ini, jika Anda memanggil Rnd lagi, Anda akan mendapatkan urutan nomor acak yang berbeda.
---- Selain itu, sesuai dengan prinsip kerja Randomize, pengguna juga dapat menyusun fungsi acaknya sendiri, yaitu menggunakan fungsi Timer untuk mendapatkan jumlah detik yang telah berlalu dari tengah malam hingga sekarang, lalu "menghitung" nilai sesuai dengan besar kecilnya nilai acak yang ingin diperoleh. Pemrosesan Atenuasi, nilai yang diperoleh dengan cara ini dapat disebut nilai yang benar-benar acak.