Erweiterte Logik und Conditionals

In dieser Lektion werdet ihr… 

  • lernen, wie man bedingte Anweisungen schreibt, die eine Logik verwenden. 
  • eure Magic 8-Ball-App verbessern, so dass eine Person keine Frage stellen kann, die nicht mit einem Fragezeichen versehen ist. 

Schlüsselbegriffe

  • Logik-Operatoren- ermöglichen es Computern, Entscheidungen auf der Grundlage mehrerer Bedingungen zu treffen 
  • And/Und – ein Programmieroperator, der “wahr” anzeigt, wenn alle Eingabebedingungen wahr sind 
  • Or/Oder – ein Programmieroperator, der “wahr” anzeigt, wenn mindestens eine der Eingabebedingungen wahr ist 
  • Not/Nicht – gibt das Gegenteil der eingegebenen Bedingung aus

Bedingungen

In der letzten Coding-Lektion habt ihr gelernt, wie ihr eure App mit Hilfe von bedingten Anweisungen verschiedene Dinge tun lassen könnt. In dieser Lektion werden ihr etwas über logische Operatoren lernen. Logik-Operatoren ermöglichen es Computern, Entscheidungen basierend auf mehreren Bedingungen zu treffen. In App Inventor zum Beispiel sind dies Blöcke, die zwei Eingaben benötigen. Es gibt drei wichtige Logik-Operatoren, die ihr in diesem Abschnitt lernen werdetandor und not 

And Operator 

Der Operator and (“und”) zeigt wahr” (true) an, wenn alle Eingabebedingungen wahr sind. Wenn eine der Eingabebedingungen falsch ist, gibt er das Ergebnis “falsch aus. Das hier sind alle möglichen Ergebnissewenn ihr den and-Operator verwendet: 

Wahr and Wahr = Wahr

Wahr and Falsch = Falsch

Falsch and Wahr = Falsch

Falsch and Falsch = Falsch

So könnt ihr euch die Verwendung von and in einer bedingten Anweisung vorstellen: 

Condition3

Hinweis: Die Verwendung des and-Operators unterscheidet sich von der Verwendung einer else if-Anweisung, da beide Bedingungen gleichzeitig ausgewertet werden und nicht eine nach der anderen.  

Wenn zwei Bedingungen wahr sein müssen, damit etwas passiert, solltet ihr and verwenden. Hier sind ein paar Beispiele, wann ihr and in eurer App verwenden solltet. Stellt euch vor, eure App erlaubt es Personen, sich anzumelden. Ihr möchtet, dass eure App sie nur dann anmeldet, wenn ihr Benutzername und ihr Passwort korrekt sind. Das hier sollte eure App tun: 

  • Wenn/if (der Benutzername korrekt ist) und/and (das Passwort korrekt ist) → dann erlaubt ihr der Person, sich anzumelden. 
  • Wenn eines von beiden falsch ist → dann erlaubt ihr der Person nicht, sich anzumelden. 

Hier sind eure beiden Bedingungen in App Inventor und Thunkable. 

App Inventor

Thunkable

Hier sind diese beiden Bedingungen in einem and -Block. 

App Inventor

Thunkable

Jetzt könnt ihr eine if-Anweisung einfügen. Diese if-Anweisung meldet die Person nur an, wenn beide Bedingungen erfüllt sind. 

