2016-09-25 2 views
0

Привет, мне нужно написать алгоритм, который читает наибольший угол треугольника и три стороны слева, справа внизу. Затем, основываясь на этих результатах, выводится конкретный угол/боковой треугольник.Базовый алгоритм для типов треугольников

Конкретные треугольники - это острое скальне, правое скальне, тупые скалы, острые равнобедренные, правые равнобедренные, тупые равнобедренные и равносторонний треугольник.

Мы должны написать базовый алгоритм в псевдокоде. Я честно понятия не имею, с чего начать, любая помощь будет оценена.

+0

Я предлагаю начать с рисования дерева решений – samgak

ответ

0

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

Например, вы можете легко проверить, равно ли он равносторонний, если все стороны равны, и если вы можете просто вывести это и остановиться там.

Если нет, то это должен быть скальнель или изоцели.

Если наибольший угол меньше 90 градусов, он острый. Если он равен 90 градусам, то это прямоугольный треугольник, если он больше 90 градусов, тогда он тупой.

Если две стороны имеют равную длину, то это isoceles, иначе это скальне.

Начните с рисования дерева решений или блок-схемы на основе этих критериев. Затем превратите его в псевдокод.

+0

спасибо, это имеет смысл! Я отдам ему дорогу –

0

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

+0

. Алгоритм должен читать самый большой угол и читать стороны, а оттуда он будет соответствовать ему с соответствующим треугольником. –

0

Начать с простого. Равносторонний треугольник имеет 3 равные стороны.

Итак:

function isEquilateral(left, right, bottom) { 
     return left === right == bottom; 
    ); 
+0

алгоритм должен только читать наибольший угол и читать стороны, и оттуда он будет соответствовать ему с соответствующим треугольником. –

+0

Тогда, если все стороны равны, то треугольник является равносторонним справа? Угол также равен 60 °, но это необязательно. –