Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PRACT6.DOC
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
220 Кб
Скачать
☆

3. Пример решения задачи

Условие задачи: сгенерировать последовательность чисел, полученную в результате соединения шести последовательностей по 30 случайных чисел в одну с экспоненциальным законом распределения с параметрами i, . Полученную последовательность упорядочить по возрастанию и вывести на печать среднее значение и дисперсию.

Метод и алгоритм решения задачи.

Для получения чисел с экспоненциальным законом распределения используем функцию Random и формулу y= . Алгоритм решения задачи представлен на нижеследующем рис.1.

Здесь R - массив случайных чисел; m - математическое ожидание; D - дисперсия.

Текст программы на языке Паскаль следующий:

PROGRAM PR6;

CONST nL=6; nk=30; nr=180;

VAR i,k,k1,j,n:integer;

s,s1,m,d,rm,y,x:real;

L:array [1..nL] of real;

r:array [1..nr] of real;

BEGIN

FOR i:=1 TO nL DO

BEGIN

WRITE(‘Введите лямбда ’,i);

READLN(L[i])

END;

Рис.1. Блок-схема алгоритма

Продолжение рис.1

n:=0; s:=0; s1:=0;

FOR i:=1 TO nL DO

FOR k:=1 TO nk DO

BEGIN

x:=RANDOM;

y:=-1/L[i]*ln(x);

n:=n+1;

r[n]:=y;

s:=s+y

END;

m:=s/nr;

FOR i:=1 TO nr DO

s1:=s1+sqr(r[i]-m);

d:=s1/(nr-1);

FOR k=1 TO nr-1 DO

BEGIN

rm:=r[k];

j:=k;

k1:=k+1;

FOR i:=k1 TO nr DO

IF r[i]<rm THEN rm:=r[i];

r[j]:=r[k];

r[k]:=rm

END;

WRITELN(‘m=’,m,’D=’,d)

END.

4. Задачи, выносимые на практические занятия

Для каждой из перечисленных ниже задач предлагается разработать алгоритм и программу.

1. Вычислить математическое ожидание, дисперсию, среднее квадратическое отклонение и эксцесс для 400 случайных величин, распределенных по закону хи-квадрат с параметром k=3.

2. Разработать датчик, формирующий массив M из 300 целых псевдослучайных неповторяющихся чисел, распределенных по экспоненциальному закону с параметром =0,5. Рассчитать дисперсию и среднее квадратическое отклонение. Определить количество обращений к датчику случайных чисел.

3. Написать программу, моделирующую следующий эксперимент. В ящике находятся 2000 шаров. Из них 1000-красных, 500-белых, 200-зеленых, 200-желтых, 50-черных, 50-синих. Из ящика случайным образом извлекается 100 шаров. Сообщите ЭВМ, сколько шаров каждого цвета вы желаете увидеть. Считайте, что после того как шар вынут и его цвет зафиксирован, шар возвращается в ящик. Программа должна моделировать извлечение шара из ящика, суммировать число шаров каждого цвета и вывести полученный результат, сообщенный вами ЭВМ.

4. Разработать алгоритм и программу игры - вбрасывание монет двумя игроками - x и y. У обоих игроков по 20 монет достоинством 1 руб. Они вбрасывают по одной монете на стол, закрывая их от соперника. Если выясняется, что обе монеты легли одной стороной, то их забирает игрок x; если же монеты легли на разные стороны, то они достаются игроку y. Вывести итоговые результаты -сколько монет будет в конце игры у каждого из игроков.

5. Построить гистограмму распределения по n классам случайных чисел, подчиненных геометрическому закону с параметром p=10-3. Случайные числа сведены в массив X(1000). Вычислить математическое ожидание и дисперсию.

6. Составить программу вычисления математического ожидания m и дисперсии D для моментов появления случайных событий t1, t2, ...,t200 и интервалов между ними, подчиненных экспоненциальному закону с параметром =1. Перед вычислением m и D для интервалов необходимо упорядочить по возрастанию элементы массива T, вычислить и записать в массив T1 интервалы между смежными ti.

7. Сгенерировать последовательность случайных чисел, равномерно распределенных в диапазоне [0,10]. Последовательность состоит из 100 чисел. Вычислить их среднее значение, коэффициент вариации. Построить гистограмму полученного распределения, разбив диапазон на десять интервалов.

8. Сгенерировать последовательность 100 случайных чисел xi с экспоненциальным законом распределения с параметром =0,1. Сформировать новую последовательность, состоящую из элементов yi = yi-1 + xi, где y1=x1. Для полученной последовательности вычислить среднее значение, дисперсию и вывести ее на печать в виде гистограммы, разделив диапазон на десять интервалов.

9. Сгенерировать три последовательности по 30 случайных чисел каждая. Числа в каждой последовательности равномерно распределены в диапазонах [0,5], [2,8], [4,10]. Свести их в один массив, расположив по возрастанию. Для сформированного массива вычислить среднее значение, дисперсию и вывести результаты на печать в виде гистограммы, разбив диапазон [0,10] на десять интервалов.

10. Сгенерировать последовательность из 50 случайных чисел с нормальным законом распределения (m=5, D=4) и последовательность из 50 случайных чисел с экспоненциальным законом распределения с параметром =5. Все числа свести в массив, расположив их по возрастанию. Вычислить среднее значение, дисперсию и вывести результаты на печать в виде гистограммы, разбив последовательность чисел на десять интервалов.

11. Написать алгоритм и составить программу моделирования 100 случайных величин с плотностью распределения , 0  x  1, > 0.

Вычислить коэффициент вариации для таких 100 чисел.

12. Написать алгоритм и составить программу моделирования 200 случайных величин с плотностью распределения , x  0; a, b > 0. Вывести результаты на печать в виде гистограммы для десяти интервалов.

13. Составить программу генерирования 200 случайных чисел с биномиальным распределением с параметром p=0,7 [7, с.146]. Вычислить среднее, дисперсию и построить гистограмму, разбив последовательность чисел на двадцать интервалов.

14. Составить программу генерирования 200 случайных чисел с гамма-распределением (=2, =20) [7, с.146]. Вычислить коэффициент вариации и построить гистограмму, разбив последовательность чисел на десять интервалов.

15. Составить программу генерирования 100 случайных чисел с распределением Вейбулла (=3, x=3) [7, с.146]. Вычислить коэффициент асимметрии, эксцесс и построить гистограмму, разбив последовательность чисел на десять интервалов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]