Определите тип треугольника (остроугольный, тупоугольный, прямоугольный) с данными сторонами - Pascal ABC
Формулировка задачи:
мне надо сделать такое задание на паскале :
Определите тип треугольника (остроугольный, тупоугольный, прямоугольный) с данными сторонами.
Формат входных данных:
Даны три натуральных числа – стороны треугольника.
Формат выходных данных:
Необходимо вывести одно из слов: rectangular для прямоугольного треугольника, acute для остроугольного треугольника, obtuse для тупоугольного треугольника или impossible, если входные числа не образуют треугольника.
Пример:
Ввод - 3 4 5
Вывод - rectangular
вот моя прога :
и когда я её отправляю (там на автомате всё) на сайт он пишет НЕПРАВИЛЬНЫЙ ОТВЕТ
Листинг программы
- program vidtreugolnika ;
- var a, b, c : real ;
- begin
- readln (a, b, c);
- if (a>b+c) or (b>a+c) or (c>a+b) then write ('impossible')
- else if (a*a=b*b+c*c) or (b*b=a*a+c*c) or (c*c=a*a+b*b) then write ('rectangular')
- else if (a*a>b*b+c*c) or (b*b>a*a+c*c) or (c*c>a*a+b*b) then write ('obtuse')
- else write ('acute');
- readln;
- end.
Решение задачи: «Определите тип треугольника (остроугольный, тупоугольный, прямоугольный) с данными сторонами»
textual
Листинг программы
- var a,b,c,d,e,mx,sr,mn:integer;
- begin
- read(a,b,c);
- if (a+b<=c)or(a+c<=b)or(b+c<=a)
- then writeln('impossible')
- else
- begin
- if a>b then mx:=a else mx:=b;
- if c>mx then mx:=c;
- if a<b then mn:=a else mn:=b;
- if c<mn then mn:=c;
- sr:=a+b+c-mx-mn;
- d:=mn*mn+sr*sr;
- e:=mx*mx;
- if d>e then writeln('acute')
- else if d<e then writeln('obtuse')
- else if d=e then writeln('right');
- end;
- end.
Объяснение кода листинга программы
- В начале кода объявляются переменные a, b, c, d, e, mx, sr и mn типа integer.
- Затем происходит чтение значений переменных a, b и c с помощью функции read.
- Далее проверяется условие (a+b<=c) или (a+c<=b) или (b+c<=a). Если хотя бы одно из этих условий выполняется, то выводится строка
impossible
. - Если условие не выполняется, то происходит следующий блок кода.
- Внутри блока происходит сравнение значений переменных a и b, и если a больше b, то переменной mx присваивается значение a, иначе mx присваивается значение b. Аналогично происходит сравнение и присвоение значений переменным c и mn.
- Затем вычисляется значение переменной sr как суммы a, b и c, минус mx и mn.
- После этого вычисляется значение переменной d как произведение mn и mn, и значение переменной e как произведение mx и mx.
- Затем происходит проверка значения переменной d. Если d больше e, то выводится строка
acute
, если d меньше e, то выводится строкаobtuse
, и если d равно e, то выводится строкаright
. - Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д