@MSAFT

Какой код лучше из данных 2-ух вариантов?

Ваше мнение:

Вариант 1
puts "Value A"
first = gets.to_f
puts "Value B"
second = gets.to_f
puts "Value C"
third = gets.to_f

triangle_array = [first.to_f, second.to_f, third.to_f]

if triangle_array.sort[2]**2 == (triangle_array.sort[0]**2) + (triangle_array.sort[1]**2)
puts "Triangle is rectangular" # Basic values for this result is 6,8,10 
else
  puts "Triangle not rectangular"
end

if triangle_array.sort[0] == triangle_array.sort[1] || triangle_array.sort[0] == triangle_array [2] || triangle_array.sort[1] == triangle_array [2] 
  puts "Triangle is also isosceles"
else 
  puts "Triangle is also not isosceles"
end


Вариант 2:
puts 'Давайте узнаем ваш треугольник'
puts 'равнобедренный, прямоугольный или не прямоугольный'

puts 'Введите значение A'
a = gets.to_i
puts 'Введите значение B'
b = gets.to_i
puts 'Введите значение C'
c = gets.to_i

if a > b && a > c
  hypotenuse = a
  cathetus1 = b
  cathetus2 = c
elsif b > a && b > c
  hypotenuse = b
  cathetus1 = a
  cathetus2 = c
elsif c > b && c > a
  hypotenuse = c
  cathetus1 = a
  cathetus2 = b
end

if a == b && a == c
  puts 'Треугольник равнобедренный, но не прямоугольный'
elsif hypotenuse**2 == cathetus1**2 + cathetus2**2
  puts 'Треугольник прямоугольный'
else
  puts 'Треугольник НЕ прямоугольный'
end
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
@l1l1l1
Первый, как минимум из за понятных названий переменных.
Во вторых, почему во втором варианте отсутствует вариант "прямоугольный и равнобедренный", а есть только "равнобедренный но не прямоугольный"? В отличии от первого варианта.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@AVKor
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы