Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Capítulo 1: Introducción a la programación y Python

Un algoritmo visto como una receta: ENTRADA (ingredientes) → ENSAMBLAJE (instrucciones) → SALIDA (resultado)

Fig. 1.1: Un algoritmo como receta: entrada, ensamblaje y salida.

Bienvenido al comienzo de tu viaje. En este libro no solo aprenderás a escribir código; aprenderás a pensar como un ingeniero de software, usando una metáfora que te acompañará desde el primer capítulo hasta el último: El Almacén Digital.

Nota: Si tu conexión es limitada o prefieres leer sin depender de internet, este libro también se vende completo en EPUB y PDF: lo descargas una vez y el contenido queda contigo, sin la carga adicional de la versión web (el ejecutor de Python en el navegador, Pyodide, pesa varios megabytes). Los detalles, en Acerca de esta edición.

¿Qué es realmente la programación?

Programar es el arte de dar instrucciones claras y precisas, sin ambigüedad y sin suposiciones. La computadora no tiene piedad con quien las escribe de forma vaga.

Imagina un almacén logístico gigante, como los de Amazon o Mercado Libre.

  • La computadora es el trabajador más rápido y obediente del mundo, pero también el más literal. Sin sentido común de ningún tipo.
  • El código es la lista de tareas que le das a ese trabajador.

Dile al trabajador “trae eso de allá” y se quedará quieto, porque no sabe qué es “eso” ni dónde queda “allá”. Pero si le dices: “Ve al pasillo 4, estante B, toma la caja roja etiquetada como ‘zapatos’ y tráela al mostrador de salida”, lo ejecutará sin fallar. Esa precisión no es un capricho. Es el núcleo de todo lo que harás en este libro.

Esa lista de pasos tiene nombre. Un algoritmo es una secuencia finita de instrucciones precisas y ordenadas que, seguidas al pie de la letra, llevan de un punto de partida a un resultado. Finita porque tiene que terminar, y precisa porque cada paso debe poder ejecutarse sin adivinar nada.

Programar es diseñar esos algoritmos para que la computadora resuelva problemas por ti.

El algoritmo del sándwich

Piensa en un algoritmo de la vida real: preparar un sándwich. Si tuvieras que programar un robot para hacerlo, no bastaría con decir “haz un sándwich”. El robot no infiere nada. Tendrías que marcarle dónde empieza, dónde termina y qué hacer en cada bifurcación:

  1. Inicio.
  2. Ve a la cocina.
  3. Abre la bolsa de pan.
  4. Saca dos rebanadas.
  5. ¿Hay mayonesa?
    • Si la hay, unta mayonesa en una cara de cada rebanada.
    • Si no la hay, no untes nada y pasa al siguiente paso.
  6. Coloca el jamón.
  7. Cierra el sándwich.
  8. Fin.

Si omites el paso “Abre la bolsa de pan”, el robot intentará sacar las rebanadas a través del plástico y fallará. Así de literal es la programación.

Diagramas de flujo

Un diagrama de flujo es un algoritmo dibujado: cada paso ocupa una figura, cada figura dice qué clase de paso es y las flechas marcan el orden en que se recorren. La forma tradicional de aprender a programar es dibujar el algoritmo así antes de escribir una sola línea de código.

Mira esos mismos ocho pasos convertidos en un plano del almacén: los óvalos marcan dónde empieza y dónde termina el trabajo, cada paso va en un rectángulo, las flechas son el pasillo que sigue el operario y cada decisión es un rombo donde el camino se bifurca en “sí” y “no” (ver Fig. 1.2).

Diagrama de flujo en tres filas: un óvalo de inicio, seis pasos en rectángulos y un rombo que pregunta si hay mayonesa, con la rama “no” bajando directo para saltarse el paso de untar, hasta un óvalo de fin

Fig. 1.2: El algoritmo del sándwich dibujado como diagrama de flujo.

Dibujarlo te obliga a decidir qué pasa en cada rama antes de que exista el código. Si al rombo de la mayonesa le falta la salida “no”, la flecha queda colgando y lo ves de un vistazo, mucho antes de descubrirlo dentro de un programa ya escrito. Lo vas a practicar en el Ejercicio 1.3, con una lámpara que no prende.

A largo plazo es un buen ejercicio. Con la práctica empiezas a ver cualquier tarea como una secuencia de pasos con decisiones y repeticiones, y esa costumbre de pensar de forma algorítmica te acompaña en cada capítulo y en cualquier lenguaje que aprendas después. No tienes que dibujar todos tus programas. Cuando uno se te enrede, un lápiz y una hoja suelen aclararlo antes que otro intento en el teclado.

El sándwich es solo un ejemplo cotidiano de algoritmo. En este libro ese mismo pensamiento por pasos lo organizaremos siempre con una única imagen: el Almacén Digital.

¿Por qué Python?

Existen cientos de lenguajes para hablar con computadoras, muchos densos y ceremoniosos. Python es directo y legible, y esa sencillez lo vuelve más eficiente sin sacrificar capacidad.

Python es de los mejores lenguajes para empezar, y también para quedarse. Tres razones concretas:

1. Se lee como lenguaje humano

Mira la diferencia entre C++ y Python para hacer exactamente lo mismo: imprimir un mensaje en pantalla.

No necesitas entender el código de C++. Fíjate solo en cuánto hay que escribir para algo tan simple.

En C++ (Complejo):

#include <iostream>
using namespace std;
int main() {
    cout << "¡Hola, mundo!" << endl;
    return 0;
}

En Python (Simple):

print("¡Hola, mundo!")

La sintaxis de Python es mínima. Pasas menos tiempo peleando con paréntesis y puntos y coma, y más tiempo resolviendo el problema que importa.

2. Es increíblemente poderoso

Que no te engañe su simplicidad. Python mueve proyectos de una escala enorme:

  • Netflix: Para recomendarte qué ver.
  • NASA: Para analizar datos de telescopios espaciales.
  • Inteligencia Artificial: La mayoría de las herramientas con las que se construye IA hoy se manejan desde Python.

3. “Baterías incluidas”

Python viene con herramientas listas desde el primer día. Como comprar una caja de herramientas que ya trae llaves, destornilladores y martillos, sin necesidad de ensamblar nada primero.

El concepto del “Almacén Digital”

A lo largo de este libro, el Almacén Digital será tu marco de referencia para entender conceptos que de otra forma parecerían abstractos:

  • Variables: Las cajas donde guardamos información.
  • Tipos de datos: El tipo de contenido (tornillos, líquidos, documentos) que determina qué caja usar.
  • Funciones: Los procedimientos estándar, los manuales de empleado para tareas repetitivas.
  • Computadora: El edificio y el personal que ejecuta tus órdenes.

Cada vez que te atasques con un concepto nuevo, vuelve al almacén. Casi siempre hay una analogía ahí.


Resumen del capítulo

  • Programar es dar instrucciones secuenciales y precisas (algoritmos) a una computadora.
  • Las computadoras son rápidas pero literales; no asumen nada.
  • Un diagrama de flujo dibuja ese algoritmo con óvalos, rectángulos, rombos de decisión y flechas.
  • Python es el lenguaje elegido por su legibilidad, potencia y versatilidad.
  • Usaremos la metáfora del Almacén Digital para visualizar conceptos invisibles.