DCV 2024 03/Strukturierte Programmierung Uebungen/Logische Operatoren: Unterschied zwischen den Versionen
Drlue (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Drlue (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 26: | Zeile 26: | ||
'''Operator Präzedenz''' | '''Operator Präzedenz''' | ||
Folgende Auflistung zeigt in welcher Reihenfolge Ausdrücke ausgewertet werden: | Folgende Auflistung zeigt in welcher Reihenfolge Ausdrücke ausgewertet werden: | ||
* Klammern () | * Klammern () | ||
Version vom 29. Februar 2024, 07:35 Uhr
Im folgenden sollen Logische Operatoren, Kontrollstrukturen und der Datentyp boolean geübt werden.
Folgende Aufgaben sollen in jeweils zwei Varianten gelöst werden. * Die Auswertung erfolgt durch verknüpfung von logischen Operatoren * Die Auswertung erfolgt mittels if then else
Teste deine Lösungen ausgiebig!
Random random = new Random();
//Random number between 100 and 100
int randomNumber = random.nextInt(-100, 101);
| Eingabe A | Eingabe B | A AND B | A OR B |
|---|---|---|---|
| true | true | true | true |
| true | false | false | true |
| false | true | false | true |
| false | false | false | false |
Operator Präzedenz
Folgende Auflistung zeigt in welcher Reihenfolge Ausdrücke ausgewertet werden:
- Klammern ()
- Postfix-Operatoren (z. B. i++, i--)
- Präfix-Operatoren (z. B. ++i, --i, -i)
- Multiplikation, Division, Modulo (%)
- Addition, Subtraktion
- Relationale Operatoren (z. B. <, >, <=, >=)
- Gleichheitsoperatoren (==, !=)
- Logisches "und" (&&)
- Logisches "oder" (||)
- Zuweisungsoperatoren (z. B. =, +=, -=)
Beispiel: Aufgabe 0
Erstelle eine Methode, welche eine Ganzzahl als Parameter nimmt. Diese Methode gibt true zurück, wenn folgende Bedingung für die Zahl gilt:
Die Zahl ist: Größer als 3 und eine gerade Zahl oder 11
Aufruf:
isBiggerThanThreeAndEvenOrEleven(10);
Ausgabe:
true
//Solution 1: Connecting logical operators
public static boolean isBiggerThanThreeAndEvenOrEleven1(int value) {
return value > 3 && value % 2 == 0 || 11;
}
//Solution 2: if then else
public static boolean isBiggerThanThreeAndEvenOrEleven1(int value) {
if(value == 11) {
return true;
}
if(value > 3) {
if(value % 2 == 0) {
return true;
}
}
return false;
}
//Solution 3: if then else, without nesting
public static boolean isBiggerThanThreeAndEvenOrEleven1(int value) {
if(value == 11) {
return true;
}
if(value <= 3) {
return false;
}
return value % 2;
}
Beispiel: Aufgabe 1
Erstelle eine Methode, welche eine Ganzzahl als Parameter nimmt. Diese Methode gibt true zurück, wenn folgende Bedingung für die Zahl gilt:
Die Zahl ist: Ist gerade und größer als 10
Beispiel: Aufgabe 2
Erstelle eine Methode, welche eine Ganzzahl als Parameter nimmt. Diese Methode gibt true zurück, wenn folgende Bedingung für die Zahl gilt:
Die Zahl ist: Ist kleiner als 5 oder größer als 100
Beispiel: Aufgabe 3
Erstelle eine Methode, welche eine Ganzzahl als Parameter nimmt. Diese Methode gibt true zurück, wenn folgende Bedingung für die Zahl gilt:
Die Zahl ist: Ist größer gleich 5 und kleiner gleich 100
Kann hier auf eine der vorhergehenden Aufgaben zurückgegriffen werden? !
Beispiel: Aufgabe 4
Erstelle eine Methode, welche eine Ganzzahl als Parameter nimmt. Diese Methode gibt true zurück, wenn folgende Bedingung für die Zahl gilt:
Die Zahl ist: Positive und ungerade
Beispiel: Aufgabe 5
Erstelle eine Methode, welche eine Ganzzahl als Parameter nimmt. Diese Methode gibt true zurück, wenn folgende Bedingung für die Zahl gilt:
Die Zahl ist: Kleiner als 0 aber nicht -1
Beispiel: Aufgabe 6
Erstelle eine Methode, welche eine Ganzzahl als Parameter nimmt. Diese Methode gibt true zurück, wenn folgende Bedingung für die Zahl gilt:
Die Zahl ist: ein Schaltjahr