Berechnungen mit Arrays

Aus ProgrammingWiki
Archivierte Version vom 2014-09-21T17:44:32+00:00. Aktuelle Version

Im Folgenden werden wir in unseren Methoden Arrays und for-Schleifen miteinander kombinieren, um bestimmte mathematische Funktionen zu realisieren.

Es ergibt sich ein Methodenmuster, bei dem mit einer for-Schleife ein Array vom ersten bis zum letzten Element durchlaufen wird.

<r> <methodenname>(<arraytyp>[] arrayname){
   <r> <ergebnisvariable> = <wert>;   
   for(int i=0; i &lt; arrayname.length; i++){
     <arraytyp> element = arrayname[i];
     <ergebnisvariable> = Berechnungsvorschrift zur Verarbeitung des Elements;
   }
   return <ergebnisvariable>;
}</ergebnisvariable></ergebnisvariable></arraytyp></wert></ergebnisvariable></r></arraytyp></methodenname></r>

An jeder Position i wird das i-te Element des Arrays abgefragt und in einer Hilfsvariable gespeichert. Das Element wird dazu genutzt, den Wert der Ergebnisvariable zu bilden.

Natürlich kann eine Methode auch mehrere Arrays als Parameter entgegennehmen.


Aufgabe 1

Entwickeln Sie eine Methode, die ein Array vom Typ int als Parameter entgegennimmt und die Summe aller Elemente zurückgibt! Testen Sie die Methode mit einem Array, welches 5 Elemente enthält!


Aufgabe 2

Das Heron-Verfahren (auch bekannt als Babylonisches Wurzelziehen) ist ein iteratives Verfahren zur näherungsweisen Bestimmung der Quadratwurzel einer Zahl q. Die Iterationsvorschrift lautet:

x_{n+1} = \frac{1}{2}*(x_n + \frac{q}{x_n})

Wir verwenden den Startwert x_0 = 1.

Entwickeln Sie eine Methode, die das Heron-Verfahren umsetzt! In einer for-Schleife sollen dabei die Werte x_1 bis x_5 nach der obigen Vorschrift berechnet werden. Der Wert von x_5 soll anschließend von der Methode zurückgegeben werden. Arbeiten Sie mit Variablen vom Typ double! Testen Sie die Methode mit dem Eingabewert 9!


Aufgabe 3

Ein Polynom sei definiert durch die Vorschrift p(x) = a_0x^0 + a_1x^1 + a_2x^2 + ... + a_nx^n.

Entwickeln Sie eine Methode, die zwei Parameter entgegennimmt:

  1. die Koeffizienten a_0 bis a_n als Array vom Typ double
  2. den Wert x

Die Methode soll mit Hilfe einer for-Schleife den Wert p(x) berechnen und zurückgeben.


Aufgabe 4

Entwickeln Sie eine Methode, die das Skalarprodukt von zwei Vektoren a und b mit beliebiger Größe berechnet! Für Vektoren mit der Größe 3 gilt:

\begin{pmatrix} a_1 \\ a_2 \\ a_3 \end{pmatrix} \circ \begin{pmatrix} b_1 \\ b_2 \\ b_3 \end{pmatrix} = a_1 \cdot b_1 + a_2 \cdot b_2 + a_3 \cdot b_3

Die Methode soll zwei Vektoren a und b als Arrays entgegennehmen. Wenn die Arrays nicht die gleiche Länge besitzen, soll die Methode den Wert -1 zurückgeben.