Algorithmus bei Kara?

Hier das erste  - (Schule, programmieren, Informatik) Das zweite - (Schule, programmieren, Informatik) Und das dritte Bild - (Schule, programmieren, Informatik)

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



RakonDark  05.12.2017, 22:30

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 .





Alexa2209 
Beitragsersteller
 05.12.2017, 22:02

Ok Dankeschön hilft mir weiter. :)

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?


Alexa2209 
Beitragsersteller
 05.12.2017, 21:46

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.

tavkomann  05.12.2017, 22:03
@Alexa2209

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.