Fundamentos de Programación · Programación

Qué es un algoritmo y un programa

Explica la diferencia entre algoritmo, lenguaje de programación y programa, y ejecuta su primer script en Python entendiendo el ciclo escribir-ejecutar-corregir.

Qué es un algoritmo y un programa

Ilustracion de programacion: diagrama de flujo con decisionales.
Bases de la programacion: algoritmos y control de flujo.

Mapa conceptual

La idea que gobierna todo Un computador no «piensa»: ejecuta sin criterio instrucciones precisas y en orden. Toda la programación consiste en traducir una intención humana a una secuencia de pasos tan claros que una máquina torpe pero rápida pueda seguirlos sin ambigüedad.

Un algoritmo es una secuencia finita de pasos no ambiguos que resuelve un problema. No depende de ningún lenguaje: preparar un café, ordenar una lista o calcular el promedio de un curso admiten algoritmos. Un programa es ese algoritmo expresado en un lenguaje de programación (Python, R, Java…) que una máquina puede ejecutar.

El algoritmo vive en tu cabeza; el lenguaje lo hace escribible; el programa lo hace ejecutable; el intérprete lo ejecuta.
ConceptoQué esEjemplo
Algoritmoreceta abstracta de pasos«sumar todos los números y dividir entre cuántos hay»
Lenguajeidioma formal para escribir el algoritmoPython, R, SQL, Java
Programaalgoritmo ya escrito en un lenguajeun archivo .py que corre
Interpretadorejecuta el programa línea a líneapython archivo.py

Un algoritmo, en lenguaje humano

Calcular el promedio de una lista de notas, paso a paso:

  1. Empieza con suma = 0 y conteo = 0.
  2. Toma la siguiente nota (si no queda ninguna, salta al paso 5).
  3. Suma la nota a suma y aumenta conteo en 1.
  4. Repite desde el paso 2.
  5. Si conteo es 0, reporta «sin datos»; si no, divide suma entre conteo y reporta el resultado.

Ese algoritmo es independiente del lenguaje: escrito en Python se ve así:

promedio = suma / conteo # sólo si conteo es mayor que 0

Ahí está la diferencia Fíjate en el paso 5: un buen algoritmo contempla el caso en que no hay datos. Distinguir al programador novel del cuidadoso es precisamente anticipar los bordes (lista vacía, valores nulos, divisiones por cero).

¿Cuál es la diferencia esencial entre un algoritmo y un programa?

Un algoritmo debe ser finito y no ambiguo para que una máquina lo ejecute correctamente.

Clasifica cada frase según el concepto al que pertenece.

Algoritmo
Lenguaje
Programa

Errores conceptuales frecuentes

Vocabulario mínimo

algoritmo
receta finita y clara de pasos
programa
algoritmo escrito en un lenguaje
lenguaje
idioma formal ejecutable
intérprete
ejecuta línea a línea
caso borde
entrada vacía, nula o extrema
pensamiento computacional
descomponer en pasos precisos

Tu primer programa

En Python, print muestra texto en pantalla. El clásico print(¡Hola, mundo!) ejecuta tu primer algoritmo: «escribe este mensaje». Correr un archivo se hace desde la terminal con python archivo.py; el intérprete lo lee de arriba a abajo.

Tutorial oficial de Python · introducción
Arranque guiado en español: ejecutar el primer script y ver la salida.

Describe con tus palabras, sin código, un algoritmo de la vida real (por ejemplo, «preparar un sándwich») con al menos cinco pasos no ambiguos, e indica qué pasa en el paso si falta un ingrediente: ese es tu «caso borde».

Python Tutorial
Tutorial oficial de Python 3 para principiantes.