Даны три числа 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.
Объяснение кода листинга программы
- Объявлены переменные a, b, c, os, bk, h, u типа integer и real.
- Используется модуль CRT для работы с консолью.
- Введен цикл repeat-until для повторного запроса ввода, пока не будут введены корректные значения сторон треугольника.
- Проверка, являются ли введенные значения сторон треугольника корректными (сумма любых двух сторон больше третьей).
- Если все стороны равны, то вычисляется и выводится площадь равностороннего треугольника.
- Если стороны не равны, но равны две из них, то выводится сообщение о равнобедренности треугольника и его периметре.
- Вычисляется основание треугольника (наименьшая сторона из трех).
- Вычисляется боковая сторона треугольника (разница между суммой всех сторон и основанием).
- Вычисляется высота треугольника, проведенная к основанию.
- Вычисляется угол при вершине треугольника.
- Если все стороны треугольника разные, то выводится сообщение о разносторонности треугольника.
- Запрошен ввод для выхода из программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д