fh.h42.de - What´s the question?
Navigation: [START] [00-ws] [prog] [p-java005.htm]
[print]  [e-mail]  [main]

Java - Hornerschema / Aktienkurs


Lösung zu Übung 14, Aufgabe 1:
/*
$DATE (29.01.2001)
$AUTH Lars Ehrhardt
$VER  1.0
 */
class horner {
    public static void main(String args[]){
        int[] feld = {5, 4, -1, 2};

        System.out.print  ("Berechnung der Gleichung nach dem Horner-Schema ergibt: ");
        System.out.println(hornerrechng(1, feld));

        int [] feld1 = ableitung(feld);

        if(feld1.length > 0) {
            System.out.print("Die 1. Ableitung der Funktion ist: ");

        for(int i=feld1.length-1; i > 0; i--)
           if(feld1[i] <= 0 | i == feld1.length-1) System.out.print(feld1[i] + "*x^" + (i));
           else System.out.print("+" + feld1[i] + "*x^" + (i-1));

        if(feld1[0] <= 0) System.out.println(feld1[0]);
            else System.out.println("+" + feld1[0]);
        }

    }

    /* Funktion ist auch rekursiv implementierbar!
       wer Spaß dran hat....
    */
    static int hornerrechng(int x, int[] feld) {
        int a;

        a = feld[feld.length-1];

        for(int i=1; i < feld.length; i++)
            a = a * x + feld[feld.length-1-i];

        return(a);
    }

    static int[] ableitung(int[] feld) {
        int[] ableitung = new int[feld.length-1];

        for(int i=0; i < ableitung.length; i++)
            ableitung[i] = (i+1) * feld[i+1];

        return(ableitung);
    }

}

Quellcode zu Übung 14, Aufgabe 2:
/*
$DATE (29.01.2001)
$AUTH Lars Ehrhardt
$VER  1.0
 */

import java.util.*;

class aktie {
    public static void main(String arguments[]) {
        //int [] kursaenderung = new int[30];
        //kursaenderung = feldbelegung(kursaenderung);

        int [] kursaenderung = {2, -4, 3, -1, 4, -1, 5, -9, 2, -6, 5, -3, 5};

        int [] kurs = new int[kursaenderung.length+1];
        kurs[0] = 0;

        for (int i = 1; i < kurs.length; i++) {
            kurs[i] = kurs[i-1] + kursaenderung[i-1];
            System.out.print  ("Kurs der Aktie am " + (i) + ". Tag:" + kurs[i]);
            if (kursaenderung[i-1] >= 0) System.out.println(" (+" + kursaenderung[i-1] + ") ");
            else System.out.println(" ("+kursaenderung[i-1] + ") ");
        }

        int gewinn = -65535;
        int ankauf = -1;
        int verkauf = -1;

        for (int i = 1; i < kurs.length; i++) {
            for (int j=i; j < kurs.length; j++) {
                if ( (kurs[j] - kurs[i]) > gewinn) {
                    ankauf = i;
                    verkauf = j;
                    gewinn = kurs[j] - kurs[i];
                }
            }
        }

        System.out.println("Der beste Kauftermin war am " + (ankauf) +". Tag");
        System.out.println("Der beste Verkaufstermin war am " + (verkauf) +". Tag");
        System.out.println("Sie hätten dann " + gewinn + " Euro verdient!");

    }

    /* Feldbelegung
       Besonderheit: das 1. Feld soll nicht 0 werden!
     */

    static int [] feldbelegung(int [] feld){
        Random r = new java.util.Random();
        int zahl;
        int i = 0;

        while (i < feld.length) {
            zahl = r.nextInt() % 9;
            if (i != 0 || zahl != 0) {
                feld[i] = zahl;
                i++;
            }
        }
        return(feld);
    }


(Keine Garantie auf Richtigkeit!)
zurück zur Übersicht
News
12.10.: Seiten zum WS03 aktualisiert
02.09: Seite zum WLAN-Projekt aktualisiert
10.04: Seiten zum SS03 aktualisiert
12.08: Eigene Vorlage für Seminararbeiten der FH hinzugefügt
14.07: Informationen zum 5. Semester hinzugefügt.
14.07: Druckfunktion für die Seiten überarbeitet: Auflistung der Hyperlinks über Fußnoten realisiert.
04.06: Links für IT-Sec neu strukturiert
27.04: Projekte des SS02 hinzugefügt
07.04: Lehrveranstaltungen des SS02 hinzugefügt
07.04: Dokumentation zum X-Terminals Projekt
Navigation: [START] [00-ws] [prog] [p-java005.htm]
[print]  [e-mail]  [main]