09.12.2012 Aufrufe

Übungen Java Syntax

Übungen Java Syntax

Übungen Java Syntax

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Programmieren 1 <strong>Übungen</strong> <strong>Java</strong> <strong>Syntax</strong> 15.09.09<br />

<strong>Übungen</strong> <strong>Java</strong> <strong>Syntax</strong><br />

Kurt Scherrer, Sebtember 2009<br />

Version 1.0<br />

W01-Uebunge<strong>Java</strong><strong>Syntax</strong>-v1.0 K. Scherrer, kusche@eblcom.ch Seite 1


Programmieren 1 <strong>Übungen</strong> <strong>Java</strong> <strong>Syntax</strong> 15.09.09<br />

Inhalt<br />

W01-Uebunge<strong>Java</strong><strong>Syntax</strong>-v1.0 K. Scherrer, kusche@eblcom.ch Seite 2


Programmieren 1 <strong>Übungen</strong> <strong>Java</strong> <strong>Syntax</strong> 15.09.09<br />

1. Einleitung<br />

Alle Aufgaben lassen sich ausnahmslos mit Programmablaufstrukturen in einer Methode lösen.<br />

Deshalb ist hier ein Programmgerüst gegeben, mit dem Sie alle <strong>Übungen</strong> in diesem Unterkapitel<br />

problemlos lösen können.<br />

package domain;<br />

public class Flagge {<br />

public static void dialog() {<br />

// to do<br />

}<br />

}<br />

public static void main(String[] args) {<br />

dialog();<br />

}<br />

Sie können Ihren Code anstelle von // to do einfüllen.<br />

Diese <strong>Übungen</strong> sind zum Vertiefen der <strong>Java</strong>-Grundlagen-<strong>Syntax</strong> gedacht. Es ist noch keine<br />

Problemanalyse erforderlich, da jeder zu programmierende Schritt in der Aufgabenstellung erklärt<br />

wird � In der Aufgabenstellung wird nicht nur das WAS (…man will), sondern auch das<br />

WIE (…programmiert werden soll) beschrieben.<br />

W01-Uebunge<strong>Java</strong><strong>Syntax</strong>-v1.0 K. Scherrer, kusche@eblcom.ch Seite 3


Programmieren 1 <strong>Übungen</strong> <strong>Java</strong> <strong>Syntax</strong> 15.09.09<br />

2. Umsatz<br />

Lernziele:<br />

Der Kursteilnehmer kann<br />

• die Verzweigung if.. einsetzen.<br />

Aufgabe:<br />

Schreiben Sie ein Programm, das Sie daran erinnert, den Lagerbestand zu überprüfen.<br />

Vorgehen:<br />

Deklarieren Sie die Variablen<br />

amount // Menge<br />

price // Preis<br />

turnover // Umsatz<br />

1. Titel ausgeben<br />

2. Artikelpreis eingeben<br />

3. Umsatz berechnen<br />

4. Umsatz ausgeben<br />

5. Falls die eingegebene Menge grösser 1000 ist, so soll der Benutzer daran erinnert werden, den<br />

Lagerbestand zu überprüfen, indem der Text Lagerbestand überprüfen! ausgegeben werden soll.<br />

Die Bildschrimausgabe soll z.B. wie folgt aussehen:<br />

Bestandeskontrolle<br />

==================<br />

Preis des Artikels: 50.55<br />

Menge des Artikels: 1155<br />

Der Umsatz beträgt: 58385.25 Fr.<br />

Lagerbestand überprüfen!<br />

Testen Sie Ihr Programm mit mehreren Eingaben.<br />

W01-Uebunge<strong>Java</strong><strong>Syntax</strong>-v1.0 K. Scherrer, kusche@eblcom.ch Seite 4


Programmieren 1 <strong>Übungen</strong> <strong>Java</strong> <strong>Syntax</strong> 15.09.09<br />

3. Bestandeskontrolle<br />

Lernziele:<br />

