Diferencias
Muestra las diferencias entre dos versiones de la página.
Próxima revisión | Revisión previa | ||
018:trucos [d/m/Y H:i] – creado miguel | 018:trucos [d/m/Y H:i] (actual) – [¿Fallo en la ROM?] miguel | ||
---|---|---|---|
Línea 33: | Línea 33: | ||
</ | </ | ||
- | ==== ¿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, | ||
- | El problema se presenta cuando queremos calcular potencias de números negativos, expresiones del tipo —32. | + | 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 59: | Línea 56: | ||
5 REM *** PROGRAMA 1 *** | 5 REM *** PROGRAMA 1 *** | ||
10 INPUT x, y | 10 INPUT x, y | ||
- | 20 PRINT x y | + | 20 PRINT x^y |
30 GO TO 10 | 30 GO TO 10 | ||
</ | </ | ||
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) | ||
</ | </ |