Programmieren mit Java Modul 1 Variablen und Datentypen Selbstständiger Teil Inhaltsverzeichnis 1 Bremsweg-Berechnung 3 1.1 Einführung.................................. 3 1.2 Aufgabenstellung und Programmanforderungen.............. 3 2 Zinseszins-Berechnung 3 2.1 Einführung.................................. 3 2.2 Aufgabenstellung und Programmanforderungen.............. 3 2.3 Erweiterung.................................. 4 3 Geldautomat 4 3.1 Einführung.................................. 4 3.2 Aufgabenstellung............................... 4 3.3 Zwischenschritte................................ 4 3.4 Erweiterungen................................. 5
Begriffe Binärsystem Bit/Byte Datentyp ASCII-Code Ganzzahl (Integer) Gleitkommazahl Zeichenkette (String) Variable Deklaration Wertzuweisung Initialisierung Konstante Arithmetische Operatoren Bildschirm Ein- und Ausgabe Typenkonvertierung Autoren: Lukas Fässler, Barbara Scheuner E-Mail: et@ethz.ch Datum: 07 August 2017 Version: 1.1 Hash: a9ee87a Trotz sorgfältiger Arbeit schleichen sich manchmal Fehler ein. Die Autoren sind Ihnen für Anregungen und Hinweise dankbar! Dieses Material steht unter der Creative-Commons-Lizenz Namensnennung - Nicht kommerziell - Keine Bearbeitungen 4.0 International. Um eine Kopie dieser Lizenz zu sehen, besuchen Sie http://creativecommons.org/licenses/by-nc-nd/4.0/deed.de 2
1 Bremsweg-Berechnung 1.1 Einführung Der Anhalteweg ist die Strecke, die ein Fahrzeug vom Zeitpunkt des Auftretens eines Hindernisses bis zum Stillstand zurücklegt. Der Anhalteweg setzt sich aus dem Reaktionsweg und dem Bremsweg zusammen: Anhalteweg = Reaktionsweg + Bremsweg Reaktionsweg und Bremsweg lassen sich vereinfacht mit folgenden Formeln berechnen (Reaktionsweg und Bremsweg in Metern; Geschwindigkeit in km/h): Reaktionsweg = 3 Geschwindigkeit Bremsweg = Geschwindigkeit Geschwindigkeit 1.2 Aufgabenstellung und Programmanforderungen Schreiben Sie ein Java-Programm, welches den Reaktionsweg, den Bremsweg und den Anhalteweg (in Metern) für eine eingegebene Geschwindigkeit berechnet und auf dem Bildschirm ausgibt. 2 Zinseszins-Berechnung 2.1 Einführung Wir möchten berechnen, wie viel Geld wir auf dem Konto haben, wenn wir 2000 Franken bei 2% für Jahre anlegen. 2.2 Aufgabenstellung und Programmanforderungen Schreiben Sie ein Java-Programm, welches für jedes Jahr angibt, wie viel Zins hinzugekommen ist, und wie hoch der Betrag nach der Zinsgutschrift auf dem Konto ist. Die Ausgabe soll für jedes Jahr so aussehen: Im x. Jahr gibt es xx Fr. Zins. Neuer Kontostand: xxx Fr. 3
2.3 Erweiterung Die Benutzerin oder der Benutzer soll als Parameter eingeben können, wie viel Geld sie oder er zu wie viel Prozent angelegen möchte. 3 Geldautomat 3.1 Einführung Bei dieser Aufgabe geht es um das Speichern und Überschreiben von Werten in Variablen. Zudem kommen zwei verschiedene Divisions-Operatoren zum Einsatz. 3.2 Aufgabenstellung In dieser Aufgabe sollen Sie einen Geldautomaten simulieren. Der Kunde soll eingeben können, wie viel Geld er oder sie abheben möchte. Der Geldautomat soll dann berechnen, wie viele und welche Banknoten (0er, 50er, 20er und er) er ausgeben soll. Die Anzahl der verwendeten Variablen soll möglichst klein gehalten werden, indem sie wiederverwendet werden. So könnte beispielsweise die Ausgabe für den Betrag 571 aussehen: Wie viel möchten Sie abheben? 571 Eingegebener Geldbetrag: 571 Fr. 0er 5 50er 1 20er 1 er 0 Rest: 1 3.3 Zwischenschritte Erstellen Sie eine Benutzereingabe für einen beliebigen Geldbetrag und speichern Sie den Wert in einer Variablen. Definieren Sie für jede Art von Banknoten (0er, 50er, 20er, er) je eine Variable. Berechnen Sie zuerst, wie viele 0er-Noten herausgegeben werden sollen und geben Sie den Wert auf dem Bildschirm aus. 4
Ganzzahliger Wert einer Division Mit a/0 erhalten Sie den ganzzahligen Wert der Division von a durch 0. Beispiel: 571/0 = 5. Berechnen Sie den Restwert. Ganzzzahliger Rest einer Division Mit a%0 erhalten Sie den Rest einer Division von a und 0. Beispiel: 571%0 = 71 Berechnen Sie analog zu den 0er-Noten Schritt für Schritt die Anzahlen aller anderen Banknoten. Tipp: Kopieren Sie den Anweisungsblock für die 0er-Noten und ändern Sie ihn für die anderen Noten ab. 3.4 Erweiterungen Für diese Erweiterungen benötigen Sie Bedingungsprüfungen, die erst im nächsten Modul ausführlich behandelt werden. Bedingte Programmausführung Syntax: Die Anweisungen werden nur ausgeführt, wenn die Bedingung zutrifft: if (Bedingung) { Anweisungen } Überprüfen Sie nach der Eingabe des Geldbetrags, ob abgerundet werden muss und informieren Sie den Kunden über den tatsächlich ausbezahlten Betrag. Lassen Sie nur die Banknotenarten anzeigen, die tatsächlich ausgegeben werden. Nehmen Sie an, dass nur ein bestimmter Maximalbetrag abgehoben werden kann. Prüfen Sie deshalb, ob die gewünschte Summe des Kunden dieses Limit nicht überschreitet, und informieren Sie ihn darüber, falls dies der Fall sein sollte. Es kann sein, dass der Kunde gerne etwas kleinere Noten haben möchte. Fragen Sie ihn deshalb danach (Anwort z.b. mit 0=nein, 1=ja), ob er gemischte Noten wünscht. Überlegen Sie sich zuerst, wie Sie die Noten zusammenstellen wollen. Ändern Sie danach das Programm entsprechend. 5