Das lernst du heute
- Relativer Sprung je nach Pin
- Kurze Ausweichzeilen
- Lesbarkeit abwägen
Ein Sensor an einem Pin ist optional: Steckt er, soll der Chip ihn lesen, sonst einen Ersatzwert nehmen. Mit bdns und einem Label geht das. Für eine oder zwei Zeilen gibt es die kürzere Form: brdse und brdns.
Relativ je nach Pin
| Befehl | springt um n Zeilen, wenn |
|---|---|
brdse gerät n | ein Gerät gesetzt ist |
brdns gerät n | kein Gerät gesetzt ist |
move temp ERSATZ # Ersatzwert, falls d1 leer ist
brdns d1 2 # kein Geraet: Lesen auslassen
l temp d1 Temperature
Ohne Gerät springt der Chip über das l hinweg, und temp behält den Ersatzwert. Mit Gerät liest er und überschreibt ihn. Zwei Zeilen, kein Label. Wie bei bdse und bdns darf als Gerät auch ein Register mit ReferenceId stehen.
Kurze Ausweichzeilen
Das Muster heißt Standard vorn, Ausnahme dahinter: Erst steht der sichere Wert im Register, dann folgt die Zeile, die ihn nur unter einer Bedingung ersetzt.
Mehrere optionale Sensoren lassen sich so mitteln. Jeder Block zählt nur, wenn sein Sensor steckt:
move summe 0
move n 0
brdns d0 4
l t d0 Temperature
add summe summe t
add n n 1
Der Abstand 4 überspringt die drei Zeilen danach.
Lesbarkeit abwägen
Relative Sprünge sparen Labels und Zeilen. Sie haben aber einen Preis: Wer den Code liest, muss Zeilen zählen, und jede eingefügte Zeile verschiebt die Ziele. Als Faustregel gilt:
| Strecke | Wahl |
|---|---|
| eine bis drei Zeilen | relativer Sprung |
| ganzer Abschnitt | Label mit bdns |
| Ziel in einem anderen Abschnitt | immer ein Label |
brdns d1 2 springt über eine Zeile, nicht über zwei. Der Abstand 1 wäre die nächste Zeile, also gar kein Sprung. Wer „2“ als „zwei Zeilen überspringen“ liest, landet eine Zeile zu weit.
Teile durch die Anzahl erst, wenn sie größer als 0 ist, oder fang das Ergebnis ab. Ohne jeden Sensor ist summe / n sonst 0 / 0, und das ergibt NaN.
Schaubild
Übung
Aufgabe
An d0 und d1 können Gassensoren stecken, an d2 eine LED-Anzeige. Die Wandheizung „Labor“ hängt im Netz.
- Bilde mit
brdse/brdnsdas Mittel der Sensoren, die stecken. - Heizung an, wenn das Mittel unter 20 °C liegt. Ohne Sensor: aus.
- Die Anzeige zeigt das Mittel in °C, ohne Sensor −999. Fehlt die Anzeige, gibt es keinen Fehler.
Absolute Vergleichssprünge und bdse/bdns sind hier nicht erlaubt.
Hinweise
Hinweis 1
Pro Sensor ein Block: brdns sensorA 4, dann lesen, addieren, zählen.
Hinweis 2
div mittel summe n ergibt ohne Sensor NaN – slt lässt die Heizung dann aus.
Hinweis 3
Anzeige: brgtz n 2 überspringt move c KEINWERT, brdns anzeige 2 überspringt das s.
Quiz
4 Fragen. Ab 60 % ist das Quiz bestanden – die Auswertung macht der Server.
Tag abschließen
- Übung im Simulator bestanden
- Quiz mit mindestens 60 % bestanden
Ohne Konto wird der Fortschritt nur in diesem Browser gespeichert.
Fehler in dieser Lektion melden
Zum Melden bitte anmelden. Anmelden