Der Roboter soll nur die markierten Felder
färben.
Dein Programm darf die Anweisung
faerbeFeld() nur einmal enthalten.
Es gibt zwei Teststrecken, die der Roboter beide schaffen muss: Die markierten Felder liegen in den gleichen Spalten. Der Startpunkt des Roboters ist aber unterschiedlich.
Um eine geeignete Bedingung für den
-Baustein
zu finden, musst du die Spalte benutzen, in der sich der Roboter befindet. Dafür gibt es den Sensor
.
Allerdings besteht diese Bedingung aus zwei Teilen, weil der Bereich mit den markierten Feldern sowohl nach unten als auch nach oben berandet ist. Der Roboter darf nur ab Spalte 7 und nur bis Spalte 11 färben.
Deshalb musst du alle drei hellgrünen Bausteine zusammenbauen, wie du es im folgenden Beispiel siehst:
Mit dem kleinen Pfeil kann beim Vergleiche-Baustein eingestellt werden, auf welche Art verglichen wird. Vergleiche werden wie
üblich notiert, ungewohnt sind das Gleichheitszeichen == und das Ungleichheitszeichen !=.
Beim Und-Baustein ist die Bedingung nur dann erfüllt, wenn beide Teil-Bedingungen erfüllt sind. In diesem Beispiel würde also
in den Spalten 2 und 3 gefärbt.
Du musst ein Programm schreiben, das den Roboter über alle Felder des Gitters gehen lässt. Bei jedem Feld muss dann geprüft werden,
ob es gefärbt werden soll oder nicht. Wo sich der Roboter befindet, erkennst du mit den Sensoren
und
.
Tipp: Die Felder unter der Diagonalen sind die Felder, bei denen die Zeilennummer größer ist als die Spaltennummer. Du könntest zuerst einmal ein Programm schreiben, das das komplette Dreieck unter der Diagonalen färbt und dir dann später überlegen, wie die Spalten 5 bis 7 ausgelassen werden.
Mit dem kleinen Pfeil kannst du aus dem Und- einen Oder-Baustein machen. Dann ist die Bedingung bereits
erfüllt, wenn wenigstens eine der beiden Teil-Bedingungen erfüllt ist.
Wie immer kannst du Bausteine beliebig ineinander verschachteln, also auch mit vielen Und/Oder-Bausteinen kopmlizierte
Bedingungen zusammenbasteln.
Um eine geeignete Bedingung für den if-Befehl zu finden, musst du die Spalte benutzen, in der sich der Roboter
befindet. Dafür gibt es den Sensor spalteRoboter().
Allerdings besteht diese Bedingung aus zwei Teilen, weil der Bereich mit den markierten Feldern sowohl nach unten als auch nach oben berandet ist. Der Roboter darf nur ab Spalte 7 und nur bis Spalte 11 färben.
Deshalb musst du die Bedingung mit and (und) zusammenbasteln, wie du es im folgenden Beispiel siehst:
if spalteRoboter()<4 and spalteRoboter()>=2:
faerbeFeld()
Vergleiche werden wie üblich notiert, ungewohnt sind das Gleichheitszeichen == und das
Ungleichheitszeichen !=.
Beim and ist die Bedingung nur dann erfüllt, wenn beide Teil-Bedingungen erfüllt sind. In diesem
Beispiel würde also in den Spalten 2 und 3 gefärbt.
Du musst ein Programm schreiben, das den Roboter über alle Felder des Gitters gehen lässt. Bei jedem Feld muss dann geprüft werden,
ob es gefärbt werden soll oder nicht. Wo sich der Roboter befindet, erkennst du mit den Sensoren
spalteRoboter() und zeileRoboter().
Tipp: Die Felder unter der Diagonalen sind die Felder, bei denen die Zeilennummer größer ist als die Spaltennummer. Du könntest zuerst einmal ein Programm schreiben, das das komplette Dreieck unter der Diagonalen färbt und dir dann später überlegen, wie die Spalten 5 bis 7 ausgelassen werden.
Hier wirst du auch die Verknüpfung or (oder) benötigen. Dann ist die Bedingung bereits erfüllt, wenn wenigstens eine der beiden Teil-Bedingungen erfüllt ist.
Wie immer kannst du Befehle beliebig ineinander verschachteln, also auch mit vielen and/or-Verknüpfungen kopmlizierte
Bedingungen zusammenbasteln.