Documente Academic
Documente Profesional
Documente Cultură
Como puede verse, al tratar de ejecutarse la octava iteración, la condición contador < factor2 es
falsa; por lo tanto, el ciclo ya no se repite, y en producto tenemos el resultado de la
multiplicación.
Dividir restando
Dividir 25/7 equivale a averiguar cuántas veces se puede restar el 7 al 25. Esto es,
25 - 7 = 18, al que todavía puedo restar 7, entonces
18 - 7 = 11, al que todavía puedo restar 7, entonces
11 - 7 = 4, al que ya no puedo restar 7, porque es menor o igual a 7.
Así que realicé tres restas y el resultado de la última resta fue 4.
Por tanto, al dividir 25/7 obtengo como cociente 3 y como residuo 4.
PROGRAMA A COMPILAR
; ---------------------------------------------
; Programa 4 Practica 1
;
;
; ---------------------------------------------
.NOLIST
.LIST
.Factor1=25
.Factor2=7
rjmp
Contador=0
Residuo=0
Cociente=0
Mientras(factor1>factor2)
Factor-factor2
Factor1=residuo
C=c+1 // contador
repite (residuo<=factor2)
cociente=residuo-factor2
fin_mientras ()
loopf:
rjmp loopf
Dividir 25/7 equivale averiguar cuantas veces se puede restar el 7 al 25. Esto es, 25-
7=18 y asi se van hasta que ya no se pueda restar el número 7.
Se divide 35/7, sabiendo que 7*5=35 por lo tanto tienen que salir 5 restas más.
35-7=28
28-7=21
21-7=14
14-7=7
7-7=0
Por lo que tenemos 5 restas y un residuo de 0
iteración Contador<factor2 contador producto
1ra V 1 35
2da V 2 28
3ra V 3 21
4ta V 4 17
5ta V 5 7
6ta F 5 0
Idi r16.0.
Idi r17.99.
Idi r18.0.
Cp r16.r17;mientras(r16>r17)
brsh finsi
add r18.r16
inc r16
finsi:
movr30+r16
1ra V 1 98
2da V 2 95
3ra V 3 90
4ta V 4 83
5ta V 5 74
6ta V 6 63
7ta V 7 50
8ta V 8 35
9ta V 9 18
10ta F 10 -1
Bibliografía:
http://www.esi2.us.es/~jaar/Datos/FIA/T7.pdf
http://www.uaa.mx/direcciones/dgdv/editorial/docs/algoritmos.pdf