Kurs:Wirtschaftsinformatik WS08 09 PROGRAMMIERUNG/Uniaufgaben

Aus Wikiversity

Kurs:Programmierung

Aufgabenblatt 1 WS 2005/2006[Bearbeiten]

Aufgabe 1[Bearbeiten]

Welche Anforderungen an einen Algorithmus A1 - A13 erfüllt ein Kochrezept?

ALGORITHM_ TIRAMISU

1. Den Kaffee in einen Suppenteller gießen.
2. Die Biskuits kurz im Kaffee tränken.
3. Den Boden einer Auflaufform mit einer Lage Biskuits belegen.
4. Eigelb und Eiweiß trennen.
5. Das Eigelb mit dem Zucker und dem Amaretto zu einer schaumigen Masse schlagen.
6. Mascarpone zugeben und gut mischen, bis es cremig wird.
7. Das Eiweiß in einem anderen Behälter steif schlagen.
8. Das geschlagene Eiweiß zur Creme hinzugeben.
9.. Die Biskuits in der Form gleichmäßig mit der Hälfte der Creme überziehen.
10. Nun eine neue Lage kaffeegetränkter Biskuits auflegen.
11. Den Rest der Creme gleichmäßig auftragen.
12. Die Form mindestens drei Stunden, besser über Nacht, in den Kühlschrank geben.
13. Vor dem Servieren mit Kakao bestreuen.

END _ ALGORITHM_ TIRAMISU

Aufgabe 2[Bearbeiten]

Welche Anforderungen werden von den folgenden Beispielen erfüllt oder verletzt?

Beispiel 1[Bearbeiten]

  • Schritt 1 lies Eingaben a und b weiter mit Schritt 2
  • Schritt 2 stelle sicher das a > 0 und b > 0 sind weiter mit Schritt 3
  • Schritt 3 berechne c = sqrt (a * a + b * b)

weiter mit Schritt 4

  • Schritt 4 schreibe Ausgabe c

Beispiel 2[Bearbeiten]

  • Schritt 1 lies Eingabe r

weiter mit Schritt 2 oder 3

  • Schritt 2 berechne u = 2 ! r

weiter mit Schritt 4

  • Schritt 3 berechne k = ! r2

weiter mit Schritt 2

  • Schritt 4 schreibe Ausgabe u und k

Beispiel 3[Bearbeiten]

  • Schritt 1 setze c = 0

weiter mit Schritt 2

  • Schritt 2 lies Eingabe a und b

weiter mit Schritt 3

  • Schritt 3 berechne c = c + bª

weiter mit Schritt 4

  • Schritt 4 falls a > 0

weiter mit Schritt 5 falls a ≤ 0 weiter mit Schritt 6

  • Schritt 5 berechne a = a - 1

weiter mit Schritt 3

  • Schritt 6 schreibe Ausgabe c

Beispiel 4[Bearbeiten]

  • Schritt 1 Finde die Antwort auf die Frage nach dem Leben, dem Universum und

allem!

WS 2009/2010[Bearbeiten]

Aufgabe 1[Bearbeiten]

a) Bringen Sie die Begriffe Programm, Quellcode, Compiler, Bytecode und Rechner in einen logischen Zusammenhang.

Java-Programme werden zunächst in von Menschen leicht lesbarem Quellcode geschrieben. Dieser wird von einer speziellen Software, dem Compiler, in Bytecode übersetzt, welcher für Menschen schwer zu lesen ist, aber von einer weiteren Software, der virtuellen Maschine, auf dem Rechner zur Ausführung gebracht werden kann.

b) Welche Rolle hat die main-Methode in Java-Programmen?

Die main-Methode ist diejenige Methode, die beim Starten des zugehörigen Java-Programms zuerst ausgeführt wird. Von ihr gehen alle weiteren Methodenaufrufe aus.

c) Erläutern Sie das Konzept einer Variablen. Warum gibt es verschiedene Datentypen, wie short, int, float?

Variablen sind Name/Wert-Paare, die in Java stets einen bestimmten Typ haben. Nach der Zuweisung eines Wertes an eine Variable ist der vorherige Wert überschrieben. Unterschiedliche Datentypen werden verwendet, um unterschiedliche Arten von Information (Ganzzahl, Gleitkommazahl, Zeichen etc.) darzustellen.

Variablen sind Variablen sind Speicher mit lesbaren Inhalt, frei für die Veränderung.

Variablen (Speicher) haben einen Namen, einen Ort, einen Typ. Mit dem Typ sind implizit die Operationen festgelegt.

Miniprojekt 1[Bearbeiten]

1. Implementieren Sie die Methoden kreisFlaeche und kreisUmfang, welche den Radius eines Kreises als Parameter erwarten und Fläche bzw. Umfang errechnen und zurückgeben sollen.
2. Implementieren Sie die Methode rechteckFlaeche, welche Länge und Breite eines Rechtecks als Parameter erwartet und die Fläche des Rechtecks zurückgibt.
3. Implementieren Sie die Methode kreisKleinerRechteck. Diese Methode hat drei Parameter: Der Radius eines Kreises, und Länge und Breite eines Rechtecks. Sie soll true zurückgeben, wenn die Fläche des Kreises kleiner ist als die Fläche des Rechtecks, und anderenfalls false.
4. Implementieren Sie die Methode laenge. Diese Methode hat vier Parameter: x1,y1,x2 und y2. Dabei handelt es sich um die x und y Koordinaten von zwei Punkten. Die Methode soll die Entfernung dieser Punkte berechnen und zurückgeben.

Hinweise:

  • Die Main-Methode und die vorgegebenen Codefragmente dürfen für die Abgabe nicht verändert werden.
  • Die Zahl PI steht als Variable Math.PI zur Verfügung.
  • Die Quadratwurzel von xyz kann mit Math.sqrt(xyz) errechnet werden.
  • Wichtig zur Berechnung der Entfernung zweier Punkte ist der Satz des Pythagoras.
  • Verwenden Sie folgendes Programmgerüst: (und testen Sie ihre Lösung auch mit anderen Parametern!)
public class Miniprojekt1 {

public double kreisFlaeche (double radius) {
// ... Lösung hier implementieren
return f;
}

public double kreisUmfang (double radius) {
// ... Lösung hier implementieren
return u;
}

public double rechteckFlaeche (double laenge, double breite) {
//... Lösung hier implementieren
return f;
}

public boolean kreisKleinerRechteck (double radius, double laenge, 
double breite) {
// ... Lösung hier implementieren
return b;
}

public double laenge (double x1, double y1, double x2, double y2) {
// ... Lösung hier implementieren
return l;
}

public static void main (String [] s) {
Miniprojekt1 M = new Miniprojekt1();
System.out.println("Fläche Kreis Radius 3: " + M.kreisFlaeche(3));
System.out.println("Umfang Kreis Radius 4,2: " + M.kreisUmfang(4.2));
System.out.println("Kreis Radius 6 kleiner Rechteck 2 mal 3: " + M.kreisKleinerRechteck(6, 2, 3));
System.out.println("Länge (-1,5) (2,-1): " + M.laenge( 2, -1, -1, 5));
}

}