← Simuladores
De la interfaz al código

Un programa, tres vistas

El mismo programa suma dos números. Lo que cambia es la forma de comunicarnos con él: ventana, terminal o código fuente.

Prueba primero la ventana. Los valores se copiarán en los ejemplos inferiores para poder seguir su recorrido.

entrada → proceso → salida
1

Como programa de escritorio

Interfaz gráfica (GUI)

+Suma fácil

Sumar dos números

Escribe los números y pulsa el botón.

Resultado7
2

Como programa de terminal

Interfaz de línea de comandos (CLI)

❯_Terminal — bashsesión local
Programa suma preparado. Escribe «suma número número».
alumno@pc:~$ suma 4 3
7

Prueba suma 10 5. También puedes escribir ayuda o limpiar y pulsar Intro.

3

El código que hay detrás

Lenguaje Python

🐍 suma.py
import sys# Recoge dos datos de la terminala = float(sys.argv[1])b = float(sys.argv[2])# Procesa los datosresultado = a + b# Muestra la salidaprint(resultado)
✓

¿Cuál es la diferencia?

🪟 Ventana

La persona introduce datos mediante controles visuales: campos y botones. Es fácil de descubrir y usar.

GUI

❯_ Terminal

La persona escribe una orden y sus argumentos. Es rápida, precisa y fácil de automatizar.

CLI

🐍 Código fuente

El programador define las instrucciones. Un intérprete de Python las traduce durante la ejecución.

LÓGICA
Idea clave: no son tres cálculos distintos. Los tres reciben entradas, ejecutan la misma suma y producen una salida. La interfaz es la capa que cambia.
Una equivalencia histórica

Cuando el programa era una baraja de tarjetas

Antes de escribir programas en una pantalla, era habitual perforarlos en tarjetas. Una tarjeta representaba normalmente una línea y sus 80 columnas guardaban caracteres: letras, números, espacios y símbolos.

Tarjeta de programa · ejemplo8 de 80 columnas
12345678
SUMA␠4␠3 — cada columna vertical codifica un carácter

Actividad: construye una pequeña baraja de programa

En los sistemas con tarjetas, un programa podía ocupar muchas tarjetas: normalmente una línea de código por tarjeta. Crea esta versión didáctica, inspirada en el FORTRAN de formato fijo:

Programa · 6 tarjetas
READ *, A
READ *, B
SUM = A + B
PRINT *, SUM
STOP
END
Datos · 2 tarjetas
4
3

Estas tarjetas proporcionan, por separado, los valores de A y B; no son instrucciones del programa.

  1. Selecciona FORTRAN Statement para las seis tarjetas del programa.
  2. En cada tarjeta nueva, pulsa dos veces Tab para llegar al campo de instrucciones, escribe una línea y pulsa Enter.
  3. Crea después dos tarjetas de tipo DATA: una con 4 y otra con 3.
  4. Compara las apariciones de A, B y SUM: el mismo carácter debe producir siempre el mismo patrón de agujeros.
  5. Coloca las tarjetas de programa en orden y mantén las tarjetas de datos separadas. Haz una captura de las ocho.
Abrir perforadora ↗
De momento, solo codificamos. La tarjeta almacena caracteres mediante agujeros. En esta actividad basta con distinguir tarjetas de programa y de datos; cómo se leían y ejecutaban se estudiará más adelante.
5

Reto final: lleva la suma a una máquina elemental

Ahora representa el mismo cálculo con instrucciones y datos almacenados directamente en memoria.

Programa que debes cargar

  1. 00LOAD 20
  2. 02ADD 21
  3. 04STORE 22
  4. 06OUTN 22
  5. 08HALT

Datos reservados en memoria

20
Primer sumando: 04
21
Segundo sumando: 03
22
Resultado: empieza en 00

Las direcciones y valores están en hexadecimal. Consulta las tarjetas de instrucciones del simulador para averiguar el código de cada operación y carga cada byte con los interruptores.

Abrir computador primitivo →