• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Генерация случайных величин

бутафор

Ученик
Регистрация
30 Май 2011
Сообщения
5
Реакции
0
Баллы
0
Генерация случайных величин

Помогите, пожалуйста, решить задачу.
Разработать программу генерации случайных величин по равномерному закону от a до b, рассчитать математическое ожидание.(паскаль или делфи).
Заранее спасибо
 
Помогите, пожалуйста, решить задачу.
Разработать программу генерации случайных величин по равномерному закону от a до b, рассчитать математическое ожидание.(паскаль или делфи).
Заранее спасибо
Если по равномерному закону, то математическое ожидание есть (a+b)/2. Или Вам надо его определить на основе проб? И потом - штатным генератором случайных чисел можно пользоваться? Или самому его писать?
 
Вообще хз( я 1 в 1 переписал задание как давали, мат ожидание наверное на основе проб, генератор думаю можно штатный.
 
Не сможет никто помочь? :(
Ну почему же - пожалуйста (Паскаль):
Код:
Uses CRT;
VAR
 a,b,m,x,Sum:Real;
 N:LongInt;
 Ch:Char;
BEGIN
 ClrScr;
 Randomize;
 Write('a= ');
 Readln(a);
 Write('b= ');
 Readln(b);
 Sum:=0;
 N:=0;
 Repeat
  x:=a+Random*(b-a);
  Sum:=Sum+x;
  N:=N+1;
  Writeln(x:10:3,Sum/N:20:3);
  Ch:=ReadKey;
 Until Ch=#27;
END.
Выводится сгенерированная случайная величина и математическое ожидание. После нужно нажать любую клавишу, кроме "Esc". Выполнение программы прерывается нажатием "Esc".
 
А можете её как-нибудь исправить, чтобы сразу генерировалось например 100 чисел, и только в конце вычислялось мат. ожидание?
 
А можете её как-нибудь исправить, чтобы сразу генерировалось например 100 чисел, и только в конце вычислялось мат. ожидание?
Да пожалуйста:
Код:
Uses CRT;
VAR
 a,b,m,Sum,x:Real;
 i:Integer;
BEGIN
 ClrScr;
 Randomize;
 Write('a= ');
 Readln(a);
 Write('b= ');
 Readln(b);
 Writeln;
 Sum:=0;
 For i:=1 to 100 do
  begin
   x:=a+Random*(b-a);
   Sum:=Sum+x;
   Write(x:8:3);
  end;
 Writeln;
 m:=Sum/100;
 Writeln('m= ',m:0:3);
 Readln
END.
 
Назад
Сверху