Задача 9. Атака подводной лодки

Рассмотрим следующую задачу: подводная лодка атакует корабль, который прикрывает корабль охраны. У подводной лодки есть n торпед, которые она выпускает по очереди по кораблю до тех пор, пока торпеда не попадет в корабль или пока не закончатся торпеды. Вероятность попадания торпеды в корабль равна р. После каждого запуска торпеды лодкой корабль охраны производит залп по подводной лодке. Вероятность затопления подводной лодки в результате залпа корабля охранения равна р1. Составим программу, в которой будет вычисляться вероятность Р(А) события А, состоящего в том, что и корабль, и подводная лодка будут затоплены. При этом используем формулу , где введено обозначение .

Программный код приведен в листинге 9.

Листинг 9. Атака подводной лодки

// Директивы препроцессора добавить самостоятельно

Обращаем внимание на наличие в программе проверки корректности вводимых значений для вероятностей. Известно, что вероятность не может быть отрицательной или больше единицы. В тернарном операторе соответствующее условие реализовано в виде (р<0 || р>1) и (р1<0 || р1>1) соответственно. Если значение вероятности выходит за указанные пределы, выводится сообщение об ошибке Wrong value! и работа программы завершается.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: