sábado, 24 de enero de 2009

Autogenerados por sus cifras (1)

En su blog Ciencia del siglo XXI. Mirando con la mente, Eugenio Manuel ha publicado hace unos días la siguiente curiosidad numérica

2187 = (2+18)7

Al leerla me pregunté si existirían más números de cuatro cifras que pudieran ser generados por esas mismas cifras y en el mismo orden. A esta forma de generar, la llamaré fuerte, pues existen otros números que pueden ser generados alterando el orden, como 6145=45*6+1. De estos diré que han sido producidos por una generación de tipo débil.

Con un algoritmo de búsqueda he encontrado otros ejemplos de autogeneración fuerte:

1285 = (1+28)*5 ; 3972 = 3+(9*7)2 ; 3125 = (3*1+2)5=(31+2)5 ; 6455 = (64-5)*5

El hecho de no haber usado la operación de dividir y además la imposición de algunas restricciones para evitar desbordamientos de memoria me impiden asegurar que estos cinco números sean los únicos de autogeneración fuerte con cuatro cifras.

Si encontráis alguno más, os ruego me aviséis.

¿Habrá alguno con tres cifras? ¿Y con cinco o seis?

Por la web he visto estos dos ejemplos impresionantes de generación débil con diez cifras











¿Existirán generaciones mutuas, en las que las cifras de A generen B y las de B generen A?

Si averiguo algo más os lo contaré.

sábado, 17 de enero de 2009

Sistema de numeración binaria


Idea para el aula

El sistema de numeración en base 2 puede tener un aprendizaje totalmente distinto que el del resto de sistemas en otras bases. Su esencia es la de intentar formar un número a partir de los sumandos 1, 2, 4, 8, 16,… tomados sin repetir. Por ello, si se presenta al alumnado un catálogo de estos números, representados como conjuntos o “montones”, basta ir eligiéndolos uno a uno para formar el número deseado.

Así, para formar el número 81, se van sumando los números 64, 32, 16, etc. añadiendo o quitando cada uno de ellos hasta llegar a la solución 81 = 64 + 16 + 1. La parte más difícil es interpretar después que esta suma da lugar a la representación binaria 1010001. Para ayudar en ese paso hemos creado una hoja de cálculo que visualiza tanto la agregación de los “montones” como la representación binaria a la que dan lugar.


No se dan aquí indicaciones de cómo usar esta hoja, pues su simplicidad permite varios itinerarios distintos en el aprendizaje y la elección de la metodología más adecuada a juicio de cada docente.

La hoja de cálculo de OpenOffice.org Calc está alojada en la siguiente dirección:


Al abrirla se nos consulta sobre la activación de macros. Se puede aceptar con confianza, porque sólo contiene un pequeño código para el funcionamiento de un botón.

miércoles, 3 de diciembre de 2008

Define tus propias funciones en OpenOffice.org Calc


En ocasiones desearás definir otras funciones además de las que OpenOffice.org Calc te ofrece. Por ejemplo, sería útil una función tal que si se aplica a un número entero positivo devuelva su mayor divisor. Para ello disponemos del lenguaje Basic (de macros) que lleva incorporado Calc. 

A partir de esta entrada iremos explicando en otras sucesivas la forma de implementar algunas funciones. Antes de nada hay que aprender a definirlas en el Editor de Basic.

Editor de Basic

Crea una hoja o abre alguna existente. Para abrir el editor sigue la secuencia: Menú Herramientas > Macros > Organizar macros > OpenOffice.org Basic.

Si es la primera función que defines, busca la carpeta correspondiente al nombre de tu hoja de cálculo (si lo acabas de crear, se llamará Sin Nombre o Sin Título). No señales la otra carpeta Standard, que es más general. Si ya has definido algunas funciones, habrás definido un módulo contenedor. Abre ese módulo.

Si no habías creado ningún módulo, una vez elegida la carpeta, pulsa el botón Nuevo para abrir un nuevo módulo contenedor. Se te ofrecerá el nombre de module1, module2 u otro similar. Acepta el nombre o cámbialo según tu criterio. Al aceptar el nombre se abrirá el editor de macros. Por defecto aparecerá la macro Main, que puedes borrar o ignorar.



Escritura del código

Terminada la secuencia anterior, borra lo que esté escrito de la macro Main y escribe el código de una función:

Debes comenzar con

Function nombre de la función ( argumento )

y terminar con

End function

y entre ambas, el código de la función. En ese código debemos usar el nombre de la función seguida del signo igual y de su definición

Es mejor verlo con un ejemplo:

Function cubo ( numero )
cubo=numero*numero*numero
End function

En el ejemplo, el nombre de la función es cubo, y su argumento numero (lo traduciríamos como "Cubo de un número")

Después volvemos a escribir cubo, el signo igual, y su definición.

Uso de la función

Una vez escrito el código, cierra el Editor de Basic y usa tu función en cualquier celda. En la imagen puedes ver que en B2 se ha escrito un número y en B4 la fórmula =CUBO(B2)

Con esto ya tienes definida la función. 

Con la técnica explicada, esa función sólo estará activa en la hoja de cálculo en la que la has creado, no en otras. Al cerrar la hoja ya no podrás usarla. 

(Continuará)

lunes, 1 de diciembre de 2008

Resolución con dos teclas

Intentemos resolver el siguiente problema con calculadora u hoja de cálculo:

Encontrar varios números naturales consecutivos cuyo producto sea igual a un número natural N dado.

