Saltar al contenido

Qué es la programación: proceso y ejemplo práctico

Entiende qué es programar, la diferencia entre algoritmo y programa y cómo convertir una necesidad en una solución comprobable con un ejemplo.

Autoría
Study Mais
Publicado el
Tiempo de lectura
4 min de lectura
Estudiantes trabajan en equipo en un laboratorio universitario de programación.
Estudiantes trabajan en equipo en un laboratorio universitario de programación. Study Mais — imagen ilustrativa generada con IA.

En pocas palabras

  • Programar incluye especificar, implementar, probar y mantener.
  • Algoritmo, lenguaje y entorno cumplen funciones distintas.
  • Un programa que ejecuta sin error todavía puede producir una respuesta incorrecta.

La programación consiste en diseñar, expresar, comprobar y mantener instrucciones que un sistema puede ejecutar. Incluye comprender el problema, representar datos y reglas, implementar una solución y revisar su comportamiento. Escribir código es una parte importante, pero copiar comandos sin entender entradas, resultados y límites no completa ese proceso.

Un algoritmo describe un procedimiento; un programa lo implementa en un entorno y una o varias lenguas de programación. La ejecución depende también de herramientas, bibliotecas y condiciones del sistema. La introducción de CS50 de Harvard relaciona problemas, entradas, salidas y algoritmos como base del trabajo computacional.

Qué hace un programador al resolver un problema

Flujo de trabajo

  1. Delimita qué necesidad se quiere atender.
  2. Define entradas válidas, resultados y casos excepcionales.
  3. Descompone la solución en partes con responsabilidades claras.
  4. Representa el procedimiento antes o durante la implementación.
  5. Escribe y ejecuta el programa en el entorno elegido.
  6. Prueba resultados y modifica lo necesario.
  7. Documenta decisiones que ayudarán a mantener la solución.

Las etapas pueden repetirse. Un fallo de prueba puede revelar un error de código o una especificación incompleta. La respuesta adecuada depende del origen: corregir una condición no resuelve una pregunta que todavía no define qué debe ocurrir con una entrada vacía.

Ejemplo: convertir una temperatura

Casos de prueba del cálculo
Entrada CCálculoSalida F
−40−40 × 9/5 + 32−40
00 × 9/5 + 3232
100100 × 9/5 + 32212
Entrada C
−40
Cálculo
−40 × 9/5 + 32
Salida F
−40
Entrada C
0
Cálculo
0 × 9/5 + 32
Salida F
32
Entrada C
100
Cálculo
100 × 9/5 + 32
Salida F
212
Casos de prueba del cálculo

Una implementación necesita distinguir el texto recibido del número utilizado. Si la entrada no puede interpretarse, el programa debe seguir una regla definida, como informar el problema. También debe decidir cómo presentar decimales. Redondear demasiado pronto puede modificar cálculos posteriores, mientras el formato final cumple otra función.

Datos y estructuras de control

Las variables representan valores cuyo significado debe estar claro. Tipos y operaciones determinan qué puede hacerse con ellos. Las decisiones seleccionan caminos; los bucles repiten acciones; las funciones permiten organizar operaciones con entradas y resultados. La documentación oficial de Python sobre control de flujo muestra implementaciones concretas.

Una función de conversión puede recibir un número y devolver otro, mientras otra parte del programa atiende entrada y presentación. Separar responsabilidades facilita probar el cálculo sin depender de una interfaz. Eso no exige dividir todo en piezas mínimas, sino definir límites comprensibles.

Tipos de errores que conviene distinguir

Problemas y formas de examinarlos
Tipo de problemaEjemploQué revisar
SintaxisUna expresión no respeta las reglas del lenguajeMensaje y estructura del código
EjecuciónSe intenta una operación con un valor inadecuadoEntradas, tipos y condiciones
LógicaEl programa ejecuta una fórmula equivocadaEspecificación y casos esperados
EspecificaciónNo se definió qué hacer con una entrada inválidaContrato del problema
Tipo de problema
Sintaxis
Ejemplo
Una expresión no respeta las reglas del lenguaje
Qué revisar
Mensaje y estructura del código
Tipo de problema
Ejecución
Ejemplo
Se intenta una operación con un valor inadecuado
Qué revisar
Entradas, tipos y condiciones
Tipo de problema
Lógica
Ejemplo
El programa ejecuta una fórmula equivocada
Qué revisar
Especificación y casos esperados
Tipo de problema
Especificación
Ejemplo
No se definió qué hacer con una entrada inválida
Qué revisar
Contrato del problema
Problemas y formas de examinarlos

El NIST define algoritmo como un conjunto de pasos computables para alcanzar un resultado. Para aprender a programar, esa relación entre pasos y resultado debe poder explicarse. Que el programa no muestre un error no demuestra que produzca la respuesta correcta.

Cómo comprobar una solución

Use casos con resultado conocido, valores de frontera y entradas fuera del contrato. Compare lo observado con lo esperado y registre el paso donde aparece la diferencia. Un caso exitoso es evidencia limitada; una prueba que falla ayuda a localizar un problema, pero necesita interpretación.

La guía de ejemplos de algoritmos desarrolla recorridos y cálculos. El artículo de diagrama de flujo en programación representa condiciones y repetición antes de escribir una implementación.

Lenguaje, entorno y mantenimiento

Un editor, un intérprete o compilador, un depurador y otras herramientas cumplen funciones diferentes. Consulte software de programación para distinguirlas. Aprender el entorno ayuda, pero el mantenimiento exige además nombres claros, pruebas pertinentes y documentación de decisiones.

Programar significa hacer explícito un comportamiento y comprobarlo. El aprendizaje avanza cuando puede explicar por qué cada paso es necesario, qué entrada admite y cómo reconocer un resultado incorrecto, además de ejecutar un fragmento que encontró en otra fuente.

Clase introductoria de Fio-UNAM sobre programación. Relacione problema, datos, instrucciones y comprobación de resultados. ✅ Introducción a la Programación - Clase 1 | Fio UNAM (Fio-UNAM)

Referencias

  1. HARVARD UNIVERSITY. CS50x. Lecture 0. https://cs50.harvard.edu/x/notes/0/
  2. PYTHON SOFTWARE FOUNDATION. Tutorial: más herramientas para control de flujo. https://docs.python.org/es/3/tutorial/controlflow.html
  3. NIST. Dictionary of Algorithms and Data Structures. Algorithm. https://xlinux.nist.gov/dads/HTML/algorithm.html

Autoría

Study Mais