!set title=Columnas y filas I

!goto $wims_read_parm

:present
 Considere 3 matrices A,B,C. Los productos AB, BC y CA son todos válidos.
 Elija cuestiones a preguntar entre las siguientes y con esa información,
 encuentre el número de $orients de la matriz $matname.
!exit

:form
 La matriz $matname tiene
 <input size=3 name=ans1> $orients.
!exit

:ans
 Usted cree que la matriz $matname tiene $ans1 $orients.
 !ifval $ans1=$good1
  <font color=green>Correcto</font>.
 !else
  <font color=red>Usted está equivocado</font>: $matname tiene $good1 $orients.
 !endif
 !exit

:init
 storename=mat,matname,matprev,matfoll,o,orient,orients
 mat=!randitem 1,2,3
 matname=!item $mat of A,B,C
 matprev=!item $mat of C,A,B
 matfoll=!item $mat of B,C,A
 o=!randitem 1,2
 orient=!word $o of fila columna
 orients=!word $o of filas columnas
 
 objname=las matrices
 hint=Cuál es la relación entre el tamaño de una matriz producto MN y la de M y N?
 
 parm1=número de filas de AB\
  Número de filas AB \
  AB tiene ?? filas
 parm2=número de oclumnas AB\
  Número de oclumnas de AB \
  AB tiene ?? columnas
 parm3=número de filas de BC\
  Número de filas de BC \
  BC tiene ?? filas
 parm4=número de columnas de BC\
  Número de columnas de BC \
  BC tiene ?? columnas
 parm5=número de filas de CA\
  Número de filas de CA \
  CA tiene ?? filas
 parm6=número de columnas de CA\
  Número de columnas de CA \
  CA tiene ?? columnas
 t=!shuffle 9
 t=!item $t of 2,3,4,5,6,7,8,9,10
 !distribute item $t into val1,val3,val5
 !distribute item 0,0,0 into weight1,weight3,weight5
 n_=$[(2*($mat+$o)-3)%6]
 weight$n_=1
 good1=$(val$n_)
 !distribute item $val1,$val3,$val5 into val4,val6,val2
 !distribute item $weight1,$weight3,$weight5 into weight4,weight6,weight2
 parmcnt=6
 anscnt=1
 minask=1
 !if $o=1
  solution=El número de filas de $matname es igual al de\
   $(matname)$matfoll. <p>\
   Además, como $(matprev)$matname tiene sentido, el número de filas de\
   $matname también es igual al número de columnas de $matprev, que a su vez\
   es igual al número de columnas de $matfoll$matprev. <p>\
   Por consiguiente $matname tiene $good1 filas.
 !else
  solution=El número de columnas de $matname es igual al de\
   $matprev$matname. <p>\
   Además, como $matname$matfoll tiene sentido, el número de columnas de\
   $matname también es igual al de filas de $matfoll, que a su vez\
   es igual al número de filas de $matfoll$matprev. <p>\
   Por tanto, $matname tiene $good1 columnas.
 !endif
!exit

:info
!exit

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

