Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
sergiy
6 лет назад

09 FreeBASIC - случайные числа, RND

Рассмотрим несколько примеров генераторов случайных чисел.

Составим программу которая ставит точки на экране со случайными координатами. Разрешение экрана выберем новой командой FreeBASICa SreenRes у которой в данном случае будет три параметра: разрешение по горизонтили(800), вертикали(600) и глубина цвета(8бит)

Как видно из результата работы этой программы генератор случайных чисел FreeBASIC не плохой - заполнение экрана равномерное, без явных сгустков и разрежений.

А теперь посмотрим на генератором случайных чисел моего первого домашнего компьютера Sinclair ZX

В своём посте я упоминал онлайн эмулятор своего первого домашнего компьютера. Попробуйте в нём исполнить такой код.

Чтобы набрать несколько строк прийдется изрядно промучиться, так как все ключевые слова закреплены под определёнными клавишами, а не набираются посимвольно)))

Размер экрана - 256х192 точки, но так как две нижние строки отведены под "системные нужды" это минус 16 строчек и размер экрана выходит 256х176

Это результат для 3000 точек

для 9000

и для 15000

огрехи генератора случайных чисел Sinclair ZX очень заметны, явно видно что здесь что то не то))

Ещё боле наглядно выглядит картина если случайные точки расположить в трехмерном пространстве.

Это иллюстрация работы генератора RANDU, говорят наименее продуманного генератора случайных чисел.

В начале видео кажется что точки случайно разбросаны в пространстве, но под определённым углом видно что "случайные числа не случайны".

Чем это чревато? Например, если моделируется некоторые явления, то там можно обнаружить закономерности которых быть не должно.

Но что говорить о RANDU 60х годов, тогда компьютеры были большие, а их возможности маленькие. Но даже в 1995 году браузер Netscape сделал не совсем качественный генератор случайных чисел и его легко взламали. хабр
В 2013 году в Android кошельке "забыли" давать команду типа randomize timer что позволило иногда генерировать одинаковые СЧ. И можно было разгадать секретный ключ от кошелька. ссылка

«Генерация случайных чисел слишком важна, чтобы оставлять её на волю случая» - афоризм математика Роберта Кавью.

09 FreeBASIC - случайные числа, RND
08 FreeBASIC - случайные числа, RND
07 FreeBASIC - циклы
06 FreeBASIC - условный оператор
05 FreeBASIC - первые простые задачки
04 FreeBasic - графика
03 FreeBASIC. Текстовые переменные и операции с ними
02 FreeBASIC Переменные в Бейсике
01 Начинаем изучать FreeBasic
00 FreeBASIC лучший из диалектов бейсика

@sergiy

5
536.415 GOLOS
На Golos с October 2016
Комментарии (5)
Сортировать по:
Сначала старые