{"id":6169,"date":"2014-08-11T20:11:36","date_gmt":"2014-08-11T18:11:36","guid":{"rendered":"https:\/\/www.herr-rau.de\/wordpress\/?p=6169"},"modified":"2017-03-25T08:57:25","modified_gmt":"2017-03-25T07:57:25","slug":"schleifchenmachen","status":"publish","type":"post","link":"https:\/\/www.herr-rau.de\/wordpress\/2014\/08\/schleifchenmachen.htm","title":{"rendered":"Schleifchenmachen"},"content":{"rendered":"<div style='text-align:right;'><small>(<a href='https:\/\/www.herr-rau.de\/wordpress\/2014\/08\/schleifchenmachen.htm#comments'>2 Kommentare.<\/a>)<\/small> <\/div><p>In der 7. Klasse lernen die Sch\u00fcler am bayerischen Gymnasium Algorithmik &#8222;mit einem Programmiersystem, mit dem sie die Algorithmen intuitiv umsetzen k\u00f6nnen und bei dem die Einzelschritte des Ablaufs altersgem\u00e4\u00df visualisiert werden&#8220; (Lehrplan). Das hei\u00dft in der Regel: Robot Karol, das virtuelle Legom\u00e4nnchen. Es kann Ziegelsteine vor sich ablegen und aufnehmen, kann sich nach links und rechts drehen und einen Schritt nach vorne machen. Aus diesen Anweisungen bastelt man sich ein Programm.<\/p>\n<p>Wenn man dabei \u00fcberlegt vorgeht, schreibt man beispielsweise nicht:<\/p>\n<p><code>schritt()<br \/>\nlinksdrehen()<br \/>\nschritt()<br \/>\nlinksdrehen()<br \/>\nschritt()<br \/>\nlinksdrehen()<\/code><\/p>\n<p>sondern:<\/p>\n<p><code>wiederhole 3 mal<br \/>\n&nbsp;&nbsp;schritt()<br \/>\n&nbsp;&nbsp;linksdrehen()<br \/>\n*wiederhole<br \/>\n<\/code><\/p>\n<p>weil man erkannt hat, dass da eine gewisse Struktur in der Abfolge von Anweisungen ist.<br \/>\nAm Anfang neigen Sch\u00fcler allerdings dazu, auf dieses &#8222;wiederhole&#8220; zu verzichten und einfach draufloszuschreiben. Deswegen gebe ich bei Aufgaben gerne mal vor, in wieviel Zeilen sie l\u00f6sbar sind, in der Hoffnung, dass die Sch\u00fcler versuchenn, meine Vorgabe zu erreichen &#8211; oder bei manchen Aufgaben auch schon mal zu unterbieten, wenn ihnen noch ein k\u00fcrzerer Weg eingefallen ist.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/robot_karola_aufgaben.png\" alt=\"robot_karola_aufgaben\" width=\"421\" height=\"847\" class=\"alignnone size-full wp-image-6170\" srcset=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/robot_karola_aufgaben.png 421w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/robot_karola_aufgaben-74x150.png 74w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/robot_karola_aufgaben-273x550.png 273w\" sizes=\"auto, (max-width: 421px) 100vw, 421px\" \/><\/p>\n<p>Gestern habe ich ein \u00dcbungsprogramm dazu konstruiert, bei dem allerdings gar nichts altersgem\u00e4\u00df visualisiert wird. Man gibt ein, welche Anweisungen es geben soll, wie viel Verschachtelungen von Schleifen es maximal geben soll, und dann erzeugt das Programm zum Beispiel:<\/p>\n<p><code>schritt()<br \/>\nlinksdrehen()<br \/>\nschritt()<br \/>\nlinksdrehen()<br \/>\nschritt()<br \/>\nlinksdrehen()<\/code><\/p>\n<p>Selber muss man das dann k\u00fcrzer fassen, wenn es geht, und vergleicht dann mit der Antwort. Hier als Java-Programm in einer ersten Version:<\/p>\n<p><!--more--><\/p>\n<p><applet code=\"Fenster.class\" width=400 height=640 codebase=\".\" archive=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/schleifengenerator\/\"  alt=\"Your browser understands the &lt;APPLET&gt; tag but isn't running the applet, for some reason.\">Your browser is ignoring the &lt;APPLET&gt; tag!<\/applet><\/p>\n<p><strong>Was noch nicht geht, Teil 1<\/strong><\/p>\n<p>Eigene Anweisungen eingeben. Auch a) die Koeffizienten, die bestimmen, wie viele Verschachtelungen es wirklich gibt (es w\u00e4re ja langweilig, wenn man immer <em>genau<\/em> die voreingestellte Anzahl kriegte), b) die Auswahl an Anweisungen, die in einer konkreten Schleife auftauchen sollen und c) die Anzahl an Wiederholungen pro Schleife (zur Zeit maximal drei) kann man bisher nur im Code und nicht in der Demo-Benutzeroberfl\u00e4che einstellen. Aber das sind Kleinigkeiten.<\/p>\n<p><strong>Was noch nicht geht, Teil 2<\/strong><\/p>\n<p>Schwieriger sind zwei andere Punkte: Erstens w\u00e4re es sch\u00f6n, wenn der Sch\u00fcler sich nicht nur die L\u00f6sung zeigen lassen, sondern seinen eigenen Code eingeben und \u00fcberpr\u00fcfen lassen k\u00f6nnte. Das w\u00e4re allerdings noch ein sch\u00f6nes St\u00fcck Arbeit. Und zweitens ist meine L\u00f6sung keineswegs immer die optimale L\u00f6sung. Ich habe zwar darauf geachtet, dass Schleifen mit einer Wiederholungszahl von 1 nicht als Schleifen, sondern als einfache Sequenz dargestellt werden, und dass Schleifen teilweise zusammengefasst werden, wenn sie den gleichen Inhalt haben (so dass dann auch h\u00f6here Wiederholungszahlen als 3 auftauchen k\u00f6nnen) &#8211; aber immer klappt das nicht.<\/p>\n<p>So wird zum Beispiel f\u00fcr die Sequenz:<\/p>\n<p><code>schritt()<br \/>\nlinksDrehen()<br \/>\nrechtsDrehen()<br \/>\nhinlegen()<br \/>\nhinlegen()<br \/>\nhinlegen()<br \/>\nhinlegen()<br \/>\nhinlegen()<br \/>\nhinlegen()<\/code><\/p>\n<p>als L\u00f6sung vorgeschlagen:<\/p>\n<p><code>schritt()<br \/>\nlinksDrehen()<br \/>\nwiederhole 2 mal<br \/>\n&nbsp;&nbsp;hinlegen()<br \/>\n&nbsp;&nbsp;wiederhole 2 mal<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;hinlegen()<br \/>\n&nbsp;&nbsp;*wiederhole<br \/>\n*wiederhole<br \/>\n<\/code><\/p>\n<p>Und das geht noch drei Zeilen k\u00fcrzer.<\/p>\n<p>Der Grund ist der, dass ich zuerst die L\u00f6sung generiere und dann erst daraus die Aufgabe. Allerdings kann es f\u00fcr eine Aufgabe mehrere L\u00f6sungen geben, und meine sind nicht immer optimal, da m\u00fcsste ich noch mehr bereinigen. Ich sehe das erst mals Vorschlag an. Vielleicht finde ich mal einen Studenten, der das als Programmierprojekt haben will &#8211; aber vorher sollte ich das mal an Sch\u00fclern testen, ob die \u00fcberhaupt daran interessiert sind. Hm, wenn man Punkte und Medaillen vergibt und Highscores speichert&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(2 Kommentare.) In der 7. Klasse lernen die Sch\u00fcler am bayerischen Gymnasium Algorithmik &#8222;mit einem Programmiersystem, mit dem sie die Algorithmen intuitiv umsetzen k\u00f6nnen und bei dem die Einzelschritte des Ablaufs altersgem\u00e4\u00df visualisiert werden&#8220; (Lehrplan). Das hei\u00dft in der Regel: Robot Karol, das virtuelle Legom\u00e4nnchen. Es kann Ziegelsteine vor sich ablegen und aufnehmen, kann sich [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":6170,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[25],"tags":[227,54],"class_list":["post-6169","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-informatik","tag-informatik","tag-robot-karol"],"jetpack_featured_media_url":"https:\/\/www.herr-rau.de\/wordpress\/archiv\/robot_karola_aufgaben.png","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/6169","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/comments?post=6169"}],"version-history":[{"count":2,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/6169\/revisions"}],"predecessor-version":[{"id":9080,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/6169\/revisions\/9080"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/media\/6170"}],"wp:attachment":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/media?parent=6169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/categories?post=6169"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/tags?post=6169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}