Определить, можно ли построить треугольник, зная три стороны - 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.
Объяснение кода листинга программы
- Создается функция Compare, которая сравнивает два числа и возвращает результат сравнения в виде числа.
- Создаются две константы TrType1 и TrType2, которые представляют собой массивы строк.
- Создаются переменные a, b, c, d, e, mx, sr и mn, которые будут использоваться для построения треугольника.
- Выводится сообщение с просьбой ввести целые числа a, b, c.
- Проверяется, можно ли построить треугольник из данных отрезков. Для этого проверяется условие (a+b<=c) или (a+c<=b) или (b+c<=a). Если это условие выполняется, выводится сообщение о том, что из этих отрезков невозможно построить треугольник. В противном случае, начинается процесс построения треугольника.
- Инициализируются переменные mx и mn значением a.
- Затем происходит сравнение значений b и mx. Если b больше mx, mx присваивается значение a. Если b меньше mn, mn присваивается значение b. Аналогично происходит сравнение значений c и mn.
- После этого вычисляется значение sr как разности суммы отрезков и значений mx и mn.
- Выводится сообщение с указанием типов треугольников, которые могут быть построены из данных отрезков, используя массивы TrType1 и TrType2.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д