logo

 

 
 

 

 

 

 

 

 

Übersicht aller Übungen

  • Übung 1
  • Übung 2
  • Übung 3
  • Übung 4
  • Übung 5
  • Übung 6
  • Übung 7
  • Übung 8
  • Übung 9
  • Übung 10
  • Übung 11
  • Übung 12




    alle Lösungen (als *.zip)


  • Lösung Übung 1
  • Lösung Übung 2
  • Lösung Übung 3
  • Lösung Übung 4
  • Lösung Übung 5
  • Lösung Übung 6
  • Lösung Übung 7
  • Lösung Übung 8
  • Lösung Übung 9
  • Lösung Übung 10
  • Lösung Übung 11
  • Lösung Übung 12

  • Übung 4 Übung 6

       

    Ü B U N G   5

    Aufgabe 1



    Gegeben sei ein Array vom Typ double mit folgenden Werten:

    double[] werte = {1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0}

    Dieses Array soll so verändert werden, dass an der Stelle i im Array der Durchschnitt aller Werte von Stelle 1 bis Stelle i steht.

    Schreiben Sie ein Java-Programm, was dieses Problem löst. Zum Vergleichen Ihrer Lösung können Sie folgende Ausgabe benutzen:

    Durchschnitt: Stelle 1 bis 1 = 1.0
    Durchschnitt: Stelle 1 bis 2 = 1.5
    Durchschnitt: Stelle 1 bis 3 = 2.0
    Durchschnitt: Stelle 1 bis 4 = 2.5
    Durchschnitt: Stelle 1 bis 5 = 3.0
    Durchschnitt: Stelle 1 bis 6 = 3.5
    Durchschnitt: Stelle 1 bis 7 = 4.0
    Durchschnitt: Stelle 1 bis 8 = 4.5
    Durchschnitt: Stelle 1 bis 9 = 5.0
    Durchschnitt: Stelle 1 bis 10 = 5.5

    Download der Lösung (Durchschnitt.java)


    Aufgabe 2



    Gegeben sei ein 3x3 Schiebepuzzle, wobei folgender Puzzle-Zustand einen Endzustand darstellt (das leere Feld des Schiebepuzzles wird als 0 interpretiert):

    1 2 3
    8 0 4
    7 6 5

    Implementieren Sie ein Java-Programm, welches einen gegebenen Zustand bewerten soll. Dabei soll als Bewertung die Anzahl der Plättchen, die an der falschen Stelle liegen, dienen.

    Zum Beispiel trägt folgender Puzzle-Zustand die Bewertung 2, da 2 Plättchen an der falschen Stelle liegen. Verwenden Sie den folgenden Zustand auch zum Testen Ihres Programmes.

    1 2 8
    3 0 4
    7 6 5


    Download der Lösung (Puzzle1.java)



    Aufgabe 3 (Zusatzaufgabe)


    Erweitern Sie Ihr Programm aus Aufgabe 2 folgendermaßen:
    Eine Bewertung eines Zustandes soll nicht mehr nur anhand der Anzahl der Plättchen, die an falscher Stelle liegen, erfolgen. Es soll die Zahl der (minimal) notwendigen Verschiebeoperationen berechnet werden, die notwendig sind, um alle falsch liegenden Plättchen an die richtige Stelle zu schieben.

    Tip: Math.abs(int x) liefert den Betrag einer Zahl.

    Folgender Zustand hat die Bewertung 6, da für die Zahl 8 und die Zahl 3 jeweils mindestens 3 Verschiebungen notwendig sind, um beide Plättchen an die richtige Stelle zu bringen.

    1 2 8
    3 0 4
    7 6 5


    Download der Lösung (Puzzle2.java)


    Aufgabe 4

    Gegeben sei folgendes int-Array:

     int[][] array2D = new int[][] {new int[] {1,2,3},
                                    new int[] {4,2},
                                    new int[] {6,5,4,3,2,1,0},
                                    new int[] {0}
                                    };
    
    Schreiben Sie ein Java-Programm, dass den Inhalt von array2D anschaulich formatiert auf dem Bildschirm ausgibt.

    Download der Lösung (U5_4.java)





    Aufgabe 5

    Matrizen spielen in vielen Bereichen der Informatik eine wichtige Rolle, z.B. in der Bildverarbeitung oder in der Bio-Informatik. Eine Matrix ähnelt einer Tabelle, auch hier gibt es Zeilen und Spalten.
    Jede "Zelle" der Matrix enthält genau einen Wert, der über einen eindeutigen Index angesprochen werden kann.


    (Beispiel für eine 4x4 Matrix)

    Der Wert xij hat den Index ij, wobei die erste Ziffer die Zeile angibt und die zweite die Spalte, in der sich der Wert befindet.
    Beispiel: x23 => Index 23: Zeile 2, Spalte 3

    Überlegen Sie sich, wie Sie in Java eine Matrix implementieren könnten.

    Schreiben Sie ein Java-Programm Matrix, dass eine 4x4 Matrix enthält. Belegen Sie diese Matrix mit Hilfe eines Schleifenkonstruktes so, dass jede "Zelle" den Wert ihres Index enthält.

    Das Programm soll am Ende folgende Matrix auf dem Bildschirm ausgeben:
    11  12  13  14
    21  22  23  24
    31  32  33  34
    41  42  43  44
    

    Download der Lösung (Matrix.java)





    Aufgabe 6

    Erweitern Sie das Programm aus Aufgabe 2 so, dass Sie die Dimension der Matrix über 2 Kommandozeilenparameter angeben können.
    Parameter 1 entspricht der Anzahl der Zeilen, Parameter 2 der Anzahl der Spalten.
    Wie Sie Kommandozeilenparameter in einem Java-Programm nutzen können, sollten Sie in den Übungen bereits kennengelernt haben.

    Möglicher Programmaufruf:
    java Matrix 3 4
    
    (Würde eine 3x4 Matrix ausgeben)

    Download der Lösung (MatrixErweitert.java)

    Zusatzaufgabe

    Matrizenmultiplikation: Gegeben sind zwei n x n -Matrizen A und B.

    Das Produkt zweier Matrizen liefert wieder eine Matrix: C = A*B.

    Der Wert an der Stelle cij berechnet sich über
    cij = aik · bkj


    Schreiben Sie ein Programm, das die Matrix C berechnet, wenn die Matrizen A und B gegeben sind. C ist hier ebenfalls eine n x n Matrix.

    Lassen Sie die Matrix C auf dem Bildschirm ausgeben.

    Download der Lösung (Matrizenmultiplikation.java)
     
     
     

     

     


     
           
    © 2002 by Daniel Stojceski • Zylous@web.de