Hier sind weitere Beispiele, wann ihr and verwenden könnt.   

  • Ein Spiel gewinnen: 
    • Wenn (der/die Spieler:in das Level beendet) und (die Zeit nicht abgelaufen ist) → dann gewinnt die Person  
  • Einen Supermarkt in der Nähe finden: 
    • Wenn (das Geschäft geöffnet istund (das Geschäft in der Nähe der Nutzer:in ist) → dann wird es in den Suchergebnissen angezeigt 
  • Bilder mit Untertitel posten: 
    • Wenn (die Person ein Bild ausgewählt hat) und (die Person einen Untertitel eingegeben hat) → dann erlaubt es der Person, das Bild zu posten 
  • Fallen euch weitere Beispiele ein? 

Or Operator 

Damit der or-Operator wahr ausgibt, muss nur eine der Eingaben wahr sein. Das hier sind alle möglichen Ergebnisse, wenn ihr den or-Operator verwendet. 

Wahr or Wahr = Wahr

Wahr or Falsch = Falsch

Falsch or Wahr = Falsch

Falsch or  Falsch = Falsch

So könnt ihr euch die Verwendung von or in einer bedingten Anweisung vorstellen: 

or-chart

HinweisDer or-Operator kommt euch vielleicht auch ähnlich vor wie else if vorkommen. Der or-Operator unterscheidet sich aber von else if, weil beide Bedingungen gleichzeitig ausgewertet werden und nicht eine nach der anderen. Den or-Operator verwendet ihr am besten, wenn ihr zwei Bedingungen habt, die das gleiche Ergebnis haben sollen, wenn sie wahr sind. 

Hier sind ein paar Beispiele, wann ihr or in eurer App verwenden solltet: Stellt euch vor, ihr erstellt ein Spiel. Ihr wollt, dass das Spiel zu Ende ist, wenn entweder die Zeit abgelaufen ist oder die Spielerin alle ihre Leben verloren hat.  

Hier sind eure beiden Bedingungen in App Inventor und Thunkable. 

App Inventor

Thunkable

Hier sind diese beiden Bedingungen in einem or-Block: 

App Inventor

Thunkable

Jetzt könnt ihr sie in eine if-Anweisung einfügen. Diese if-Anweisung wird das Spiel beenden, wenn mindestens eine der Bedingungen wahr ist. 

App Inventor

Thunkable

Hier sind weitere Beispiele, wann ihr or verwenden könnt.   

  • Suchergebnisse anzeigen 
    • Wenn (der Titel passt) oder (die Beschreibung passt) → dann wird es in den Suchergebnissen angezeigt. 
  • Empfehlen von Videos an eine:n Nutzer:in 
    • Wenn (die Freund:innen des Nutzers oder der Nutzerin es mögen) oder (es ähnlich wie etwas ist ist, was die oder der Nutzer:in mag) → dann wird es der oder dem Nutzer:in empfohlen. 

„Not“ Operator 

Der not-Operator schaltet den Wert einer Eingangsbedingung auf das Gegenteil von dem um, was er ist. 

Not wahr = falsch

Not falsch = wahr

 Ihr könnt es euch in einer bedingten Anweisung so vorstellen: 

In eurer Magic 8 Ball-App wolltet ihr überprüfen, ob der oder die Nutzer:in eine Frage in das Textfeld eingegeben hat. Ihr könnt den not-Operator verwenden, um sicherzustellen, dass das Textfeld nicht leer ist. So sieht diese Bedingung in App Inventor und Thunkable aus: 

App Inventor

Thunkable

Hier seht ihr, wie ihr diese Bedingung in eine if-Anweisung einfügen könnt: 

App Inventor

Thunkable

Diese if-Anweisung gibt dem oder der Nutzer:in nur dann eine Antwort, wenn das Textfeld nicht leer ist. 

Hier sind einige weitere Beispiele, in denen ihr den not-Operator verwenden könnt. 

  • Ihr möchtet Suchergebnisse über Welpen ausschließen, also sucht nach dem Wort „Welpe“, indem ihr den Operator not verwendet.
    • Wenn nicht (der Artikel enthält das Wort „Welpe“) → dann zeigt er Ergebnisse an 
  • Ihr könnt logische Operatoren auch kombinieren. So könntet ihr zum Beispiel Suchergebnisse anzeigen, die das Wort „Kätzchen“ enthalten und das Wort „Welpe“ nicht enthalten. 
    • Wenn nicht (Artikel enthält Wort „Welpe“) und (Artikel enthält Wort „Kätzchen“) → dann werden die Ergebnisse angezeigt 

Aktivität: Magic 8 Ball Verbesserungen – Logik-Operatoren

n dieser Aktivität werdet ihr eine weitere Verbesserung für eure Magic 8 Ball-App mithilfe von Logik-Operatoren vornehmen. Eure App wird den Nutzer:innen sagen, dass sie „zuerst eine Frage stellen sollen“, wenn 

  1. der oder die Nutzer:in eine Frage stellt, die nicht mit einem Fragezeichen versehen ist. 
  2. das Textfeld leer ist. 

Frage 1: Was sind die beiden Bedingungen, die ihr überprüfen müsst? Wie könntet ihr diese Bedingungen in App Inventor oder Thunkable schreiben? 

Bedingung 1: Das Textfeld ist leer. 

Bedingung 2: Der Text enthält kein Fragezeichen. 

App Inventor

Thunkable

Frage 2: Denkt ihr, dass ihr dafür den and-Operator oder den or-Operator verwenden müsst? Was denkt ihr, wo das das in eurem Code stehen sollte? 

Benutzt euren Magic 8 Ball Code aus den letzten beiden Lektionen. Falls ihr den Startcode brauchtist er hier noch einmal:  

document

Reflexion

In dieser Lektion habt ihr gelernt, wie man logische Operatoren verwendet, um erweiterte bedingte Anweisungen zu erstellen. 

  • Mit welchen weiteren Bedingungen könntet ihr die die Magic 8 Ball App ergänzen? 
  • An welchen Stellen in der App würdet ihr sie einbauen? 

Technovation Challenge

Bewertungskriterien für den internationalen Wettbewerb

Anhand der Kategorien und Kriterien wird die App (oder KI-Erfindung) am Schluss der Technovation Saison von einer Jury bewertet werden. Mit dieser Lektion könnt ihr im technischen Teil Punkte für euer Demo-Video sammeln. Sie wird euch auch helfen, damit eure App besser funktioniert! Hier könnt ihr den Bewertungsbogen einsehen.