Verwendet man Vektoren, hat man das Problem mit der Fallunterscheidung bei Differenzen nicht. Freilich muss man am Ende beim Übergang zu den Streckenlängen wieder Betragstriche setzen - der Lorbeer gebührt hier Gunnar.
Der Beweis mit Vektoren:
Wegen der gleichen Abstände der Parallelen gilt
$$\vec{GC} = \frac{2}{3} \vec{AC}$$ und $$\vec{PC} = \frac{1}{3} \vec{AC}$$
Zur Abkürzung sei wieder $$k = \frac{c}{a}$$ gesetzt. Man erhält nacheinander:
$$\vec{SC} = k \cdot \vec{AS}$$
$$\vec{AC} = \vec{AS} + \vec{SC} = (1+k) \cdot \vec{AS}$$
$$\vec{SG} = \vec{SC} + \vec{CG} = k \cdot \vec{AS} - \frac{2}{3} \vec{AC} = k \cdot \vec{AS} - \frac{2}{3} \cdot (1+k) \cdot \vec{AS}$$
$$\vec{SG} = \frac{k-2}{3} \cdot \vec{AS}$$
$$\vec{SG} = \frac{2-k}{3} \cdot \vec{SA}$$
$$\vec{GH} = \frac{2-k}{3} \cdot \vec{AB}$$
$$p = \left| \frac{2-k}{3} \right| \cdot a$$
Mit $$k = \frac{c}{a}$$ folgt daraus
$$p = \left| \frac{2a - c}{3} \right|$$
Weiter gilt :
$$\vec{PC} = \frac{1}{3} \cdot (\vec{AS} + \vec{SC}) = \frac{1}{3} \cdot \left( \frac{1}{k} \vec{SC} + \vec{SC} \right) = \frac{1}{3} \cdot \left( \frac{1}{k} + 1 \right) \cdot \vec{SC}$$
$$\vec{PC} = \frac{1+k}{3k} \cdot \vec{SC}$$
$$\vec{SP} = \vec{SC} - \vec{PC} = \vec{SC} \cdot \left( 1 - \frac{1+k}{3k} \right)$$
$$\vec{SP} = \left( \frac{2k-1}{3k} \right) \cdot \vec{SC}$$
$$\vec{PQ} = \left( \frac{2k-1}{3k} \right) \cdot \vec{CD}$$
Wieder mit $$k = \frac{c}{a}$$ folgt
$$q = \left| \frac{2c - a}{3c} \right| \cdot c$$
$$q = \left| \frac{2c - a}{3} \right|$$
P.S. Übrigens sollte es nicht verwundern, dass die Ergebnisse für p und q nur von a und c, nicht aber von h abhängen: Es würde ja nichts an den Streckenverhältnissen ändern, würde man die vertikale Achse dehnen oder stauchen.
P.P.S. Das Markup hier hinzukriegen hat mich weit mehr Zeit gekostet als das ganze Beweisen. Zeit, mich wieder um wichtigere Dinge zu kümmern...