Autor: Greilberger Judith
MatNr: 0025621
BspNr: 1152
Beschreibung: Ein Punkt und ein Polygon (geschlossener Streckenzug) werden eingelesen; es wird festgestellt, ob der
Punkt innerhalb oder außerhalb des Polygons liegt.   

Dieses Programm liest zuerst die Koordinaten des Polygons mittels einem 2-dimensionalen arrays ein (polypoints), 
danach die Koordinaten des Startpunktes (startpunkt). Anschließend wird 'fehler' einen boolschen Wert zugewiesen. 
Die try-catch-Funktion hat die Aufgabe die eingelesenen Werte auf ihre Richtigkeit zu überprüfen. Wenn ein Zeichen
nicht einem 'integer' entspricht, fängt 'catch' die EprogException ab und schreibt als Ausgabe '?' gefolgt von einem
Zeilenvorschub.
In der Prozedur 'checkpolygon' wird überprüft, ob sich in dem eingelesenen Polygon keine Geraden schneiden. Wenn das
allerdings schon passiert, wird 'FALSCHE EINGABE' ausgegeben. EvenOdd gibt dann 1 oder 0 aus, ob die Geraden, die 
geschnitten werden, ungerade oder gerade sind.Folgende Prozedur überprüft, ob das Polygon korrekt ist; also ob sich
keine Strecken schneiden.schneiden einander zwei Strecken -> FALSE,schneiden einander die Strecken nicht -> TRUE 
Die folgende Doppelschleife prüft jede Strecke des Polygons mit jeder anderen Strecke des Polygons auf (unzulässige) Schnittpunkte;
Ausnahmen: Die unmittelbar aufeinander folgenden Strecken werden nicht geprüft -> diese müssen einander in den Eckpunkten schneiden
Die kleinen Prozeduren geben den jeweiligen min- oder max-wert der Koodinaten aus.
Nächste Prozedur prüft alle Sonderfälle der Strecken des Polynoms (parallel, identisch, steigung unendlich (= parallel zur y-Achse), ...),
schneiden sich die Geraden -> Polynom nicht korrekt schneiden sie einander nicht (parallele geraden --> polynom richtig)
Der nächste Abschnitt prüft,ob es innerhalb von 2 Rechtecken, die von x- und y- koordinaten von 2 Geraden aufgespannt werden, einen Schnittpunkt gibt, 
sodass sich 2 Geraden des Polygons schneiden und somit das Polygon nicht korrekt ist.
Findet eine Gerade durch den Startpunkt, welche keinen Stützpunkt des Polygons schneidet, und zählt gültige Schnittpunkte.
Ich stelle also ein Gerade auf, welche parallel zur x-Achse nach rechts zieht.
Nun prüfe ich, ob diese Gerade das Polygon  
a.) überhaupt schneidet (wenn nicht, bin ich fertig
b.) wenn sie schneidet, ob sie keinen Stützpunkt durchläuft und gebe die Gerade zurück.
AD b.) Wenn ein Stützpunkt durchlaufen wird, erhöhe ich die y-Koordinate von ziel_y -die Gerade wird steiler- so oft, bis kein Stützpunkt
mehr durchlaufen wird. (maximal 8x)
Lässt sich von findeGerade eine Gerade suchen die keinen Stützpunkt des Polygons schneidet. Und berechnet -sofern überhaupt ein Schnittpunkt
auftritt- die Anzahl der Schnittpunkte der ermittelten Geraden mit dem Polynom.