Im Gegensatz zu anderen Sprachen arbeiten die Winkelfunktionen mit Grad anstelle Bogenmaß.
Code: Alles auswählen
#!/bin/tclsh
if {$::argc < 2} {puts error}
if {$::argc > 3} {puts error}
set B [expr asin(1.0)/90.0]
set G [expr 90.0/asin(1.0)]
set x [lindex $::argv 1]
set n [lindex $::argv 0]
if {$::argc == 2} {
switch $n {
abs {puts [expr abs($x)]}
acos {puts [expr $G*acos($x)]}
asin {puts [expr $G*asin($x)]}
atan {puts [expr $G*atan($x)]}
cos {puts [expr cos($B*$x)]}
cosh {puts [expr cosh($x)]}
exp {puts [expr exp($x)]}
log {puts [expr log($x)]}
log10 {puts [expr log10($x)]}
sin {puts [expr sin($B*$x)]}
sinh {puts [expr sinh($x)]}
sqrt {puts [expr sqrt($x)]}
tan {puts [expr tan($B*$x)]}
tanh {puts [expr tanh($x)]}
default {puts error}
}
}
if {$::argc == 3} {
set y [lindex $::argv 2]
switch $n {
pow {puts [expr pow($x,$y)]}
default {puts error}
}
}
Im folgenden Screenshot sieht man, wie die TCL-Funktion aufgerufen werden kann.