Hola, va la explicación.
Supongamos que queremos obtener fog(x), sabemos que fog(x)=f(g(x)) y conocemos las expresiones de f y g.
Entonces antes de tirarnos a fog(x) pensemos en algunas preimagenes. Por ejemplo, cuanto vale fog(0)? fog(0)=f(g(0))=f(0+3) porque g(x)=x+3 si x=<0, luego f(3)=3/2 porque f(x)=x/2 si 0<x<4. Entonces fog(0)=3/2.
Otro ejemplo, fog(-1)=f(g(-1))=f(-1+3)=f(2)=2/2=1.
Fijate que si quiero calcular fog(x) para x=<0 entonces tengo que hacer f(x+3) porque g(x)=x+3, por otro lado si quiero fog(x) para x>0 tengo que calcular f(1/x).
Ahora para ver que pasa con f(x+3) y f(1/x) hay que tener en cuenta que f está definida por partes, eso quiere decir que, si x+3=<0 entonces f(x+3)=0, si 0<x<4 entonces f(x+3)=(x+3)/2, y así seguiría.
En resumen lo que estamos haciendo es, para calcular f(g(x)) consideramos las distintas expresiónes de f según cuanto vale la variable g(x), es decir, si g(x)=<0 entonces f(g(x)) = 0, si 0<g(x)<4 entonces f(g(x))=g(x)/2, y así sigue.