Programa de prescripción de lenguaje ensamblador
Demuestre: La suma de n números impares "1 + 3 + 5 + ... + (2n-1)" es n^2.
Demostración: Esta es la suma de la secuencia aritmética.
La suma de la secuencia aritmética = (primer término + último término) × (número de términos / 2)
Es decir: 1 + 3 + 5 +... + ( 2n-1 ) = (1 + (2n-1)) * (n/2)
= n^2
Idea de programación:
Desde un número M (Contiene un número cuadrado perfecto N + e), resta: 1, 3, 5,... hasta que no sea suficiente ¿Cuántas veces lo has restado? La raíz cuadrada es sólo unas pocas.
La parte principal del programa es la siguiente:
MOV AX, [datos]; Fetch M
MOV BX, 1;
MOV CX, 1
_S_LOOP:
SUB AX, BX
JC_END Hasta que haya una posición prestada
INC BX ;Modificar a 3, 5, 7...
INC BX
INC CX >
_END:
MOV [raíz ], CX; Guardar n
Eso es todo.
Este método para encontrar raíces cuadradas es muy eficiente, muy superior al método de iteración de Newton.