Генератор случайных чисел «К СЧ» в калькуляторах имел слишком короткий период, и был склонен к зацикливанию в пределах одного-двух чисел при использовании в реальных программах. На результат его работы влияли другие команды, начинающиеся с клавиши «К», а также содержимое регистров памяти и стека. К примеру, команда «K max» с нулевыми аргументами вызывала повторение последовательности чисел с одного и того же значения 0,404067. Эта же последовательность выдавалась после включения питания. По данным разработчиков ПМК, сотрудников киевского ПО «Кристалл», в этом случае генератор выдавал 89 неповторяющихся чисел и далее зацикливался с периодом 145 чисел («Наука и Жизнь», N6 — 1989г.). В связи с этим по прямому назначению команда практически не использовалась.
По мнению Л. Титова (Красноярск) («Наука и Жизнь», N6 — 1989 г.) для генерации псевдослучайных чисел в ПМК использовано соотношение:
ξi+1 = {10(ξi + Y + X7)/3 + 0,404067},
где ξi+1 — очередное случайное число,
ξi — предыдущее случайное число,
Y — модифицированное содержимое регистра Y,
X7 — цифра, находящаяся в седьмом разряде регистра X
Именно так и работают современные слот-машины (однорукие бандиты). Внутри сидит цифровой ГСЧ, а вращение барабанов только для красоты происходит. Выпавшая комбинация предрешена уже в момент их запуска. Магия теплой механической случайности исчезла...
А ещё есть чисто интуитивно методы, где все необходимые алгоритмы сводятся к элементарных трехходовкам. Например, метод В.Морозова, где сначала ориентируются углы, а потом собираются ребра.
Такое часто встречается при исправлении существующего кода, невнимательном копировании и т.д. Почитайте на Хабре блог компании, предлагающей статические анализаторы кода — там и не про такие ошибки рассказывают.
С языка на язык приходится время от времени переходить по соображениям производственной необходимости. Это я вам как сишник с 25-летним стажем говорю.
Сам наблюдал подобное в коде неоднократно. Такую ошибку очень легко совершить, если привыкнуть, например, к Питону.
А если говорить именно о словах, а не о символах, то пропущенный break в C-конструкции switch тоже может привести к неверному поведению.
Для программистов, у которых от лишней точки запятой или пары скобок радикально изменяется поведение программы, вера в магию слов — род профессиональной деформации.
Богатая фантазия комментаторов статьи заставила вспомнить соответствующее место из HPMOR Юдковского. Извините за длинную цитату.
Секунду Гарри ошеломлённо осознавал, с какой лёгкостью его прочитали, а потом идеи забили ключом.
— Столы здесь довольно тяжёлые, можно убить противника, если бросить такой с большой высоты. У стульев металлические ножки, если сильно ими ударить, то можно кого-нибудь проткнуть. Если воздух из комнаты убрать, в ней все умрут, потому что человек не может жить в вакууме. Кроме того, воздух можно использовать как переносчик ядовитых газов.
Гарри остановился, переводя дух, и профессор Квиррелл вставил:
— Это только три, а нужно десять. Остальные ученики думают, что вы перебрали все вещи в классе.
— Ха! В полу можно сделать волчью яму с кольями на дне, потолок можно на кого-нибудь обрушить, стены могут послужить материалом для трансфигурации в бесконечное множество смертельно опасных предметов — ножей, например.
— Уже шесть. Но теперь-то у вас заканчиваются варианты?
— Я только разогреваюсь! Есть же ещё люди! Заставить гриффиндорца атаковать врага — слишком банальная идея…
— Такое я не засчитаю.
— …но в его крови можно кого-нибудь утопить. Когтевранцы славятся своими мозгами, но и другие их органы кое на что годятся: можно, например, продать их на чёрном рынке, чтобы нанять киллера. Слизеринца можно использовать в качестве убийцы, а можно просто расплющить им оппонента, если метнуть с достаточной скоростью. Пуффендуец хороший работяга, но вдобавок у него хорошие кости, заострив которые, можно кого-нибудь заколоть.
К этому времени весь класс с ужасом таращился на Гарри. Даже слизеринцы остолбенели.
Генератор случайных чисел «К СЧ» в калькуляторах имел слишком короткий период, и был склонен к зацикливанию в пределах одного-двух чисел при использовании в реальных программах. На результат его работы влияли другие команды, начинающиеся с клавиши «К», а также содержимое регистров памяти и стека. К примеру, команда «K max» с нулевыми аргументами вызывала повторение последовательности чисел с одного и того же значения 0,404067. Эта же последовательность выдавалась после включения питания. По данным разработчиков ПМК, сотрудников киевского ПО «Кристалл», в этом случае генератор выдавал 89 неповторяющихся чисел и далее зацикливался с периодом 145 чисел («Наука и Жизнь», N6 — 1989г.). В связи с этим по прямому назначению команда практически не использовалась.
По мнению Л. Титова (Красноярск) («Наука и Жизнь», N6 — 1989 г.) для генерации псевдослучайных чисел в ПМК использовано соотношение:
ξi+1 = {10(ξi + Y + X7)/3 + 0,404067},
где ξi+1 — очередное случайное число,
ξi — предыдущее случайное число,
Y — модифицированное содержимое регистра Y,
X7 — цифра, находящаяся в седьмом разряде регистра X
Именно так и работают современные слот-машины (однорукие бандиты). Внутри сидит цифровой ГСЧ, а вращение барабанов только для красоты происходит. Выпавшая комбинация предрешена уже в момент их запуска. Магия теплой механической случайности исчезла...
Встроенный ГСЧ калькуляторов МК-52 и МК-61 был не очень качественный, из-за ошибки в реализации алгоритма.
Стеклянный, оловянный, деревянный. Это единственные прилагательные-исключения с двойным Н.
Но: серебряный.
А ещё есть чисто интуитивно методы, где все необходимые алгоритмы сводятся к элементарных трехходовкам. Например, метод В.Морозова, где сначала ориентируются углы, а потом собираются ребра.
А под это дело мы всяких там Сири с Алисами приспособим.
"Продай козу!"
Такое часто встречается при исправлении существующего кода, невнимательном копировании и т.д. Почитайте на Хабре блог компании, предлагающей статические анализаторы кода — там и не про такие ошибки рассказывают.
С языка на язык приходится время от времени переходить по соображениям производственной необходимости. Это я вам как сишник с 25-летним стажем говорю.
Так ведь есть аналогия со вполне русскими словами зАговор и вЫговор.
vs.
Сам наблюдал подобное в коде неоднократно. Такую ошибку очень легко совершить, если привыкнуть, например, к Питону.
А если говорить именно о словах, а не о символах, то пропущенный break в C-конструкции switch тоже может привести к неверному поведению.
"Зато у вас есть Фейсбук"
Реальность запаздывает. У Азимова, кажется, роботов изгнали из городов году в 2007-м.
Секунду Гарри ошеломлённо осознавал, с какой лёгкостью его прочитали, а потом идеи забили ключом.
— Столы здесь довольно тяжёлые, можно убить противника, если бросить такой с большой высоты. У стульев металлические ножки, если сильно ими ударить, то можно кого-нибудь проткнуть. Если воздух из комнаты убрать, в ней все умрут, потому что человек не может жить в вакууме. Кроме того, воздух можно использовать как переносчик ядовитых газов.
Гарри остановился, переводя дух, и профессор Квиррелл вставил:
— Это только три, а нужно десять. Остальные ученики думают, что вы перебрали все вещи в классе.
— Ха! В полу можно сделать волчью яму с кольями на дне, потолок можно на кого-нибудь обрушить, стены могут послужить материалом для трансфигурации в бесконечное множество смертельно опасных предметов — ножей, например.
— Уже шесть. Но теперь-то у вас заканчиваются варианты?
— Я только разогреваюсь! Есть же ещё люди! Заставить гриффиндорца атаковать врага — слишком банальная идея…
— Такое я не засчитаю.
— …но в его крови можно кого-нибудь утопить. Когтевранцы славятся своими мозгами, но и другие их органы кое на что годятся: можно, например, продать их на чёрном рынке, чтобы нанять киллера. Слизеринца можно использовать в качестве убийцы, а можно просто расплющить им оппонента, если метнуть с достаточной скоростью. Пуффендуец хороший работяга, но вдобавок у него хорошие кости, заострив которые, можно кого-нибудь заколоть.
К этому времени весь класс с ужасом таращился на Гарри. Даже слизеринцы остолбенели.
Есть ещё вариант, что вместо обмена полезной информацией ИИ-боты начнут обмениваться изображениями котиков.