Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.03.2011, 23:51
baff baff вне форума
Прохожий
 
Регистрация: 14.03.2011
Сообщения: 8
Репутация: 10
По умолчанию случайные события

Ребята, привет. Помогите разобраться, может что-то с типами не так, не понимаю почему не выводятся значения.
Вложения
Тип файла: rar project3.rar (187.2 Кбайт, 3 просмотров)
Ответить с цитированием
  #2  
Старый 15.03.2011, 00:01
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от baff
Ребята, привет. Помогите разобраться, может что-то с типами не так, не понимаю почему не выводятся значения.
И что твоя прога должна делать?

вот что было в архиве (если кому влом качать):
PHP код:
procedure TForm1.Button1Click(SenderTObject);

var
i,j,m,n:integer;
p1,p,x:real;

begin
p
:=0.1;
m:=0;
n:=10000;
for 
i:=1 to 10 do begin
  m
:=0;
  for 
j:=1 to n do begin
  x
:=random;
  if (
x<=pthen inc(m);
end;

p1:=m/n;
p:=p+0.1;

StringGrid1.Cells[2,2]:=floattostr(p1);
StringGrid1.Cells[1,1]:=floattostr(p);
end;
end
Итак смотрим.
Для 10000 раз ты проверяешь x<=0.1 и считаешь сколько раз такое будет)
Я и так тебе скажу))))) 1000 раз.(+-, ну может быть 995 или 1005, не столь важно)
и так m=1000.
р1=1000/10000=0.1))))
PHP код:
p:=0.1;
p:=p+0.1
0.1+0.1+0.1 и так десять раз....
=1)))))

Последний раз редактировалось Konrad, 15.03.2011 в 00:09.
Ответить с цитированием
  #3  
Старый 15.03.2011, 00:09
baff baff вне форума
Прохожий
 
Регистрация: 14.03.2011
Сообщения: 8
Репутация: 10
По умолчанию

Для моделирования случайного события вероятность которого равна p достаточно сформировать одно число равномерно распределенное от 0 до 1. При попадании числа в интервал от 0 до p считают, что событие наступило в противном случае не наступило.
Ответить с цитированием
  #4  
Старый 15.03.2011, 00:09
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от baff
Для моделирования случайного события вероятность которого равна p достаточно сформировать одно число равномерно распределенное от 0 до 1. При попадании числа в интервал от 0 до p считают, что событие наступило в противном случае не наступило.
Знаю, учил такое в свое время.

И?
А что тебе нужно?
Ответить с цитированием
  #5  
Старый 15.03.2011, 00:13
baff baff вне форума
Прохожий
 
Регистрация: 14.03.2011
Сообщения: 8
Репутация: 10
По умолчанию

мне нужно посчитать p и p*.
Ответить с цитированием
  #6  
Старый 15.03.2011, 00:18
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от baff
мне нужно посчитать p и p*.
Так прога уже их считает.

Кстати, у тебя там интересно тем что в конце ты сравниваешь
if random<=1.1 then inc(m);

Не трудно догадаться что получишь 1 всегда

Последний раз редактировалось Konrad, 15.03.2011 в 00:21.
Ответить с цитированием
  #7  
Старый 15.03.2011, 00:20
baff baff вне форума
Прохожий
 
Регистрация: 14.03.2011
Сообщения: 8
Репутация: 10
По умолчанию

она не выводит значения которые должны быть в интервале от 0 до p и p* может это из-за floattostr...
Ответить с цитированием
  #8  
Старый 15.03.2011, 00:22
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от baff
она не выводит значения которые должны быть в интервале от 0 до p и p* может это из-за floattostr...
Пропиши так:
StringGrid1.Cells[i,2]:=floattostr(p1);
Ответить с цитированием
  #9  
Старый 15.03.2011, 00:22
baff baff вне форума
Прохожий
 
Регистрация: 14.03.2011
Сообщения: 8
Репутация: 10
По умолчанию

подскажи как исправить(
Ответить с цитированием
  #10  
Старый 15.03.2011, 00:25
baff baff вне форума
Прохожий
 
Регистрация: 14.03.2011
Сообщения: 8
Репутация: 10
По умолчанию

о спасибо заработало)
также надо и со вторым чтобы оно выводило: 0.1 0.2 0.3?
Ответить с цитированием
  #11  
Старый 15.03.2011, 00:25
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от baff
подскажи как исправить(

И
StringGrid1.Cells[i,1]:=floattostr(p);

Только тут уже нужно смотреть по какой границе ты показываешь интервал.

или такой костыль (чесно влом думать):
StringGrid1.Cells[i,1]:=floattostr(p-0.1);

Последний раз редактировалось Konrad, 15.03.2011 в 00:27.
Ответить с цитированием
  #12  
Старый 15.03.2011, 00:26
baff baff вне форума
Прохожий
 
Регистрация: 14.03.2011
Сообщения: 8
Репутация: 10
По умолчанию

Спасибо тебе огромное!!! Ты мне очень помог.
Ответить с цитированием
  #13  
Старый 15.03.2011, 00:29
baff baff вне форума
Прохожий
 
Регистрация: 14.03.2011
Сообщения: 8
Репутация: 10
По умолчанию

Цитата:
Сообщение от Konrad
И
StringGrid1.Cells[i,1]:=floattostr(p);

Только тут уже нужно смотреть по какой границе ты показываешь интервал.

или такой костыль (чесно влом думать):
StringGrid1.Cells[i,1]:=floattostr(p-0.1);

После этого заработало как надо, спасибо тебе огромное, ты мне очень очень помог.
Ответить с цитированием
  #14  
Старый 15.03.2011, 00:30
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от baff
После этого заработало как надо, спасибо тебе огромное, ты мне очень очень помог.
Ок.
Незачто.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:53.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025