Страница: 1 |
Страница: 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 'выводим число на форме
А Security Note вещь прикольная, посмеялся
Номер ответа: 4
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #4
Добавлено: 06.03.07 19:58
MyValue = (Int(Rnd*314159) mod 7)+1
тоже вариант