Factorización de números

Arrojeria, Eustakio

Elhuyar Zientziaren Komunikazioa

Lizaso, Pili

Informatika Saila

Elhuyar Fundazioa

A factorización dos números non é una tarefa complicada, polo que a redacción dun programa de computador que o leve a cabo pode ser relativamente sinxela.

Con todo, aínda que en moitos casos é interesante que o propio computador realice algunhas estimacións e devolva os resultados obtidos, noutros casos o usuario tamén pode asumir o papel de simple observador e co fin de evitalo, nós tratamos de esixir os resultados ao propio usuario nos nosos programas.

É sabido que este tipo de programas dificulta as cousas ou polo menos fai redactar programas máis longos. Por que?

O usuario normalmente non ten as respostas correctamente, cun só espazo, ordenadas, etc. haberá costume de entrar, pero non se lle pode dicir que a resposta que introduciu é errónea.

Por exemplo:

228 a factorización 2 2 . 3. É 19 pero o usuario 228 = 3 . 19. Pode introducir 2 2 e a resposta sería correcta.

Neste punto adóitase tomar a decisión de indicar claramente ao usuario as normas que debe cumprir ao introducir as respostas ou deixar a liberdade de entrar no modo en que el desexa facelo (aínda que non sexa completo).

Á hora de tomar esta decisión hai que ter en conta, por suposto, que deberá interpretar a segunda vía paira poder comprobar si axústase ou non ao seu resultado.

O motivo de todo iso é que a maior parte do programa que nos ocupa estea dirixido a interpretar a resposta do usuario.

O programa é o seguinte:

Partes do programa:

  • 70-210: Crear un número aleatorio de 1 a 9999 e descompolo en factores.
    Os factores gárdanse na táboa Z. Cada un dos compoñentes desta táboa está composto por tres elementos:
    • Z (I,1) Coeficiente propio
    • Z (I,2) Letra do factor I (expoñente)
    • Z (I,3) Indicarase si este factor está inventado ou non.
  • 220-460: leva o control das teclas pulsadas polo usuario ata que este pulse RETURN. As teclas dispoñibles, Ø, son a tecla de borrado e os números.
  • 470-670: A cadea introducida polo usuario divídese e almacénase como factor na táboa S, é dicir, o expoñente S (I,1) e o expoñente S (I,2), parellas.
  • 680-980: Compárase o resultado do programa (Z) co resultado do usuario (S) e entrégase a mensaxe correspondente (680-790). En calquera
    caso mostrarase o resultado correcto (800-980).

Nota:


Neste caso, os números tómanse aleatoriamente e o número resultante pode ser moi grande, moi pequeno ou ser o número primeiro. Isto é fácil de resolver si calculamos o número multiplicando por tres aleatorios. Próbao!

Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila