A square of a rational between two positive real numbers ?! Let $ a,b \in \mathbb{R}^+ ,(a<b) $. Prove that there is a rational number $ q $ such that $ a<q^2<b $, without using square root function.
Can anyone help me ?

Write $q=r/s$ with positive integers $r$ and $s$.  We need to show that 
$$as^2\lt r^2\lt bs^2$$
for some choice of $r$ and $s$.  If the interval $(as^2,bs^2)$ does not contain a square, then there is some integer $n$ such that $n^2\le as^2$ while $(n+1)^2\ge bs^2$.  This implies $2n+1\ge(b-a)s^2$, which implies
$$as^2\ge n^2=\left((b-a)s^2-1\over2\right)^2$$
which we can rewrite as
$$(b-a)^2s^4-2(b+a)s^2+1\le0$$
Since $b-a\not=0$, the left hand side is positive for sufficiently large integers $s$, at which point the inteval $(as^2,bs^2)$ must contain the square of some integer $r$.  If you want something explicit, let $s$ be an integer greater than $\sqrt{2(b+a)}/(b-a)$:
$$\begin{align}
(b-a)^2s^4-2(b+a)s^2+1&= s^2((b-a)^2s^2-2(b+a))+1\\
&\gt s^2(2(b+a)-2(b+a))+1\\
&\ge1
\end{align}$$
