Цитата:
Сообщение от Madara
Интересная задача, Паскаль
|
А, ничего интересного - так, глупая учебная задачка.
Код:
Const
n=16;
Var
A,B,C:Array[1..n] of Real;
P,Sum_P:Real;
i,Nt:byte;
Function Per(Q1,Q2,Q3:Real):Real;
var
b:Boolean;
begin
b:=(Q1>=0) and (Q2>=0) and (Q3>=0) and
(Q1<=Q2+Q3) and (Q2<=Q1+Q3) and (Q3<=Q1+Q2);
if b then Per:=Q1+Q2+Q3 else Per:=-1;
end;
Begin
Nt:=0;
Sum_P:=0;
Randomize;
For i:=1 to n do
begin
A[i]:=Random*10-1.0;
write(A[i]:8:2);
B[i]:=Random*10-1.0;
write(B[i]:8:2);
C[i]:=Random*10-1.0;
write(C[i]:8:2);
P:=Per(A[i],B[i],C[i]);
if P<0 then
writeln(' No...')
else
begin
Inc(Nt);
Sum_P:=Sum_P+P;
writeln(' Yes! P= ',P:5:2);
end;
end;
writeln;
writeln(Nt,' triangulars');
writeln('Sum of their perimeters is ',Sum_P:0:2);
Readln
End.