Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 | 2 | 3 | 4 |

 

  Вопрос: Random Добавлено: 06.07.05 19:32  

Автор вопроса:  Gerinych | Web-сайт: gerinych.tk | ICQ: 224-500-308 
Как можно сделать так чтобы в label по нажатию кнопки генерировалось случайным образом цифра или буква?

Ответить

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

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



Вопросов: 0
Ответов: 73
 Профиль | | #1 Добавлено: 06.07.05 20:14
Private Sub CommandButton1_Click()
Label1.Caption = Int(Rnd * 10)
End Sub

Ответить

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



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #2
Добавлено: 07.07.05 11:05
Только незабудь Randomize Timer

Ответить

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



Вопросов: 0
Ответов: 73
 Профиль | | #3 Добавлено: 07.07.05 16:04
Если очень хочется, то можно и забыть

Ответить

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



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #4
Добавлено: 07.07.05 16:22
Даже нужно :)

Ответить

Номер ответа: 5
Автор ответа:
 ActiveX



Вопросов: 0
Ответов: 73
 Профиль | | #5 Добавлено: 07.07.05 21:10
Вне зависимости, инициализируем ли мы датчик случайных чисел, передавая ему в качестве аргумента значение, возвращаемое функцией Timer или нет, вероятность получения повторящегося значения есть в обоих случаях. И в этом можно убедиться, если сгенерировать хотя бы 100 случайных чисел, используя оба варианта.

Ответить

Номер ответа: 6
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #6
Добавлено: 07.07.05 22:17
2 ActiveX

Смотря в каком диапазоне (если округляется)

Ответить

Номер ответа: 7
Автор ответа:
 ActiveX



Вопросов: 0
Ответов: 73
 Профиль | | #7 Добавлено: 08.07.05 00:08
Morpheus
Бессмысленно рассматривать абстрактный пример генерации случайного числового значения в диапазоне от 0 до бесконечности. Так что Вы не погрешите против истины, если будете рассматривать мой предыдущий пост именно в контексте заданного вопроса и моего ответа на него.

Ответить

Номер ответа: 8
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #8
Добавлено: 08.07.05 10:39
датчик случайных чисел

 А почему датчик? :)
 Я вот провёл такой эксперимент - две проги с инициализацией генератора и без. Ну так вот, все запущенные экземпляры той что без инициализации генерируют одни и те же числа. Выводы делайте сами.

 Вообще я со случайными числами знаком мало, знаю только что они делаются на основе встроенного в процессор счётчика тактов. Сейчас времени совершенно нет, но в будущем обязательно посмотрю что такое Randomize Timer.

Ответить

Номер ответа: 9
Автор ответа:
 ActiveX



Вопросов: 0
Ответов: 73
 Профиль | | #9 Добавлено: 08.07.05 13:12
А вот нравиться мне этот термин и всё тут. Но Вы конечно можете использовать и другие словесные обороты.

Если у Вас функция Rnd всегда возвращает одно и тоже числовое значение, то в этом случае, Вам нужно копать именно в сторону этой функции. И для начала можете посмотреть здесь : http://vbnet.ru/vbguide/showfunction.asp?id=5

И когда я говорил, что в обоих вариантах существует вероятность получить последовательно повторящиеся значения, я также, как и Вы основывался на реальной проверке.

P.S. А писать прогу для проверки это уж слишком, достаточно было просто воспользоваться самым первым примером. Разумеется, если под прогой, Вы не подразумеваете классического определения, гласящего, что программой может называться всё, что начинается с Sub и заканчивается End Sub. В таком случае даже одну единственную инструкцию можно гордо назвать программой.

Ответить

Номер ответа: 10
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #10
Добавлено: 08.07.05 16:44
Если у Вас функция Rnd всегда возвращает одно и тоже числовое значение, то в этом случае, Вам нужно копать именно в сторону этой функции.

 Нет, в сторону этой функции копать не нужно. Изначально цепочка псевдослучайных чисел строится на каком то базовом числе. Установка базового числа, равным текущему времени позволяет сделать его более случайным. Как показала проверка (8) приложения без инструкции Randomize генерируют всегда одинаковые случайные числа.

Ответить

Номер ответа: 11
Автор ответа:
 ActiveX



Вопросов: 0
Ответов: 73
 Профиль | | #11 Добавлено: 08.07.05 18:52
То, что использование функции Randomize "уменьшает" возможность получения повторяющихся значений я никогда не отрицал.
Что касается проверки, то я уже неоднократно говорил, что проверил оба варианта, и в обоих случаях я получал повторящиеся значения (5)(9) Под повторяющимися значением, конечно понимается значение, которое будет равным предыдущему, т.е. 0, 7, [2], [2], 9 ...

Ответить

Номер ответа: 12
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #12
Добавлено: 08.07.05 22:19
Какие же это случайные числа, если после любого числа не может идти оно же?

Ответить

Номер ответа: 13
Автор ответа:
 ActiveX



Вопросов: 0
Ответов: 73
 Профиль | | #13 Добавлено: 09.07.05 00:04
Sharp, речь идёт о том, что по утверждению CyRax при использовании Int(Rnd * 10) всегда генерируются одинаковые случайные числа, т.е. 3, 3, 3 ... а это уже трудно назвать генерацией случайных чисел.

Ответить

Номер ответа: 14
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #14
Добавлено: 09.07.05 00:52
диапазон надо больше брать: 1000 например и делить на сто

Ответить

Номер ответа: 15
Автор ответа:
 ActiveX



Вопросов: 0
Ответов: 73
 Профиль | | #15 Добавлено: 09.07.05 01:39
Morpheus, опять не о том. Речь не идёт о методике генерации случайных чисел. Камнем преткновения является тот факт, что при использовании Int(Rnd * 10) я получаю, например : 0, 7, 2, 2, 9 ... а CyRax 3, 3, 3, 3, 3 ...

Ответить

Страница: 1 | 2 | 3 | 4 |

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



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