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

компьютерыпрограммированиеsgfbsgpgобучение
856
536.414 GOLOS
0
В избранное
Сергей
Кибернетик... а кто это? deals.weku.io/@sergiy, serey.io/@sergiy, whaleshares.io/@sergiy, sola.ai/nsergiy
856
0
Комментарии (5)
Сортировать по:
Популярности
Зарегистрируйтесь, чтобы проголосовать за пост или написать комментарий
Авторы получают вознаграждение, когда пользователи голосуют за их посты. Голосующие читатели также получают вознаграждение за свои голоса.