Type num=double; { в этом месте можно сменить тип на иной }
function Legal(a,b,c:num):boolean; { возвращает True, если из отрезков длиной a,b,c можно построить треугольник } begin Legal:=(a+b>c) and (a+c>b) and (b+c>a) end;
function Med(a,b,c:num):num; { возвращает длину медианы, проведенную к стороне а } begin Med:=sqrt(2*(sqr(b)+sqr(c))-sqr(a))/2 end;
procedure Med3(a,b,c:num; var m1,m2,m3:num); { возвращает длины m1,m2,m3 всех медиан треугольника, построенного из отрезков длиной a,b,c. При этом m1- длина медианы, проведенной к стороне а, m2- дилна медианы,проведенной к стороне b и т.д. Если треугольник построить нельзя, m1=m2=m3=0 } begin if Legal(a,b,c) then begin m1:=Med(a,b,c); m2:=Med(b,a,c); m3:=Med(c,a,b) end else begin m1:=0; m2:=0; m3:=0 end end;
{ основная программа } var a,b,c,m1,m2,m3:num; begin Write('Введите длины сторон треугольника: '); Readln(a,b,c); Med3(a,b,c,m1,m2,m3); if m1>0 then begin Med3(m1,m2,m3,m1,m2,m3); if m1>0 then Writeln('Длины медиан: ',m1,', ',m2,', ',m3) else Writeln('Из полученных медиан нельзя построить треугольник.') end else Writeln('Невозможно построить треугольник с такими сторонами.') end.
Тестовое решение: Введите длины сторон треугольника: 14.3 18.9 8.6 Длины медиан: 10.725, 14.175, 6.45
Одним из таких свойств является дискретность. Под дискретностью понимается то, что алгоритм состоит из описания последовательности шагов обработки, организованный таким образом, что в начальный момент задаётся исходная ситуация, а после каждого следующего шага ситуация преобразуется на основе данных, полученные в предшествующие шаги обработки. Дискретность алгоритма означает, что он исполняется по шагам: каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего.
program qq;
var n,i:integer;
P:real;
begin
P:=1;
read(n);
for i:= 1 to n do begin
if n = 1 then continue;
P:=(1 - (1/sqr(n)))* P;
end;
write(P);
end.
Объяснение:
continue т.к формула начинается с двух.