(a) Con dos números es inmediato: Si sabemos con seguridad que la ecuación x(x+1)=N tiene soluciones enteras, como sería x(x+1)=132, es posible encontrar la solución de la ecuación con las teclas de raíz cuadrada y parte entera. En la hoja de cálculo se usaría =ENTERO(RAÍZ(N)) (En Excel escribe RAIZ sin tilde)

En efecto ENTERO(RAÍZ(132))=11, que es la solución de x(x+1)=132, pues 11*12=132.

La razón de que esto funcione es la desigualdad

 También funciona este procedimiento para x(x+1)(x+2)=N. Así,  la solución de x(x+1)(x+2)=13800 es la parte entera de su raíz cúbica, que en hoja de cálculo se expresaría como =ENTERO(N^(1/3)), y en el ejemplo nos daría la solución 23, y comprobando, 23*24*25=13800.

La razón aquí es una desigualdad similar a la anterior
 
Esta no es trivial. Razónala si así lo deseas.

¿Ocurriría lo mismo con cuatro números consecutivos? Pues no exactamente, pues necesitarías dos teclas y algo más. Quizás el siguiente desarrollo te dé una idea, pero razona o demuestra todo con rigor, que hay alguna dificultad.

En vista de esto, podíamos intentar procedimientos similares para cinco o seis números. Inténtalo, y que no te pierdas con tanto polinomio

Combinado de murciélago

La palabra MURCIELAGO ha sido usada tradicionalmente para la codificación en pequeños comercios, por tener diez letras distintas (5 vocales y 5 consonantes) que se pueden usar para representar las cifras de 0 a 9 en una asignación decidida por cada comerciante: M=0, C=1, E=2, etc.

Sobre ella se pueden plantear muchos problemas de distintos niveles. Aquí hemos elegido unos cuantos:

(a) ¿De cuántas formas se pueden ordenar las letras de MURCIELAGO, de forma que no caigan todas las vocales seguidas? (Se prohíben permutaciones como MRCOAEIULG)

(b) ¿Y si deseamos que nunca aparezcan vocales consecutivas, aunque sólo sean dos? (Deseamos que todas estén separadas)

(c) ¿Y si, por el contrario, deben estar las cinco vocales consecutivas y en su orden natural?

Se pueden inventar más, pero la Combinatoria cansa mucho. Suerte con ellos.

viernes, 31 de octubre de 2008

La tabla misteriosa

La tabla misteriosa

En esta tabla están casi todos los primeros números naturales. Lo que ves es sólo un fragmento de otra mayor que puede tener tantas filas y columnas como deseemos.

(1) ¿Cómo se ha generado esta tabla? Si lo descubres (no es difícil) tendrás las demás respuestas casi resueltas.

(2) En esta tabla no están todos los primeros números. ¿Cuáles faltan? ¿Qué característica comparten? (no cuentes el 1, que es un caso especial)

(3) Por el contrario, algunos de ellos están repetidos. Si prolongásemos la tabla se incrementarían las repeticiones. ¿Qué clase de números están repetidos?

(4) Todos los números de la primera columna se pueden expresar como k(k+2), siendo n natural. ¿Admiten expresiones similares las restantes columnas?

(5) Los números de la misma fila pueden descomponerse en factores del tipo n(k-n), siendo n y k naturales y k constante para la misma fila. ¿Puedes concretarlo más?

(6) ¿Qué podemos afirmar de las diagonales descendentes? La primera está formada por impares, la segunda por múltiplos de cuatro, y, en general, todas son sucesiones aritméticas ¿Por qué?

Ya sabes, acertando la primera, las demás caerán fácilmente.

domingo, 5 de octubre de 2008

Grandes periodos

¿Cuál es el periodo de la fracción 77/23?

Las hojas de cálculo están orientadas a los números decimales y se comportan mal en algunos problemas que necesitan operaciones con números enteros. Así, en la cuestión de obtener el periodo de una fracción, aunque es un problema propio de números racionales, los cálculos se efectúan mediante la división entera tradicional. Así se efectuaba en las aulas cuando no existían las calculadoras.

No es difícil implementar una división entera para obtener los periodos largos que se producen con denominadores que contengan como factores números primos grandes. La idea es usar las funciones COCIENTE y RESIDUO de OpenOffice.org Calc ( Excel no usa la función COCIENTE, pero se puede sustituir por ENTERO(numerador/denominador)).

Por ejemplo, para obtener muchas cifras decimales del cociente 77/23, podemos proceder así: El cociente entre ambos sería COCIENTE(77;23) = 3 (En Excel ENTERO(77/23), que sería la parte entera. El resto se hallaría mediante RESIDUO(77;23)=8. 

A continuación podemos imitar la división que efectuábamos en el colegio (“sacar decimales”). Podemos multiplicar el resto 8 por 10 y volver a repetir la operación: COCIENTE(80;23) = 3, que sería la primera cifra decimal. Volvemos a hallar el resto: RESIDUO(80;23) = 11. Y así reiteramos cuantas veces deseemos.

En la imagen puedes estudiar la forma de ordenar estos cálculos

Puedes profundizar en este algoritmo en el archivo de dirección

http://www.hojamat.es/sindecimales/aritmetica/teoria/hojas/granperiod.ods

(Si usas Internet Explorer, el programa puede interpretar como archivo .zip la hoja de cálculo de OpenOffice) 

Versión en Excel: 

http://www.hojamat.es/sindecimales/aritmetica/teoria/hojas/granperiod.xls