Factorización de números

Arrojeria, Eustakio

Elhuyar Zientziaren Komunikazioa

Lizaso, Pili

Informatika Saila

Elhuyar Fundazioa

La factorización de los números no es una tarea complicada, por lo que la redacción de un programa de ordenador que lo lleve a cabo puede ser relativamente sencilla.

Sin embargo, aunque en muchos casos es interesante que el propio ordenador realice algunas estimaciones y devuelva los resultados obtenidos, en otros casos el usuario también puede asumir el papel de simple observador y con el fin de evitarlo, nosotros tratamos de exigir los resultados al propio usuario en nuestros programas.

Es sabido que este tipo de programas dificulta las cosas o al menos hace redactar programas más largos. ¿Por qué?

El usuario normalmente no tiene las respuestas correctamente, con un solo espacio, ordenadas, etc. habrá costumbre de entrar, pero no se le puede decir que la respuesta que ha introducido es errónea.

Por ejemplo:

228 la factorización 2 2 . 3. Es 19 pero el usuario 228 = 3 . 19. Puede introducir 2 2 y la respuesta sería correcta.

En este punto se suele tomar la decisión de indicar claramente al usuario las normas que debe cumplir al introducir las respuestas o dejar la libertad de entrar en el modo en que él desea hacerlo (aunque no sea completo).

A la hora de tomar esta decisión hay que tener en cuenta, por supuesto, que deberá interpretar la segunda vía para poder comprobar si se ajusta o no a su resultado.

El motivo de todo ello es que la mayor parte del programa que nos ocupa esté dirigido a interpretar la respuesta del usuario.

El programa es el siguiente:

Partes del programa:

  • 70-210: Crear un número aleatorio de 1 a 9999 y descomponerlo en factores.
    Los factores se guardan en la tabla Z. Cada uno de los componentes de esta tabla está compuesto por tres elementos:
    • Z (I,1) Coeficiente propio
    • Z (I,2) Letra del factor I (exponente)
    • Z (I,3) Se indicará si este factor está inventado o no.
  • 220-460: Se lleva el control de las teclas pulsadas por el usuario hasta que éste pulse RETURN. Las teclas disponibles, Ø, son la tecla de borrado y los números.
  • 470-670: La cadena introducida por el usuario se divide y se almacena como factor en la tabla S, es decir, el exponente S (I,1) y el exponente S (I,2), parejas.
  • 680-980: Se compara el resultado del programa (Z) con el resultado del usuario (S) y se entrega el mensaje correspondiente (680-790). En
    cualquier caso se mostrará el resultado correcto (800-980).

Nota:


En este caso, los números se toman aleatoriamente y el número resultante puede ser muy grande, muy pequeño o ser el número primero. Esto es fácil de resolver si calculamos el número multiplicando por tres aleatorios. ¡Pruébalo!

Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila