Primeros pasos en programación: conceptos fundamentales
Aprende los conceptos fundamentales de la programación: variables, funciones, sintaxis, semántica y el flujo entrada-procesamiento-salida. Ideal para quienes inician desde cero con Python.
Introducción
Programar consiste en crear una serie de instrucciones para que una computadora realice una tarea determinada. Estas instrucciones deben escribirse de manera clara, ordenada y precisa. Una computadora no interpreta nuestras intenciones ni completa por sí sola aquello que olvidamos indicar: simplemente ejecuta las instrucciones que recibe.
Podemos comparar un programa con una receta de cocina. Una receta indica qué ingredientes utilizar, en qué orden agregarlos y qué acciones realizar para obtener un resultado. De manera similar, un programa define los pasos que debe seguir una computadora para alcanzar un objetivo.
Por ejemplo, un programa podría indicarle a una computadora que:
- Solicite el nombre de una persona.
- Guarde ese nombre.
- Muestre un saludo personalizado en pantalla.
En Python, estas instrucciones podrían escribirse así:
nombre = input("¿Cómo te llamas? ")
print(f"Hola, {nombre}. Bienvenido al mundo de la programación.") El programa recibe un dato, lo almacena y luego produce un resultado.
Imagen sugerida: una captura del código ejecutándose en una terminal o en un editor como Visual Studio Code.
¿Qué es un lenguaje de programación?
Un lenguaje de programación es un sistema que permite comunicar instrucciones a una computadora.
Así como las personas pueden comunicarse utilizando español, inglés o portugués, los desarrolladores pueden crear programas utilizando lenguajes como:
- Python
- JavaScript
- Java
- C#
- C++
- Ruby
- PHP
- Go
Cada lenguaje tiene sus propias reglas, características y áreas de aplicación. Algunos son utilizados principalmente para crear sitios web, otros para desarrollar aplicaciones móviles, analizar datos, automatizar tareas o construir sistemas empresariales.
En esta serie de tutoriales utilizaremos Python, un lenguaje conocido por su sintaxis clara y por su aplicación en áreas como automatización, desarrollo web, análisis de datos, inteligencia artificial y ciberseguridad.
Sintaxis y semántica
Para comprender un lenguaje de programación es útil conocer dos conceptos: la sintaxis y la semántica.
### Sintaxis
La sintaxis corresponde a las reglas que determinan cómo deben escribirse las instrucciones.
En un idioma, una oración necesita seguir cierto orden para que pueda entenderse. En programación ocurre algo parecido: cada lenguaje establece una forma específica de escribir comandos, expresiones y estructuras.
Por ejemplo, esta instrucción es válida en Python:
print("Hola, mundo") Pero la siguiente contiene un error de sintaxis porque falta cerrar el paréntesis:
print("Hola, mundo" Al intentar ejecutar ese código, Python mostrará un mensaje de error porque la instrucción no respeta las reglas del lenguaje.
### Semántica
La semántica corresponde al significado o efecto de una instrucción.
Un código puede estar correctamente escrito desde el punto de vista sintáctico y, aun así, producir un resultado diferente al esperado.
Observa este ejemplo:
precio = 10000
descuento = 20
precio_final = precio - descuento
print(precio_final) El código es válido, pero probablemente contiene un error lógico. Si descuento representa un porcentaje, no debería restarse directamente el número 20 al precio.
Una versión correcta podría ser:
precio = 10000
descuento = 20
precio_final = precio - (precio * descuento / 100)
print(precio_final) En este caso, la sintaxis es correcta y la operación representa adecuadamente un descuento del 20 %.
La sintaxis define cómo se escribe una instrucción, mientras que la semántica determina qué significa y qué efecto produce.
¿Qué es un programa de computadora?
Un programa de computadora es un conjunto organizado de instrucciones que una computadora ejecuta para alcanzar un objetivo.
Los programas pueden ser muy simples o extremadamente complejos. Algunos realizan una única operación, mientras que otros contienen miles o millones de líneas de código.
Son ejemplos de programas:
- Una calculadora.
- Un navegador web.
- Un editor de imágenes.
- Un videojuego.
- Un sistema de inventario.
- Una aplicación bancaria.
- Una plataforma de comercio electrónico.
El desarrollo de un programa suele incluir diferentes etapas:
- Identificación del problema.
- Definición de los requisitos.
- Diseño de la solución.
- Escritura del código.
- Pruebas.
- Corrección de errores.
- Implementación.
- Mantenimiento y mejora.
Dependiendo de su propósito, un programa puede escribirse utilizando lenguajes como Python, Java, C++, JavaScript o C#.
¿Qué es un script?
Un script también es un conjunto de instrucciones, pero normalmente está orientado a automatizar una tarea concreta.
Los scripts suelen ser más pequeños que una aplicación completa y, en muchos casos, se ejecutan dentro de otro entorno, intérprete o sistema.
Por ejemplo, un script puede utilizarse para:
- Renombrar cientos de archivos.
- Ordenar documentos en carpetas.
- Procesar información desde una planilla.
- Crear copias de seguridad.
- Consultar una API.
- Generar informes automáticamente.
- Revisar el estado de un servidor.
- Enviar notificaciones.
El siguiente script en Python muestra los archivos disponibles en una carpeta:
from pathlib import Path
carpeta = Path("documentos")
for archivo in carpeta.iterdir():
print(archivo.name) Aunque este ejemplo es pequeño, realiza una tarea útil y podría formar parte de una automatización más grande.
Imagen sugerida: una carpeta con varios archivos y una captura del resultado mostrado por el script.
Diferencias entre un script y un programa
No existe una frontera completamente rígida entre ambos conceptos. Un script puede crecer hasta convertirse en una aplicación compleja, y un programa puede incluir numerosos scripts internos.
Sin embargo, existen algunas diferencias generales.
| Característica | Script | Programa |
|---|---|---|
| Objetivo | Automatizar una tarea específica | Resolver uno o varios problemas |
| Tamaño habitual | Pequeño o mediano | Mediano o grande |
| Complejidad | Generalmente menor | Puede ser elevada |
| Desarrollo | Suele ser rápido y directo | Puede seguir un proceso más estructurado |
| Ejecución | Frecuentemente necesita un intérprete | Puede distribuirse como aplicación ejecutable |
| Mantenimiento | Normalmente sencillo | Puede requerir equipos y procesos especializados |
Por ejemplo, un archivo de Python que organiza documentos puede considerarse un script. En cambio, un sistema completo de gestión documental con usuarios, base de datos, interfaz web y permisos sería considerado un programa o una aplicación.
Entrada y salida de datos
La mayoría de los programas reciben información, la procesan y entregan un resultado.
Este flujo puede resumirse en tres etapas:
Entrada → Procesamiento → Salida ### Entrada
La entrada, también llamada *input*, es la información que recibe un programa.
Puede provenir de distintas fuentes:
- Texto ingresado con un teclado.
- Una selección realizada por el usuario.
- Un archivo.
- Una imagen.
- Un micrófono.
- Una cámara.
- Un sensor.
- Una base de datos.
- Una API.
- Un lector biométrico.
En Python podemos solicitar información mediante la función input():
edad = input("Ingresa tu edad: ") Por defecto, el valor recibido se almacena como texto. Para utilizarlo como número entero, debemos convertirlo:
edad = int(input("Ingresa tu edad: ")) ### Procesamiento
El procesamiento corresponde a las operaciones que el programa realiza con los datos recibidos.
Por ejemplo:
edad = int(input("Ingresa tu edad: "))
edad_futura = edad + 5 El programa recibe una edad y calcula cuál será dentro de cinco años.
### Salida
La salida, también llamada *output*, es el resultado generado por el programa.
Puede ser:
- Un mensaje en pantalla.
- Un número.
- Un documento.
- Un informe.
- Un correo electrónico.
- Una imagen.
- Un registro almacenado en una base de datos.
- Una respuesta enviada a otro sistema.
Podemos mostrar una salida en Python utilizando print():
edad = int(input("Ingresa tu edad: "))
edad_futura = edad + 5
print(f"Dentro de cinco años tendrás {edad_futura} años.") En este ejemplo:
- La edad ingresada es la entrada.
- La suma es el procesamiento.
- El mensaje final es la salida.
¿Qué es una variable?
Una variable es un espacio que utilizamos para almacenar temporalmente un valor dentro de un programa.
Podemos imaginarla como una caja con una etiqueta. La etiqueta corresponde al nombre de la variable y el contenido de la caja corresponde al valor almacenado.
nombre = "Paula"
edad = 28
lenguaje = "Python" En este ejemplo existen tres variables:
nombrealmacena un texto.edadalmacena un número.lenguajealmacena otro texto.
El contenido de una variable puede cambiar durante la ejecución del programa:
contador = 1
print(contador)
contador = 2
print(contador) La variable contador comienza con el valor 1 y posteriormente cambia a 2.
### Nombres recomendados para variables
Los nombres deberían describir claramente la información almacenada.
Ejemplos recomendados:
nombre_usuario = "Paula"
precio_producto = 19990
cantidad_disponible = 12 Ejemplos poco claros:
x = "Paula"
p = 19990
c = 12 Los nombres cortos pueden ser útiles en determinados cálculos, pero en la mayoría de los programas conviene utilizar nombres comprensibles.
¿Qué es una función?
Una función es un bloque reutilizable de código diseñado para realizar una tarea específica.
Las funciones permiten organizar un programa y evitar que una misma lógica tenga que escribirse varias veces.
Por ejemplo, podemos crear una función para saludar:
def saludar(nombre):
print(f"Hola, {nombre}.") Después podemos utilizarla tantas veces como sea necesario:
saludar("Paula")
saludar("Carlos")
saludar("María") El resultado será:
Hola, Paula.
Hola, Carlos.
Hola, María. En este ejemplo:
defindica que estamos definiendo una función.saludares el nombre de la función.nombrees el dato que recibe.print()muestra el resultado.
Una función también puede devolver un valor:
def sumar(numero_uno, numero_dos):
return numero_uno + numero_dos
resultado = sumar(10, 5)
print(resultado) La función recibe dos números, realiza una suma y devuelve el resultado.
Primer programa completo en Python
A continuación, reuniremos varios de los conceptos anteriores en un programa sencillo.
El programa solicitará el nombre y la edad de una persona. Luego calculará su edad para el próximo año y mostrará un mensaje.
def calcular_edad_proxima(edad_actual):
return edad_actual + 1
nombre = input("Ingresa tu nombre: ")
edad = int(input("Ingresa tu edad: "))
edad_proxima = calcular_edad_proxima(edad)
print(f"Hola, {nombre}.")
print(f"El próximo año tendrás {edad_proxima} años.") Este programa incluye:
- Entrada de datos mediante
input(). - Variables para almacenar información.
- Conversión de texto a número con
int(). - Una función reutilizable.
- Procesamiento de datos.
- Salida mediante
print().
Imagen sugerida: captura del código completo junto con el resultado obtenido al ejecutarlo.
Errores comunes al comenzar a programar
### Escribir instrucciones incompletas
print("Hola" En este caso falta cerrar el paréntesis.
La versión correcta es:
print("Hola") ### Confundir texto con variables
nombre = "Paula"
print("nombre") Este código muestra literalmente la palabra nombre.
Para mostrar el contenido de la variable debemos escribir:
nombre = "Paula"
print(nombre) ### Intentar sumar texto y números
edad = input("Ingresa tu edad: ")
edad_proxima = edad + 1 input() devuelve texto, por lo que primero debemos convertir el valor:
edad = int(input("Ingresa tu edad: "))
edad_proxima = edad + 1 ### Utilizar nombres poco descriptivos
a = 15000
b = 3
c = a * b Aunque el código funciona, resulta difícil entender qué representa cada valor.
Una alternativa más clara es:
precio_unitario = 15000
cantidad = 3
total_compra = precio_unitario * cantidad Buenas prácticas iniciales
Al comenzar a programar, conviene adoptar algunos hábitos desde el principio:
- Utilizar nombres descriptivos para variables y funciones.
- Mantener una instrucción clara por línea.
- Dividir los problemas grandes en tareas pequeñas.
- Probar el código después de cada cambio importante.
- Leer cuidadosamente los mensajes de error.
- Evitar copiar código sin comprenderlo.
- Añadir comentarios solo cuando aporten contexto útil.
- Mantener un formato consistente.
- Revisar los resultados con distintos datos de entrada.
Un comentario en Python se escribe utilizando el símbolo #:
# Precio expresado en pesos
precio_producto = 19990 Los comentarios deben explicar decisiones o información relevante. No es necesario comentar instrucciones que ya resultan evidentes.
Ejemplo poco útil:
# Sumar uno a la edad
edad = edad + 1 Ejemplo más informativo:
# La plataforma considera la edad que tendrá el usuario al renovar su suscripción
edad_renovacion = edad_actual + 1 Actividad práctica
Crea un programa que solicite los siguientes datos:
- Nombre del usuario.
- Ciudad.
- Lenguaje de programación que desea aprender.
Luego muestra un mensaje similar a este:
Hola, Paula. Desde Santiago comenzarás a aprender Python. Puedes utilizar esta estructura inicial:
nombre = input("Ingresa tu nombre: ")
ciudad = input("Ingresa tu ciudad: ")
lenguaje = input("¿Qué lenguaje quieres aprender? ")
print(f"Hola, {nombre}. Desde {ciudad} comenzarás a aprender {lenguaje}.") Como desafío adicional, crea una función que reciba esos tres datos y construya el mensaje.
def crear_presentacion(nombre, ciudad, lenguaje):
return f"Hola, {nombre}. Desde {ciudad} comenzarás a aprender {lenguaje}."
nombre = input("Ingresa tu nombre: ")
ciudad = input("Ingresa tu ciudad: ")
lenguaje = input("¿Qué lenguaje quieres aprender? ")
mensaje = crear_presentacion(nombre, ciudad, lenguaje)
print(mensaje) Conclusión
Programar significa transformar una idea o necesidad en una serie de instrucciones que una computadora pueda ejecutar.
Para comenzar, es importante comprender algunos conceptos fundamentales:
- Un programa contiene instrucciones organizadas.
- Un script suele automatizar una tarea específica.
- La sintaxis establece cómo se escribe el código.
- La semántica determina qué significa.
- La entrada proporciona datos al programa.
- La salida representa el resultado.
- Las variables permiten almacenar valores.
- Las funciones permiten organizar y reutilizar código.
Estos conceptos forman la base sobre la que se construyen aplicaciones, sitios web, automatizaciones y sistemas más avanzados.
El siguiente paso recomendado es preparar el entorno de desarrollo y crear los primeros programas con Python.