СРОЧНО ПОМОГИТЕ )) Задание 1. Составьте алгоритм, определяющий является ли треугольник...

0 голосов
22 просмотров

СРОЧНО ПОМОГИТЕ ))
Задание 1.

Составьте алгоритм, определяющий является ли треугольник прямоугольным, если заданы три стороны. Алгоритм должен так же определять периметр треугольника, если он не является прямоугольным, и площадь фигуры, если это прямоугольный треугольник.



Задание 2.

Нарисуйте блок-схему составленного алгоритма.


Информатика (429 баллов) | 22 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Program Project1;
const
  eps = 1e-10;
var
  a:array [1..3] of Real;
  i: integer;
  max: Real;
  max_i: integer;
  sqr_h: Real;
  sqr_k: Real;
  sp: Real;
begin
  Write('Введите длину сторон треугольника: ');
  Readln(a[1],a[2],a[3]);
  max:=a[1];
  max_i:=1;
  for i := 2 to 3 do
    if a[i]>max then
    begin
      max:=a[i];
      max_i:=i;
    end;
  sqr_k := 0;
  for i:=1 to 3 do
    if i<>max_i then
      sqr_k:=sqr_k+sqr(a[i]);
  sqr_h:=Sqr(max);
  if (Abs(sqr_k-sqr_h)  begin
    Writeln('Треугольник прямоугольный');
    sp:=1;
    for I := 1 to 3 do
      if i<>max_i then
        sp:=sp*a[i];
   sp:=sp/2;
    Writeln('Площадь треугольника = ',sp:0:5);
  end
  else
  begin
    Writeln('Треугольник не прямоугольный');
    sp:=0;
    for I := 1 to 3 do
      sp:=sp+a[i];  
    Writeln('Периметр треугольника = ',sp:0:5);
  end;
  Readln;
end.


image
(2.3k баллов)
0

a - массив сторон треугольника, max - длина предполагаемой гипотенузы, max_i - номер гипотенузы в массиве, sqr_h - квадрат гипотенузы, sqr_k - сумма квадратов катетов, sp - переменная под периметр/площадь

0

также в алгоритм можно еще добавить проверку на то, можно ли из указанных прямых вообще составить треугольник или нет, но это в задание не входило)