Решите задачу, составив алгоритм и написав программу на Паскале: Заданы 3 числа: a, b и c. Определить, могут ли они быть сторонами треугольника, и если да, то определить его тип: тупоугольный, прямоугольный или остроугольный — Pascal(Паскаль)

Program treug;
label 1;
var x,y,z:integer;
begin
readln(x);readln(y);readln(z);
IF ((x+y)<=z)or((x+z)<=y)or((z+y)<=x) then begin write('такого треугольника не существует');goto 1; end;
IF (z>x)and(z>y) then begin
                     IF z<(sqrt(sqr(x)+sqr(y))) then write('остроугольный');
                     IF z=(sqrt(sqr(x)+sqr(y))) then write('прямоугольный');
                     IF z>(sqrt(sqr(x)+sqr(y))) then write('тупоугольный');
                     end;
IF (x>z)and(x>y) then begin
                     IF x<(sqrt(sqr(z)+sqr(y))) then write('остроугольный');
                     IF x=(sqrt(sqr(z)+sqr(y))) then write('прямоугольный');
                     IF x>(sqrt(sqr(z)+sqr(y))) then write('тупоугольный');
                     end;
IF (y>x)and(y>z) then begin
                     IF y<(sqrt(sqr(x)+sqr(z))) then write('остроугольный');
                     IF y=(sqrt(sqr(x)+sqr(z))) then write('прямоугольный');
                     IF y>(sqrt(sqr(x)+sqr(z))) then write('тупоугольный');
                     end;
IF (x=y)and(x=z)and(y=z) then begin write('равносторонний'); goto 1; end;
IF (x=y)or(x=z)or(y=z) then write('равнобедренный');
1:end.

Вариант 2

Program Nauiti;
var x,y,z:integer;
begin
     Writeln('Vvedite tri chisla: ');
     readln(x,y,z);
     IF ((x+y)<z)or((x+z)<y)or((z+y)<x) then Writeln('ne suchestvuet') else
       begin
            IF (sqr(z)<(sqr(x)+sqr(y))) and (sqr(x)<(sqr(z)+sqr(y))) and   (sqr(y)<(sqr(x)+sqr(z))) then write('ostrougolnui') else
            IF (sqr(z)=(sqr(x)+sqr(y))) or (sqr(x)=(sqr(z)+sqr(y))) or (sqr(y)=(sqr(z)+sqr(y)))  then write('priamoug') else
                                  write('tupoug');
            IF (x=y)and(x=z)and(y=z) then write(' ravnostoronnui') else
            IF (x=y)or(x=z)or(y=z) then write(' ravnobedr')
       end;
      readln;
end.

Leave a Comment

+ 23 = 31