Чтобы уменьшить количество вычислений, преобразуем формулу к рекуррентной.
Теперь все готово для программирования. // PascalABC.NET 3.2, сборка 1353 от 27.11.2016
var i,n:integer; a,s:real; begin Write('n='); Read(n); if n=1 then Writeln('S=1') else if n=2 then Writeln('S=0.5') else begin s:=0.5; a:=0.5; for i:=3 to n do begin a:=a/i; s:=s-a end end; Writeln('S=',s) end.
Пример n=10 S=0.281718198853615
liza04521160
30.06.2020
Const a=10; type mas=array[1..a] of integer; mas1=array[1..3] of byte; var R, Q, P:mas; X:mas1; i:byte;
procedure Form(var R, Q, P:mas); var sr, sq, sp:byte; begin sr:=0; sq:=0; sp:=0; for i:=1 to a do begin if (R[i]>=2) and (R[i]<=4) then sr:=sr+R[i]; if (Q[i]>=2) and (R[i]<=4) then sq:=sq+R[i]; if (P[i]>=2) and (R[i]<=4) then sp:=sp+R[i]; end; x[1]:=sr; x[2]:=sq; x[3]:=sp; writeln('Massiv x'); for i:=1 to 3 do write(x[i]:3);
end;
begin randomize; for i:=1 to a do begin R[i]:=random(10); Q[i]:=random(10); P[i]:=random(10); end; writeln('Massiv r'); for i:=1 to a do write(R[i]:3); writeln; writeln('Massiv Q'); for i:=1 to a do write(Q[i]:3); writeln; writeln('Massiv P'); for i:=1 to a do write(P[i]:3); end.
gorodof4292
30.06.2020
Const n=5; var a,b:array[1..n,1..n] of integer; i,j: byte; max2,k5:integer; begin randomize; k5:=0; max2:=0; for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(1,100); write(a[i,j]:4); if (i=2) and (a[i,j]>max2) then max2:=a[i,j]; if (j=5) and (a[i,j] mod 2 =0) then k5:=k5+1; end; writeln; end; writeln; writeln ('Максимальный элемент 2-ой строки = ',max2); writeln ('Количество четных элементов 5-го столбца = ',k5); end.
Теперь все готово для программирования.
// PascalABC.NET 3.2, сборка 1353 от 27.11.2016
var
i,n:integer;
a,s:real;
begin
Write('n='); Read(n);
if n=1 then Writeln('S=1')
else
if n=2 then Writeln('S=0.5')
else begin
s:=0.5; a:=0.5;
for i:=3 to n do begin a:=a/i; s:=s-a end
end;
Writeln('S=',s)
end.
Пример
n=10
S=0.281718198853615