Aufgabe 1 (lineare Gleichung)

Gegeben ist eine lineare Gleichung der Form y = ax + b. Nach Eingabe der Parameter a und b und des Funktionswertes y soll der Wert für die Variable x berechnet werden.

  1. Erstellen Sie einen Algorithmus (Pseudocode und Struktogramm).
  2. Implementieren Sie ein geeignetes Programm in Java.

Aufgabe 2 (quadratische Gleichung)

Gegeben ist eine quadratische Gleichung in der Form y = ax² + bx + c. Gesucht ist ein Java-Programm, welches nach Eingabe der Parameter a, b und c die Lösungen bzw. geeignete Bemerkungen ausgibt.


Aufgabe 3 (Fehlersuche)

Gegeben ist das folgende (fehlerhafte Java-Programm):

public class Beispiel01 {
  public static void main(String[] args) {
    int kundennummer, anzahl;
    double preis, gesamtpreis;
    
    System.out.print("Geben Sie Ihre Kundennummer ein: ");
    Input.readInt(kundennummer);

    System.out.print("Geben Sie die Anzahl ein: ");

    System.out.print("Geben Sie den Stückpreis ein: ");
    Input.readDouble(preis);

    preis * anzahl = gesamtPreis;

    if (kundennummer < 100) {
      gesamtPreis = gesamtPreis * 0.95
    }

    if (anzahl < 20) {
      gesamtPreis = gesamtPreis + 15;
    } else
      if (anzahl < 50) {
        gesamtPreis = gesamtPreis + 5;
    }
  }
}
  1. Im Quelltext befinden sich 6 Fehler (syntaktisch als auch logisch). Finden Sie diese und ergänzen Sie bei Bedarf. Implementieren Sie das Java-Programm.
  2. Geben Sie für den vorliegenden Text (incl. der Änderungen aus a)) ein Struktogramm an.
  3. Finden Sie für das Programm eine geeignete Aufgabenstellung

Aufgabe 4 (Versandgeschäft)

Ein Versandgeschäft berechnet bei Aufträgen bis zu 100 € einen Verpackungszuschlag von 3 € und einen Portoanteil von 2 €. Bei Rechnungsbeträgen von 100 € bis zu 200 € liefert es zwar portofrei, berechnet jedoch einen Verpackungszuschlag von 2 €. Kauft der Kunde für 200 € und mehr, so entstehen ihm keine zusätzlichen Kosten.

  1. Geben Sie einen Algorithmus für die Berechnung der Kosten im Pseudocode und als Struktogramm an.
  2. Implementieren Sie ein entsprechendes Java-Programm.

Aufgabe 5 (Schaltjahr)

Ein Schaltjahr findet alle 4 Jahre statt … leider falsch. Für die genaue Regelung gibt es einige Verfeinerungen. Das abgebildete Struktogramm stellt die genaue Schaltjahrregelung dar.

Implementieren Sie mithilfe des gegebenen Struktogramms ein Java-Programm, welches für ein eingegebenes Jahr angibt, ob es ein Schaltjahr ist.

Hinweis: 4 \mid \text{jahreszahl} bedeutet “4 teilt die jahreszahl”, d. h. man müsste testen, ob die Jahreszahl durch 4 ohne Rest teilbar ist. (Kleine Tipps und Tricks)


Aufgabe 6 (Gewicht)

Ein Programm soll helfen, zu entscheiden, ob eine Person über-, unter- oder normalgewichtig ist. Als Eingabedaten werden Geschlecht, Alter, Gewicht und Größe verlangt.

Als normalgewichtig bezeichnet man Personen, deren Gewicht in Kilogramm gleich der Körpergröße über 100 cm ist. Entsprechend ergeben sich die Unter- bzw. Übergewichtigen.

Als Toleranzgrenzen sind bei Frauen +4% bis -7% und bei Männern +5% bis -5% Abweichung von den Sollwerten zugelassen.

Alle Aussagen treffen erst für Personen zu, deren Wachstum beendet ist, d. h. die älter als 17 Jahre und größer als 1,20 m sind. Bei anderen Personen können keine Angaben gemacht werden.

Implementieren Sie ein Java-Programm für das gegebene Problem.


Aufgabe 7 (Schnittpunkt)

Zwei Geraden g und h werden durch die Gleichungen {g(x) = y= ax + b} und {h(x) = y= cx + d} beschrieben.

Implementieren Sie ein Java-Programm, welches mit Hilfe der eingegebenen Koeffizienten a, b, c und d den Schnittpunkt der beiden Geraden berechnen kann. Dabei sollen möglichst alle Lagebeziehungen zweier Geraden zueinander berücksichtigt
werden. Erstellen Sie vorher ein Struktogramm.


Aufgabe 8 (Scheinausgabe)

Implementieren Sie ein Programm, welches zu einem vorgegebenen Geldwert ausrechnet, mit welchen Geldscheinen man ihn auszahlen kann. Zur Auszahlung stehen Scheine im Wert von 500, 200, 100, 50, 20, 10
und 5 Euro zur Verfügung.

Hinweis: Für integer-Variablen gibt es zwei mathematische Operationen für die Division, da wir ja auf Kommazahlen verzichten müssen:

  • Bestimmung des ganzzahligen Anteils: 11 / 5 hat das Ergebnis 2, da die 5 2x in die Zahl 10 passt.
  • Bestimmung des Restes bei der Division (Modulo): 11 % 5 hat das Ergebnis 1, da bei der Division der Rest 1 entsteht.

Die Programmausgabe könnte so aussehen:

Wie groß ist der Geldbetrag: 2215
500er-Scheine: 4
200er-Scheine: 1
100er-Scheine: 0
50er-Scheine: 0
20er-Scheine: 0
10er-Scheine:1
5er-Scheine: 1
Schlagwörter: