DCV 2024 03/Strukturierte Programmierung Uebungen/Logische Operatoren: Unterschied zwischen den Versionen
Drlue (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Drlue (Diskussion | Beiträge) |
||
| Zeile 95: | Zeile 95: | ||
=== Beispiel: Aufgabe 3 === | === Beispiel: Aufgabe 3 === | ||
Erstelle eine Methode, welche eine Ganzzahl als Parameter nimmt. Diese Methode gibt {{JSL|true}} zurück, wenn folgende Bedingung für die Zahl gilt: | Erstelle eine Methode, welche eine Ganzzahl als Parameter nimmt. Diese Methode gibt {{JSL|true}} zurück, wenn folgende Bedingung für die Zahl gilt: | ||
Die Zahl ist: | Die Zahl ist: Positiv und ungerade | ||
=== Beispiel: Aufgabe 4 === | === Beispiel: Aufgabe 4 === | ||
Version vom 29. Februar 2024, 09:23 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);
Wahrheitstabelle
| 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;
} else if(value > 3) {
if(value % 2 == 0) {
return true;
}
} else {
return false;
}
}
//Solution 3: if then else, without nesting
public static boolean isBiggerThanThreeAndEvenOrEleven1(int value) {
if(value == 11) {
return true;
} else if(value <= 3) {
return false;
} else {
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: Positiv und ungerade
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: Kleiner als 0 aber nicht -1
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: Ist größer gleich 5 und kleiner gleich 100
Kann hier auf eine der vorhergehenden Aufgaben zurückgegriffen werden? ! Negation
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: Ohne Rest durch 3 oder 16 Teilbar, aber nicht durch 32
Beispiel: Aufgabe 7
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
Beispiel: Aufgabe 8
Erstelle eine Methode, welche drei Ganzzahlen als Parameter (lowerLimit, upperLimit und value) nimmt. Diese Methode gibt true zurück, wenn folgende Bedingung für den Parameter value gilt:
Die Zahl ist: Größer gleich lowerLimit und kleiner gleich upperLimit
Beispiel: Aufgabe 9
Erstelle eine Methode, welche drei Ganzzahlen als Parameter (lowerLimit, upperLimit und value) nimmt. Diese Methode gibt true zurück, wenn folgende Bedingung für den Parameter value gilt:
Die Zahl ist: Liegt genau in der Mitte zwischen lowerLimit und upperLimit