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

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

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

мне надо сделать такое задание на паскале : Определите тип треугольника (остроугольный, тупоугольный, прямоугольный) с данными сторонами. Формат входных данных: Даны три натуральных числа – стороны треугольника. Формат выходных данных: Необходимо вывести одно из слов: rectangular для прямоугольного треугольника, acute для остроугольного треугольника, obtuse для тупоугольного треугольника или impossible, если входные числа не образуют треугольника. Пример: Ввод - 3 4 5 Вывод - rectangular вот моя прога :
Листинг программы
  1. program vidtreugolnika ;
  2. var a, b, c : real ;
  3. begin
  4. readln (a, b, c);
  5. if (a>b+c) or (b>a+c) or (c>a+b) then write ('impossible')
  6. 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')
  7. 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')
  8. else write ('acute');
  9. readln;
  10. end.
и когда я её отправляю (там на автомате всё) на сайт он пишет НЕПРАВИЛЬНЫЙ ОТВЕТ

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

textual
Листинг программы
  1. var a,b,c,d,e,mx,sr,mn:integer;
  2. begin
  3. read(a,b,c);
  4. if (a+b<=c)or(a+c<=b)or(b+c<=a)
  5. then writeln('impossible')
  6. else
  7.  begin
  8.   if a>b then mx:=a else mx:=b;
  9.   if c>mx then mx:=c;
  10.   if a<b then mn:=a else mn:=b;
  11.   if c<mn then mn:=c;
  12.   sr:=a+b+c-mx-mn;
  13.   d:=mn*mn+sr*sr;
  14.   e:=mx*mx;
  15.   if d>e then writeln('acute')
  16.   else if d<e then writeln('obtuse')
  17.   else if d=e then writeln('right');
  18.  end;
  19. end.

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

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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

11   голосов , оценка 3.909 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы