Esta guía te permitirá aprender un proceso claro y efectivo para resolver problemas de lógica de programación.
La guía está dirigida a estudiantes de programación que se enfrentan por primera vez a la resolución de problemas de algoritmia, y también a desarrolladores experimentados que deseen fortalecer sus habilidades lógicas.
Este proceso lo creé - Nayib Abdala - a partir de mi experiencia de más de 10 años de estudiar programación y haber aplicado diversas metodologías para desarrollar lógica. Está en evolución constante y lo actualizo esporádicamente.
El proceso lo he denominado PACER por sus siglas en inglés (Problem - Algorithm - Code - Execution - Refactor).
- Define el problema con tus propias palabras.
- Identifica los datos de entrada y de salida que se esperan.
- Escribe algunos ejemplos del resultado que se espera a partir de datos de entrada específicos. Identifica los casos extremos.
- Define la estructura de datos con la que representarás la data para convertir los datos de entrada en los de salida.
- Escribe las restricciones que el problema presenta.
Escribe en español el paso a paso que se requiere para transformar los datos de entrada en los datos de salida (lo que se espera que retorne).
Traduce los pasos del algoritmo anterior al lenguaje de programación de tu preferencia.
Ejecuta el código para validar los casos de uso/prueba.
- Piensa en formas de hacer tu código más legible o más eficiente.
- Si estás familiarizad@ con la notación Big 0, calcula la complejidad de tiempo y espacio y evalúa cómo podrías optimizarla.
- Piensa en casos extremos que no hayas cubierto y aplica el mismo proceso desde Algoritmo.
En la carpeta ./ejemplos de este repo encontrarás algunos ejemplos de cómo aplicar el proceso.
Copyright | Nayib Abdala