Определить, можно ли построить треугольник, зная три стороны - Turbo Pascal (29301)

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

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

Добрый вечер. Помогите с этой задачей, пожалуйста. По введенным числам a,b,c определить: можно ли построить треугольник и если можно, то какой( по сторонам): равнобедренный, разносторонний, равносторонний По углам: тупые, острые или прямые

Решение задачи: «Определить, можно ли построить треугольник, зная три стороны»

textual
Листинг программы
function Compare(a, b: Integer): Integer;
begin
  if a<b then Compare:=-1 else if a>b then Compare:=1 else Compare:=0;
end;
const
  TrType1: array [-1..1] of String[15] = (
    'разносторонний','равнобедренный','равносторонний');
  TrType2: array [-1..1] of String[15] = (
    'остроугольный','прямоугольный','тупоугольный');
var a, b, c, d, e, mx, sr, mn: Integer;
begin
  Write('Введите целые числа a, b, c: '); ReadLn(a,b,c);
  if (a+b<=c) or (a+c<=b) or (b+c<=a) then
    WriteLn('Из этих отрезков построить треугольник нельзя')
  else begin
    mx:=a; mn:=a;
    if b>mx then mx:=a; if b<mn then mn:=b;
    if c>mx then mx:=c; if c<mn then mn:=c;
    sr:=a+b+c-mx-mn;
    Write('Из этих отрезков можно построить ',
      TrType1[Ord(mx=mn)+Ord((sr=mx) or (sr=mn))-1],' ',
      TrType2[Compare(sqr(mx),sqr(mn)+sqr(sr))],' треугольник');
  end;
end.

Объяснение кода листинга программы

  1. Создается функция Compare, которая сравнивает два числа и возвращает результат сравнения в виде числа.
  2. Создаются две константы TrType1 и TrType2, которые представляют собой массивы строк.
  3. Создаются переменные a, b, c, d, e, mx, sr и mn, которые будут использоваться для построения треугольника.
  4. Выводится сообщение с просьбой ввести целые числа a, b, c.
  5. Проверяется, можно ли построить треугольник из данных отрезков. Для этого проверяется условие (a+b<=c) или (a+c<=b) или (b+c<=a). Если это условие выполняется, выводится сообщение о том, что из этих отрезков невозможно построить треугольник. В противном случае, начинается процесс построения треугольника.
  6. Инициализируются переменные mx и mn значением a.
  7. Затем происходит сравнение значений b и mx. Если b больше mx, mx присваивается значение a. Если b меньше mn, mn присваивается значение b. Аналогично происходит сравнение значений c и mn.
  8. После этого вычисляется значение sr как разности суммы отрезков и значений mx и mn.
  9. Выводится сообщение с указанием типов треугольников, которые могут быть построены из данных отрезков, используя массивы TrType1 и TrType2.
  10. Конец программы.

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

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