Определить путь туриста - VBA

Узнай цену своей работы

Формулировка задачи:

Турист идет по пустыне. Каждый день он проходит расстояние на ½ меньше, чем в предыдущий день. Когда он пройдет расстояние, большее чем 100 км, если в первый день он прошел 50 км.? программа не работает, помогите найти ошибку

Решение задачи: «Определить путь туриста»

textual
Листинг программы
Sub tourist()
    Dim n As Long, s As Double, s1 As Double, m As Double, eps As Double
    s1 = 50 'расстояние за первый день
    n = 0 'кол-во дней
    m = 90 'искомое расстояние
    eps = 0.0001 'останавливать, если турист будет проходить в день менее 1/10 метра
    
    Do
        s = s + s1
        n = n + 1
        s1 = s1 / 2
    Loop While s < m And n < 36500 And s1 > eps
    'повторять, пока не пройдем нужное расстояние
    'и не пройдет 100 лет
    'и проходимое расстояние в день больше 1/10 метра
    
    MsgBox "За " & n & " дн." & vbLf & "Пройдено " & Format(s, "0.000") & " км"
End Sub

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы