![]() |
Aprender y divertirse con
la Hoja de Cálculo Página personal de Antonio Roldán Martínez |
Inicio Sin decimales Aritmética Divisibilidad Combinatoria Congruencias Juegos Diccionario general Estadística Teoría de Números (R. Parra) |
|
Exploraciones Trucos Estudios Sugerencias Funciones y macros |
||
|
Estás en Inicio > Exploraciones > Estudios |
||
Estudios
En este apartado se incluirán estudios más amplios que un simple truco. Podrán versar sobre funciones, técnicas, controles, macros, etc.
En la actualidad están incorporados los siguientes estudios:
Temporizadores
Inserción de animaciones flash (Excel)
Conjuntos numéricos idénticos
Una hoja de cálculo permite pequeñas animaciones, que, aunque no pueden competir como tales con las logradas con otras herramientas, sí pueden ayudar, mediante pequeños cambios y movimientos, una comprensión mejor de algunos objetos numéricos.
Concepto de temporizador
Llamaremos temporizador a cualquier técnica que permita que unos números o gráficos cambien de forma rítmica según el transcurso del tiempo en una hoja de cálculo. Por ejemplo, podemos lograr que en una celda vayan apareciendo los números primos, de forma consecutiva, cada segundo de tiempo.
![]() |
Puedes observar este ejemplo en un libro que hemos preparado de OpenOffice o de Excel. |
Podemos usar dos métodos distintos para construir un temporizador, dependiendo del intervalo de tiempo deseado.
1) Temporizador para segundos
Podemos construir un temporizador con el siguiente código en Basic
|
Se comienza definiendo dos variables t0 y t1, que leerán la variable Timer del Basic. En OpenOffice esta variable lleva la cuenta de los segundos transcurridos. Por esta razón el temporizador definido sólo vale para segundos. En Excel se pueden definir pausas menores que 1. La variable t0 almacena el primer valor del Timer, y la t1 vuelve a leer ese valor en el bucle While_Wend de forma continua hasta que se sobrepasa la Pausa, con lo que sale del bucle, produciendo un retardo. Estudia en los ejemplos la forma de integrar este código, tanto en Excel como en OpenOffice. Cada vez que incluyas la orden Call Retardo, se producirá la pausa en segundos deseada.
|
Ejemplo: Además del ya incluido de la serie de números primos, puedes consultar otro similar sobre divisores comunes en Excel u OpenOffice
2) Temporizador aproximado
El anterior temporizador es bastante exacto al contar segundos. Si se renuncia a esa exactitud, se puede construir un temporizador mucho más rápido, que permita una cierta animación en los objetos.
El código propuesto se basa en una idea muy sencilla: la de mantener el procesador ocupado en una tarea inútil. Hemos elegido una muy fácil de programar en Basic, y es la de un bucle FOR_NEXT vacio, por ejemplo:
For n=1 to 30000
Next i
que repite 30000 veces una tarea inútil, la de llevar la cuenta de la variable i
| Si abres el archivo de OpenOffice la
rueda.ods, y entras en su código con
Herramientas - Macros - Organizar macros -
OpenOffice.org Basic... y observarás que se usa un ciclo FOR-NEXT, pero
introduciendo una variable de velocidad. No se ofrece el correspondiente archivo en Excel porque no permite las mismas prestaciones. |
![]() |
for j=1 to 1e6/velocidad : next j
En el sencillo ejemplo animdivi.ods, también de OpenOffice puedes observar que se van contabilizando los divisores de algunos números dejando transcurrir un intervalo de tiempo entre uno y otro.
Ir al menú Ver > Barra de herramientas > Cuadro de controles y elegir el último botón de esta barra (botón que parece un martillo)
![]()
Seleccionar "Shockwave Flash Object" de la lista.

El puntero del ratón se convierte en una cruz, pulsar el botón del ratón y arrastrar para abrir un cuadro.

![]() |
Hacer clic con el botón derecho sobre ese cuadro.
Aparecerá un menú y en él hay seleccionar la opción de Propiedades. En la ventana que aparece hay que hacer clic en la palabra “Personalizado”, y seleccionar el icono de “build” (los tres puntitos al final de la línea). Teclar el URL o la dirección donde se encuentra el archivo y activar la opción de Incrustar película Presionar el botón de “Aplicar” y luego el de “Aceptar” . |
Cerrar el archivo de Excel.
Al volverlo a abrir
debería verse la animación flash activa.
Si no se ve nada, pulsar con el botón
derecho y pedir Reproducir
En algunas cuestiones
resulta útil decidir de forma automática si dos conjuntos numéricos son
idénticos o no. Por ejemplo, en las tablas de multiplicar de los cuerpos
finitos, como Z/Z7, es interesante descubrir si
(a) No existen elementos repetidos en ninguna fila o columna
(b) Los elementos de las distintas filas son los mismos.
Si escribimos los dos conjuntos en una hoja de cálculo, en filas paralelas, deberemos comprobar cuatro hechos para decidir si los conjuntos son idénticos o no:
(1) No existen
elementos repetidos en el primer conjunto
(2) Tampoco se repiten los del segundo
(3) Todo elemento del primero ha de pertenecer al segundo
(4) Todo elemento del segundo ha de pertenecer al primero.

Las cuatro cuestiones las resuelve la función CONTAR.SI. Recorremos todo el primer conjunto y mediante esta función contamos las veces que figuran en el segundo. Si esos valores son mayores que 1, es que existen repetidos en el segundo conjunto, y si es 0, es que falta alguno. Lo deseable, pues, es que todos los contadores presenten el valor 1.
Procedemos de la misma forma, contando las veces que los elementos del segundo conjunto figuran en el primero, y también han de valer 1. Para evitar problemas en las siguientes operaciones que explicaremos, a las celdas vacías también se le debe asignar un 1.
¿Cómo resumimos la situación? Multiplicamos todos los contadores del primer conjunto, y nos ha de resultar la unidad. Ocurrirá lo mismo con el producto de los del segundo, por lo que si multiplicamos ambos productos, obtendremos un criterio para decidir si los dos conjuntos son idénticos: el que el producto final tenga el valor de 1.
Puedes estudiar este proceso en las hojas
|
|
identicos.xls |
|
|
identicos.ods |