Показать сообщение отдельно
Старый 28.02.2014, 11:07   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от 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.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070