C-Talk ![]() |
similar languages: | C C# C++ D Cilk Java Objective-C Pike TOM | |
Description: | C-Talk is an object-oriented language with strong static typing, multiple-inheritance, parameterized classes (templates), exceptions, multi-tasking, persistent objects and garbage-collection instead of explicit (manual) memory-removal. C-Talk inherits best features from languages like C++, Smalltalk, Lisp, CLU. |
Eulersche Number (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; |
Calculates the eulersche-number
(e=2.71828). |
Eulersche Number (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; |
Calculates the eulersche-number
(e=2.71828). |
Factorial | 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); |
Calculates the factorial. Results
720 . |
Hello World | Michael Neumann |
// Hello World in C-Talk cout << "Hello World\n"; |
Prints "Hello World" onto the
screen. |
Squares | Michael Neumann |
(* * Squares (* geschachtelter Kommentar *) *) for( var int i:=1; i<=10; i:=i+1 ) { cout << i * i << " "; } |
Outputs the squares from 1 to
10. |