<em>// PascalABC.NET 3.3, сборка 1583 от 25.11.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var (fact,eps,s,x):=(1.0,0.001,0.0,1);
while true do begin
fact:=fact*x;
var a:=Power(2/x,x)*fact;
if Abs(a)>eps then begin x+=1; s+=a end
else Break
end;
Writeln('S = ',s:0:3)
end.
<u>Результат</u>
S = 12.946
Складывая суммы, исполнитель получил выражение следующего вида:
<em><u>Ответ: 2)</u></em>
Function aToDec(n:string;k:integer):longint;
{ Перевод из системы по основанию k в десятичную }
var
i:integer;
pa,s:longint;
begin
s:=0;
pa:=1;
for i:=Length(n) downto 1 do begin
s:=s+pa*(Ord(n[i])-Ord('0'));
pa:=pa*k
end;
aToDec:=s
end;
function DecToa(n:longint;k:integer):string;
{ Перевод из десятичной системы в систему по основанию k }
var
s:string;
c:integer;
begin
s:='';
c:=Ord('0');
while n>0 do begin
s:=Chr(c+n mod k)+s;
n:=n div k
end;
DecToa:=s
end;
function AtoB(s:string;A,B:integer):string;
{ Перевод из системы по основанию A в систему по основанию B }
begin
AtoB:=DecToa(aToDec(s,A),B)
end;
var
a,b:integer;
n:string;
begin
Write('Число в c/c по основанию [2;10]: '); Readln(n);
Writeln('Укажите исходное и результирующее основания: ');
Read(a,b);
Writeln(n,'(',a,') = ',AtoB(n,a,b),'(',b,')');
end.
Пример решения
Число в c/c по основанию [2;10]: 643342414
Укажите исходное и результирующее основания:
7 9
643342414(7) = 80050347(9)
Блин пришлось помучиться потому что формула написана в примере не правильно, не 2i+2, а 4i
var
i: integer;
sum, e, x, y, model: real;
begin
read(x, e);
i := 0;
y := -1;
repeat
i := i + 1;
y := y * -x * (4 * i - 3) / (4 * i);
sum := sum + y;
writeln(i:3, ' ', y:10:5, ' ', sum:10:5);
until abs(y) < e;
writeln();
model := 1 - 1 / sqrt(sqrt(1 + x));
writeln('Проверочное значение: ', model);
writeln('Отклонение: ', abs(abs(sum) - abs(model)));
end.
Если, что-то вроде "((a > 10) *И* (b < 10)) *ИЛИ* (с == 10)" то конечно! А так зависит от контекста и места, где используется.