Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Генерация чисел Добавлено: 06.03.07 13:01  

Автор вопроса:  FiLiN
Появилась необходимость генерировать числа

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 LifeFire



ICQ: 176396432 

Вопросов: 22
Ответов: 150
 Профиль | | #1 Добавлено: 06.03.07 16:12
Функция Rnd
Rnd[(Number)]
Функция Rnd(Random) служит для генерации случайных чисел

Возвращаемое значение
Функция Rnd возвращает значение в диапазоне от 0 до 1 типа Single, содержащее случайное число(причем 1 не входит в этот диапазон, а 0 входит). Строго говоря, функция возвращает псевдослучайные числа. При каждом запуске программы, функция генерирует одну и ту же последовательность случайных чисел. Во избежания этого явления используйте инструкцию Randomize

Примечание:Чтобы получить значения случайных чисел в интервале от min до max используйте формулу:
Int((max - min + 1) * Rnd + min),где min и max-минимальное и максимальное число соответственно

Параметры
Number
Необязательный аргумент представляет число типа Single или любое допустимое числовое выражение. Аргумент может принимать следующие значения:
Аргумент опущен или больше 0
Генерируется следующее случайное число в последовательности. При повторном запуске программы генерируется аналогичная последовательность случайных чисел
Аргумент отрицательный
Генерируется одно и то же число, используя аргумент как опорное число
Аргумент равен 0
Генерируется одно и то же число, используя число при предыдущем вызове функции

Пример
' Генерируем случайные числа от 1 до 7
Dim MyValue
MyValue = Int((7 * Rnd) + 1)
Print MyValue 'выводим число на форме

Ответить

Номер ответа: 2
Автор ответа:
 LifeFire



ICQ: 176396432 

Вопросов: 22
Ответов: 150
 Профиль | | #2 Добавлено: 06.03.07 16:14
и еще.. Security Note
Because the Random statement and the Rnd function start with a seed value and generate numbers that fall within a finite range, the results may be predictable by someone who knows the algorithm used to generate them. Consequently, the Random statement and the Rnd function should not be used to generate random numbers for use in cryptography.
 

Ответить

Номер ответа: 3
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #3 Добавлено: 06.03.07 16:29
Спасиба огромное за прописные истины. К томуже у тебя ошибка здесь:
Пример
' Генерируем случайные числа от 1 до 7
Dim MyValue
MyValue = Int((7 * Rnd) + 1)
Print MyValue 'выводим число на форме
Если тебе нужно случайное число от 1 до 7, то используй это
MyValue = Int((6 * Rnd) + 1)
так как в твоем случае у тебя будет число от 1 до 8.

А Security Note вещь прикольная, посмеялся :)

Ответить

Номер ответа: 4
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #4 Добавлено: 06.03.07 19:58

MyValue = Int((6 * Rnd) + 1)



MyValue = (Int(Rnd*314159) mod 7)+1

тоже вариант

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам