/*
 * "Grundkurs Programmieren in Java - Band 2 (2. Auflage, 2006)I"
 * 2003-2006, Carl Hanser Verlag
 * Loesungsvorschlag zu Aufgabe 2.2 (Version 2.0)
 * (c) 2003-2006 D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger
 *
 */

/** Sinus-Funktion */
public class Sinus extends Funktion {
  
  /** Innere Funktion */
  private Funktion funktion;

  /** Konstruktor */
  public Sinus(Funktion f) {
    this.funktion = f;
  }

  /** Werte die Funktion an einer gewissen Stelle aus */
  public double getFunktionswert(double x) {
    return Math.sin(funktion.getFunktionswert(x));
  }

  /** Berechne die Ableitung der Funktion */
  public Funktion getAbleitung() {
    return new Produkt(funktion.getAbleitung(), new Kosinus(funktion));
  }

}


