Переназначение значения переменных в Ruby? - PullRequest
0 голосов
/ 06 января 2020

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

radicand=gets.to_f
A=rand(1..radicand)
B = A+1
while B != A
  C = radicand/A
  B = A
  A = (A+C)/2
end
print"The square root of #{radicand} is #{A}"

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

Консоль с сообщениями об ошибках

enter image description here

1 Ответ

1 голос
/ 06 января 2020

Попробуйте что-то подобное, когда вы используете имена переменных в нижнем регистре, а не имена констант в верхнем регистре:

def square_root(radicand)
    a, b = radicand, 1
    tolerance = 0.00000000000000000001

    while (a - b).abs > tolerance
        a = (a + b) / 2
        b = radicand / a
    end

    a
    end

print "Enter the radicand:"
radicand = gets.to_f
puts "The square root of #{radicand} is #{square_root(radicand)}"

Пример использования:

Enter the radicand: 256
The square root of 256.0 is 16.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...