Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ решение задачи по теории вероятностей

Автор: dim0n 16.06.2011 14:38

Здравствуйте! Помогите написать программу решения вот этой задачи "Три стрелка пытаются попасть в цель. Вероятности попадания соответственно равны 70%,80%,60%. Определить вероятность того,что будет ровно одно попадание. К вечеру уже нужно! Заранее спасибо!

Автор: Lapp 16.06.2011 14:55

Цитата(dim0n @ 16.06.2011 11:38) *
Здравствуйте! Помогите написать программу решения вот этой задачи "Три стрелка пытаются попасть в цель. Вероятности попадания соответственно равны 70%,80%,60%. Определить вероятность того,что будет ровно одно попадание.

Тебе что именно нужно - смоделировать процесс и посчитать вероятность как частоту события или же просто запрограммировать формулу, выведенную по теории вероятностей?

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

Автор: TarasBer 16.06.2011 14:59

Ну смотри.
Если первый даёт 70%, второй 80%, а третий - 60%, значит в сумме они дают 210% вероятности попадания.

Автор: Lapp 16.06.2011 15:07

Цитата(TarasBer @ 16.06.2011 11:59) *
Ну смотри.
Если первый даёт 70%, второй 80%, а третий - 60%, значит в сумме они дают 210% вероятности попадания.

Ага. У Васи температура 36.6, и у Пети 36.6. Вместе у них 73.2, и они смело могут не ходить в школу..

Тарас, кончай прикалываться..

Автор: IUnknown 16.06.2011 15:09

Вероятность ровно одного попадания - это сумма вероятностей (первый попал, второй и третий - промазали), (второй попал, первый и третий - нет) и (первый и второй промахнулись, третий попал). Итого 18.8%

Автор: TarasBer 16.06.2011 15:11

> Тарас, кончай прикалываться..

Шутки шутками, а это число (2.1) имеет смысл. Это матожидание кол-ва попаданий.

(фигасе, у Вольво в среднем по два плюса на сообщение)

Автор: Lapp 16.06.2011 15:22

Цитата(TarasBer @ 16.06.2011 12:11) *
Шутки шутками, а это число (2.1) имеет смысл. Это матожидание кол-ва попаданий.
.., про которое тут никто не спрашивал )).

Цитата
(фигасе, у Вольво в среднем по два плюса на сообщение)
Ты про кого это?..

Автор: dim0n 16.06.2011 15:26

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

Автор: Lapp 16.06.2011 15:28

Цитата(dim0n @ 16.06.2011 12:26) *
но при написании самой программы я путаюсь в ветвлении.
Ты покажи, что сам сделал - мы поможем закончить.

Автор: TarasBer 16.06.2011 15:29

> мне нужно,чтобы при компиляции появлялось окно в котором ввести значения переменных

При запуске, а не при компиляции.

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

> но при написании самой программы я путаюсь в ветвлении.

А там нет ветвления.
В общем, покажи саму программу свою, ну или что получилось (когда будешь сюда копировать, примени тег code).

Автор: dim0n 16.06.2011 15:29

только я решал не в процентах,a делал десятичные дроби и получилось у меня вероятность 0.188

Добавлено через 19 мин.
В том то и проблема,что я сижу с телефона и далеко от компьютера и возможности прислать код нет. Поэтому искренне прошу вас написать ваши предложения по решению этой задачи.

Автор: TarasBer 16.06.2011 15:54

Ну пришли код потом, когда будешь у компа.

Автор: dim0n 16.06.2011 18:13

А вы не можете написать сами код? Я даже не могу понять какой здесь алгоритм.

Автор: dim0n 16.06.2011 18:37

Program primer;
var
a,b,c,d,e,f,g,h,i,j:real;
begin
writeln('введите вероятность попадания 1 стрелка a=',a);
readln(a);
writeln('введите вероятность попадания 2 стрелка b=',b);
readln(b);
writeln('введите вероятность попадания 3 стрелка c='c);
writeln('введите вероятность промаха 1 стрелка' d=',d);
writeln('введите вероятность промаха 2 стрелка e=',e);
writeln('введите верочтность промаха 3 стрелка f=',f);
readln(f);
g:=a*e*f;
h:=b*d*f;
i:=c*d*e;
j:=g+h+i;
write('вероятность одного попадания j=',j);
end.


Добавлено через 4 мин.
вот мой вариант

Автор: IUnknown 16.06.2011 18:57

Цитата
writeln('введите вероятность попадания 1 стрелка a=',a);

и
Цитата
writeln('введите вероятность промаха 1 стрелка' d=',d);
- это что, для увеличения размера программы? Вероятность промаха = (1 - вероятность попадания), не надо это вводить.

Автор: TarasBer 16.06.2011 19:21

Я ЖЕ ПРОСИЛ ПРИМЕНИТЬ ТЕГ КОДА, БЛИН!!!!

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


var
success1, fail1,
success2, fail2,
success3, fail3: real;

success1fail23,
success2fail13,
success3fail23: real;


И перепиши с нормальными обозначениями.
А ковыряться в абвгдежз я не буду и никто не будет.

Автор: Krjuger 16.06.2011 21:50

А самое интересное,что вероятность попадания третьего,промаха для первого и 2 стрекла нигде не считывается))))Так что мне вот интересно,почему тебе в голову пришло считать первые 2 и последнее значения,а промежуточные пропустить))