Другие языки программирования и технологии
помогите создать программу в паскале
На плоскости заданы три точки A(x1,y1), B(x2,y2) и C(x3,y3). Составьте программу, определяющую с некоторой погрешностью, является ли треугольник ABC прямоугольным. Если заданный треугольник - прямоугольный, укажите вершину треугольника при которой угол равен 90о. Координаты точек задайте самостоятельно
«У прямоугольного треугольника квадрат гипотенузы равен сумме квадратов катетов… »
Что в переводе на программный язык по условию задачи:
Len1 := (X2-X3)*(X2-X3)+(Y2-Y3)*(Y2-Y3); Let1 := 'A';
Len2 := (X1-X3)*(X1-X3)+(Y1-Y3)*(Y1-Y3); Let2 := 'B';
Len3 := (X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2); Let3 := 'C';
if Len1 < Len2 then Swap(Len1, Len2, Let1, Let2);
if Len2 < Len3 then Swap(Len2, Len3, Let2, Let3);
if Len1 < Len2 then Swap(Len1, Len2, Let1, Let2);
if Abs(Len1 - Len2 - Len3) < Eps then WriteLn('Треугольник прямоугольный. Прямой угол при вершине ', Let1, '.')
else WriteLn('Это не прямоугольный треугольник. ');
Где процедура Swap следующая:
procedure Swap(var N1, N2 : Real; var C1, C2 : Char);
var N : Real; C : Char;
begin
N := N1; N1 := N2; N2 := N; C := C1; C1 := C2; C2 := C;
end;
И где константа Eps задана как 0.001 или даже 0.00001 !
Что в переводе на программный язык по условию задачи:
Len1 := (X2-X3)*(X2-X3)+(Y2-Y3)*(Y2-Y3); Let1 := 'A';
Len2 := (X1-X3)*(X1-X3)+(Y1-Y3)*(Y1-Y3); Let2 := 'B';
Len3 := (X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2); Let3 := 'C';
if Len1 < Len2 then Swap(Len1, Len2, Let1, Let2);
if Len2 < Len3 then Swap(Len2, Len3, Let2, Let3);
if Len1 < Len2 then Swap(Len1, Len2, Let1, Let2);
if Abs(Len1 - Len2 - Len3) < Eps then WriteLn('Треугольник прямоугольный. Прямой угол при вершине ', Let1, '.')
else WriteLn('Это не прямоугольный треугольник. ');
Где процедура Swap следующая:
procedure Swap(var N1, N2 : Real; var C1, C2 : Char);
var N : Real; C : Char;
begin
N := N1; N1 := N2; N2 := N; C := C1; C1 := C2; C2 := C;
end;
И где константа Eps задана как 0.001 или даже 0.00001 !
Program pr1;
uses crt;
Var x1,x2,x3,y1,y2,y3:Integer;
p,s,a,b,c,p1:Real;
Begin
ClrScr;
Writeln ('Enter x1,y1');
Readln (x1,y2);
Writeln ('Enter x2,y2');
Readln (x2,y2);
Writeln ('Enter x3,y3');
Readln (x3,y3);
a:=sqrt(sqr(x2-x1)+sqr(y2-y1));
b:=sqrt(sqr(x3-x2)+sqr(y3-y2));
c:=sqrt(sqr(x1-x3)+sqr(y1-y3));
p:= (a+b+c) / 2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
p1:= a + b + c;
Writeln ('S:=',s:0:5);
Writeln ('P:=',p1:0:5);
Readln;
End.
вот те прога для нахождения площади и периметра треугольника с заданными координатами, немного переделай её и всё)
uses crt;
Var x1,x2,x3,y1,y2,y3:Integer;
p,s,a,b,c,p1:Real;
Begin
ClrScr;
Writeln ('Enter x1,y1');
Readln (x1,y2);
Writeln ('Enter x2,y2');
Readln (x2,y2);
Writeln ('Enter x3,y3');
Readln (x3,y3);
a:=sqrt(sqr(x2-x1)+sqr(y2-y1));
b:=sqrt(sqr(x3-x2)+sqr(y3-y2));
c:=sqrt(sqr(x1-x3)+sqr(y1-y3));
p:= (a+b+c) / 2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
p1:= a + b + c;
Writeln ('S:=',s:0:5);
Writeln ('P:=',p1:0:5);
Readln;
End.
вот те прога для нахождения площади и периметра треугольника с заданными координатами, немного переделай её и всё)
Похожие вопросы
- Помогите пожалуйста создать программу на Паскале. Заранее всем благодарен
- Помогите составить программу на паскале!
- помогите с программами в паскале
- Помогите решить программу в паскале)
- Здравствуйте, кто нибудь, сможет создать программу через паскаль, вычисляющую произведение цифр 10-х значных чисел?
- помогите доработать программу в паскале пожалуууйста
- Помогите с программой в Паскале, срочно!
- помогите доделать программу по паскалю пожалуйста
- Помогите! нужна программа.!! на паскале.
- Помогите написать программу на паскале