Die Monte-Carlo Methode ist ganz unten.
Dein Fehler könnte hier liegen:
if sqr(x)+sqr(y)<sqr(NETZGENAUIGKEIT) then inc(pin);
Ich nehme an Netzgenauigkeit ist die Kantenlänge deines Quadrats. Setzt die mal 1 oder lass das sqr nach dem '<' weg. [Ich bezieh mich jetzt auf das unterste Bild in meinem Programm:
Der Radius des roten Viertelkreises ist gleich der Kantenlänge, d.h. das sqr ist falsch. Es müsste nur
if sqr(x*x+y*y) < Netzgenauigkeit then {Treffer}
Ich glaube du hattest einen Denkfehler als du den Pythagoras geschrieben hast. [Falls ich nicht ganz falsch liege
]
Erwarte das Beste und bereite dich auf das Schlimmste vor.