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

2 месяца назад

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

Составим программу которая ставит точки на экране со случайными координатами. Разрешение экрана выберем новой командой 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

Авторы получают вознаграждение, когда пользователи голосуют за их посты.
Голосующие читатели также получают вознаграждение за свой голос.
Порядок сортировки:  Популярное
32
  ·  2 месяца назад

Сюда приплывал Моби Дик

71
  ·  2 месяца назад

Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
spinner, ianboil, francisgrey, strecoza, mishka, sergiy, vako, ovchinnikov, polyideic, andrvik, max-max, kanenakat, zoss, midnight, dikaniovs, harhor, dimarss, tinochka, tristamoff, kilobucks, ohlamoon, shuler, rusalka, dany2323, maksina, yurgent71, zlody, dr-boo, arsar, volv, vasilisapor2, nefer, oksi969, turkish-r, renat242, oceanotechnic, markvial, andreyprosto, vict0r, gromozeka, lira, drim, gryph0n, voltash, ladynazgool, ladykosha, karusel1, orezaku, sharps, cepera, francesco, exan, retoldname, stranniksenya, alikssandra, gapel, galerina, acidgarry, kvg, igor66, oagalakova, borisss, candy777, olga-fink, virt, optimist, dayver, bammbuss, dmitrijv, bombo, manavendra, mr-nikola, ondantr, nerengot, vladsm, mirgais, now, varja, upper, student61, prifix, mp42b, abloud, dignityinside, foxycat, ksantoprotein, alexmove, process, chugoi, massatela, nikulinsb, firestarter, vlad1m1r, shafarevich, kanalex, tulencha, kito-boy, vsebudethorosho, nikitosuna, sansey, izbushka, astramar, goldenriver, onur1s, ramin, propoker, cryptovisitor, zelivsky, html, metadon, vredinka2345, fxmonster, carpe-diem, makcl, ivanzar, marina-spring, azarovskiy, funt33, sinilga, samael27, kalter, valen-tina, maksh, mister-omortson, nightinga1e, siddxa, cryptobandera, doublingseason, necrogenesis, maryatekun, lologom, delectat, prezza, sini4ka, akva22, worthless-man, esperos, elcpa, karabum, sevaev, dobrotanya, boliwar, veta-less, irkinmick, wmforum, jpigeon84, archual, alexxela, paulsoul, valdemar777, fatima, vitalist
Поэтому я тоже проголосовал за него!


dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас: