Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];

Вниз

Прога работы с вероятностными выпадениями чисел (0 и 1)   Найти похожие ветки 

 
\/iKTOR   (2007-07-04 12:44) [0]

Всем привет
Если есть у кого готовый исходник, поделитесь пожалуйста.
Нужно генерить случайное выпадение 1 или 0 с регулировкой скорости генерации, подсчета вероятности выпадения(0,5), подсчета последовательных выпаданий одинаковых чисел(максимальное значение), общее количество бросков, ну и в этом духе, для последующей доработки.


 
iXT ©   (2007-07-04 12:48) [1]

Random не устроил?


> с регулировкой скорости генерации

:) это как?


 
Dib@zol ©   (2007-07-04 12:55) [2]


> > с регулировкой скорости генерации
>
> :) это как?


Видимо при поддержке таймера.

{$ TELEPATOR ON}

Походу это какая-то лабораторная / практическая?

{$ TELEPATOR OFF}


 
\/iKTOR   (2007-07-04 12:58) [3]

О_о быстренько вы ответили, спасибо, рандом не пробовал, спасибо за наводку, щас поищу, а то не знаю с какой стороны начать, надеюсь там есть исходник для переработки.
Регулировка скорости, это возможность задавать количество выпадений в единицу времени, в минуту например.
Спасибо за ответ.


 
\/iKTOR   (2007-07-04 13:09) [4]

Random это программа или функция? Если первое, помогите найти пожалуйста, чето я в поиске не рулю :(


 
Плохиш ©   (2007-07-04 13:11) [5]

random + F1


 
Dib@zol ©   (2007-07-04 13:13) [6]

const
 GenSpd = 100;
 MaxRolls = 50;

var
 Probability : Single;
 MaxQueue, tmp, RollCount, Trues : Word;
 buf, lastBuf : Boolean;

...

SetTimer(0, 1, GenSpd, @longInt(RollProc));
RollCount:=0;
MaxQueue:=0;
tmp:=0;
Trues:=0;

...

procedure RollProc;
begin
 Inc(RollCount);
 If RollCount>MaxRolls then begin
   Probability:=100*Trues/MaxRolls;
   KillTimer(0, 1);
   exit;
 end;

 buf:=boolean(Random(2));

 if buf then begin
   inc(Trues);
   if lastBuf then inc(tmp) else begin
     if tmp>MaxQueue then MaxQueue:=Buf;
     tmp:=1;
   end;
 end;
 lastbuf:=buf;
end;

Вот. За работоспособность кода не отвечаю - набрал в блокноте за три минуты. Однако это может послужить примером.


 
\/iKTOR   (2007-07-04 13:18) [7]

Я вообще думал, что нахожусь в разделе для новичков... :(
У меня сейчас перед глазами нет Делфи, я так понимаю там есть вызов такой функции соответствующим нажатием клавиш, я вообще просил исходник готовой програмки для доработки.
:(


 
\/iKTOR   (2007-07-04 13:20) [8]

2 Dib@zol
Огромное спасибо, прийду домой, попробую !!!
Да прибудет Вам удача!


 
Dib@zol ©   (2007-07-04 13:27) [9]


> я вообще просил исходник готовой програмки для доработки.


Дык епт. Вставь ф-цию в любую прогу - заработает[надеюсь]!


> const
>  GenSpd = 100;
>  MaxRolls = 50;
>
> var
>  Probability : Single;
>  MaxQueue, tmp, RollCount, Trues : Word;
>  buf, lastBuf : Boolean;


Это объяви в разделе глобальных переменных модуля (где написано var form1:TForm).


>  SetTimer(0, 1, GenSpd, @longInt(RollProc));
>  RollCount:=0;
>  MaxQueue:=0;
>  tmp:=0;
>  Trues:=0;


Это пропиши гденить в ФормКреэйт.

Всё остальное - это нужная тебе процедура. После того как она отработает [MaxRolls] раз, она вернёт среднюю вероятность выпадения единицы в процентах в переменной Probability, колво выпадений True в переменной Trues, максимальное колво идущих подряд единиц в MaxQueue.

Уф вроде разжевал. Но если таки остались вопросы - ладно спрашивай Это в натуре форум для новичков.


 
Плохиш ©   (2007-07-04 13:27) [10]


> \/iKTOR   (04.07.07 13:18) [7]
> Я вообще думал, что нахожусь в разделе для новичков

Тошнит меня на халявщиков и дармоедов...


 
Dib@zol ©   (2007-07-04 13:29) [11]


> Тошнит меня на халявщиков и дармоедов...


Сказали тебе - НОВИЧКОВ!!! Мы и сами когдато такими были...


 
Плохиш ©   (2007-07-04 13:32) [12]


> Сказали тебе - НОВИЧКОВ

Значит у нас разные понятия "новичков".


 
Johnmen ©   (2007-07-04 13:37) [13]


> Dib@zol ©   (04.07.07 13:29) [11]
> Мы и сами когдато такими были...

Вполне допускаю, что ты когда-то был халявщиком. Но это вовсе не значит, что и все остальные тоже.
И название конфы "Начинающим", а вовсе не "Халява на шару"...


 
Dib@zol ©   (2007-07-04 13:38) [14]


> название конфы


А мож правда поменяем :)))))


 
\/iKTOR   (2007-07-04 13:47) [15]

2 Dib@zol
Еще раз спасибо за уточнения, что касательно фразы "> я вообще просил исходник готовой програмки для доработки." это относилось не к Вам.

Несчет халявы, мы все в той или иной степени халявщики, вы сами писали винду? А Делфи? Я же не просил писать за меня, что мне нужно, я только хотел живой и работоспособный пример, что бы в нем разобраться. Если такой уже есть и не жалко, то почему бы и не дать? Комуто все просто, а кому нужно долго мучаться. Если вам жалко или напряжно, то че писать, я сам могу таких постов кучу написать, и кому это поможет?


 
iXT ©   (2007-07-04 13:49) [16]

Не умение нажать F1 не освобождает от ответственности (впрочем как и не читания др. литературы)

Код [6] разрешить показывать как пример "ТАК НИЗЯ ПИСАТЬ"


 
Dib@zol ©   (2007-07-04 13:52) [17]


> "ТАК НИЗЯ ПИСАТЬ"


Не забывай - писалось с кондачка, в блокноте, за пару минут.


 
Johnmen ©   (2007-07-04 13:54) [18]


> Несчет халявы, мы все в той или иной степени халявщики,
> вы сами писали винду? А Делфи?

Нет, я их не писАл. Но! Я за них заплатил! Улавливаешь?
А ты заплатил за предоставленный код? Нет.
Значит ты - халявщик, а я - нет. Без всякой той или иной степени.
И старайся, когда озвучиваешь своё личное мнение, не употреблять местоимения "мы".


 
Johnmen ©   (2007-07-04 13:55) [19]


> Dib@zol ©   (04.07.07 13:52) [17]
> Не забывай - писалось с кондачка, в блокноте, за пару минут.

Занятное оправдание...


 
Правильный Вася   (2007-07-04 13:57) [20]


>  писалось с кондачка, в блокноте, за пару минут.

медвежья услуга


 
Dib@zol ©   (2007-07-04 14:03) [21]


> Johnmen ©   (04.07.07 13:55) [19]
> Правильный Вася   (04.07.07 13:57) [20]

Понимаете в чём дело - нужен был ПРИМЕР а не Образец Того Как Надо Программировать. А \/iKTOR уже пусть сам в нем разбирается.


 
\/iKTOR   (2007-07-04 14:04) [22]

"Не умение нажать F1 не освобождает от ответственности (впрочем как и не читания др. литературы)"
Затюкали, пристыдили и послали по назначению... спасибо.
Учится на живых примерах получается зазорно.
Чтение другой литературы, - а чтение форума это не литература?
Или была уже такая тема, а я не нашел, так кинули бы ссылочку, я бы и не стал задавать столь простого для вас вопроса.
Ладно, не буду беспокоить, поищу ченибудь для чайников.


 
\/iKTOR   (2007-07-04 14:08) [23]

2 Правильный Вася
Это не медвежья услуга, это посильная помощь, на что я и надеялся, а если есть ляпы в программе, то сам уже буду разбираться, не маленький.


 
Johnmen ©   (2007-07-04 14:15) [24]


> а чтение форума это не литература?

Представь себе - НЕТ.


 
Dib@zol ©   (2007-07-04 14:31) [25]

о, дискуссия продолжается :))


 
iXT ©   (2007-07-04 15:23) [26]


> Или была уже такая тема, а я не нашел, так кинули бы ссылочку,
>  я бы и не стал задавать столь простого для вас вопроса.

А поиск тоже для нас сделан?

> Ладно, не буду беспокоить, поищу ченибудь для чайников.

В библиотеку?


 
Игорь Шевченко ©   (2007-07-04 15:54) [27]


> о, дискуссия продолжается


Ошибаешься.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.046 c
15-1183403720
исследователь
2007-07-02 23:15
2007.07.29
Несоотвествие браузера


6-1166624594
n_shadow
2006-12-20 17:23
2007.07.29
Заполнение структуры PHostEnt


15-1183328674
Германн
2007-07-02 02:24
2007.07.29
Какая всё-таки хорошая вещь - современные бытовые водонагреватели


15-1181879944
Курдль
2007-06-15 07:59
2007.07.29
Происхождение выпускников Бауманки


2-1183640247
POP
2007-07-05 16:57
2007.07.29
64bit HEX преобразовать в DEC строку





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский