10. Lógica condicional: tomar decisiones
Compara valores y elige un camino con un indicador guardado.
Abrir esta lección →
1. Predecir y trazar
Antes de ejecutar el programa de prueba, predice su salida y traza las tres primeras instrucciones ejecutadas. Sigue los registros, indicadores o memoria relevantes. Después avanza paso a paso para comparar.
LOAD 7
CMP 7
JUMP_IF_ZERO same
LOAD 0
JUMP show
same: LOAD 1
show: PRINT
HALT
Añadir entradas a la cola: Ninguno
Inicializar memoria: Todos los bytes empiezan en cero
2. Construir y comprobar
Lee dos enteros. Imprime 1 si son iguales y 0 si son distintos. Debe funcionar con ambos tipos de entrada.
Tipos de instrucción requeridos: INPUT, CMP, JUMP_IF_ZERO
Programa inicial
INPUT
COPY R0 R1
INPUT
CMP R1
#
HALT
Tu programa y notas
3. Explicar la máquina
¿Puede Z estar activado aunque R0 no sea cero?
11. Par o impar
Usa el resto y una bifurcación para clasificar una entrada.
Abrir esta lección →
1. Predecir y trazar
Antes de ejecutar el programa de prueba, predice su salida y traza las tres primeras instrucciones ejecutadas. Sigue los registros, indicadores o memoria relevantes. Después avanza paso a paso para comparar.
LOAD -3
MOD 2
JUMP_IF_ZERO even
LOAD 0
JUMP show
even: LOAD 1
show: PRINT
HALT
Añadir entradas a la cola: Ninguno
Inicializar memoria: Todos los bytes empiezan en cero
2. Construir y comprobar
Lee un entero. Imprime 1 si es par y 0 si es impar.
Tipos de instrucción requeridos: INPUT, MOD, JUMP_IF_ZERO
Programa inicial
INPUT
MOD 2
#
HALT
Tu programa y notas
3. Explicar la máquina
¿Es −3 impar aunque MOD 2 produzca −1?
12. Una decisión basada en memoria
Decide a partir de datos guardados y registra el resultado.
Abrir esta lección →
1. Predecir y trazar
Antes de ejecutar el programa de prueba, predice su salida y traza las tres primeras instrucciones ejecutadas. Sigue los registros, indicadores o memoria relevantes. Después avanza paso a paso para comparar.
STORE 23 40
LOAD [40] R1
LOAD 23
CMP R1
JUMP_IF_ZERO match
LOAD 0
JUMP record
match: LOAD 1
record: STORE 41
PRINT
HALT
Añadir entradas a la cola: Ninguno
Inicializar memoria: 40: 23
2. Construir y comprobar
La memoria 40 contiene un código suministrado. Lee un intento y después imprime y guarda en la dirección 41 un 1 si coincide o un 0 si no coincide.
Tipos de instrucción requeridos: INPUT, CMP, STORE, JUMP_IF_ZERO
Programa inicial
LOAD [40] R1
INPUT
CMP R1
#
HALT
Tu programa y notas
3. Explicar la máquina
¿Por qué debe funcionar el programa aunque cambie la memoria 40?