Wiki: Mathe und Info

Unterrichtsmaterialien für Mathematik und Informatik

Benutzer-Werkzeuge

Webseiten-Werkzeuge


info:sek-ii:e2:processing:fk-bedingung

Fachkonzept: Bedingung

Bedingungen prüfen auf die Wahrheitswerte "Ja" und "Nein" (auf englisch und im Programmcode true bzw. false). Bedingungen können mit dem !-Operator negiert (umgekehrt) werden.

Die Verzweigung unten kann gelesen werden als:

  • ist die Maustaste nicht gedrückt.
if (!mousePressed) {
    line(0,0, wigh,height);
}

Komplexe Bedingungen

Oft müssen mehrere Bedingungen miteinander verknüpft werden, um das gewünschte Ergebnis zu erzielen. Hierzu gibt es die Operatoren && und ||, die für und bzw. oder stehen.

{Bedingung = "(" Bedingung ")" | Bedingung ("&&" | "||") Bedingung | "!" (Ausdruck | "(" Bedingung ")") | Ausdruck ("==" | ">" | "<" | "<=" | ">=" | "!=") Ausdruck. Ausdruck = Identifier | Zahl | StringLiteral | Berechnung. }

Um diese komplexen Bedingungen etwas besser zu verstehen, hilft die folgende Tabelle:

aba||ba&&b
truetruetruetrue
truefalsetruefalse
falsetruetruefalse
falsefalsefalsefalse

Was ist hier passiert? Die beiden Spalten a||b (gelesen "a oder b") und a&&b (gelesen "a und b") werden in Abhängigkeit von sowohl a als auch b "berechnet". a||b ist wahr, wenn eben a oder b wahr sind. a&&b ist nur dann wahr, wenn sowohl a als auch b wahr sind. Etwas klarer machen das die beiden folgenden Beispiele:

Ein einfaches Beispiel:

  • Ist die Maus in der oberen Hälfte UND in der linken Hälfte?
if (mouseX < width/2 && mouseY < height/2) {
    fill(0,0,255);
}

Ein komplexeres Beispiel:

  • Ist die Maus gedrückt UND keine Taste der Tasttatur gedrückt ODER war die letzte gedrückte Taste a, dann tue etwas Interessantes…
if (mousePressed && (!keyPressed) || key == 'a' ) {
    // Tue was Interessantes...
}
info/sek-ii/e2/processing/fk-bedingung.txt · Zuletzt geändert: 2022-09-19 19:45 von christian.weber