Quantization error in sampling
From your question it is unclear what is the dynamic range exactly, or is it needed to normalize the signal or not? Anyway, I assumed it to be normalized (since somehow this happens in ADCs). To quantize the normalized signal, you can use the following equation :
$$x_q[n]=\frac{\bigg\lfloor\left(\frac{x[n]}{\textrm{Dynamic Range}}\right)\cdot2^\textrm{Number of Bits}\bigg\rfloor}{2^{\textrm{Number of Bits}-1}}$$
where, $\textrm{Dynamic Range}$ here is $2$, $\textrm{Number of Bits}$ is $8$.

Quantization error in each sample would simply be the difference of the original signal and the quantized version of it. 

$$Q_e=x[n]-x_q[n]$$

I can't provide the complete solution, however the following code gives you the idea of application of above discussions.

fs=8000;
Ts=1/fs;
f1=1500;
f2=2000;
f3=3000;
t=(0:512)*Ts;
x=2*cos(2*pi*f1*t+13124)+3*sin(2*pi*f2*t+pi/8)+7*cos(2*pi*f3*t);
x=x./max(abs(x)); %Normalization

Range=2; % Dynamic Range ; from -1 to 1 I assume
Q=8; %Number of Bits

Quantized_Signal=floor(x./Range*2^Q)./2^(Q-1);