Sesión 06 · Metodología para resolver problemas II
Diseño, codificación y documentación
Una vez definido y analizado un problema, el siguiente paso es diseñar una solución coherente, representarla de manera estructurada y documentarla para que otra persona pueda comprender qué resuelve, cómo funciona y qué resultados debe producir.
Convertir un análisis en una solución explicable
Decidir qué pasos debe seguir la solución y en qué orden.
Expresar el diseño mediante E‑P‑S y pseudocódigo.
Comprender la traducción del diseño a instrucciones formales.
Explicar propósito, premisa, proceso y decisiones para poder mantener la solución.
Conexión con la Sesión 5
La sesión anterior terminó con un problema definido y analizado. Hoy no comenzamos desde cero: recuperamos ese análisis y lo utilizamos como requisito de entrada para diseñar la solución.
Antes de diseñar
De la necesidad a una solución metodológica
1. Diseño de la solución
Diseñar consiste en decidir cómo se resolverá el problema antes de escribir código en un lenguaje específico. El diseño debe establecer la secuencia de acciones, los datos que se utilizarán, las transformaciones necesarias y los resultados que se producirán.
Un buen diseño permite explicar la solución sin depender de Java, Python u otro lenguaje. Si la lógica solo puede entenderse viendo código, probablemente la solución todavía no está suficientemente diseñada.
2. Recuperar el análisis
Antes de diseñar debes revisar: problema, objetivo, datos, alcance, restricciones y resultado esperado. Después puedes construir el E‑P‑S. Esto reduce el riesgo de agregar pasos innecesarios o dejar fuera información importante.
3. Diseño mediante E‑P‑S
Datos que la solución necesita recibir o conocer.
Acciones que transformarán o utilizarán esos datos.
Resultados que deberán mostrarse, registrarse o entregar.
4. Diseño mediante pasos lógicos
Después del E‑P‑S conviene redactar el procedimiento en lenguaje natural estructurado. Cada paso debe describir una acción concreta. Evita frases como “hacer los cálculos”, “procesar todo” o “resolver el problema”, porque no indican qué debe ejecutarse.
5. Pseudocódigo
El pseudocódigo lleva el diseño a una representación más cercana a la programación. En esta etapa usaremos instrucciones introductorias como Inicio, Leer, Escribir y Fin, además de operaciones sencillas que ya puedas comprender por contexto. La enseñanza formal de variables, tipos de datos y operadores llegará en sesiones posteriores.
6. Codificación
Codificar significa traducir un diseño a las reglas de un lenguaje de programación. Durante esta materia primero fortaleceremos la lógica en pseudocódigo; posteriormente relacionaremos esa lógica con código. La codificación no debe utilizarse para “descubrir” qué debía resolver el problema: esa decisión ya debió tomarse durante el análisis y el diseño.
7. Documentación
Documentar consiste en conservar información suficiente para comprender la solución. La documentación es útil para el autor, para otros desarrolladores y para futuras modificaciones. No significa llenar páginas innecesarias; significa registrar lo que ayuda a entender y mantener el trabajo.
| Elemento | Pregunta que responde |
|---|---|
| Nombre | ¿Cómo identificamos la solución? |
| Propósito | ¿Qué problema resuelve? |
| Premisa | ¿Cuál es la situación que da origen al algoritmo? |
| E‑P‑S | ¿Qué recibe, qué hace y qué produce? |
| Pseudocódigo | ¿Cuál es la secuencia lógica? |
| Observaciones | ¿Qué límites, aclaraciones o decisiones deben conocerse? |
| Resultado esperado | ¿Qué debe ocurrir si la solución funciona correctamente? |
8. Consistencia entre documentos
La documentación debe contar la misma historia. Si el análisis dice que la entrada es precio y cantidad, pero el pseudocódigo solicita edad y nombre, existe una inconsistencia. Si el resultado esperado es “total de la compra” y el pseudocódigo solo muestra la cantidad, la solución está incompleta.
Qué debe resolverse.
Datos, reglas y resultados.
E‑P‑S y pasos.
Lógica estructurada.
Traducción a lenguaje.
Registro comprensible.
¿A qué etapa pertenece?
Clasifica cada acción como análisis, diseño, codificación o documentación.
Orden metodológico
Ordena las seis acciones para representar un flujo de trabajo razonable.
De un problema al pseudocódigo
Problema
Una papelería necesita calcular el total de una compra de varios artículos iguales. El usuario proporcionará el nombre del artículo, su precio unitario y la cantidad adquirida. La solución debe mostrar un resumen con el artículo y el total a pagar.
Paso A · Análisis resumido
Nombre del artículo, precio unitario y cantidad.
Obtener el importe total de la compra.
Mostrar artículo y total a pagar.
Paso B · E‑P‑S
artículo, precio unitario, cantidad.
Calcular total = precio unitario × cantidad.
Nombre del artículo y total calculado.
Paso C · Pasos lógicos
Paso D · Pseudocódigo
Paso E · ¿Qué significaría codificarlo?
Significaría traducir esta lógica a la sintaxis de un lenguaje. Observa únicamente la relación; por ahora no necesitas memorizar la sintaxis:
Pseudocódigo
Ejemplo conceptual en Python
Paso F · Documentación mínima
| Nombre | CalcularCompra |
|---|---|
| Propósito | Obtener el importe total de varios artículos iguales. |
| Premisa | La papelería conoce precio unitario y cantidad. |
| Observación | Esta primera versión supone valores de precio y cantidad válidos. |
| Resultado esperado | Resumen del artículo con total a pagar. |
Constructor de solución metodológica
Caso: una tienda de impresiones necesita calcular el costo de un trabajo. El usuario indicará el nombre del cliente, el número de páginas y el precio por página. La solución debe mostrar el cliente y el total a pagar.
1. Clasifica el E‑P‑S
2. Ordena el pseudocódigo
3. Documenta la solución
¿Qué está mal en esta solución?
No realizaremos todavía una prueba de escritorio formal —eso corresponde a la Sesión 7—, pero sí podemos detectar inconsistencias evidentes entre análisis, diseño y documentación.
Caso 1: El problema pide calcular el total de una compra con precio y cantidad. El E‑P‑S indica como Entrada: nombre y edad.
Caso 2: El resultado esperado es mostrar el total, y el pseudocódigo calcula y muestra el total.
Caso 3: La documentación afirma que se mostrará el nombre del cliente, pero el pseudocódigo nunca lo solicita.
Caso 4: El diseño indica precio × cantidad, pero el pseudocódigo suma precio + cantidad.
Caso 5: La solución declara como supuesto que los datos ingresados son válidos porque las validaciones aún no forman parte de esta versión.
Lista de verificación
Documento de solución metodológica
Continúa el caso trabajado en la Sesión 5: la cafetería universitaria necesita mejorar el control de pedidos. Para esta sesión delimitaremos una primera función: registrar un pedido sencillo, recibir nombre del cliente, producto, precio unitario y cantidad, calcular el total y generar un resumen del pedido.
Análisis E‑P‑S
Lista de verificación de entrega
Vista previa del documento metodológico
Completa el formato y selecciona “Generar documento”.