<em>
Реализована формула</em>
<em>
// PascalABC.NET 3.2, сборка 1485 от 15.06.2017</em><em>// Внимание! Если программа не работает, обновите версию!</em>begin
Write('Введите х и у: '); var (x,y):=ReadReal2;
var s:=Power(Cos(Power(Pi*y/3-x,14)),6)+Sin(y*y*y);
Writeln('s=',s)
end.
<u>Пример</u>Введите х и у: 2.175 -1.4
s=-0.335572582839361
Возможно западает какая-нибудь клавиша на клавиатуре или мышке (если были механические повреждения или что-нибудь проливали). Либо может кто-то шутить, подключившись через программу удаленного управления, например.
Перевод числа Х из 10-тичной системы в n-ичную осуществляется путем деления с остатком числа Х на n, затем Х1 = Х/n на n и тд (до тех пор, пока Хi больше 0) и записыванием остатков деления в обратном порядке. В нашем случае:
Х = 10, n = 2, \% - операция получения остатка от деления, / - операция получения целой части от деления.
1) 10 \% 2 = 0; 10 / 2 = 5
2) 5 \% 2 = 1; 5 / 2 = 2
3) 2 \% 2 = 0; 2 / 2 = 1
4) 1 \% 2 = 1; 1 / 2 = 0 => конец. Выпишем остатки в обратном порядке (т.е. из шагов 4), 3), 2) и 1)):
10 (в 10-ной) = 1010 (в 2-ной)
Проверка:
1010 (в 2-ной) = 1*2^3 + 0*2^2 + 1*2^2 + 0*2^0 = 8 + 0 + 2 + 0 = 10 (в 10-ной)
Const n=6;
var x:array[1..n] of integer=(-1, 1, 2, -2, -3, 3);
y,z:array[1..n] of integer;
i,i1,i2:integer;
begin
for i:=1 to n do write(x[i]:3);
writeln;
i1:=0; i2:=0;
for i:=1 to n do
if x[i]>0 then begin i1:=i1+1; y[i1]:=x[i]; end
else if x[i]<0 then begin i2:=i2+1; z[i2]:=x[i]; end;
writeln(' Y: Z:');
for i:=1 to n do
if (i1>=i)and(i2>=i)
then writeln(y[i]:3,z[i]:4)
else if i1>=i then writeln(y[i]:3)
else if i2>=i then writeln(z[i]:7);
end.
Результат:
-1 1 2 -2 -3 3
Y: Z:
1 -1
2 -2
3 -3