Страница: 1 |
Страница: 1 |
Вопрос: Оператор случайных чисел
Добавлено: 19.03.05 22:53
Автор вопроса: Tigre
Народ, не подскажите как пользоваться оператором случайных чисел?
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #1
Добавлено: 20.03.05 00:39
генератором что ли?
rnd - генерирует случайное число по-моему от нуля до еденицы. чтобы получить число от нуля до 100 надо сделать так:
или так
ВНИМАНИЕ!!!Ряд чисел при каждом запуске будет повторяться!!! чтобы этого не было надо в Form_Load написать слово Randomize !!!
Номер ответа: 2
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #2
Добавлено: 20.03.05 14:48
Добавлю:
Randomize Timer 'Это для верности
Номер ответа: 3
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #3
Добавлено: 20.03.05 14:48
Добавлю:
Randomize Timer * Rnd 'Это для 100% верности ))
Номер ответа: 4
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #4
Добавлено: 20.03.05 14:51
спасибо, сам не знал
Номер ответа: 5
Автор ответа:
Tigre
Вопросов: 34
Ответов: 63
Профиль | | #5
Добавлено: 20.03.05 18:04
Это я знаю. А как, что-бы выдавал числа, скажем, от 1 до 3. А уже не раз его в своих прогах использовал. Каждый раз долго мучался и в конце концов "методом тыка" подбирал, а принцип синтаксиса понять не могу.
Номер ответа: 6
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #6
Добавлено: 20.03.05 19:27
А как, что-бы выдавал числа, скажем, от 1 до 3.
Вот так:
Private Sub Form_Load()
Randomize Timer
For a = 1 To 100
Debug.Print 1 + Int(3 * Rnd)
Next a
End Sub
Если мне не изменяет память, то Int округляет в меньшую сторону (а FIX в большую). Отсюда и диапазон: от 0 до 2. Соответсвенно добавляем 1 и получаем от 1 до 3.
Номер ответа: 7
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #7
Добавлено: 20.03.05 19:29
А, нет, я ошибся, отличия между INT и FIX проявляются только в отрицательных числах.
Both Int and Fix remove the fractional part of number and return the resulting integer value.
The difference between Int and Fix is that if number is negative, Int returns the first negative integer less than or equal to number, whereas Fix returns the first negative integer greater than or equal to number. For example, Int converts -8.4 to -9, and Fix converts -8.4 to -8.
Номер ответа: 8
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #8
Добавлено: 20.03.05 19:32
Вот тебе формула для диапазона из MSDN:
To produce random integers in a given range, use this formula:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
Номер ответа: 9
Автор ответа:
Tigre
Вопросов: 34
Ответов: 63
Профиль | | #9
Добавлено: 21.03.05 17:09
Спасибо, буду пробывать.