DCV 2024 03/Strukturierte Programmierung Uebungen/Logische Operatoren: Unterschied zwischen den Versionen

Aus CCWiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 96: Zeile 96:
=== 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: Ist größer gleich 5 und kleiner gleich 100
  Die Zahl ist: Positive und ungerade
Kann hier auf eine der vorhergehenden Aufgaben zurückgegriffen werden? {{JSL|!}}


=== Beispiel: Aufgabe 4 ===
=== Beispiel: Aufgabe 4 ===
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: Positive und ungerade
  Die Zahl ist: Kleiner als 0 aber nicht -1


=== Beispiel: Aufgabe 5 ===
=== Beispiel: Aufgabe 5 ===
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: Kleiner als 0 aber nicht -1
  Die Zahl ist: Ist größer gleich 5 und kleiner gleich 100
Kann hier auf eine der vorhergehenden Aufgaben zurückgegriffen werden? {{JSL|!}}


=== Beispiel: Aufgabe 6 ===
=== Beispiel: Aufgabe 6 ===
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: ein Schaltjahr
  Die Zahl ist: ein Schaltjahr

Version vom 29. Februar 2024, 07:37 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

Wahrheitstabelle für logische Operatoren
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: Positive 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? !

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