ЛАБОРАТОРНАЯ РАБОТА № 4

Вещественная арифметика

 

1. Генератор псевдослучайных чисел

 

Для многих задач программирования, связанных с математическими моделями случайных явлений, необходимо иметь в распоряжении последовательности чисел, которые можно рассматривать как последовательности значений независимых случайных величин. В большинстве случаев такие последовательности получаются с помощью ЭВМ. Существует много различных программ, вырабатывающих детерминированные последовательности чисел, которые имеют достаточно сложную нерегулярную структуру, и поэтому похожи на последовательности случайных чисел. Такие программы называют датчиками псевдослучайных чисел. Все IBM PC используют в качестве такого датчика показания регистра счетчика канала таймера.

Функция int rand() возвращает псевдослучайное число в диапазоне от 0 до RAND_MAX. Делением числа, полученного rand(), на RAND_MAX можно получить псевдослучайное число в диапазоне от 0 до 1. Для улучшения «случайности» получаемых чисел может быть использована функция

void srand(unsigned int seed), которая устанавливает начальное значение последовательности случайных чисел. В качестве ее аргумента рекомендуется использовать текущее системное время: srand(time(NULL)). Необходимые файлы заголовков: stdlib.h, time.h.

Набор тестов (пункт 3 отчета) в данной работе следует оформить в результате проведения эксперимента с программой; в пункте 6 сравниваются и обосновываются результаты.

 

2. Задание на лабораторную работу

 

Написать функции вычисления числа p двумя способами. Сравнить результаты вычислений.

1-ый способ - статистический.

Полагая число pравным отношению 4Sкр/Sкв, где Sкв- площадь четвертой части квадрата со стороной, равной 2, а Sкр- площадь сектора, составляющего четвертую часть круга, вписанного в вышеуказанный квадрат, оценить Sкр и Sкв количеством случайных точек, попавших в сектор и в часть квадрата соответственно. Положение каждой случайной точки определить с помощью генератора псевдослучайных чисел rand, интерпретируя пару случайных чисел как координаты точки в двумерной системе координат с началом в центре круга. Количество экспериментов по созданию случайной точки считать входным параметром функции, вычисляющей p.

 

2-ой способ - геометрический.

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

Полагая число pравным половине длины окружности единичного радиуса, оценить его суммой длин отрезков ломаной, вписанной в эту дугу. Каждое очередное приближение числа p получить из предыдущего удвоением количества отрезков ломаной, воспользовавшись при этом рекуррентным соотношением:

=,

где - длина отрезка ломаной.

Погрешность вычисления числа p считать входным параметром разрабатываемой функции.