Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2017, 10:08   #1
romanqq
Пользователь
 
Регистрация: 21.10.2017
Сообщений: 10
Вопрос Найти как генерируется случайное число

Здравствуйте, есть exe, который написан под MS-DOS на Турбо паскале. На вход поступает файл input.txt, который несет в себе, как я понял, количество случайных чисел, которые выведутся в файл output.txt. Дизассемблировал его (txt прилагается). Необходимо найти как генерируются эти числа и выписать в виде Xn+1=(aXn + c) mod m. Нашел, что используется библиотечная функция рандома, две-три пользовательских функции, где рандом вызывается, но как привести все к какому-то конечному виду не понимаю.
Вложения
Тип файла: txt Генератор.txt (32.2 Кб, 153 просмотров)
romanqq вне форума Ответить с цитированием
Старый 21.10.2017, 10:23   #2
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

А почему исходники не посмотреть?
Вложения
Тип файла: zip RAND.zip (1,011 байт, 18 просмотров)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 21.10.2017, 12:04   #3
romanqq
Пользователь
 
Регистрация: 21.10.2017
Сообщений: 10
По умолчанию

О, это уже что-то, спасибо, но я так понял рандом выполняется не только библиотекой, а есть еще какие-то выражения
romanqq вне форума Ответить с цитированием
Старый 21.10.2017, 13:43   #4
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,162
По умолчанию

Цитата:
но я так понял рандом выполняется не только библиотекой, а есть еще какие-то выражения
romanqq,
так расскажи как ты пришел к такому выводу... Какие выражения?...
Mikl___ вне форума Ответить с цитированием
Старый 21.10.2017, 13:57   #5
romanqq
Пользователь
 
Регистрация: 21.10.2017
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Mikl___ Посмотреть сообщение
так расскажи как ты пришел к такому выводу... Какие выражения?...
Преподаватель сказал, задание - написать на ЯП высокого уровня такой же Генератор случайных чисел как в этой проге
romanqq вне форума Ответить с цитированием
Старый 22.10.2017, 13:51   #6
romanqq
Пользователь
 
Регистрация: 21.10.2017
Сообщений: 10
По умолчанию

Выяснил как ПРИМЕРНО генерируется число, написал функцию но Си, но результаты не совпадают с результатами из досовского exe. Нашел где задается A,B,C и как выглядит итоговая функция.
Вложения
Тип файла: txt asembler.txt (5.5 Кб, 138 просмотров)
Тип файла: txt a.txt (512 байт, 146 просмотров)
Тип файла: txt b.txt (461 байт, 140 просмотров)
Тип файла: txt c.txt (507 байт, 139 просмотров)
Тип файла: txt function.txt (206 байт, 137 просмотров)
romanqq вне форума Ответить с цитированием
Старый 22.10.2017, 14:19   #7
FPaul
Форумчанин
 
Регистрация: 25.01.2015
Сообщений: 472
По умолчанию

Как бы, теоретически, перед использованием ГПСЧ его инициализируют случайным числом, например, состоянием системного таймера.
А если несколько раз запустить исследуемую программу (я не буду запускать на своём компе неизвестную программу) - результаты будут разными или одинаковыми?
Может быть из-за инициализации ГПСЧ в исследуемой программе, результаты и не должны совпадать с вашими?
FPaul вне форума Ответить с цитированием
Старый 22.10.2017, 14:22   #8
romanqq
Пользователь
 
Регистрация: 21.10.2017
Сообщений: 10
По умолчанию

Цитата:
Сообщение от FPaul Посмотреть сообщение
А если несколько раз запустить исследуемую программу (я не буду запускать на своём компе неизвестную программу) - результаты будут разными или одинаковыми?
Результаты всегда одинаковые, так как генерация начинается с константного значения.
romanqq вне форума Ответить с цитированием
Старый 22.10.2017, 14:25   #9
FPaul
Форумчанин
 
Регистрация: 25.01.2015
Сообщений: 472
По умолчанию

А каким константным значением инициализируется ГПЧС в исследуемой программе? В вашем коде также?
FPaul вне форума Ответить с цитированием
Старый 22.10.2017, 14:39   #10
romanqq
Пользователь
 
Регистрация: 21.10.2017
Сообщений: 10
По умолчанию

Цитата:
Сообщение от FPaul Посмотреть сообщение
А каким константным значением инициализируется ГПЧС в исследуемой программе? В вашем коде также?
Это мне и надо выяснить, возможно именно из-за неправильных констант у меня получаются неверные значения, но я не понимаю какие тогда константы
romanqq вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Случайное число на c++ Lektorfuja Помощь студентам 4 06.12.2016 16:30
как получить случайное число до 1 млн HelenSecuriter Общие вопросы C/C++ 18 06.07.2011 00:16
случайное число Дініс Общие вопросы C/C++ 3 07.10.2009 23:03
Как генирируеться случайное число? Altera Общие вопросы Delphi 8 20.04.2008 18:20
Как згенерировать случайное число SeRhy Помощь студентам 2 25.11.2007 20:27