!set title=Número de soluciones

!goto $wims_read_parm

:present
Consideremos el sistema lineal de ecuaciones con coeficientes reales:
<p><center><table border=0>
 <tr><td nowrap rowspan=4>$m_leftbrace4
 <td nowrap align=center>a<sub>11</sub>x<sub>1</sub> +
  a<sub>12</sub>x<sub>2</sub> + ... + a<sub>1n</sub>x<sub>n</sub> =
  b<sub>1</sub>
 <tr><td nowrap align=center>a<sub>21</sub>x<sub>1</sub> +
  a<sub>22</sub>x<sub>2</sub> + ... + a<sub>2n</sub>x<sub>n</sub> =
  b<sub>2</sub>
 <tr><td nowrap align=center>...
 <tr><td nowrap align=center>a<sub>m1</sub>x<sub>1</sub> +
  a<sub>m2</sub>x<sub>2</sub> + ... + a<sub>mn</sub>x<sub>n</sub> =
  b<sub>m</sub>
 </table></center> <p>
 <table border=0>
 <tr><td nowrap rowspan=4>Sean A = $m_leftpar4
 <td>a<sub>11</sub><td>a<sub>12</sub><td>...
 <td>a<sub>1n</sub>
 <td nowrap rowspan=4>$m_rightpar4&nbsp;,&nbsp;&nbsp; B = $m_leftpar4
 <td>a<sub>11</sub><td>a<sub>12</sub><td>...
 <td>a<sub>1n</sub><td>b<sub>1</sub>
 <td nowrap rowspan=4>$m_rightpar4&nbsp; las matrices de los coeficientes.
 <tr><td>a<sub>21</sub><td>a<sub>22</sub><td>...<td>a<sub>2n</sub>
 <td>a<sub>21</sub><td>a<sub>22</sub><td>...
 <td>a<sub>2n</sub><td>b<sub>2</sub>
 <tr><td nowrap colspan=4 align=center>...<td nowrap colspan=5 align=center>...
 <tr><td>a<sub>m1</sub><td>a<sub>m2</sub><td>...<td>a<sub>mn</sub>
 <td>a<sub>m1</sub><td>a<sub>m2</sub><td>...
 <td>a<sub>mn</sub><td>b<sub>m</sub>
 </table></center>
<p>La tarea consiste en determinar el número de soluciones del sistema.
!exit

:form
 El sistema tiene
 !formselect ans1 list ??,1,2,3 prompt ????,\
	una única solución, no tiene solución, tiene infinitas soluciones
 !exit

:ans
 Su respuesta es que el sistema tiene 
 !item $ans1 of una única solución, ninguna solución, inifinitas soluciones
.
 !ifval $ans1=$good1
  <font color=green>Correcto</font>.
 !else
  <font color=red>Respuesta errónea</font>: el sistema tiene
 !item $good1 of una única solución, ninguna solución, infinitas soluciones
.
 !endif
 !exit

:init
objname=este sistema lineal
hint=El número de soluciones de un sistema no está directamente relacionado con el número de ecuaciones\ 
 Está determinado por los rangos de las matrices de los coeficientes.\

parm1=número de incógnitas\
 Número de incógnitas del sistema\
 El sistema tiene n = ?? incógnitas
val1=!randint 5,15
weight1=2
parm2=número de ecuaciones\
 Número de ecuaciones del sistema\
 el sistema tiene m = ?? ecuaciones
val2=!randint $val1,$val1+2
weight2=1
parm3=homogeneousness\
 Es un sistema homogéneo\
 El sistema es ??
weight3=1
parm4=Det(A)\
 Det(A) = \
 Det(A) = ??\
 ¡El determinante de una matriz no cuadrada no tiene sentido!
weight4=1
parm5=Traza(A)\
 Traza(A) = \
 Traza(A) = ??\
 ¡La traza de una matriz no cuadrada no tiene sentido!
val5=!randint -20,20
weight5=0
parm6=Rango(A)\
 Rango(A) = \
 Rango(A) = ??
val6=!randint $val1-2,$val1
weight6=2
parm7=Det(B)\
 Det(B) = \
 Det(B) = ??\
 ¡El determinante de una matriz no cuadrada no tiene sentido!
weight7=1
parm8=Traza(B)\
 Traza(B) = \
 Traza(B) = ??\
 ¡La taza d euna matriz no cuadrada no tiene sentido!
val8=!randint -20,20
weight8=0
parm9=Rank(B)\
 Rango(B) = \
 Rango(B) = ??
weight9=2

parmcnt=9
anscnt=1
minask=3

!if random(100)<35
 val3=homogeneous
 val9=$val6
!else
 val3=non-homogeneous
 val9=!randint $val6,min($val6+1,$val2)
!endif
!if $val6<$val1
 val4=0
!else
 val4=$[(randint(19)+1)*(randint(2)*2-1)]
!endif
!if $val9<$val1+1
 val7=0
!else
 val7=$[(randint(19)+1)*(randint(2)*2-1)]
!endif

!if $val6<$val9
 good1=2
 solution=El sistema no tiene solución ya que Rango(B)&gt;Rango(A).
!else
 !if $val6<$val1
  good1=3
  solution=El sistema tiene infiitas soluciones ya que\
  Rango(B) = Rango(A) &lt; número de incógnitas.
 !else
  good1=1
  solution=El sistema tiene una única solución ya que\
  Rango(B) = Rango(A) = al número de incógnitas.
 !endif
!endif
!ifval $val1!=$val2
 weight4=-1
 weight5=-1
!endif
!ifval $val1+1!=$val2
 weight7=-1
 weight8=-1
!endif
!if $val9>$val1
 minask=2
 weight6=1
!endif
!if $val9>$val6
 minask=2
 weight1=1
!endif

!exit

:info
 !if $ask iswordof 4 5 7 8 and (1 notitemof $gotlist or 2 notitemof $gotlist)
  weight$ask=-1
  comment=Has preguntado por el determinate/traza sin conocer el orden de la matriz.\
  ¿Y si la matriz no es cuadrada?
 !endif
!exit

:final
 !bound ans1 within 1,2,3 default ??
 !ifval $ans1=$good1
  thisscore=1
 !endif
 !if 4 isitemof $gotlist and $val4!=0
  weight6=1
 !endif
 !if 4 isitemof $gotlist and $val4=0 and $val9>=$val1
  weight6=1
 !endif
 !if 7 isitemof $gotlist and $val7!=0
  weight9=1
 !endif
 !if 7 isitemof $gotlist and $val7=0 and $val6>=$val2-1
  weight9=1
 !endif
 !if 3 isitemof $gotlist and $val3=homogeneous
  !if 6 isitemof $gotlist
   weight9=1
  !else
   weight6=1
  !endif
 !endif
 !if 2 isitemof $gotlist and $val6=$val2
  weight9=1
 !endif
 !if $minask=2 and 1 notitemof $gotlist and 6 notitemof $gotlist
  !distribute word 2 2 into weight1,weight6
 !endif
!exit

