var
k,h:integer;
p,s,x,eps,n,p1:real;
begin
x:=10;
while (x<0) or (1<x) do begin {Условие ввода 0>x>1}
write('Введите X = '); readln(x);
end;
eps:=1e-@; //В место @ нужно ввести погрешность в положительном числовом виде (вычислить до @-го знака после запятой)
p:=x;
n:=2;
p1:=1;
h:=1;
while abs(p)>eps do {Условие выхода: очередной член ряда по модулю меньше eps}
writeln('[Отладка] ',eps,' ',p,' ',s,' ',n); //отладка
for var i:=0 to 1 do begin
k:=k+1;
p1:=p1*k;
h:=h*-1;
p:=h*(power(2*x,n))/p1; {Вычисление очередного члена ряда}
s:=s+p;
n:=n+2;
writeln('cos(2x-1) = ', s);
end.
A:
s: string;
i: integer;
Write('Введите строку: ');
ReadLn(s);
for i := 1 to length(s) do
if s[i] = '.' then s[i] := '0' else
if (s[i] = 'x') or (s[i] = 'X') then s[i] := '1' else
s := 'Ошибка формата';
break;
WriteLn('Двоичный код: ', s);
B:
if s[i] = '0' then s[i] := '1' else if s[i] = '1' then s[i] := '0';
WriteLn('Инверсия: ', s);
Объяснение:
var
k,h:integer;
p,s,x,eps,n,p1:real;
begin
x:=10;
while (x<0) or (1<x) do begin {Условие ввода 0>x>1}
write('Введите X = '); readln(x);
end;
eps:=1e-@; //В место @ нужно ввести погрешность в положительном числовом виде (вычислить до @-го знака после запятой)
p:=x;
n:=2;
p1:=1;
h:=1;
while abs(p)>eps do {Условие выхода: очередной член ряда по модулю меньше eps}
begin
writeln('[Отладка] ',eps,' ',p,' ',s,' ',n); //отладка
for var i:=0 to 1 do begin
k:=k+1;
p1:=p1*k;
end;
h:=h*-1;
p:=h*(power(2*x,n))/p1; {Вычисление очередного члена ряда}
s:=s+p;
n:=n+2;
end;
writeln('cos(2x-1) = ', s);
end.
A:
var
s: string;
i: integer;
begin
Write('Введите строку: ');
ReadLn(s);
for i := 1 to length(s) do
begin
if s[i] = '.' then s[i] := '0' else
if (s[i] = 'x') or (s[i] = 'X') then s[i] := '1' else
begin
s := 'Ошибка формата';
break;
end;
end;
WriteLn('Двоичный код: ', s);
end.
B:
var
s: string;
i: integer;
begin
Write('Введите строку: ');
ReadLn(s);
for i := 1 to length(s) do
if s[i] = '0' then s[i] := '1' else if s[i] = '1' then s[i] := '0';
WriteLn('Инверсия: ', s);
end.
Объяснение: