/*
 * "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
 *
 */

/** Kosinus-Funktion */
public class Kosinus extends Funktion {
  
  /** Innere Funktion */
  private Funktion funktion;

  /** Konstruktor */
  public Kosinus(Funktion f)
  {
    this.funktion = f;
  }

  /** Werte die Funktion an einer gewissen Stelle aus */
  public double getFunktionswert(double x) {
    return Math.cos(funktion.getFunktionswert(x));
  }

  /** Berechne die Ableitung der Funktion */
  public Funktion getAbleitung() {
    return new Produkt(new Produkt(new Konstante(-1),
      funktion.getAbleitung()), new Sinus(funktion));
  }

}


