C-Talk ![]() |
ähnliche Sprachen: | C C# C++ D Cilk Java Objective-C Pike TOM | |
Beschreibung: | C-Talk ist eine objekt-orientierte Sprache mit statischer, starker Typisierung, Mehrfachvererbung, parametisierten Klassen (Templates), Ausnahmen (Exceptions), Multitasking, persistenten Objekten und Garbage-Collection anstatt expliziter (manueller) Speicherfreigabe. C-Talk erbt beste Eigenschaften von Sprachen wie C++, Smalltalk, Lisp, CLU. |
Eulersche Zahl (1) | Michael Neumann |
(* e = Summe der Reziproken der Fakultäten *) // Fakultäts-Funktion function fac( int n ) returns int { if( n > 1 ) return n * fac(n-1); else return 1; } var arr := [ 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0 ]; // filter_arr wendet die übergebene Funktion auf jedes Element des // Arrays arr an und schreibt den Rückgabewert zurück ins Array function filter_arr ( proc(float) returns float transform ) { for( var i := 0 ; i < 10; i := i + 1 ) { arr[i] := transform(arr[i]); } } // Fakultäten berechnen // lambda erzeugt eine namenlose Funktion // -> ist ein typecast filter_arr( lambda(float x) returns float { return fac(x -> int) -> float; } ); // Reziproken berechnen filter_arr( lambda(float x) returns float { return 1.0 / x; } ); // Summe bilden var float e := 0.0; filter_arr( lambda(float x) returns float { e := e + x; return x; } ); // e ausgeben cout << e; |
Berechnet die Eulersche Zahl
(e=2.71828). |
Eulersche Zahl (2) | Michael Neumann |
// Fakultäts-Funktion function fac( int n ) returns int { if( n > 1 ) return n * fac(n-1); else return 1; } var e := 0.0; for( var n := 0; n < 10; n := n + 1 ) { e := e + 1.0 / fac(n) -> float; } // e ausgeben cout << e; |
Berechnet die Eulersche Zahl
(e=2.71828). |
Fakultät | Michael Neumann |
/* * Berechnen der Fakultät */ function fac( int n ) returns int { if( n > 1 ) return n * fac(n-1); else return 1; } // Funktion aufrufen cout << fac(6); |
Berechnet die Fakultät. Ergibt
720 . |
Hello World | Michael Neumann |
// Hello World in C-Talk cout << "Hello World\n"; |
Gibt "Hello World" auf dem Bildschirm
aus. |
Squares | Michael Neumann |
(* * Squares (* geschachtelter Kommentar *) *) for( var int i:=1; i<=10; i:=i+1 ) { cout << i * i << " "; } |
Gibt die Quadrate von 1 bis 10
aus. |