faecher:informatik:oberstufe:java:algorithmen:uebungen01:start

Dies ist eine alte Version des Dokuments!


Übungsaufgaben Java 1

BlueJ Szenario: https://codeberg.org/qg-info-unterricht/bluej-uebungen01/archive/master.zip 1)

Bearbeite die folgenden "Fingerübungen".

  • Teste deine Methoden mit mehreren Beispieleingaben (wo möglich):
    • Überlege dir bei den Beispielen vor allem, solche, an denen du "Grenzfälle" testen kannst.
    • Überlege erst, welche Ausgabe du für eine bestimmte Eingabe erwartest und teste dann.
    • Halte deine Testfälle im Kommentarbereich deiner Methode fest.
  • Mache dir bewusst, was man bei der Lösung beachten muss, vor allem wenn es nicht gleich klappt. Halte diese Erkenntnisse schriftlich fest.

Eine praktische Rechenoperation ist "Modulo" - sie gibt den Rest bei der Divisopn zweier ganzer Zahlen zurück:

7 mod 5 = 2 //  7 = 1 * 5 + 2 (5 geht einmal ganz in 7, dann bleibt ein Rest von 2
167 mod 10 = 7  // 167 = 16 * 10 + 7 ("167/10 = 16 Rest 7")

Java hat dafür den Modulo Operator %. Erstelle eine Methode die den Rest der ganzzahligen Division zweier Integer Zahlen ausgibt. Benutze nicht den Modulo-Operator % arbeiten, sondern implementiere die Funktionalität selbst.

Tipp

Manchmal möchte man die Werte zweier Variablen vertauschen, beispielsweise beim Sortieren.

Erstelle eine Methode, mit der zwei Zahlen vertauscht werden können. Die Parameter der Methode sollen die beiden Zahlen sein, die Ausgabe der Methode soll z.B. sein

a=7  b=16
a=16 b=7

Tipp

Zusatz: Findest du eine Möglichkeit, ohne Hilfsvariable auszukommmen? Da muss man ein wenig rechnen…

Schreibe eine Methode, um das Volumen einer Pyramide mit qudratischem Boden zu berechnen (V = 1/3 * Grundfläche * Höhe). Welche Parameter benötigt deine Methode?

Tipp

Recherche mit Notiz: Welche primitiven Variablentypen kennt Java? Kannst du dir einen Grund vorstellen, warum man bei der Deklaration einer Variablen ihren Typ angeben muss?

Entscheidungen: "Wenn-dann-Entscheidungen" sind für die strukturierte Programmierung unerlässlich.

Erstelle eine Methode, welche überprüft, ob die Integervariable alter kleiner ist als 7. In diesem Fall wird "Geschäftsunfähig" ausgegeben. Andernfalls wird geprüft, ob das Alter kleiner ist als 18. In diesem Fall wird "Geschäftsfähigkeit beschränkt" ausgegeben. Andernfalls wird "unbeschränkte Geschäftsfähigkeit" ausgegeben.

Tipp

Erstelle eine Methode, die prüft, ob eine eingegebene ganze Zahl gerade oder ungerade ist. Die Methode erzeugt unten stehende Bildschirmausgabe.

Die Zahl 51 ist ungerade
Die Zahl 200199212 ist gerade

Tipp

Sehr viele Entscheidungen führen mitunter zu unübersichtlich verschachtelten "Wenn-Dann" Anweisungen. Viele Programmiersprachen haben für solche Fälle eine "case" oder "switch" Statement, das Entscheidungen mit vielen Möglichkeiten übersichtlicher gestalten kann.

Erstelle eine Methode, die eine Kommazahl als Parameter erhält und dann entsprechende der Rundungsregeln über die verbale Note entscheidet.

Z.B. ergibt die Note 2,5 die verbale Note: befriedigend. Ungültige Noten, also Noten außerhalb des Notenspektrums zwischen 1 und 6 haben die Bildschirmausgabe: "keine gültige Note" zur Folge.

Hinweis: Löse die Aufgabe zuerst mit verschachtelten if-Anweisungen, recherchiere dann nach dem switch-case-Statement und löse die Aufgabe damit.

Schleifen sind wichtige Sprachemlemente zur Wiederholung von Anweisungen. Wenn man zuvor schon weiß, wie oft eine Anweisung ausgeführt werden wird, kann eine Zählschleife (for) zum Einsatz kommen.

Erstelle eine Wertetabelle für die Funktion f(x)=x^2-6x-4 für das Intervall -2 bis 2 mit der Schrittweite 0.1 und gib sie auf der Konsole aus.

Was fällt dir dabei auf?

Überprüfe (ohne die Verwendung von Bilbliotheksfunktionen) ob ein gegebenes Jahr ein Schaltjahr ist.

Tipp

Wenn man im Voraus nicht weiß, wie oft eine Anweisung wiederholt werden muss, bieten sich eine while-Schleife an.

Schreibe eine Methode, die die Stellen einer eingegebenen Ganzzahl größer als Null zählt:

Deine Eingabe: 21355746
Die Zahl hat 8 Stellen.

Tipp

Berechne die Quersumme einer eingegebenen Ganzzahl.

Tipp 1

Tipp 2


  • faecher/informatik/oberstufe/java/algorithmen/uebungen01/start.1631536280.txt.gz
  • Zuletzt geändert: 13.09.2021 14:31
  • von sbel