Чтобы излишне не терять точность и не тратить лишнее время на вычисления, выведем рекуррентную формулу. В задании не сказано точно, как определять условие окончания суммирования. Примем, что суммирование завершается, если очередной член ряда не может изменить накопленную сумму больше, чем на ε, т.е. |aₓ| ≤ ε.
// PascalABC.NET 3.3, сборка 1583 от 25.11.2017 // Внимание! Если программа не работает, обновите версию!
begin var (ai1,eps,s,i):=(3/2,0.001,3/2,2); while true do begin var a:=3/(4*i-2)*ai1; if Abs(a)>eps then begin i+=1; s+=a; ai1:=a end else Break end; Writeln('S = ',s:0:3) end.
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016) var a: array of integer; i, n, m: integer; function simple(x:integer): boolean; var i: integer; begin Simple := false; if x < 2 then exit; if x mod 2 = 0 then exit; i := 3; while i <= sqrt(x) do begin if x mod i = 0 then exit; i +=2; end; Simple := true; end;
begin write('Количество элементов массива :');readln(m); SetLength(a, m); while n <= m - 1 do begin if simple(i) then begin a[n] := i; n +=1; end; i +=1; end; a.println; end.