[linux-l] Re: Programmiersprachen - Lösung in Python (kurze Version)

Rocco Rutte pdmef at cs.tu-berlin.de
Mo Sep 11 08:55:57 CEST 2006


Hi,

* Oliver Bandel [06-09-11 00:33:21 +0200] wrote:
>Ich merke immer mehr, daß ich das Deklarations-Gewusel
>abschreckend finde, wenn man also viel tippen muß,
>um ein bischen Funktionalität zu erreichen.

Als Anhang mal eine sehr übersichtliche Variante für C, die im Grunde 
das gleiche tut wie die von Axel, nur eben ohne die ganze Tipperei... 
;-)

>Das ist ja bei den C-Ablegern doch recht verbreitet.

Kann man machen, muss man aber nicht... ;-)

Das noch keiner mit C++ und Vererbung kam, wundert mich dann doch. Die 
Aufgabe ist doch prima geeignet. Vielleicht sollte man die Beispiele mal 
sammeln und ich mache in 20+ Klassen Beispiel für C++ mit so richtig 
Abstraktion? ;-)

   bye, Rocco
-- 
:wq!
-------------- nächster Teil --------------
#include <math.h>
#include <stdio.h>

#define EPS     0.00001
#define CNT     64
#define STEP    0.1
#define DIFF(Y,X)       (Y(X+EPS)-Y(X))/EPS

static double x2(double x) { return x*x; }
static double x3(double x) { return x*x*x; }

int main(int argc, char** argv) {
  struct {
    double (*func)(double);
    const char* name;
  } Funcs[] = { { x2,"x^2" }, { x3,"x^3" }, { sin,"sin" }, 
                { cos,"cos" }, { 0,0 } };
  unsigned short i,j;
  double x;

  for (i=0; Funcs[i].name; i++)
    for (j=0; j<CNT; j++, x=j*STEP)
      printf("%s(%f)' = %f\n",Funcs[i].name,x,DIFF(Funcs[i].func,x));
}


Mehr Informationen über die Mailingliste linux-l