Der Kursteilnehmer kann<br />

• die Zweifach-Verzweigung if..else einsetzen.<br />

Aufgabe:<br />

Schreiben Sie ein Programm, das Sie daran erinnert, den Lagerbestand zu überprüfen - oder den<br />

Lagerbestand nicht zu überprüfen:<br />

Vorgehen:<br />

Deklarieren Sie die Variablen<br />

amount // Menge<br />

price // Preis<br />

turnover // Umsatz<br />

1. Titel ausgeben.<br />

2. Artikelpreis eingeben.<br />

3. Umsatz berechnen.<br />

4. Umsatz ausgeben.<br />

5. Falls die eingegebene Menge grösser 1000 ist, so soll der Benutzer daran erinnert werden, den<br />

Lagerbestand zu überprüfen, indem der Text Lagerbestand überprüfen! ausgegeben wird.<br />

6. Sonst soll dem Benutzer erklärt werden, dass der Lagerbestand nicht überprüft werden müsse,<br />

indem der Text Lagerbestand nicht überprüfen! ausgegeben wird.<br />

Die Bildschrimausgabe soll z.B. wiefolgt aussehen:<br />

Bestandeskontrolle<br />

==================<br />

Preis des Artikels: 50.55<br />

Menge des Artikels: 1155<br />

Der Umsatz beträgt: 58385.25 Fr.<br />

Lagerbestand überprüfen!<br />

oder<br />

Bestandeskontrolle<br />

==================<br />

Preis des Artikels: 50.55<br />

Menge des Artikels: 500<br />

Der Umsatz beträgt: 25275.00 Fr.<br />

Lagerbestand nicht überprüfen!<br />

Testen Sie Ihr Programm mit mehreren Eingaben.<br />

W01-Uebunge<strong>Java</strong><strong>Syntax</strong>-v1.0 K. Scherrer, kusche@eblcom.ch Seite 5


Programmieren 1 <strong>Übungen</strong> <strong>Java</strong> <strong>Syntax</strong> 15.09.09<br />

4. Rabattberechnung<br />

Lernziele:<br />

Der Kursteilnehmer kann<br />

• den Bedingungsoperator ((Bedingung) ? AusrdruckWahr : AusdruckNichtWahr) einsetzen.<br />

Aufgabe:<br />

Schreiben Sie ein Programm, das je nach Umsatz den zu gewährenden Rabatt für eine zu erstellende<br />

Rechnung berechnet:<br />

Vorgehen:<br />

1. Deklarieren Sie die Variable<br />

turnOver // Umsatz<br />

2. Titel ausgeben<br />

3. Umsatz einlesen<br />

4. Ist der Umsatz grösser 1000 Fr., so werden 3% Rabatt gewährt, sonst sollen nur 2% Rabatt<br />

gewährt werden.<br />

Geben Sie den entsprechenden Rabatt aus, indem Sie diese Entscheidung als Argument in die<br />

System.out.println-Ausgabe einbauen. Damit dies ohne Probleme geht, müssen Sie den<br />

Bedingungsoperator verwenden:<br />

