Download Programmieren mit DERIVE

Transcript
Böhm: Programmieren mit DERIVE
11
59
Zum Abschluss YIN und YANG
Als Abschluss soll ein einfaches und nicht so umfangreiches
Programm verfasst werden, das das bekannte YIN/YANGSymbol zeichnet [29]. Im Prinzip lässt sich das auch ohne
Programm als eine Funktion vom Radius des umgeschriebenen Kreises formulieren, aber als Programm gewinnt die
Prozedur sowohl an Deutlichkeit als auch an Lesbarkeit.
yinyang(r,cc,ca,serp,c1,c2):=PROG(
"@ Kreisrand ",
cc:=x^2+y^2=r^2,
"@ gefüllte Kreisscheibe ",
ca:=x^2+y^2<=r^2,
"@ die beiden kleinen Kreisscheiben ",
c1:=(x-r/2)^2+y^2<=(r/8)^2,
c2:=(x+r/2)^2+y^2<=(r/8)^2,
"@ die Schlangenlinie ",
serp:=IF(x<-r,?,
IF(x<0,SQRT(r^2/4-(x+r/2)^2),
IF(x<r,-SQRT(r^2/4-(x-r/2)^2),?))),
"@ logische Verknüpfung der Ungleichungen ",
RETURN([cc,(ca AND y<=serp AND NOT(c2)) OR c1])
)
Herausforderung 20
Stellen Sie das Symbol so dar, wie in es in der Abbildung am Beginn des Abschnitts
zu sehen ist.
 bk teachware