Я думаю, что результат уже не отличим от 0.5.
Вы не то ищете.
Во-первых,
p это не результат разорения первого игрока, а вероятность его пригрыша в каждом раунде. При бросании монетки это 0.5.
То еcть Вы должны написать строку
if (x<=p) then/
Но при этом ничего не делать с
m.
n можете увеличивать на 1 при каждом раунде, но не обнулять перед внутренним циклом. Потом разделим на количество повторений внешнего цикла (200) и определим среднюю продолжительность игры.
Массивы не нужны. После цикла
repeat определяем, проиграл ли первый игрок. Если
s=0, то увеличиваем
m на 1. В
m количество разорений первого игрока. Потом делим на 200 и получаем искомую вероятность разорения первого игрока.
Разорение означает не проигрыш в очередном раунде, то есть при очередном бросании монетки, когда игрок проигрывает лишь ставку, а проигрыш в игре, когда от просадит все свои деньги, распахнётся, как Вы говорили.
Я так понял, что уже можно править код?
Отмашка сделана?