Übungsaufgaben 19.September 2013

Aus ProgrammingWiki
Archivierte Version vom 2013-09-15T09:32:18+00:00. Aktuelle Version

Inhaltsverzeichnis

Aufgaben

Aufgabe 1

Welche der folgenden Bezeichner sind ungültig ?

Hallo_World
\$Test
\_abc
2test
#hallo
te?st
Girokonto
const

Aufgabe 2

Warum führt der folgende Code zu einem Compiler-Fehler ?

int x = 0;
long y = 1000;
x = y;

Aufgabe 3 Schreiben Sie ein Programm, das mit einem einzigen Aufruf von System.out.print eine Zeichenkette in mehrere Bildschirmzeilen ausgibt.

Benutzen Sie für diese Aufgabe und auch für alle anderen Aufgaben folgenden Rahmen:

public class KlassenNamen {
 public static void main (String[] main) {
   ....
 }

Die Datei, die diesen Quelltext enthält, muss den Namen KlassenName.java haben. Für KlassenName ist ein selbst zu wählender Bezeichner einzusetzen.

Aufgabe 4

Schreiben Sie ein Programm, das die Anzahl von Sekunden im Monat Januar berechnet.

Aufgabe 5

Schreiben Sie ein Programm, das ermittelt, wie hoch ein Spraguthaben von 5.000 € bei 7.5 % Verzinsung nach Ablauf eines Jahres ist.

Aufgabe 6

Welche Werte haben die folgenden Ausdrücke und welche Werte haben die Variablen nach der Auswertung, wenn a den Anfangswert 2 und b den Anfangswert 7 hat ?

a. --a

b. a--

c. a++ + b

d. b = ++a

e. a = b++

f. -(a--) - - (--b)

Aufgabe 7

Schreiben Sie ein Programm, das n ganze Zahlen von der Tastatur einliest und den Mittelwert in einer while-Schleife berechnet.

Aufgabe 8

Schreiben Sie ein Programm, das eine bestimmte Anzahl von Sternchen in Form eines Dreiecks auf dem Bildschirm ausgibt.

Aufgabe 9

Schreiben Sie ein Programm, das den Buchwert in Höhe von 15.000 € mit einem Abschreibungssatz von 40 % und einem Restwert von 100 € geometrisch degressiv abschreibt.

Aufgabe 10

Schreiben Sie ein Programm, das eine ganze Zahl vom Typ int in Binärdarstellung ausgibt Benutzen Sie hierzu die Bitoperation \& und <<

Umgang mit Operatoren

Werten Sie die folgenden logischen oder arithmetischen Ausdrücke aus. Variablen, die in einem Aufgabenteil deklariert werden, sollen dabei auch in allen folgenden Teilen verfügbar sein. Welche Ergebnisse erhalten Sie?

int i = 0;

int j = i + 7;

int k = -j;

boolean flag = true;

boolean secondFlag = !true;

flag = !flag;

i = 2 * j + k;

float f = 21.5;

float g = f * 2;

float h = 5.0 / 2;

h = (int)(5.0 / 2);

k = 5 / 2;

i = 47 % 2;

System.out.println(i > j);

j = k = 42;

System.out.println(i != j && j != k);

System.out.println(i != j || j != k);

System.out.println(flag || secondFlag && j != k);

i++; --j;

k *= 3; j /= 6;

k += ++i;

k += i++;

k >>>= 1;

k <<= 2;

System.out.println(k = 7);

System.out.println(k == 7);

i = 0xfe23;

j = 0x1f01;

j = (i & j) | 0x40;

Einfache lineare Programme

Schreiben Sie für die folgenden Aufgaben jeweils ein Java-Programm!

Aufgabe: Texte ausgeben

Geben Sie Ihren Namen, Vornamen und die E- Mail-Adresse in drei einzelnen Zeilen aus.

Aufgabe: Ein wenig Rechnen

Berechnen Sie die Summe von 17 und 4 und geben Sie das Ergebnis aus.

Aufgabe: Währungsumrechnung

Berechnen Sie, wie viel Euro der DM - Betrag 9876,54 entspricht (Kurs: 1 EUR = 1,95583 DM) Geben Sie das Ergebnis aus. Sie brauchen keine Rücksicht auf die Formatierung der Ausgabe nehmen - es kann sein, dass mehr oder weniger als zwei Nachkommastellen angezeigt werden.

Aufgabe: Eingabe von Zeichenketten

Lesen Sie Ihren Vor - und Nachnamen in String-Variablen ein und geben Sie beides in der Form 'Nachname, Vorname' wieder aus. Aufgabe: Summenberechnung

Lesen Sie zwei Zahlen ein und berechnen Sie die Summe. Die Ausgabe soll folgende Form haben: Die Summe von 123 und 234 ist 357.

Aufgabe: Vertauschen zweier Werte

Lesen Sie zwei Zahlen ein und vertauschen Sie die Werte der beiden Variablen. Beispiel: Vor dem Vertauschen hätten die Variablen a und b die Werte a=5 und b=3 , nach dem Vertauschen soll a=3 und b=5 gelten.

Aufgabe: Vertauschen ohne Hilfsvariable

Haben Sie für die Lösung der vorigen Aufgabe eine Hilfsvariable benötigt? Versuchen Sie es auch einmal ohne!


Einfache Berechnungen

Fügen Sie der folgenden Anweisung weitere Anweisungen hinzu, um die Variable totalSeconds auf zwei neue Variablen, hours und seconds aufzuteilen.

int totalSeconds = 307;

Folgende Anweisungen seien gegeben:

int seconds1 = 44;
int seconds2 = 51;

Berechnen Sie den Durchschnittswert in einer float -Variable.

Programme mit Verzweigungen

Aufgabe : Sortieren von zwei Zahlen

Bringen Sie zwei eingegebene Zahlen a und b in die richtige Reihenfolge bringt ( a ≤ b ) und geben Sie die Zahlen wieder aus. Auch hier gilt, dass der Inhalt der Variablen geändert werden soll, nicht nur die Ausgabe der Werte.

Aufgabe : Schaltjahre

Schreiben Sie ein Programm, das zu einer eingegebenen Jahreszahl ermittelt, ob es sich um ein Schaltjahr handelt. Zur Erinnerung: Ein Schaltjahr gibt es dann, wenn die Jahreszahl durch 4 teilbar ist, aber nicht durch 100, oder durch 400 teilbar ist.

Aufgabe : Sortieren von drei Zahlen

Bringen Sie drei eingegebene Zahlen a,b und c in die richtige Reihenfolge bringt ( a ≤ b ≤ c ) und geben Sie die Zahlen wieder aus.

Aufgabe : Zufallszahl

Berechnen Sie eine ganzzahlige Zufallszahl im Intervall [1..1000]. Nutzen Sie dazu die in Java vordefinierte Methode Math.random(), die einen double - Wert aus dem Intervall [ 0.0, 1.0] liefert.

Aufgabe : Methode verwenden

Das Programm soll einen Euro - Betrag einlesen, um die Mehrwertsteuer erhöhen und den Gesamtbetrag in Euro und DM ausgeben. Benutzen Sie Unterprogramme ( Methoden) zur Berechnung der Mehrwertsteuer und zur Umrechnung der Währung!

Geometrische Berechnungen

Schreiben Sie ein Programm, welches Umfang und Fläche eines Kreises mit dem Radius r und das Volumen einer Kugel mit dem Radius r nach den folgenden Formeln berechnet:

Umfang: U= 2*\pi*r

Fläche: F = \pi*r*2

Volumen: V= 4\3*\pi * r^3

Die berechneten Werte sollen mit System.out.println() ausgegeben werden. Welche Werte er- geben sich für r = 4.0;7.1;18.5 ?

Programme mit Schleifen

Aufgabe : Summe mit while - Schleife

Berechnen Sie die Summe der Zahlen von m bis n ( m und n werden eingelesen ) und geben Sie diese aus. Benutzen Sie eine Methode mit while - Schleife!

Aufgabe : Andere Schleifenarten

Lösen Sie das vorige Problem mit einer for - bzw. einer do...while - Schleife! Schreiben Sie dazu zwei neue Methoden und überprüfen Sie im Programm, ob alle drei Methoden für gleiche Eingaben den gleichen Wert berechnen!

Aufgabe : Komfortablerer Währungsrechner

Realisieren Sie einen einfachen Währungsrechner. Geben Sie dazu zunächst die beiden Währungsnamen, dann den Umrechnungskurs ein. Danach sollen mehrere Beträge umgerechnet werden, bis der Benutzer 0 ( null ) eingibt.

Aufgabe : Weihnachtsbäume

Geben Sie stilisierte “Weihnachtsbäume” mit “Stamm” aus. Lassen Sie vom Benutzer die gewünschte die Höhe h eingeben und den “Baum” über eine Methode mit einem Parameter ( der Höhe) ausgeben. Das Ergebnis, z.B. für z.B. h = 5, soll so aussehen:

    *
   ***
  *****
 *******
*********
    #

Aufgabe : Zahlworte

Erzeugen Sie Zahlworte für die Zahlen 0...999.999.999. Beispiel: 1234567 → einemillionzweihundertvierundreißigtausendfünundertsiebenundsechzig. Zerlegen Sie die Aufgabe in Teile, z.B. Zahlen bis 9, Zahlen bis 99, Zahlen bis 999 etc. ausgeben, und verwenden Sie diese Teile, um möglichst wenig doppelt zu programmieren. Zahlen außerhalb des Bereichs sollen zurückgewiesen werden.