Даны три числа a, b, c, удовлетворяющие аксиомам треугольника. Если треугольник равносторонний, то найти его площадь - Turbo Pascal

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

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

1. Даны три числа a, b, c, удовлетворяющие аксиомам треугольника. Если треугольник равносторонний, то найти его площадь. Если треугольник равнобедренный, то найти периметр и угол между равными сторонами. Числа вводить случайным образом из диапазона [5..15], проверяя аксиому треугольника.

Решение задачи: «Даны три числа a, b, c, удовлетворяющие аксиомам треугольника. Если треугольник равносторонний, то найти его площадь»

textual
Листинг программы
uses crt;
var a,b,c,os:integer;
    bk,h,u:real;
begin
clrscr;
repeat
writeln('Введите длины сторон треугольника');
readln(a,b,c);
if(a+b<=c)or(a+c<=b)or(b+c<=a) then
writeln('Эти отрезки не могут быть сторонами треугольника, повторите ввод');
until (a+b>c)and(a+c>b)and(b+c>a);
if(a=b)and(a=c)then
write('Треугольник равносторонний, его площадь=',sqrt(3)*a*a/4:0:2)
else if((a=b)and(a<>c))or((a=c)and(a<>b))or((b=c)and(b<>a)) then
 begin
  writeln('Треугольник равнобедренный');
  writeln('Периметр=',a+b+c);
  {найдем основание}
  if a=b then  os:=c
  else if a=c then os:=b
  else os:=a;
  bk:=(a+b+c-os)/2;{боковая сторона}
  h:=sqrt(bk*bk-sqr(c/2));{высота из вершины}
  u:=2*arctan(c/2/h)*180/pi;{угол при вершине}
  writeln('Угол при вершине=',u:0:2,' градуса');
 end
else write('Треугольник разносторонний');
readln
end.

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

  1. Объявлены переменные a, b, c, os, bk, h, u типа integer и real.
  2. Используется модуль CRT для работы с консолью.
  3. Введен цикл repeat-until для повторного запроса ввода, пока не будут введены корректные значения сторон треугольника.
  4. Проверка, являются ли введенные значения сторон треугольника корректными (сумма любых двух сторон больше третьей).
  5. Если все стороны равны, то вычисляется и выводится площадь равностороннего треугольника.
  6. Если стороны не равны, но равны две из них, то выводится сообщение о равнобедренности треугольника и его периметре.
  7. Вычисляется основание треугольника (наименьшая сторона из трех).
  8. Вычисляется боковая сторона треугольника (разница между суммой всех сторон и основанием).
  9. Вычисляется высота треугольника, проведенная к основанию.
  10. Вычисляется угол при вершине треугольника.
  11. Если все стороны треугольника разные, то выводится сообщение о разносторонности треугольника.
  12. Запрошен ввод для выхода из программы.

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


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

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

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