Решение не возможно. Должно быть условие сколько бит до перекодирования в кодировке было. Проверь условие
На самом деле условие F(х)=0 при х=0 лишнее, поскольку значение F(x)=0.5x² при x≥-1 и так дает F(0)=0.
var
x,F:real;
begin
x:=-3;
while x<4.01 do begin
if x<-1 then F:=x+3
else F:=0.5*x*x;
Writeln('x=',x:4:1,', F=',F:5:3);
x:=x+0.5
end
end.
Результат
x=-3.0, F=0.000
x=-2.5, F=0.500
x=-2.0, F=1.000
x=-1.5, F=1.500
x=-1.0, F=0.500
x=-0.5, F=0.125
x= 0.0, F=0.000
x= 0.5, F=0.125
x= 1.0, F=0.500
x= 1.5, F=1.125
x= 2.0, F=2.000
x= 2.5, F=3.125
x= 3.0, F=4.500
x= 3.5, F=6.125
x= 4.0, F=8.000
Верхний правый угол нажми на свой аватал , там есть выход .
Z:=a*a*a*cos( b*x*sin(x)*sin(x) ) + exp(1/3 *ln(c) )
ИЛИ
z:=exp(3 * ln(a)) * cos(b*x*sqr(sin(x)) +exp(1/3 * ln(c))
1.k=2^b
k-количество цветов
b-количество бит
1000*800*b=5600051,2
800000*b= 5600051,2
b(приблизительно)=7бит
k(приблизительно)=128цветов
2.
256=2^8
420*210*8=705 600бит(приблизительно)= 86Кбайт