Factorització de números

Arrojeria, Eustakio

Elhuyar Zientziaren Komunikazioa

Lizaso, Pili

Informatika Saila

Elhuyar Fundazioa

La factorització dels números no és una tasca complicada, per la qual cosa la redacció d'un programa d'ordinador que el dugui a terme pot ser relativament senzilla.

No obstant això, encara que en molts casos és interessant que el propi ordinador realitzi algunes estimacions i retorni els resultats obtinguts, en altres casos l'usuari també pot assumir el paper de simple observador i amb la finalitat d'evitar-lo, nosaltres tractem d'exigir els resultats al propi usuari en els nostres programes.

És sabut que aquest tipus de programes dificulta les coses o almenys fa redactar programes més llargs. Per què?

L'usuari normalment no té les respostes correctament, amb un sol espai, ordenades, etc. hi haurà costum d'entrar, però no se li pot dir que la resposta que ha introduït és errònia.

Per exemple:

228 la factorització 2 2 . 3. És 19 però l'usuari 228 = 3 . 19. Pot introduir 2 2 i la resposta seria correcta.

En aquest punt se sol prendre la decisió d'indicar clarament a l'usuari les normes que ha de complir en introduir les respostes o deixar la llibertat d'entrar en la manera en què ell desitja fer-lo (encara que no sigui complet).

A l'hora de prendre aquesta decisió cal tenir en compte, per descomptat, que haurà d'interpretar la segona via per a poder comprovar si s'ajusta o no al seu resultat.

El motiu de tot això és que la major part del programa que ens ocupa estigui dirigit a interpretar la resposta de l'usuari.

El programa és el següent:

Parts del programa:

  • 70-210: Crear un número aleatori d'1 a 9999 i descompondre'l en factors.
    Els factors es guarden en la taula Z. Cadascun dels components d'aquesta taula està compost per tres elements:
    • Z (I,1) Coeficient propi
    • Z (I,2) Lletra del factor I (exponent)
    • Z (I,3) S'indicarà si aquest factor està inventat o no.
  • 220-460: Es porta el control de les tecles premudes per l'usuari fins que aquest premi RETURN. Les tecles disponibles, Ø, són la tecla d'esborrat i els números.
  • 470-670: La cadena introduïda per l'usuari es divideix i s'emmagatzema com a factor en la taula S, és a dir, l'exponent S (I,1) i l'exponent S (I,2), parelles.
  • 680-980: Es compara el resultat del programa (Z) amb el resultat de l'usuari (S) i es lliura el missatge corresponent (680-790). En
    qualsevol cas es mostrarà el resultat correcte (800-980).

Nota:


En aquest cas, els números es prenen aleatòriament i el número resultant pot ser molt gran, molt petit o ser el número primer. Això és fàcil de resoldre si calculem el número multiplicant per tres aleatoris. Prova-ho!

Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila