Programmiersprachen (Re: [linux-l] Ruby: sehr cool, aber laaaahm... wie geht's schneller?! - D?)

Oliver Bandel oliver at first.in-berlin.de
Mi Aug 23 02:40:43 CEST 2006


On Tue, Aug 22, 2006 at 08:10:55PM +0200, Oliver Bandel wrote:
[...]
> Nach wie vor kann ich grundsätzlich OCaml empfehlen, da es aus vielerlei
> Perspektiven IMHO die ultimative Sprache ist (besonders, wenn man beachtet,
> welche vielen Möglichkeiten es bietet, da es eine Multiparadigmen-Sprache ist).
[...]


Frisch aus dem Weg gefischt:

   http://www.gerd-stolpmann.de/buero/mitteilungen/CUFP2005.pdf
   http://www.galois.com/cufp/




Und nun noch was zum Coden,
  damit der lahme Haufen hier mal etwas in Bewegung kommt:   ;-)


   Aufgabe:
   ========

      Programmiere ein kleines Progrämmchen, das Dir für
      mathematische Funktionen für einen bestimmten Wertebereich
      den Wert der unahängigen Variable, des Funktionswertes für
      diese Variable und die erste Ableitung (Differentiation)
      der Funktionen am Punkte der unabhängigen Variable ausgibt.

      Es soll also berechnet/ausgegeben werden für einen bestimmten x-Wert
      (genauer ein Intervall von x-Werten):
                                              x, f(x) und f'(x).

      Zu jeder Reihe von Werten soll für die jeweilige Funktion noch eine Titelei
      ausgegeben werden, damit man als Betrachter der Ausgaben weiss, für welche
      Funktion man denn die Zahlenwerte ausgegeben bekommt.
      (Also eine Überschrift zu den Berechnungen jeweils.)

      Die Vorgaben für den Wertebereich x können im Programm hart kodiert sein,
      es muß kein Code für CLI-Parsing oder GUIs entworfen werden, es geht
      um die reine Programmierung der Funktionalität der Berechnung (und
      deren Ausgabe und der Ausgabe der "Titel"/"Überschriften").

      Allerdings soll die Liste der Funktionen, für die man die Werte f(x) und f'(x)
      berechnen möchte, leicht aktualisierbar sein, so daß man auf einfache
      Weise weitere Funktionen hinzu fügen kann.

      Es sollen für vier Funktionen die Werte berechnet werden:

         sin, cos, x^2, x^3

         und x soll von 0 bis 6.3 in Schritten a 0.1 vorgegeben werden.
           (parametrisiert ist fein, aber hardcodet sei für x auch OK).


      Du hast eine Stunde Zeit für die Implementierung; die Wahl der Programmiersprache
      steht Dir frei.

      Viel Spaß dabei!
           

 Gruß,
   Oliver


  P.S.: Für alle, die nicht wissen, wie sie die Ableitung berechnen, hier
        die Formel, die angewandt werden soll:
            
            f'(x) = ( f(x + epsilon) - f(x) ) /epsilon
            
            mit epsilon -> 0

        bzw. für die numerischen Berechnungen darfst Du epsilon = 0.001
        ansetzen.

        ( genau genommen ist nämlich f'(x) ein Grenzwert (limes) )


  P.P.S.: Die Formel für f'(x) wurde vorgegeben, da es bei dieser Aufgabe
          rein um die Programmierung geht, nicht um das Hintergrundwissen
          in der Mathematik. Wer es ohnehin wusste, darf sich darüber
          selbstverständlich freuen. :)


__END__



Mehr Informationen über die Mailingliste linux-l