Algorithmus bei Kara?
Wir haben mit dem Thema Kara begonnen und hatten anfangs keine Probleme. Nun kommen wir jedoch nicht mit den Aufgaben zurecht. Kann und vielleicht jemand helfen?
5 Antworten
zu 2.
hier ist das gleiche wie vorher
allerdings geht kara jetzt bis zum onLeaf solange es auf noLeaf ist
wenn es auf onLeaf ist , nimmt es das pilzchen unter seinen füssen weg
geht wieder 1 weiter um den baum um dann den pilz wieder zu setzen .
schwerer:
ist dann das man natürlich sich irgendwie die ausgangsposition merken muss , logisch wäre das kara sich mindestens 2 mal drehen muss und dann das gleiche wie sonst nur mit links , dafür bietet sich ein zähler an , den soviel wie er hin läuft , muss er auch wieder zurück laufen , also erst addieren, dann danach subtrahieren bis daer zähler wieder auf 0 ist .
zu 4.
ok das wird jetzt schon recht kompliziert ,
dazu muss man wohl auch eine funktion haben die merkt das der move nicht funktioniert , cantMove vieleicht oder oder ...
hier kommt es wirklich darauf an was ihr schon im unterricht gehabt hattet .
denn da gibt es viele wege die nach rom führen :)
auf jedenfall geht man unten los und dann jeweils am rand dreht sich die turn seite um , wo man vorher rechts abgebogen ist , biegt man nun links ab sobald der rand erreicht ist :)
viel glück dabei
mann könnte auch einfach am rand entlang gehen und immer mehr zur mitte :) also eine lakritzeschneke nach innen gehen . hihi
Zu 1 .
Ich schreib da jetzt mal so pseudocode und was ich aus dem ansatz zu den weiter aufgaben sehe .
folgende Zeichen
1 = Blatt oder Pilz (onleaf)
0 = kein blatt oder pilz (noleaf)
8 = braum
aufgabe 1 , einmal um den baum laufen
start sieht dann so aus
100
080
000
wollen wir das kurz festhalten . um um den baum zu gehen ,
um den baum gehen :
muss man 1 mal nach vorne ,
dann einmal nach rechts drehen
dann noch 1 mal nach vorne .
das tuen wir solange wie es keine 1 gibt
solange = while und die bedingung ist noleaf
wenn wir irgendwan die bedingung noleaf verlassen , dann sind wir wieder auf dem blatt und entfernen es .
setLeaf()
move()
while noleaf():
move
turnRight
move
removeLeaf
gehe das einfach mal an dem raster oben durch :)
das struktogramm solltest du zeichen können, kopfgesteuerte schleife
da ich nciht weiss was ihr könnt kann man noLeaf auch durch (not) onLeaf() ersetzen . Also das onLeaf negieren .
zu 3.
naja das ist wohl einfach mal mit dem stift anhand der zeichnung schritt für schritt abzugehen .
wir wissen ja schon wie kara um eine ecke geht beim baum , wie stellen uns einfach einen ganz dicken baum in der mitte vor ,
also kann die erste while schon mal so nicht logisch sein , den nach dem entfernen steht er im leeren und würde dann sofort um einen 1 feld baum gehen ... das soll er aber nur tun wenn nach dem move er auf kein leaf ist.
und wenn ich mich nicht irre ist er dann auch noch ein zu weit gegangen
dann müsste er sich wie bei 2 schwer umdrehen , zurück und nach links drehen .
keine ahnung ob das so kompliziert sein soll . ich sehe da aber keine andere möglichkeit um mit solch einfachen bewegungen und feldzustänen da was zu erreichen .
vom phyton syntax hab ich keine ahnung , das müsst ihr schon wissen .
Wobei konkret? Wir können leider nicht die Lösungen schreiben, da dies aus pädagogischer Sicht nicht sinnvoll wäre. Bei konkreten Problemen können wir jedoch gerne weiterhelfen. Woran scheitert es denn zu Zeit und was habt ihr bisher gemacht?
Ihr sollt also nur ein Struktogramm anfertigen und noch nicht in Python implementieren? Von mir folgende Anmerkungen zu den Aufgaben:
Aufgabe 1: Dort steht eigentlich schon alles und sogar das Wort SOLANGE wird benutzt. Weitere Hinweise kann ich dazu nicht wirklich geben.
Aufgabe 2: Das ist im Grunde genommen nur eine Weiterentwicklung der ersten Aufgabe. Für b könnte man entweder mit einem Kleeblatt markieren oder die Anzahl der Schritte zählen und beim Erreichen der Anfangsposition wieder zurücksetzen.
Aufgabe 3: Ich wollte gerade etwas dazu schreiben, doch nun sehe ich, dass auf dem dritten Blatt schon Anmerkungen stehen. Genau dasselbe hätte ich dir auch als Hinweis gegeben.
Ich würde sagen, versuch es einfach mal und melde dich. Struktogramme müsstet ihr ja schon gemacht haben.
Wir haben uns natürlich mit den Grundoperation beschäftigt und dann noch WENN und SOLANGE behandelt. Unser Problem ist, dass wir nicht wissen wie wir das Strukturgramm dazu anfertigen sollen, da unser Lehrer uns nur diese Aufgaben gegeben hat.