Why the continuity of $f$ is not a necessary condition? I am quite new to functions and continuity, and now I am reading the slides regarding the intermediate value theorem, which is related to continuity of functions.
While reading, I found the following:

The function $f(x) := sin(\frac{1}{x})$ for $x \neq 0$ and $f(0) := 0$ is not continuous, but it still satisfies the intermediate value property.

I understood the function is not continuous, because it is not defined for $x = 0$, but I do not understand why it still satisfies the intermediate value property. 
Could you please clarify me this? So, what is the relation with the title of this question? 
Why is it saying that $f(0) := 0$? It should not be defined for $x = 0$...
 A: The range of $f$ is $[-1,1]$. On every interval $(-x,0)$ and $(0,x)$ for $x > 0$, $f$ attains all values of its range. (In fact, all values in the range are attained infinitely many times in each of those intervals.)
Hence given two points $a < 0 < b$, every intermediate value $V$, with $-1 \leq f(a) < V < f(b) \leq 1$, is attained for some point $p \in (a,b)$. This is because $V$ is attained somewhere in $(a,0)$ and in $(0,b)$.
One of the cruxes of the argument is that every intermediate value $V$ is in the range of $f$. There are other counterexamples to the Intermediate Value Theorem where there is not the case (e.g., $f(x) = 1$ for $x \neq 0$, $f(0) = 0$.)
If this argument seems opaque, trying drawing a diagram of the situation described in the second paragraph.
A: The Intermediate Value Property is that if you pick two numbers $x$ and $y$ such that $f(x)=a$ and $f(y)=b$, and you pick a number $c$ in between $a$ and $b$, then there is a number $z$ in between $x$ and $y$ such that $f(z)=c$.  This will be easier to see if you draw a diagram of it.
This property is true of all continuous functions, but not every function with this property is continuous.  The function you gave is an example of a function that has this property without being continuous.
The other answer gives a proof that your function has the Intermediate Value Property, I just thought I would give the background information.
