Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Vorhergehende Überarbeitung | |||
| — | de:modul:m288:learningunits:lu03:01 [2025/11/13 15:53] (aktuell) – vdemir | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== LU03a - Selektion/ | ||
| + | |||
| + | ===== Einleitung ===== | ||
| + | Applikationen sollen Abläufe basierend auf gewisse Bedingungen durchlaufen. Beispielweise dürfen Zigaretten, Alkohol oder Kreditkarten nicht an Minderjährige ausgegeben werden. Umgekehrt gibt es bei MacDonalds die Kinderportion nur für Kinder. | ||
| + | |||
| + | Bei Social Media-Apps wie Tinder, Instagramm oder ähnlichen markieren wir unsere Vorliegen durch Swipes bzw. Likes. Basierend auf diese Markierungen wird dann die Treffermenge entsprechend eingeschränkt. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Das vorliegende Kapitel beschäftigt sich mit diesen Entscheidungen in Applikationen (logische Entscheidungen). | ||
| + | |||
| + | ===== Was sind SELEKTIONEN ? ===== | ||
| + | Der Begriff Selektion bedeutet schlicht Auswahl – also das gezielte Herausgreifen bestimmter Elemente, Informationen oder Zustände aus einer größeren Menge. | ||
| + | |||
| + | <WRAP center round tip 60%> | ||
| + | |||
| + | ===== Operatoren ===== | ||
| + | Um den Vergleich in Selektionen durchführen zu können braucht es sogenannte // | ||
| + | |||
| + | ^ Operator ^ Bedeutung | ||
| + | | == | gleich (ohne Typprüfung) | ||
| + | | === | **streng gleich** (mit Typprüfung) | 5 === " | ||
| + | | != | ungleich (ohne Typprüfung) | ||
| + | | !== | **streng ungleich** (mit Typprüfung)| 5 !== " | ||
| + | | > | größer als | 7 > 3 | true | | ||
| + | | < | kleiner als | 2 < 4 | true | | ||
| + | | >= | größer oder gleich | ||
| + | | < | ||
| + | | && | ||
| + | | < | ||
| + | |||
| + | ===== Arten von Selektionen ===== | ||
| + | In der Informatik (und auch in Logik, Statistik oder Biologie) gibt es verschiedene Arten, wie man solche Selektionen unterscheiden kann. Grundsätzlich unterscheiden wir vier Arten von Selections: | ||
| + | |||
| + | - **Einfach: if** | ||
| + | - **Zweifach: if-else** | ||
| + | - **Mehrfach: if-elsif-else** | ||
| + | - **Mehrfach: switch-case** | ||
| + | |||
| + | ==== 1. Einseitige Selektion: if ==== | ||
| + | Die einseitige Selektion ist die grundlegendste Form der Auswahl. Eine Anweisung wird nur dann ausgeführt, | ||
| + | |||
| + | **Beispiel: | ||
| + | if (temperatur > 30) { | ||
| + | console.log(" | ||
| + | } | ||
| + | |||
| + | **Erläuterung: | ||
| + | Wenn temperatur größer als 30 ist, wird die Nachricht ausgegeben. Sonst: Schweigen im Code-Wald. | ||
| + | |||
| + | **Merkmal: | ||
| + | * Nur eine Richtung der Entscheidung. | ||
| + | * Keine Alternative, | ||
| + | |||
| + | ==== 2. Zweiseitige Selektion: if-else ==== | ||
| + | Die zweiseitige Selektion prüft ob eine Bedinung erfüllt ist, und kann weitere Schritte unternehmen, | ||
| + | |||
| + | Hier gibt es also zwei mögliche Wege: | ||
| + | * Wenn die Bedingung wahr ist → führe diesen Code aus. | ||
| + | * Wenn sie falsch ist → führe den anderen Code aus. | ||
| + | |||
| + | **Beispiel** | ||
| + | if (punktzahl >= 50) { | ||
| + | console.log(" | ||
| + | } else { | ||
| + | console.log(" | ||
| + | } | ||
| + | |||
| + | **Erläuterung: | ||
| + | Immer wird etwas ausgeführt — je nachdem, ob die Bedingung erfüllt ist oder nicht. | ||
| + | |||
| + | **Merkmal: | ||
| + | * Zweiwegentscheidung | ||
| + | * Erlaubt Alternative Aktionen | ||
| + | * Sehr häufig in Programmflusssteuerung | ||
| + | |||
| + | ==== 3. Mehrfache Selektion: if-elsif-else ==== | ||
| + | Das nachfolgende JavaScript-Codebeispiel entscheidet beispielsweise, | ||
| + | |||
| + | **Beispiel** | ||
| + | let temperature = 15; | ||
| + | if (temperature > 30) { | ||
| + | console.log(" | ||
| + | } else if (temperature >= 20) { | ||
| + | console.log(" | ||
| + | } else if (temperature >= 10) { | ||
| + | console.log(" | ||
| + | } else { | ||
| + | console.log(" | ||
| + | } | ||
| + | | ||
| + | Die Logik des obigen Codebeispiels ist wie folgt: | ||
| + | * Ist der Wert der Variable grösser als 30, wird ausgegeben, dass es //brütend heiss ist//. | ||
| + | * Ist die Temperatur zwischen 20 und 29 Grad, wird //angenehm Warm// ausgegeben. | ||
| + | * Bei Werten zwischen 10 und 19 Grad ist die Ausgabe // Frisch, aber OK// | ||
| + | * Und ansonsten //Kalt - Jacke nicht vergessen// | ||
| + | |||
| + | |||
| + | ==== 4. Einfache Selektion: switch-case ==== | ||
| + | Ein switch-case-Block vergleicht den Wert einer Variablen mit mehreren möglichen Fällen und führt den Code des **passenden Falls** aus – ähnlich wie eine Reihe von if-Abfragen, | ||
| + | |||
| + | **Beispiel** | ||
| + | |||
| + | let wochentag = " | ||
| + | switch (wochentag) { | ||
| + | case " | ||
| + | console.log(" | ||
| + | break; | ||
| + | case " | ||
| + | console.log(" | ||
| + | break; | ||
| + | case " | ||
| + | console.log(" | ||
| + | break; | ||
| + | case " | ||
| + | console.log(" | ||
| + | break; | ||
| + | case " | ||
| + | console.log(" | ||
| + | break; | ||
| + | default: | ||
| + | console.log(" | ||
| + | } | ||
| + | |||
| + | **Wichtig**: | ||
| + | |||
| + | ===== Lernvideos ===== | ||
| + | |||
| + | {{: | ||
| + | |||
| + | |||
| + | ===== Zusatzmaterial ===== | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ---- | ||
| + | [[https:// | ||
| + | |||