Hallo zusammen,
ich muss für die Schule mit Hilfe einer Procedur welche Rekursiv aufgerufen wird, ein selbstähnliches Dreieck zeichnen.
Im Web habe ich ein Bild gefunden :
http://www.jvogel.ch/chaos/skizze.gif
Seit 4 Tagen versuche ich shcon das hinzubekommen, leider klappts irgendwie nicht. Zum Zeichnen unter Turbo Pascal nehmen wir so eine Art Turtal Grafik mit folgenden Befehlen :
-----------------------------------------------------------------
Strecke(l : real) : Zeichnet Strecke
dreh(w : real) : dreh den grafikzeiger um den angegeben winkel. Bei negativen Zahlen mit dem Uhrzeiger und bei positiven gegen den uhrzeiger
grfrichtung := x : real : setzt den Grafikcursor auf eine bestimmte richtung. (variale steht nur global zur verfügung)
getx,gety : speichert momentanige Position vom Grafikcursor)
------------------------------------------------------------------
Momentan bin ich so weit :
procedure dreieck(l: real);
var xa,ya,xb,yb,xc,yc : integer;
g : real;
begin
if (l>1){ and (o>=1)} then
begin
strecke(l/3);
xa := getx; {Punkt an dem neues Dreieck beginnt}
ya := gety;
strecke(l/3); {restliche kathendenl„nge fertig}
xb := getx;
yb := gety;
strecke(l/3);
xc := getx;
yc := gety;
l:=l/3;
moveto(xa,ya);
g := grfrichtung;
dreh(-60);
dreieck(l);
dreh(120);
strecke(l);
end;
end;
-----------------------------------------------------------------
Ich hoffe jemand versteht mein Problem und kann mir helfen, denn alleine schaffe ich das einfach nicht.
Danke schon mal im voraus. Gruß Hanussen
Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge
Hallo Hanussen,
erstmal habe ich eine Frage, nämlich - sollst du nur das gleichseitige Dreieck oder den "Stern" zeichnen ?
Ich schreib dir gern mal eine Läsung auf, wenn du mir das beantwortet hast. Bei dem was du da stehen hast ist das prinzipielle Problem, dass du keine Bedingung für den Rekursiven aufruf hast. Dadurch ruft es sich immer wieder auf. Naja überleg nochmal und schreib obs Stern oder Dreieck sein soll :þ
Gruß, Mulan