Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa | |||
018:trucos [d/m/Y H:i] – [¿Fallo en la ROM?] miguel | 018:trucos [d/m/Y H:i] (actual) – [¿Fallo en la ROM?] miguel | ||
---|---|---|---|
Línea 34: | Línea 34: | ||
==== ¿Fallo en la ROM? ==== | ==== ¿Fallo en la ROM? ==== | ||
- | |||
- | OJO MODIFICAR POTENCIA... | ||
- | |||
Todos aquellos que se interesen por las aplicaciones científico-técnicas del Spectrum, utilizándolo como una sofisticada calculadora programable, | Todos aquellos que se interesen por las aplicaciones científico-técnicas del Spectrum, utilizándolo como una sofisticada calculadora programable, | ||
Línea 42: | Línea 39: | ||
El problema se presenta cuando queremos calcular potencias de números negativos, expresiones del tipo —3< | El problema se presenta cuando queremos calcular potencias de números negativos, expresiones del tipo —3< | ||
- | Si intentamos el cálculo en comando directo, nos encontraremos con la sorpresa de que el resultado es —9 (¡) en lugar de +9; para aumentar más aún la confusión, realizando este cálculo en modo programa, normalmente se obtiene un mensaje de error del tipo «argumento no valido», con la consiguiente detención del programa. | + | Si intentamos el cálculo en comando directo, nos encontraremos con la sorpresa de que el resultado es -9 (¡) en lugar de +9; para aumentar más aún la confusión, realizando este cálculo en modo programa, normalmente se obtiene un mensaje de error del tipo «argumento no valido», con la consiguiente detención del programa. |
El programa 1 evidencia este hecho y le permitirá experimentar con los posibles valores de la base (x) y del exponente (y). El programa 2, propone una manera alternativa de solucionar el problema; en líneas generales, realiza lo siguiente: | El programa 1 evidencia este hecho y le permitirá experimentar con los posibles valores de la base (x) y del exponente (y). El programa 2, propone una manera alternativa de solucionar el problema; en líneas generales, realiza lo siguiente: | ||
Línea 71: | Línea 68: | ||
20 LET neg = NOT (SGN x + 1) | 20 LET neg = NOT (SGN x + 1) | ||
30 IF neg THEN PRINT PAPER 5; INK 1; FLASH 1;" | 30 IF neg THEN PRINT PAPER 5; INK 1; FLASH 1;" | ||
- | 40 LET resultado = x y | + | 40 LET resultado = x^y |
50 LET r$ = (a$ (1) and neg) + STR$ resultado | 50 LET r$ = (a$ (1) and neg) + STR$ resultado | ||
- | 60 PRINT " | + | 60 PRINT " |
70 PRINT "Pulsa una tecla": | 70 PRINT "Pulsa una tecla": | ||
100 GO TO (7 AND neg) + (10 AND NOT neg) | 100 GO TO (7 AND neg) + (10 AND NOT neg) | ||
</ | </ |