next up previous contents
Nächste Seite: Vektoren und Strukturen Aufwärts: Funktionen Vorherige Seite: Beispiele   Inhalt

Aufgaben

  1. Binde die Beispielfunktionen in ein vollständiges Programm ein und teste sie.
  2. bis zur wievielten Fibonaccizahl arbeitet die o.g. Beispiele korrekt?
  3. Schreibe eine Funktion double hoch(double basis, unsigned exponent), die durch Multiplikation des Argumentes mit sich selbst die ganzzahlige Potenz berechnet.
  4. Schreibe auch eine rekursive Version dieser Funktion.
  5. In CSound kann man externe Klangdateien in eine Wellentafel einlesen. Diese Wellentafel muß aber eine Größe von einer Zweierpotenz haben. Von der Klangdatei ist aber ledigleich ihre Dauer (in Sekunden) sowie ihre Samplingrate bekannt. Schreibe eine Funktion, die zu einer gegebenen Samplingrate und einer gegebenen Dauer die Mindestgröße für die Wellentafel (in Samples) berechnet. (Mit anderen Worten: Berechne die Zweierpotenz, die gerade größer ist, als das Produkt aus Samplerate und Dauer). Versuche
    1. durch Annäherung
    2. durch Ausnutzung der Tatsache, daß $\log_ba = \log_ca/log_cb$ und double log(double) den natuerlichen Logarithmus berechnet, und double ceil(double) die nächste, ganze Zahl berechnet, die nicht kleiner ist als das Argument,
    eine Lösung zu finden.



Thomas Neuhaus
2001-01-14