Форум » » Выпадение случайного числа? » Ответить

Выпадение случайного числа?

GamePr0graameR: Как это реализуется на URQ? За ответ - заранее спасибо

Ответов - 8

Серый Волк: При помощи оператора "rnd", который генерирует случайное число от 0 до 1, не включая 1, т.е. от 0 до 0(9). Rnd дает целые случайные числа от 1 до X (включая X), например Rnd7 даст целое случайное число от 1 до 7, а Rnd1245 – от 1 до 1245 Использование: Можно присвоить переменной, можно вывести в текст, создать кнопку, переход и т.п. Примеры: x=rnd5 pln #x$ btn #x$,Случайная локация. случай1=rnd ;В результате переменная случай1 равна, например, 0.78 случай2=rnd4 ;В результате переменная случай2 равна, например, 3 m=m+rnd30 ;Каждый ход к значению m прибавляется случайное числовое значение от одного до 30

qwerty: Серый Волк пишет: Примеры: примеры: :моя_метка x= rnd5 pln x= #x$ btn моя_метка, нажми меня end под скрытым текстом- тот же пример, с комментариями: ; после точки с запятой пишем комментарии ; комментарий ; метка локации= двоеточие + имя метки :моя_метка ; заносим в переменную x случайное число от 1 до 5 x= rnd5 ; выводим текст "x=" и выводим содержимое переменной x pln x= #x$ ; создаём кнопку с надписью "нажми меня", при нажатии на которую ; исполнение программы перейдёт к метке "моя_метка" btn моя_метка, нажми меня ; конец локации отмечается оператором "end": end

noname: если бы в начале строк НЕ удалялись пробелы, выкладывать (и читать) примеры было бы удобнее. на некоторых программистских форумах предусмотрены вставки кода, в которых пробелы НЕ удаляются.


fireton: [pre] В таком режиме пробелы не удаляются :)[/pre] Тег [pre]

Nolite: Серый Волк пишет: При помощи оператора "rnd", который генерирует случайное число от 0 до 1, не включая 1, т.е. от 0 до 0(9). Боюсь показаться занудным, но 0,(9) = 1. [url=http://ru.wikipedia.org/wiki/0,(9)]Здесь есть доказательства этому.[/url]

Ntropy: Nolite пишет: Боюсь показаться занудным, но 0,(9) = 1 Это для вещественных чисел бесконечной точности, а для чисел ограниченных в точности каким либо числом знаков эта разница есть. А еще это значит, что получить значение 1 получается только в результате округления.

frodo: Раз на то пошло, математически правильно будет (если мне не изменяет памыть): rnd принимает случайное значение из диапазона [0,1), или 0≤rnd<1. rndn=[(1,n)], где n - натуральное число. А кто-нить знает, как в фурке округлить число до целого?

qwerty: frodo пишет: Раз на то пошло, математически правильно будет (если мне не изменяет памыть): rnd принимает случайное значение из диапазона [0,1), или 0≤rnd<1. rndn=[(1,n)], где n - натуральное число. вот не надо путать народ. rnd#n$ даст натуральное число от 1 до n включительно. (где n- тоже должно быть натуральным числом). просто rnd даёт число от 0 до 1, НЕ включая единицу. по крайней мере так в других языках программирования. ну и в urq так же- её интерпретаторы используют стандартные функции, насколько я понимаю. --- впрочем, у тебя так и написано, НО на мой взгляд, не вполне очевидны эти скобочки. поэтому дал пояснение- во избежание.



полная версия страницы