Паскаль. Основы программирования

Классическое определение вероятности


Самый удобный инструмент для первого знакомства с вероятностями - игральная кость: кубик, грани которого занумерованы числами 1, 2, ..., 6.

Поскольку кубик совершенно симметричен, мы считаем, что все шесть исходов бросания кости, т.е. выпадения цифр 1 или 2, или 3, или 4, или 5, или 6 имеют совершенно одинаковую возможность.

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

В теории вероятностей под событием мы будем понимать все то, что может произойти, но может и не произойти в результате выполнения некоторой совокупности (комплекса) условий. Такие события называются случайными событиями.

Например, случайными событиями будут:

а) попадание в цель при выстреле;

б) выпадение орла при бросании монеты;

в) наудачу взятое изделие - стандартное;

г) наудачу взятое изделие - бракованное;

д) выпадение определенного числа очков при бросании игральной кости и т.д.

Условимся события обозначать большими буквами латинского алфавита A, B, C, ... и т. д. В дальнейшем, если данный комплекс условий многократно повторяется, мы вместо слов "совокупность условий выполнена" будем говорить: "произведено испытание" или "произведен опыт". Другими словами, событие

мы будем рассматривать как результат испытания.

Так в примере а) выстрел - это испытание, а попадание в цель - это событие; в примере б) подбрасывание монеты - это испытание, а выпадение орла - это событие и т. д.



Условимся буквой P обозначать вероятность события, и сформулируем определение вероятности события.

Рассмотрим следующий пример. В урне содержится девять одинаковых, тщательно перемешанных между собой шаров, причем четыре из них - красных, три - синие и два - белые.

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


В нашем примере возможны девять элементарных исходов: C1, C2 - появился белый шар, C3, C4, C5 - появился синий шар, C6, C7, C8, C9 - появился красный шар.

Элементарные исходы, при которых событие наступает, называются благоприятствующими

исходами.

В нашем примере событию: "взятый шар цветной", благоприятствуют следующие исходы: C3, C4, C5, C6, C7, C8, C9. Поэтому вероятность того, что взятый шар окажется цветным, равна P=7/9.

Вероятностью события A называется отношение числа событий, благоприятствующих событию A (m), к общему числу всех равновозможных событий (n), т. е.

 
 

Из определения вероятности вытекают следующие ее свойства:

1. Наибольшую вероятность имеет достоверное событие, т.к. для него все элементарные исходы - благоприятствующие, т. е. P = 1.

2. Наименьшую вероятность имеет невозможное событие - P = 0.

3. Вероятность любого случайного события удовлетворяет неравенству:

0 < P < 1.

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

Вот несколько примеров вычисления вероятностей с помощью сочетаний, размещений и перестановок.

Пример 1. Пусть мешок содержит одинаковые по размерам и материалу шары, помеченные числами от 1 до 90. Из мешка вытаскивают какие-то 5 шаров. Какова вероятность, что среди этих шаров один помечен числом 90?

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

математическая модель - алгоритм - программа - отладка.

Событием в этой задаче является извлечение пятерки шаров (например, попали пять шаров с числами 24, 35, 42, 64, 83).

Каждая такая пятерка является подмножеством из множества 90 элементов, поэтому число таких подмножеств равно числу сочетаний из 90 элементов по 5:

- это число и будет числом всех равновозможных событий, которое обозначим n,
 

Какое число событий будет благоприятствовать появлению шара с номером 90?



Допустим, что шар с номером 90 извлечен из мешка, тогда в мешке останется 89 шаров, из которых извлекаются еще 4 шара в добавление к одному с номером 90.

Извлечь 4 шара из 89 можно
 способами, именно это число событий будет благоприятствовать событию - появлению шара с номером 90;


Искомая вероятность будет равна:
.

Алгоритм

1. Содержание:

а) имя программы;

б) описание переменных и их типов;

в) описание процедуры вычисления числа сочетаний.

2. Выполнение операторов:

а) вызов процедуры сочетаний и вычисление числа сочетаний из 90 по 5;

б) вызов процедуры сочетаний и вычисление числа сочетаний из 89 по 4;

в) вычисление вероятности; г) вывод результата.

3. Конец.

По алгоритму составим программу, используя процедуру вычисления числа сочетаний.

Программа

Program Problem1;

    uses WinCrt;

    var

        n1, m : longint;

        p        : real;

{----------------------------------------------------------------------------------------}

    Procedure combination(n, k : integer;  var s : longint);

        var

            i : longint;

        begin

           s := 1;

           if k = 0 then s := 1

                        else for i := 1 to n - k do s := s*(k + i) div i

        end;

{----------------------------------------------------------------------------------------}

    begin

       combination(90, 5, n1);

       combination(89, 4, m);

       p:=m/n1;

       writeln('Вероятность появления шара с номером 90 равна ', p:6:4)

    end.

Пример 2. Из пруда, в котором плавают 40 щук, выловили 5 щук, пометили их и пустили обратно в пруд. Во второй раз выловили 9 щук. Какова вероятность, что среди них окажутся ровно две помеченные щуки?

Математическое решение

Выясним общее число возможных событий, т.е. сколькими способами можно выловить 9 щук из 40 плавающих. Оно равно числу сочетаний из 40 по 9:

.

Сколько событий будут благоприятствовать тому, что среди этих 9 щук будут 2 помеченные.

Во-первых, две помеченные щуки можно выбрать из 5 ранее помеченных следующим количеством способов:
.



Во-вторых, к этим двум щукам надо добавить еще не помеченных 7 щук, которые можно выбрать из 35 не помеченных (ведь пять щук помеченные) количеством способов:

.

Значит, общее число благоприятствующих событий будет равно произведению числа способов из 5 по 2 на число способов из 35 по 7:

.

Тогда, искомая вероятность равна:

 

Вообще, если Y является m-подмножеством в n-множестве X и из X выбираются k-подмножество A, то вероятность того, что среди выбранных элементов содержится ровно r элементов из Y, равна:



Алгоритм

составления программы достаточно прост и поэтому сразу составим программу. Она будет такой:

Программа

Program Problem2;

    uses WinCrt;

    var

        s1, s2, s3, p : real;

{----------------------------------------------------------------------------------------}

    Procedure combination(n, k : integer;  var s : real);

        var

            i : longint;

        begin

           s := 1;

           if k = 0 then s := 1  else for

i := 1 to n - k do s := s*(k + i)/i

        end;

{----------------------------------------------------------------------------------------}

    begin

       combination(40, 9, s1);

       combination(35, 7, s2);

       combination(5, 2, s3);

       p := (s2*s3)/s1;

      writeln('Вероятность появления двух помеченных щук равна ', p:6:4)

    end.


Содержание раздела