Другие языки программирования и технологии
С задачей помогите плз. паскаль. пажалста пажалста!!!!
Числа a1, a2, a3— стороны одного треугольника, а b1, b2, b3 другого. Опреде¬лить, являются ли треугольники подобными, если "да", то определить коэф¬фициент подобия.
В принципе Алексей дал верное направление.
Но! Необходимо учесть, что
- последовательность/правильность ввода соответствующих данных по каждому треугольнику может быть нарушена
(т. е. треугольники может быть и подобны, но сторона a подобна стороне b1, b подобна с1 и с подобна а1 - значит нужно предварительно отсортировать значения в порядке возрастания или убывания)
- коэффициент подобия - это действительное число, а значит для их сравнения нужно получать модуль разности их величин
procedure sorted(var a, b, c : real);
var t : real;
begin
if a > b then begin t := a; a := b; b := t; end;
if b > c then begin t := b; b := c; c := t; end;
if a > b then begin t := a; a := b; b := t; end;
end;
var
a, b, c : real;
a1, b1, c1 : real;
ka, kb, kc : real;
begin
Write('Введите через пробел стороны 1 треугольника: '); ReadLn(a, b, c); Sorted(a, b, c);
Write('Введите через пробел стороны 2 треугольника: '); ReadLn(a1, b1, c1); Sorted(a1, b1, c1);
ka := a/a1; kb := b/b1; kc := c/c1;
if (abs(ka - kb) < 0.0001) and (abs(ka - kc) < 0.0001) then WriteLn('подобны. k = ', ka:0:3) else WriteLn('не подобны');
end.
Но! Необходимо учесть, что
- последовательность/правильность ввода соответствующих данных по каждому треугольнику может быть нарушена
(т. е. треугольники может быть и подобны, но сторона a подобна стороне b1, b подобна с1 и с подобна а1 - значит нужно предварительно отсортировать значения в порядке возрастания или убывания)
- коэффициент подобия - это действительное число, а значит для их сравнения нужно получать модуль разности их величин
procedure sorted(var a, b, c : real);
var t : real;
begin
if a > b then begin t := a; a := b; b := t; end;
if b > c then begin t := b; b := c; c := t; end;
if a > b then begin t := a; a := b; b := t; end;
end;
var
a, b, c : real;
a1, b1, c1 : real;
ka, kb, kc : real;
begin
Write('Введите через пробел стороны 1 треугольника: '); ReadLn(a, b, c); Sorted(a, b, c);
Write('Введите через пробел стороны 2 треугольника: '); ReadLn(a1, b1, c1); Sorted(a1, b1, c1);
ka := a/a1; kb := b/b1; kc := c/c1;
if (abs(ka - kb) < 0.0001) and (abs(ka - kc) < 0.0001) then WriteLn('подобны. k = ', ka:0:3) else WriteLn('не подобны');
end.
readln(a,b,c);
readln(a1,b1,c1);
k1 := a*b/a1/b1;
k2 := a*c/a1/c1;
k3 := b*c/b1/c1;
if (k1=k2) and (k2=k3) writeln writeln('подобны, k=',k1:0:5) else writeln('не подобны');
readln(a1,b1,c1);
k1 := a*b/a1/b1;
k2 := a*c/a1/c1;
k3 := b*c/b1/c1;
if (k1=k2) and (k2=k3) writeln writeln('подобны, k=',k1:0:5) else writeln('не подобны');
ася 629225967
Похожие вопросы
- Помогите решить задачу на Турбо паскале
- Помогите плз найти ошибку в задаче в паскале, есть код,что сделал
- Как ответ на эту задачу записать в паскале, либо просто в алгоритм?
- Помогите плз решить задачу в Delphi.
- кто может помочь с паскаль(задачи)?
- Помогите решить задачу решение на Паскале
- Помогите пожалуйста найти ошибку в решении задачи по информатике(паскаль) !!!Прошу очень нужно!!!задача простая!!!
- Помогите решить задачу на языке Паскаль. Найти сумму всех чётных чисел от 1 до 1000 (задачу решить 2 способами)
- Помогите плз с Паскаль прогой!!!
- помогите с решение задачи на Турбо паскале