Ficha del alumnado

Algoritmos con estado

Tres secciones por lección: predecir, construir y explicar. Trabaja en papel o en el laboratorio local. La aplicación no solicita nombre, cuenta ni registro del estudiante.

16. Factorial e invariantes de bucle

Usa un acumulador multiplicativo y explica por qué 0! es 1.

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 4 R1
LOAD 1 R2
LOOP 4
LOAD R2
MUL R1
COPY R0 R2
LOAD R1
SUB 1
COPY R0 R1
RETURN
LOAD R2
PRINT
HALT

Añadir entradas a la cola: Ninguno

Inicializar memoria: Todos los bytes empiezan en cero

InstrucciónPC antesPC despuésR0 antesR0 despuésEstado relevanteSalida
       
       
       

2. Construir y comprobar

Lee N entre 0 y 6 e imprime N!. Usa un bucle y un acumulador de multiplicación.

Tipos de instrucción requeridos: INPUT, LOOP, MUL

Programa inicial

INPUT
COPY R0 R1
COPY R0 R3
LOAD 1 R2
LOOP R3
  #
RETURN
LOAD R2
PRINT
HALT

Tu programa y notas

3. Explicar la máquina

¿Por qué empieza el acumulador de producto en 1?