System.out.println("Rabatt: "+<br />

((turnOver > 1000) ? turnOver * 0.03 : turnOver * 0.02);<br />

5. Die Bildschrimausgabe soll z.B. wiefolgt aussehen:<br />

Rabattberechnung<br />

================<br />

Umsatz: 2450<br />

Rabatt: 73.5 Fr.<br />

6. Testen Sie Ihr Programm mit mehreren Eingaben.<br />

W01-Uebunge<strong>Java</strong><strong>Syntax</strong>-v1.0 K. Scherrer, kusche@eblcom.ch Seite 6


Programmieren 1 <strong>Übungen</strong> <strong>Java</strong> <strong>Syntax</strong> 15.09.09<br />

5. Aktienrat<br />

Lernziele:<br />

Der Kursteilnehmer kann<br />

• if..else-Anweisungen verschachteln.<br />

Aufgabe:<br />

Schreiben Sie ein Programm, das je nach der Lage auf dem Aktienmarkt eine Kauf- resp.<br />

Verkaufsempfehlung gibt. Die Verkaufsempfehlung kann jedoch nur dann gegeben werden, wenn<br />

sich Aktien im Depot des Anlegers befinden.<br />

Vorgehen:<br />

1. Deklarieren Sie die Variablen<br />

stockPriceTendency // Börsenkurstendenz<br />

amount // Anzahl<br />

2. Aktienmarkttendenz einlesen.<br />

3. Vorhandene Aktien im Depot einlesen.<br />

4. Wenn die Kurstendenz steigend ist, so soll zum Kauf empfohlen werden.<br />

5. Sonst soll überprüft werden, ob noch Aktien im Depot sind. Sind noch welche da, so soll zum<br />

Verkauf empfohlen werden, sonst soll der Anleger darauf hingewiesen werden, dass er keine<br />

Aktien zum Verkaufen hat.<br />

Die Bildschrimausgabe soll z.B. wiefolgt aussehen:<br />

Aktienmarkttendenz [(s)teigend/ (f)allende Kurse]: f<br />

vorhandene Aktien: 0<br />

Sie haben keine Aktien zum Verkauf.<br />

Testen Sie Ihr Programm mit mehreren Eingaben.<br />

W01-Uebunge<strong>Java</strong><strong>Syntax</strong>-v1.0 K. Scherrer, kusche@eblcom.ch Seite 7


Programmieren 1 <strong>Übungen</strong> <strong>Java</strong> <strong>Syntax</strong> 15.09.09<br />

6. Taschenrechner<br />

Lernziele:<br />

Der Kursteilnehmer kann<br />

• Mehrfachverzweigungen mit if..else if...-Anweisungen realisieren.<br />

• Mehrfachverzweigung mit der switch...-Anweisung realisieren.<br />

Aufgabe:<br />

Schreiben Sie ein Programm, das den eingegebenen arithmetischen Ausdruck berechnet und<br />

zusammen mit dem ursprünglichen Ausdruck ausgibt.<br />

Vorgehen:<br />

1. Deklarieren Sie die Variablen<br />

operand1 // Operand 1<br />

operand2 // Operand 2<br />

result // Ergebnis<br />

op // Operationszeichen<br />

2. Titel ausgeben<br />

3. Rechenoperation (Aufgabenstellung) einlesen.<br />

4. Anhand vom op die entsprechende Berechnung durchführen.<br />

5. Falls ein ungültiges Operationszeichen eingegeben wurde, soll eine Fehlermeldung auf dem<br />

Bildschirm erscheinen, sonst soll die Aufgabenstellung und das dazu gehörende Resultat<br />

ausgegeben werden.<br />

Der Bildschrimdialog kann z.B. wiefolgt aussehen:<br />

Taschenrechner<br />

==============<br />

Operand 1: 22<br />

Operator : /<br />

Operand 2: 7<br />

22 / 7 = 3.143<br />

6. Testen Sie Ihr Programm mit mehreren Eingaben.<br />

W01-Uebunge<strong>Java</strong><strong>Syntax</strong>-v1.0 K. Scherrer, kusche@eblcom.ch Seite 8


Programmieren 1 <strong>Übungen</strong> <strong>Java</strong> <strong>Syntax</strong> 15.09.09<br />

7. Datenbankmanagement<br />

Lernziele:<br />

Der Kursteilnehmer kann<br />

• eine Mehrfachverzweigung mit der switch...-Anweisung realisieren.<br />

Aufgabe:<br />

Schreiben Sie ein Programm, das dem Anwender ein Menü für eine Datenbank zur Verfügung stellt.<br />

Für die aufgerufenen Menüpunkte werden Meldungen ausgegeben.<br />

Vorgehen:<br />

1. Deklarieren Sie die Variable menu<br />

2. Titel ausgeben<br />

3. Menü ausgeben<br />

4. menu einlesen<br />

5. Entsprechend der Variablen menu einen Text ausgeben. Verwenden Sie für die Entscheidung<br />

den Befehl switch.<br />

6. Wird ein Menüpunkt gewählt, der nicht existiert, so soll eine Fehlermeldung ausgegeben werden.<br />

7. Die Bildschrimausgabe soll z.B. wiefolgt aussehen:<br />

Datenbank<br />

=========<br />

1. Erfassen<br />

2. Suche<br />

3. Programmende<br />

Ihre Wahl -> 2<br />

Daten werden gesucht ...<br />

8. Testen Sie Ihr Programm mit mehreren Eingaben.<br />

W01-Uebunge<strong>Java</strong><strong>Syntax</strong>-v1.0 K. Scherrer, kusche@eblcom.ch Seite 9


Programmieren 1 <strong>Übungen</strong> <strong>Java</strong> <strong>Syntax</strong> 15.09.09<br />

8. Fakturierung<br />

Lernziele:<br />

Der Kursteilnehmer kann<br />

• eine Schleife mit Endtest, Anzahl Wiederholungen unbekannt, mittels einer do..while-<br />

Anweisung realisieren.<br />

Aufgabe:<br />

Das Programm soll - solange dies vom Benutzer gewünscht ist - die laufenden Umsätze der<br />

eingegangenen Bestellungen ausgeben und den Gesamtumsatz jeweils aufaddieren.<br />

Vorgehen:<br />

Schreiben Sie das Programm, gemäss dem abgebildeten Struktogramm:<br />

Die Übersetzung der englischen Begriffe:<br />

amount Menge<br />

price Preis<br />

turnOver Umsatz<br />

goOn mach weiter !<br />

totalTurnOver Gesamtumsatz<br />

netSales Nettoumsatz<br />

salesTax Mehrwertsteuer<br />

grossTurnOver Bruttoumsatz<br />

W01-Uebunge<strong>Java</strong><strong>Syntax</strong>-v1.0 K. Scherrer, kusche@eblcom.ch Seite 10


Programmieren 1 <strong>Übungen</strong> <strong>Java</strong> <strong>Syntax</strong> 15.09.09<br />

9. Rabattberechnung<br />

Lernziel:<br />

Der Kursteilnehmer kann<br />

eine Schleife mit Eintrittstest, Anzahl Wiederholungen unbekannt, mittels einer while-Anweisung<br />

realisieren.<br />

Aufgabe:<br />

Das Programm soll - Solange kein Umsatz = 0 eingegeben wird - Folgendes<br />

tun:<br />

1. Umsatz einlesen<br />

2. Rabatt einlesen<br />

3. Rabatt berechnen<br />

4. Rabatt ausgeben<br />

5. usw.<br />

Vorgehen:<br />

1. Entwerfen Sie ein Programm gemäss Aufgabenstellung. Realisieren Sie das Wiederholen mit<br />

einer while-Schleife.<br />

2. Testen Sie es mit mehreren Eingaben.<br />

W01-Uebunge<strong>Java</strong><strong>Syntax</strong>-v1.0 K. Scherrer, kusche@eblcom.ch Seite 11


Programmieren 1 <strong>Übungen</strong> <strong>Java</strong> <strong>Syntax</strong> 15.09.09<br />

10. Pumpenschaltung<br />

Lernziele:<br />

Der Kursteilnehmer kann<br />

• eine konkrete Anwendung mit Verzweigungen und Schleifen in einem Programm realisieren.<br />

• die logischen Verknüpfungsoperatoren &&, ||, ! einsetzen.<br />

• eine Endlosschleife programmieren.<br />

• mit den Debug-Werkzeugen das Programm schrittweise ausführen und die Variablen einsehen.<br />

Aufgabe:<br />

In einer Prozess-Steuerung zur Produktion einer Chemikalie, muss die Wasserpumpe P eingeschaltet<br />

werden, wenn die Endschalter A und C oder B und C oder A, B und C betätigt sind - sonst muss die<br />

Wasserpumpe P ausgeschaltet sein.<br />

Dies könnte mit einer fest verdrahteten Relais-Schaltung erreicht werden. Da es sich aber um eine<br />

Produktionsstrasse handelt, auf der verschiedene Chemikalien produziert werden, will man keine<br />

feste Verdrahtung haben. Man entscheidet sich für eine Prozessteuerung via Computer:<br />

Vorgehen:<br />

1. Wir nehmen der Einfachheit halber an, dass das Programm so lange läuft, bis der Strom<br />

abgeschaltet wird. Da die Endschalter laufend abgefragt werden müssen, ob sie ein- resp.<br />

ausgeschaltet sind, bauen wir dieses Abfragen in eine Endlos-Schleife via<br />

( while (true){...} ) ein.<br />

2. Simmulieren Sie die Endschalter a, b, c, indem Sie 3 boolsche Variablen mit Namen a, b und c<br />

deklarieren.<br />

3. Wenn die Bedingungen erfüllt sind, dass die Wasserpumpe einschalten sollte, so geben Sie den<br />

Text „Wasserpumpe ein“ auf den Bildschirm. Wenn die Bedingungen für das Laufen der<br />

Wasserpumpe nicht erfüllt sind, so geben Sie „Wasspumpe aus“ auf den Bildschirm.<br />

4. Da wir ja auch keine echte I/O-Karte haben, müssen wir das Abfragen der Endschalter via<br />

Tastatur simmulieren. Das heisst, wir müssen sozusagen Endschalter spielen. Ich schlage den<br />

folgenden Bildschirm-Dialog vor:<br />

Endschalter A(1 oder 0 ?): 1<br />

Endschalter B(1 oder 0 ?): 0<br />

Endschalter C(1 oder 0 ?): 1<br />

Pumpe ein<br />

Endschalter A(1 oder 0 ?): 1<br />

Endschalter B(1 oder 0 ?): 0<br />

Endschalter C(1 oder 0 ?): 0<br />

Pumpe aus<br />

...<br />

5. Lassen Sie mit den Debug-Werkzeugen das Programm schrittweise ausführen, damit Sie den<br />

Programmablauf Schritt für Schritt mitverfolgen können.<br />

6. Testen Sie das Programm mit mehreren Eingaben.<br />

W01-Uebunge<strong>Java</strong><strong>Syntax</strong>-v1.0 K. Scherrer, kusche@eblcom.ch Seite 12


Programmieren 1 <strong>Übungen</strong> <strong>Java</strong> <strong>Syntax</strong> 15.09.09<br />

11. Abschreibung<br />

Lernziele:<br />

Der Kursteilnehmer kann<br />

• eine Schleife mit Eintrittstest, Anzahl Wiederholungen bekannt, mit der for-Anweisung realisieren.<br />

Aufgabe:<br />

Der Anschaffungswert und die Lebensdauer sollen eingelesen werden. Aus diesen Eingaben wird der<br />

aktuelle Abschreibungsbetrag und der aktuelle Buchwert berechnet.<br />

Vorgehen:<br />

1. Abschreibungsbetrag = Anschaffungswert / Lebensdauer<br />

2. Buchwert = Anschaffungswert<br />

3. Nun soll eine Abschreibungstabelle ausgegeben werden:<br />

Abschreibung<br />

============<br />

Anschaffungswert....: 3380<br />

Lebensdauer.........: 3<br />

Abschreibungstabelle:<br />

Jahr Buchwert Abschreibung Buchwert<br />

1 3380.00 1126.67 2253.33<br />

2 2253.33 1126.67 1126.67<br />

3 1126.67 1126.67 0.00<br />

4. Testen Sie Ihr Programm mit mehreren Eingaben.<br />

W01-Uebunge<strong>Java</strong><strong>Syntax</strong>-v1.0 K. Scherrer, kusche@eblcom.ch Seite 13

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!