--- loncom/homework/default_homework.lcpm 2000/10/11 20:59:43 1.3 +++ loncom/homework/default_homework.lcpm 2000/10/13 14:58:49 1.6 @@ -4,6 +4,36 @@ # $RANDOMINIT=0; +sub tex { + if ( $external::target eq "tex" ) { + #$SCRIPT_RESULT.=@_[0]; + return @_[0]; + } else { + #$SCRIPT_RESULT.=@_[1]; + return @_[1]; + } +} + +sub web { + if ( $external::target eq "tex" ) { + #$SCRIPT_RESULT.=@_[1]; + return @_[1]; + } else { + if ( $external::target eq "web") { + #$SCRIPT_RESULT.=@_[0]; + return @_[0]; + } else { + #$SCRIPT_RESULT.=@_[2]; + return @_[2]; + } + } +} + +sub problem { + $SCRIPT_RESULT.='1'; + return ''; +} + sub hinton { return 0; } @@ -21,8 +51,9 @@ sub acos { atan2(sqrt(1 - $_[0] * $_[0]) sub asin { atan2($_[0], sqrt(1- $_[0] * $_[0]) ); } sub html { - if ( $external::target == "web" ) { - $SCRIPT_RESULT.=@_[0]; + if ( $external::target eq "web" ) { + #$SCRIPT_RESULT.=@_[0]; + return @_[0]; } } @@ -35,3 +66,32 @@ sub format { my ($value,$fmt)=@_; $SCRIPT_RESULT.=sprintf('%.'.$fmt,$value); } + +sub map { + my $num = $#_/2; + my $i; + my @used; + my @permutation; + for ($i=0; $i < $num;) { + $rand = &random(1,$num,1); + if ( $used[$rand] == '0' ) { + $i++; + $used[$rand]='1'; + $permutation[$i]=$rand; + } + } + for ( $i=1 ; $i<$num+1 ; $i++ ) { + ${$_[$permutation[$i]]}=$_[$i+$num] + } +} + +sub choose { + my $num = $_[0]; + return $_[$num]; +} +#$external::randomseed=time; +#$a=2; +#$b=2; +#$c=2; +#&map(1,\$a,\$b,\$c,3,4,5); +#print $a."\n".$b."\n";