!set title=Composición

!goto $wims_read_parm

:present
 Tenemos dos funciones derivables, $m_f y $m_g. Sea $m_h 
 la función compuesta: $m_h(x) = $m_f($m_g(x)) para todo $m_x.
 <p>
 El objetivo es calcular $m_h'($cent). (<b>Indicación.</b> La derivada de $m_f
 es distinta de cero en los puntos que le pueden interesar.)
!exit

:form
 $m_h'($cent) = <input size=3 name=ans1>.
!exit

:ans
 Usted piensa que $m_h'($cent) = $ans1.
 !ifval $ans1=$good1
  <font color=green>Su respuesta es correcta</font>.
 !else
  <font color=red>Su respuesta no es correcta</font>: $m_h'($cent)=$good1.
 !endif
 !exit

:init
 storename=cent,c1,c2
 
 range=5
 ll=!shuffle $[2*$range+1]
 ll=!item 1 to 3 of $ll
 ll=!sort numeric item $ll
 !distribute item $ll into o1,o2,o3
 !distribute item $[$o1-$range-1],$[$o2-$range-1],$[$o3-$range-1] into o1,o2,o3
 t=!shuffle 3
 !distribute item $t into t1,t2,t3
 cent=!item $t1 of $o1,$o2,$o3
 c1=!item $t2 of $o1,$o2,$o3
 c2=!item $t3 of $o1,$o2,$o3

 objname=las funciones
 
 parm1=$m_f($o1)\
  $m_f($o1) = \
  $m_f($o1) = ??
 parm2=$m_f($o2)\
  $m_f($o2) = \
  $m_f($o2) = ??
 parm3=$m_f($o3)\
  $m_f($o3) = \
  $m_f($o3) = ??
 parm4=$m_f '($o1)\
  $m_f '($o1) = \
  $m_f '($o1) = ??
 parm5=$m_f '($o2)\
  $m_f '($o2) = \
  $m_f '($o2) = ??
 parm6=$m_f '($o3)\
  $m_f '($o3) = \
  $m_f '($o3) = ??
 parm7=$m_g($o1)\
  $m_g($o1) = \
  $m_g($o1) = ??
 parm8=$m_g($o2)\
  $m_g($o2) = \
  $m_g($o2) = ??
 parm9=$m_g($o3)\
  $m_g($o3) = \
  $m_g($o3) = ??
 parm10=$m_g '($o1)\
  $m_g '($o1) = \
  $m_g '($o1) = ??
 parm11=$m_g '($o2)\
  $m_g '($o2) = \
  $m_g '($o2) = ??
 parm12=$m_g '($o3)\
  $m_g '($o3) = \
  $m_g '($o3) = ??

 !for i in 1,2,3, 7,8,9, 10,11,12
  val$i=!randitem -5,-4,-3,-2,-1,0,0,0,0,0,0,1,2,3,4,5
 !next i
 !for i in 4,5,6
  val$i=!randitem -5,-4,-3,-2,-1,1,2,3,4,5
 !next i
 val$[$t1+6]=$c1
 
 parmcnt=12
 anscnt=1
 minask=3
 good1=$[($(val$[$t2+3]))*($(val$[$t1+9]))]
 !distribute item 0,0,0, 0,0,0, 0,0,0, 0,0,0 into weight1, weight2,\
 	weight3, weight4, weight5, weight6, weight7, weight8,\
	weight9, weight10, weight11, weight12
 weight$[$t1+9]=1
 !ifval $(val$[$t1+9])=0
  minask=1
 !else
  weight$[$t2+3]=1
  weight$[$t1+6]=1
 !endif
!exit

:info
!exit

:final
 !bound ans1 between integer -100 and 100 default ??
 !ifval $ans1=$good1
  thisscore=1
 !endif
!exit

