PasteRack.org
Paste #
69166
2016-12-09 11:17:08
Fork
as a new paste.
Paste viewed 55 times.
Tweet
Embed:
<link type="text/css" rel="stylesheet" href="http://pasterack.org/scribble.css"/><link type="text/css" rel="stylesheet" href="http://pasterack.org/racket.css"/><link type="text/css" rel="stylesheet" href="http://fonts.googleapis.com/css?family=Droid+Sans+Mono"/><div style="font-family:'Droid Sans Mono',monospace;background-color:transparent"><ol start="0" style="font-size:70%;color:#A0A0A0"><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><a class="RktModLink" data-pltdoc="x" href="http://docs.racket-lang.org/guide/Module_Syntax.html#%28part._hash-lang%29"><span class="RktMod">#lang</span></a><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><a class="RktModLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/index.html"><span class="RktSym">racket</span></a><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"> </span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;;</span><span class="hspace"> </span><span class="RktCmt">Aufgabe</span><span class="hspace"> </span><span class="RktCmt">1</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"> </span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">Die</span><span class="hspace"> </span><span class="RktCmt">ausgefuellte</span><span class="hspace"> </span><span class="RktCmt">Tabelle</span><span class="hspace"> </span><span class="RktCmt">sieht</span><span class="hspace"> </span><span class="RktCmt">so</span><span class="hspace"> </span><span class="RktCmt">aus:</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"> </span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">name</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">lineare</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">Baum</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">geschachtelt</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">direkt</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">indirekt</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;------------|-------------|------|--------------|--------|----------</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">kopfstueck</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">ja</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">nein</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">nein</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">ja</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">nein</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">endstueck</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">ja</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">nein</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">nein</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">ja</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">nein</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">merge</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">ja</span><span class="hspace"> </span><span class="RktCmt">(binaer)</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">nein</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">nein</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">ja</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">nein</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">merge-sort</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">nein</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">ja</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">(nein)</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">ja</span><span class="hspace"> </span><span class="RktCmt">|</span><span class="hspace"> </span><span class="RktCmt">nein</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"> </span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">Kopfstueck:</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">Im</span><span class="hspace"> </span><span class="RktCmt">Rumpf</span><span class="hspace"> </span><span class="RktCmt">der</span><span class="hspace"> </span><span class="RktCmt">Funktion</span><span class="hspace"> </span><span class="RktCmt">Kopfstueck</span><span class="hspace"> </span><span class="RktCmt">steht</span><span class="hspace"> </span><span class="RktCmt">lediglich</span><span class="hspace"> </span><span class="RktCmt">ein</span><span class="hspace"> </span><span class="RktCmt">Funktionsaufruf,</span><span class="hspace"> </span><span class="RktCmt">und</span><span class="hspace"> </span><span class="RktCmt">zwar</span><span class="hspace"> </span><span class="RktCmt">ruft</span><span class="hspace"> </span><span class="RktCmt">sie</span><span class="hspace"> </span><span class="RktCmt">sich</span><span class="hspace"> </span><span class="RktCmt">selbst</span><span class="hspace"> </span><span class="RktCmt">auf.</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">D.h.</span><span class="hspace"> </span><span class="RktCmt">die</span><span class="hspace"> </span><span class="RktCmt">Funktion</span><span class="hspace"> </span><span class="RktCmt">ist</span><span class="hspace"> </span><span class="RktCmt">direkt,</span><span class="hspace"> </span><span class="RktCmt">linear</span><span class="hspace"> </span><span class="RktCmt">und</span><span class="hspace"> </span><span class="RktCmt">nicht</span><span class="hspace"> </span><span class="RktCmt">geschachtelt</span><span class="hspace"> </span><span class="RktCmt">(sonst</span><span class="hspace"> </span><span class="RktCmt">muessten</span><span class="hspace"> </span><span class="RktCmt">wir</span><span class="hspace"> </span><span class="RktCmt">mindestens</span><span class="hspace"> </span><span class="RktCmt">zwei</span><span class="hspace"> </span><span class="RktCmt">Aufrufe</span><span class="hspace"> </span><span class="RktCmt">haben).</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">Das</span><span class="hspace"> </span><span class="RktCmt">schliesst</span><span class="hspace"> </span><span class="RktCmt">aus,</span><span class="hspace"> </span><span class="RktCmt">das</span><span class="hspace"> </span><span class="RktCmt">die</span><span class="hspace"> </span><span class="RktCmt">Funktion</span><span class="hspace"> </span><span class="RktCmt">baumartig</span><span class="hspace"> </span><span class="RktCmt">und</span><span class="hspace"> </span><span class="RktCmt">indirekt</span><span class="hspace"> </span><span class="RktCmt">sein</span><span class="hspace"> </span><span class="RktCmt">kann.</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"> </span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">endstueck:</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">Im</span><span class="hspace"> </span><span class="RktCmt">Rumpf</span><span class="hspace"> </span><span class="RktCmt">der</span><span class="hspace"> </span><span class="RktCmt">Funktion</span><span class="hspace"> </span><span class="RktCmt">endstueck</span><span class="hspace"> </span><span class="RktCmt">steht</span><span class="hspace"> </span><span class="RktCmt">lediglich</span><span class="hspace"> </span><span class="RktCmt">ein</span><span class="hspace"> </span><span class="RktCmt">Funktionsaufruf,</span><span class="hspace"> </span><span class="RktCmt">und</span><span class="hspace"> </span><span class="RktCmt">zwar</span><span class="hspace"> </span><span class="RktCmt">ruft</span><span class="hspace"> </span><span class="RktCmt">sie</span><span class="hspace"> </span><span class="RktCmt">sich</span><span class="hspace"> </span><span class="RktCmt">selbst</span><span class="hspace"> </span><span class="RktCmt">auf.</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">D.h.</span><span class="hspace"> </span><span class="RktCmt">die</span><span class="hspace"> </span><span class="RktCmt">Funktion</span><span class="hspace"> </span><span class="RktCmt">ist</span><span class="hspace"> </span><span class="RktCmt">direkt,</span><span class="hspace"> </span><span class="RktCmt">linear</span><span class="hspace"> </span><span class="RktCmt">und</span><span class="hspace"> </span><span class="RktCmt">nicht</span><span class="hspace"> </span><span class="RktCmt">geschachtelt</span><span class="hspace"> </span><span class="RktCmt">(sonst</span><span class="hspace"> </span><span class="RktCmt">muessten</span><span class="hspace"> </span><span class="RktCmt">wir</span><span class="hspace"> </span><span class="RktCmt">mindestens</span><span class="hspace"> </span><span class="RktCmt">zwei</span><span class="hspace"> </span><span class="RktCmt">Aufrufe</span><span class="hspace"> </span><span class="RktCmt">haben).</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">Das</span><span class="hspace"> </span><span class="RktCmt">schliesst</span><span class="hspace"> </span><span class="RktCmt">aus,</span><span class="hspace"> </span><span class="RktCmt">das</span><span class="hspace"> </span><span class="RktCmt">die</span><span class="hspace"> </span><span class="RktCmt">Funktion</span><span class="hspace"> </span><span class="RktCmt">baumartig</span><span class="hspace"> </span><span class="RktCmt">und</span><span class="hspace"> </span><span class="RktCmt">indirekt</span><span class="hspace"> </span><span class="RktCmt">sein</span><span class="hspace"> </span><span class="RktCmt">kann.</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"> </span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">merge:</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">Im</span><span class="hspace"> </span><span class="RktCmt">Rumpf</span><span class="hspace"> </span><span class="RktCmt">der</span><span class="hspace"> </span><span class="RktCmt">Funktion</span><span class="hspace"> </span><span class="RktCmt">merge</span><span class="hspace"> </span><span class="RktCmt">stehen</span><span class="hspace"> </span><span class="RktCmt">genau</span><span class="hspace"> </span><span class="RktCmt">zwei</span><span class="hspace"> </span><span class="RktCmt">Funktionsaufrufe,</span><span class="hspace"> </span><span class="RktCmt">beide</span><span class="hspace"> </span><span class="RktCmt">Male</span><span class="hspace"> </span><span class="RktCmt">ruft</span><span class="hspace"> </span><span class="RktCmt">sie</span><span class="hspace"> </span><span class="RktCmt">sich</span><span class="hspace"> </span><span class="RktCmt">selbst</span><span class="hspace"> </span><span class="RktCmt">auf.</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">Allerdings</span><span class="hspace"> </span><span class="RktCmt">sind</span><span class="hspace"> </span><span class="RktCmt">diese</span><span class="hspace"> </span><span class="RktCmt">Aufrufe</span><span class="hspace"> </span><span class="RktCmt">durch</span><span class="hspace"> </span><span class="RktCmt">eine</span><span class="hspace"> </span><span class="RktCmt">If-Bedingung</span><span class="hspace"> </span><span class="RktCmt">so</span><span class="hspace"> </span><span class="RktCmt">voneinander</span><span class="hspace"> </span><span class="RktCmt">getrennt,</span><span class="hspace"> </span><span class="RktCmt">dass</span><span class="hspace"> </span><span class="RktCmt">immer</span><span class="hspace"> </span><span class="RktCmt">nur</span><span class="hspace"> </span><span class="RktCmt">genau</span><span class="hspace"> </span><span class="RktCmt">einer</span><span class="hspace"> </span><span class="RktCmt">von</span><span class="hspace"> </span><span class="RktCmt">beiden</span><span class="hspace"> </span><span class="RktCmt">aufgerufen</span><span class="hspace"> </span><span class="RktCmt">wird.</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">D.h.</span><span class="hspace"> </span><span class="RktCmt">die</span><span class="hspace"> </span><span class="RktCmt">Funktion</span><span class="hspace"> </span><span class="RktCmt">ist</span><span class="hspace"> </span><span class="RktCmt">direkt,</span><span class="hspace"> </span><span class="RktCmt">linear</span><span class="hspace"> </span><span class="RktCmt">(binear)</span><span class="hspace"> </span><span class="RktCmt">und</span><span class="hspace"> </span><span class="RktCmt">nicht</span><span class="hspace"> </span><span class="RktCmt">geschachtelt</span><span class="hspace"> </span><span class="RktCmt">(sonst</span><span class="hspace"> </span><span class="RktCmt">muessten</span><span class="hspace"> </span><span class="RktCmt">die</span><span class="hspace"> </span><span class="RktCmt">zwei</span><span class="hspace"> </span><span class="RktCmt">Aufrufe</span><span class="hspace"> </span><span class="RktCmt">ineinander</span><span class="hspace"> </span><span class="RktCmt">stehen).</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">Das</span><span class="hspace"> </span><span class="RktCmt">schliesst</span><span class="hspace"> </span><span class="RktCmt">aus,</span><span class="hspace"> </span><span class="RktCmt">das</span><span class="hspace"> </span><span class="RktCmt">die</span><span class="hspace"> </span><span class="RktCmt">Funktion</span><span class="hspace"> </span><span class="RktCmt">baumartig</span><span class="hspace"> </span><span class="RktCmt">und</span><span class="hspace"> </span><span class="RktCmt">indirekt</span><span class="hspace"> </span><span class="RktCmt">sein</span><span class="hspace"> </span><span class="RktCmt">kann.</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"> </span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">merge-sort:</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">Im</span><span class="hspace"> </span><span class="RktCmt">Rumpf</span><span class="hspace"> </span><span class="RktCmt">der</span><span class="hspace"> </span><span class="RktCmt">Funktion</span><span class="hspace"> </span><span class="RktCmt">merge</span><span class="hspace"> </span><span class="RktCmt">stehen</span><span class="hspace"> </span><span class="RktCmt">genau</span><span class="hspace"> </span><span class="RktCmt">drei</span><span class="hspace"> </span><span class="RktCmt">Funktionsaufrufe,</span><span class="hspace"> </span><span class="RktCmt">zwei</span><span class="hspace"> </span><span class="RktCmt">Mal</span><span class="hspace"> </span><span class="RktCmt">ruft</span><span class="hspace"> </span><span class="RktCmt">sie</span><span class="hspace"> </span><span class="RktCmt">sich</span><span class="hspace"> </span><span class="RktCmt">selbst</span><span class="hspace"> </span><span class="RktCmt">auf,</span><span class="hspace"> </span><span class="RktCmt">ein</span><span class="hspace"> </span><span class="RktCmt">Mal</span><span class="hspace"> </span><span class="RktCmt">merge.</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">Die</span><span class="hspace"> </span><span class="RktCmt">beiden</span><span class="hspace"> </span><span class="RktCmt">selbstaufrufe</span><span class="hspace"> </span><span class="RktCmt">stehen</span><span class="hspace"> </span><span class="RktCmt">paralel,</span><span class="hspace"> </span><span class="RktCmt">d.h.</span><span class="hspace"> </span><span class="RktCmt">sie</span><span class="hspace"> </span><span class="RktCmt">werden</span><span class="hspace"> </span><span class="RktCmt">immer</span><span class="hspace"> </span><span class="RktCmt">beide</span><span class="hspace"> </span><span class="RktCmt">aufgerufen.</span><span class="hspace"> </span><span class="RktCmt">Beide</span><span class="hspace"> </span><span class="RktCmt">Aufrufe</span><span class="hspace"> </span><span class="RktCmt">sind</span><span class="hspace"> </span><span class="RktCmt">parameter</span><span class="hspace"> </span><span class="RktCmt">des</span><span class="hspace"> </span><span class="RktCmt">merge-Aufrufes.</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">D.h.</span><span class="hspace"> </span><span class="RktCmt">die</span><span class="hspace"> </span><span class="RktCmt">Funktion</span><span class="hspace"> </span><span class="RktCmt">ist</span><span class="hspace"> </span><span class="RktCmt">direkt,</span><span class="hspace"> </span><span class="RktCmt">aber</span><span class="hspace"> </span><span class="RktCmt">nicht</span><span class="hspace"> </span><span class="RktCmt">linear</span><span class="hspace"> </span><span class="RktCmt">(sie</span><span class="hspace"> </span><span class="RktCmt">ruft</span><span class="hspace"> </span><span class="RktCmt">sich</span><span class="hspace"> </span><span class="RktCmt">in</span><span class="hspace"> </span><span class="RktCmt">jedem</span><span class="hspace"> </span><span class="RktCmt">Schritt</span><span class="hspace"> </span><span class="RktCmt">ja</span><span class="hspace"> </span><span class="RktCmt">zweimal</span><span class="hspace"> </span><span class="RktCmt">selbst</span><span class="hspace"> </span><span class="RktCmt">auf)</span><span class="hspace"> </span><span class="RktCmt">sondern</span><span class="hspace"> </span><span class="RktCmt">baumartig.</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">Da</span><span class="hspace"> </span><span class="RktCmt">merge,</span><span class="hspace"> </span><span class="RktCmt">merge-sort</span><span class="hspace"> </span><span class="RktCmt">nicht</span><span class="hspace"> </span><span class="RktCmt">wieder</span><span class="hspace"> </span><span class="RktCmt">aufruft,</span><span class="hspace"> </span><span class="RktCmt">liegt</span><span class="hspace"> </span><span class="RktCmt">auch</span><span class="hspace"> </span><span class="RktCmt">keine</span><span class="hspace"> </span><span class="RktCmt">indirekte</span><span class="hspace"> </span><span class="RktCmt">Rekursion</span><span class="hspace"> </span><span class="RktCmt">vor.</span><span class="hspace"> </span><span class="RktCmt">Der</span><span class="hspace"> </span><span class="RktCmt">direkte</span><span class="hspace"> </span><span class="RktCmt">Aufruf</span><span class="hspace"> </span><span class="RktCmt">passiert</span><span class="hspace"> </span><span class="RktCmt">durch</span><span class="hspace"> </span><span class="RktCmt">vorgezogenen</span><span class="hspace"> </span><span class="RktCmt">auswertung</span><span class="hspace"> </span><span class="RktCmt">im</span><span class="hspace"> </span><span class="RktCmt">Rumpf</span><span class="hspace"> </span><span class="RktCmt">der</span><span class="hspace"> </span><span class="RktCmt">merge-sort</span><span class="hspace"> </span><span class="RktCmt">Funktion.</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">Ob</span><span class="hspace"> </span><span class="RktCmt">die</span><span class="hspace"> </span><span class="RktCmt">Funktion</span><span class="hspace"> </span><span class="RktCmt">geschachtel</span><span class="hspace"> </span><span class="RktCmt">ist,</span><span class="hspace"> </span><span class="RktCmt">haengt</span><span class="hspace"> </span><span class="RktCmt">von</span><span class="hspace"> </span><span class="RktCmt">der</span><span class="hspace"> </span><span class="RktCmt">definition</span><span class="hspace"> </span><span class="RktCmt">ab.</span><span class="hspace"> </span><span class="RktCmt">Wenn</span><span class="hspace"> </span><span class="RktCmt">man</span><span class="hspace"> </span><span class="RktCmt">streng</span><span class="hspace"> </span><span class="RktCmt">ist,</span><span class="hspace"> </span><span class="RktCmt">heisst</span><span class="hspace"> </span><span class="RktCmt">geschachtelt,</span><span class="hspace"> </span><span class="RktCmt">dass</span><span class="hspace"> </span><span class="RktCmt">ein</span><span class="hspace"> </span><span class="RktCmt">rekursiver</span><span class="hspace"> </span><span class="RktCmt">Aufruf</span><span class="hspace"> </span><span class="RktCmt">mit</span><span class="hspace"> </span><span class="RktCmt">einem</span><span class="hspace"> </span><span class="RktCmt">rekursiven</span><span class="hspace"> </span><span class="RktCmt">Aufruf</span><span class="hspace"> </span><span class="RktCmt">als</span><span class="hspace"> </span><span class="RktCmt">Parameter</span><span class="hspace"> </span><span class="RktCmt">aufgerufen</span><span class="hspace"> </span><span class="RktCmt">wird</span><span class="hspace"> </span><span class="RktCmt">(</span><span class="hspace"> </span><span class="RktCmt">f(x)</span><span class="hspace"> </span><span class="RktCmt">=</span><span class="hspace"> </span><span class="RktCmt">f(</span><span class="hspace"> </span><span class="RktCmt">f(x</span><span class="hspace"> </span><span class="RktCmt">-</span><span class="hspace"> </span><span class="RktCmt">1)</span><span class="hspace"> </span><span class="RktCmt">).</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">Lockerere</span><span class="hspace"> </span><span class="RktCmt">Definitionen</span><span class="hspace"> </span><span class="RktCmt">sehen</span><span class="hspace"> </span><span class="RktCmt">das</span><span class="hspace"> </span><span class="RktCmt">in</span><span class="hspace"> </span><span class="RktCmt">der</span><span class="hspace"> </span><span class="RktCmt">Aufgabe</span><span class="hspace"> </span><span class="RktCmt">vorliegende</span><span class="hspace"> </span><span class="RktCmt">schon</span><span class="hspace"> </span><span class="RktCmt">als</span><span class="hspace"> </span><span class="RktCmt">geschachtelt</span><span class="hspace"> </span><span class="RktCmt">an.</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"> </span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;;</span><span class="hspace"> </span><span class="RktCmt">Aufgabe</span><span class="hspace"> </span><span class="RktCmt">2</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktStxLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._require%29%29">require</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">2htdp/image</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktStxLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._require%29%29">require</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">lang/posn</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktStxLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._require%29%29">require</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">2htdp/universe</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"> </span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktStxLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/define.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define%29%29">define</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym">eqtriangle-height</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">sidelength</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sqrt%29%29">sqrt</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._-%29%29"><span class="nobreak">-</span></a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._sqr%29%29">sqr</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">sidelength</span><span class="RktPn">)</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._sqr%29%29">sqr</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29">/</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">sidelength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">2</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktCmt">;</span><span class="hspace"> </span><span class="RktCmt">(eqtriangle-height</span><span class="hspace"> </span><span class="RktCmt">300)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"> </span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktStxLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/define.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define%29%29">define</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym">_ss</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">sideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">x</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">y</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">image</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktStxLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/let.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._let%29%29">let</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym">halfSideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29">/</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">sideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">2</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/teachpack/2htdpimage.html#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%29%29">place-image</a></span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/teachpack/2htdpimage.html#%28def._%28%28lib._2htdp%2Fimage..rkt%29._isosceles-triangle%29%29">isosceles-triangle</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">halfSideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">60</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">"solid"</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">"red"</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29">+</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">x</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">halfSideLength</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29">+</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">y</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29">/</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym">eqtriangle-height</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">sideLength</span><span class="RktPn">)</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">4</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">image</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"> </span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktStxLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/define.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define%29%29">define</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym">addToPosn</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">pos</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">x</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">y</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/htdp/index.html#%28def._%28%28lib._lang%2Fposn..rkt%29._make-posn%29%29">make-posn</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29">+</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/htdp/index.html#%28def._%28%28lib._lang%2Fposn..rkt%29._posn-x%29%29">posn-x</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">pos</span><span class="RktPn">)</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">x</span><span class="RktPn">)</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29">+</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/htdp/index.html#%28def._%28%28lib._lang%2Fposn..rkt%29._posn-y%29%29">posn-y</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">pos</span><span class="RktPn">)</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">y</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"> </span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktStxLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/define.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define%29%29">define</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym">placeRedOnes</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">sideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">x</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">y</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">image</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktStxLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/if.html#%28form._%28%28quote._~23~25kernel%29._if%29%29">if</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3c%29%29"><</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">sideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">10</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">image</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktStxLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/let.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._let%2A%29%29">let*</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym">halfSideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29">/</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">sideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">2</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">[</span><span class="RktSym">quarterSideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29">/</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">sideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">4</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">[</span><span class="RktSym">halfHeight</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29">/</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym">eqtriangle-height</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">sideLength</span><span class="RktPn">)</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">2</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">[</span><span class="RktSym">eighthHeight</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29">/</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">halfHeight</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">4</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">[</span><span class="RktSym">block1</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/htdp/index.html#%28def._%28%28lib._lang%2Fposn..rkt%29._make-posn%29%29">make-posn</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">x</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">y</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">[</span><span class="RktSym">block2</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/htdp/index.html#%28def._%28%28lib._lang%2Fposn..rkt%29._make-posn%29%29">make-posn</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29">+</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">x</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">halfSideLength</span><span class="RktPn">)</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">y</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">[</span><span class="RktSym">block3</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/htdp/index.html#%28def._%28%28lib._lang%2Fposn..rkt%29._make-posn%29%29">make-posn</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29">+</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">x</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">quarterSideLength</span><span class="RktPn">)</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29">+</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">y</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">halfHeight</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">[</span><span class="RktSym">pos1</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym">addToPosn</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">block1</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">quarterSideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">eighthHeight</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">[</span><span class="RktSym">pos2</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym">addToPosn</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">block2</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">quarterSideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">eighthHeight</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">[</span><span class="RktSym">pos3</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym">addToPosn</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">block3</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">quarterSideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">eighthHeight</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">[</span><span class="RktSym">redTriangle</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/teachpack/2htdpimage.html#%28def._%28%28lib._2htdp%2Fimage..rkt%29._isosceles-triangle%29%29">isosceles-triangle</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">quarterSideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">60</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">"solid"</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">"red"</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">[</span><span class="RktSym">newImage</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/teachpack/2htdpimage.html#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-images%29%29">place-images</a></span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29">list</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">redTriangle</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">redTriangle</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">redTriangle</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29">list</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">pos1</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">pos2</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">pos3</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">image</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym">placeRedOnes</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">halfSideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/htdp/index.html#%28def._%28%28lib._lang%2Fposn..rkt%29._posn-x%29%29">posn-x</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">block1</span><span class="RktPn">)</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/htdp/index.html#%28def._%28%28lib._lang%2Fposn..rkt%29._posn-y%29%29">posn-y</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">block1</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym">placeRedOnes</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">halfSideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/htdp/index.html#%28def._%28%28lib._lang%2Fposn..rkt%29._posn-x%29%29">posn-x</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">block2</span><span class="RktPn">)</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/htdp/index.html#%28def._%28%28lib._lang%2Fposn..rkt%29._posn-y%29%29">posn-y</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">block2</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym">placeRedOnes</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">halfSideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/htdp/index.html#%28def._%28%28lib._lang%2Fposn..rkt%29._posn-x%29%29">posn-x</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">block3</span><span class="RktPn">)</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/htdp/index.html#%28def._%28%28lib._lang%2Fposn..rkt%29._posn-y%29%29">posn-y</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">block3</span><span class="RktPn">)</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">newImage</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"> </span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktStxLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/define.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define%29%29">define</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym">ss</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">sideLength</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktStxLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/let.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._let%2A%29%29">let*</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym">halfSideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29">/</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">sideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">2</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">[</span><span class="RktSym">BlackTriangle</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/teachpack/2htdpimage.html#%28def._%28%28lib._2htdp%2Fimage..rkt%29._isosceles-triangle%29%29">isosceles-triangle</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">sideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">300</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">"solid"</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">"black"</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">[</span><span class="RktSym">redTriangle</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/teachpack/2htdpimage.html#%28def._%28%28lib._2htdp%2Fimage..rkt%29._isosceles-triangle%29%29">isosceles-triangle</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">halfSideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">60</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">"solid"</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">"red"</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">[</span><span class="RktSym">baseImage</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/teachpack/2htdpimage.html#%28def._%28%28lib._2htdp%2Fimage..rkt%29._place-image%29%29">place-image</a></span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">redTriangle</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">halfSideLength</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a class="RktValLink" data-pltdoc="x" href="http://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29">/</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym">eqtriangle-height</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">sideLength</span><span class="RktPn">)</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">4</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">BlackTriangle</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym">placeRedOnes</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">sideLength</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">0</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">0</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">baseImage</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li><li><span style="font-family:'Droid Sans Mono',monospace;font-size:125%"><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym">ss</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">300</span><span class="RktPn">)</span><span class="RktMeta"></span></span></li></ol><p>=></p><div><pre></pre></div></div>
#lang
racket
;;
Aufgabe
1
;
Die
ausgefuellte
Tabelle
sieht
so
aus:
;
name
|
lineare
|
Baum
|
geschachtelt
|
direkt
|
indirekt
;------------|-------------|------|--------------|--------|----------
;
kopfstueck
|
ja
|
nein
|
nein
|
ja
|
nein
;
endstueck
|
ja
|
nein
|
nein
|
ja
|
nein
;
merge
|
ja
(binaer)
|
nein
|
nein
|
ja
|
nein
;
merge-sort
|
nein
|
ja
|
(nein)
|
ja
|
nein
;
Kopfstueck:
;
Im
Rumpf
der
Funktion
Kopfstueck
steht
lediglich
ein
Funktionsaufruf,
und
zwar
ruft
sie
sich
selbst
auf.
;
D.h.
die
Funktion
ist
direkt,
linear
und
nicht
geschachtelt
(sonst
muessten
wir
mindestens
zwei
Aufrufe
haben).
;
Das
schliesst
aus,
das
die
Funktion
baumartig
und
indirekt
sein
kann.
;
endstueck:
;
Im
Rumpf
der
Funktion
endstueck
steht
lediglich
ein
Funktionsaufruf,
und
zwar
ruft
sie
sich
selbst
auf.
;
D.h.
die
Funktion
ist
direkt,
linear
und
nicht
geschachtelt
(sonst
muessten
wir
mindestens
zwei
Aufrufe
haben).
;
Das
schliesst
aus,
das
die
Funktion
baumartig
und
indirekt
sein
kann.
;
merge:
;
Im
Rumpf
der
Funktion
merge
stehen
genau
zwei
Funktionsaufrufe,
beide
Male
ruft
sie
sich
selbst
auf.
;
Allerdings
sind
diese
Aufrufe
durch
eine
If-Bedingung
so
voneinander
getrennt,
dass
immer
nur
genau
einer
von
beiden
aufgerufen
wird.
;
D.h.
die
Funktion
ist
direkt,
linear
(binear)
und
nicht
geschachtelt
(sonst
muessten
die
zwei
Aufrufe
ineinander
stehen).
;
Das
schliesst
aus,
das
die
Funktion
baumartig
und
indirekt
sein
kann.
;
merge-sort:
;
Im
Rumpf
der
Funktion
merge
stehen
genau
drei
Funktionsaufrufe,
zwei
Mal
ruft
sie
sich
selbst
auf,
ein
Mal
merge.
;
Die
beiden
selbstaufrufe
stehen
paralel,
d.h.
sie
werden
immer
beide
aufgerufen.
Beide
Aufrufe
sind
parameter
des
merge-Aufrufes.
;
D.h.
die
Funktion
ist
direkt,
aber
nicht
linear
(sie
ruft
sich
in
jedem
Schritt
ja
zweimal
selbst
auf)
sondern
baumartig.
;
Da
merge,
merge-sort
nicht
wieder
aufruft,
liegt
auch
keine
indirekte
Rekursion
vor.
Der
direkte
Aufruf
passiert
durch
vorgezogenen
auswertung
im
Rumpf
der
merge-sort
Funktion.
;
Ob
die
Funktion
geschachtel
ist,
haengt
von
der
definition
ab.
Wenn
man
streng
ist,
heisst
geschachtelt,
dass
ein
rekursiver
Aufruf
mit
einem
rekursiven
Aufruf
als
Parameter
aufgerufen
wird
(
f(x)
=
f(
f(x
-
1)
).
;
Lockerere
Definitionen
sehen
das
in
der
Aufgabe
vorliegende
schon
als
geschachtelt
an.
;;
Aufgabe
2
(
require
2htdp/image
)
(
require
lang/posn
)
(
require
2htdp/universe
)
(
define
(
eqtriangle-height
sidelength
)
(
sqrt
(
-
(
sqr
sidelength
)
(
sqr
(
/
sidelength
2
)
)
)
)
)
;
(eqtriangle-height
300)
(
define
(
_ss
sideLength
x
y
image
)
(
let
(
[
halfSideLength
(
/
sideLength
2
)
]
)
(
place-image
(
isosceles-triangle
halfSideLength
60
"solid"
"red"
)
(
+
x
halfSideLength
)
(
+
y
(
/
(
eqtriangle-height
sideLength
)
4
)
)
image
)
)
)
(
define
(
addToPosn
pos
x
y
)
(
make-posn
(
+
(
posn-x
pos
)
x
)
(
+
(
posn-y
pos
)
y
)
)
)
(
define
(
placeRedOnes
sideLength
x
y
image
)
(
if
(
<
sideLength
10
)
image
(
let*
(
[
halfSideLength
(
/
sideLength
2
)
]
[
quarterSideLength
(
/
sideLength
4
)
]
[
halfHeight
(
/
(
eqtriangle-height
sideLength
)
2
)
]
[
eighthHeight
(
/
halfHeight
4
)
]
[
block1
(
make-posn
x
y
)
]
[
block2
(
make-posn
(
+
x
halfSideLength
)
y
)
]
[
block3
(
make-posn
(
+
x
quarterSideLength
)
(
+
y
halfHeight
)
)
]
[
pos1
(
addToPosn
block1
quarterSideLength
eighthHeight
)
]
[
pos2
(
addToPosn
block2
quarterSideLength
eighthHeight
)
]
[
pos3
(
addToPosn
block3
quarterSideLength
eighthHeight
)
]
[
redTriangle
(
isosceles-triangle
quarterSideLength
60
"solid"
"red"
)
]
[
newImage
(
place-images
(
list
redTriangle
redTriangle
redTriangle
)
(
list
pos1
pos2
pos3
)
image
)
]
)
(
placeRedOnes
halfSideLength
(
posn-x
block1
)
(
posn-y
block1
)
(
placeRedOnes
halfSideLength
(
posn-x
block2
)
(
posn-y
block2
)
(
placeRedOnes
halfSideLength
(
posn-x
block3
)
(
posn-y
block3
)
newImage
)
)
)
)
)
)
(
define
(
ss
sideLength
)
(
let*
(
[
halfSideLength
(
/
sideLength
2
)
]
[
BlackTriangle
(
isosceles-triangle
sideLength
300
"solid"
"black"
)
]
[
redTriangle
(
isosceles-triangle
halfSideLength
60
"solid"
"red"
)
]
[
baseImage
(
place-image
redTriangle
halfSideLength
(
/
(
eqtriangle-height
sideLength
)
4
)
BlackTriangle
)
]
)
(
placeRedOnes
sideLength
0
0
baseImage
)
)
)
(
ss
300
)
=>