lunes, 30 de marzo de 2015

Enseñar a restar de forma manipulativa.

Para enseñar a restar manipulando objetos, creo que las hojas de cuadros de los cuadernos son la mejor herramienta (no hay que pintar los cuadradillos).
Probablemente, si a una persona que no domina los sistemas de numeración (por ejemplo, los niños españoles de 7 años o menos) se le pide que marque 24 cuadradillos los marque todos seguidos. Es una opción válida.
Si le pedimos que quite 8 cuadradillos, es posible que marque los últimos 8 cuadradillos
y al borrarlos
quedarse el resultado adecuado:
Ahora bien, si le pedimos que los agrupe de 10 en 10, como le enseñan en la escuela a contar, formará una figura como la siguiente
Entonces se le muestra por qué escribimos 24 (2 bloques de 10 y 4 bloques de uno). E igual que antes, se le pide que marque 8 cuadradillos. Si elige los 8 "últimos", se le podrá explicar qué es eso de "llevar" o "pedir prestado" (a la fila de arriba).
No es fácil restar 8 a 4, pero es más fácil hacerlo de 14. El resultado es el mismo que antes, pero ahora es más fácil escribir el número del resultado:
 Una fila de 10 + una fila de 6, 16.
Y si todavía no sabe multiplicar, estamos a tiempo de decirle que puede buscar otra forma de agrupar los cuadradillos de forma que queden todos en un bloque, sin cuadradillos sueltos (es decir, todas las filas con el mismo número de cuadradillos). Si ya sabe multiplicar, le recordamos que 24 es 8*3, y que agrupe los cuadradillos en 3 bloques de 8 (u 8 bloques de 3).
Si ahora le pedimos que reste 8, marcará toda una fila (o columna).

Y habrá que hacerle ver que el resultado de restar 8 a 8*3 es 8*2.
2 filas de 8 cuadradillos o 16 cuadradillos.

Y podemos enseñarle más aun. ¿Qué son los números primos? Son los que no se pueden dibujar con bloques de cuadradillos de ninguna forma, excepto todos seguidos, de modo que no quede ningún cuadradillo suelto (es decir, que todas las filas tengan el mismo número de cuadradillos).



Copyleft Ender. El presente artículo no tiene finalidad informativa, de creación de opinión pública o de entretenimiento. Tiene como finalidad principal, la enseñanza y la divulgación de experiencias, proyectos, pensamientos y conocimientos del autor. Se permite la copia textual, la traducción y la distribución de este artículo entero en cualquier medio, a condición de que este aviso sea conservado. Se permite la cita. El autor no reclamará ninguna cantidad por el ejercicio de las dos autorizaciones anteriores. No autorizo a ninguna Entidad de Derechos de Autor a reclamar cantidad alguna en mi nombre por el ejercicio de los dos derechos anteriores.

domingo, 29 de marzo de 2015

Otra forma de verificar programas

La idea general es la siguiente:

Se trata de ver, para cada función de salida, qué rango de argumentos le llegan, dependiendo del tipo, por ejemplo:

* Salida de frases, utilizando el álgebra de expresiones regulares, comprobar qué expresión regular se puede mostrar en el peor de las rutas de un grafo desde que se lee la entrada hasta esta salida. Esta expresión regular se ve afectada por comparaciones en bifurcaciones o manipulaciones de la frase.
* Uso de enteros, comprobar que el rango inicial [-inf,inf] se quede en [-inf,0)(0,inf] en una división..
* Uso de punteros, cuyos estados son: null, reservado, escrito, liberado.


NOTA: Cualquier implementación de esta idea debe ser realizada en código libre.


Copyleft Ender. El presente artículo no tiene finalidad informativa, de creación de opinión pública o de entretenimiento. Tiene como finalidad principal, la enseñanza y la divulgación de experiencias, proyectos, pensamientos y conocimientos del autor. Se permite la copia textual, la traducción y la distribución de este artículo entero en cualquier medio, a condición de que este aviso sea conservado. Se permite la cita. El autor no reclamará ninguna cantidad por el ejercicio de las dos autorizaciones anteriores. No autorizo a ninguna Entidad de Derechos de Autor a reclamar cantidad alguna en mi nombre por el ejercicio de los dos derechos anteriores.