Categorías: Todo - resolución - algoritmos - diagrama - pseudocódigo

por HugeWEY HugeWEY hace 2 meses

35

Metodologías para la resolución de problemas a través de la computadora

El diseño de soluciones para problemas computacionales implica varias etapas clave. Primero, se realiza un análisis exhaustivo del problema. Luego, el analista decide, si es necesario, subdividir el problema y seleccionar las herramientas y paradigmas adecuados para desarrollar los algoritmos pertinentes.

Metodologías para la resolución de problemas a través de la computadora

Metodologías para la resolución de problemas a través de la computadora

Desarrollo e implementación del programa o sistema Esta fase comprende el desarrollo en sí de los programas o sistemas: la codificación, la ejecución y las pruebas. Aquí el programador responde a las preguntas de tipo "¿Con qué ...?". Esta fase se descompone en tres etapas :

Comprobación En esta fase se verifica que los resultados arrojados por el sistema sean los correctos. Para ello se utiliza el conjunto de datos utilizados durante la fase final de la etapa de diseño: las pruebas del diseño del algoritmo (pruebas de escritorio). Para comprobar si el programa ofrece los resultados esperados, se compila, y luego se pone en ejecución y se alimenta con los datos de entrada utilizados durante las pruebas de escritorio y se verifica que los resultados coincidan.
Ejecución Para ejecutar un programa a partir del código fuente, primeramente debe aprobar la fase de compilación, durante la cual se revisa que dicho programa cumpla con todas las reglas sintácticas y semánticas establecidas en el lenguaje de programación en el que está escrito. Los lenguajes de programación utilizan un programa de computadora llamado compilador para escribir y revisar los programas. El compilador revisa cada una de las sentencias o instrucciones para validar que cumplen con las reglas definidas en dicho lenguaje; sin embargo, si el código fuente tiene errores, entonces no permite su ejecución (hasta que se corrija), indicando las líneas de código escritas de manera incorrecta.
Codificación Esta etapa comprende la "traducción" del diseño a un sistema computacional que puede componerse de uno o varios programas. La codificación es la tarea de escribir cada programa utilizando un lenguaje de programación de computadoras. Es importante mencionar que la codificación de un programa o sistema debe representar fielmente el algoritmo previamente diseñado y comprobado; es decir, sería muy riesgoso desarrollar un programa de cómputo que no corresponde a un algoritmo diseñado y probado, ya que se pueden presentar varios tipos de errores.

Diseño de la propuesta de solución Después de haber analizado el problema en su totalidad, en esta etapa de diseño de la propuesta de solución, el analista decide subdividirlo (si es necesario), escoger las herramientas de diseño y el paradigma necesario para crear los algoritmos correspondientes y responder a las preguntas de tipo “¿Cómo …?”. El diseño de la propuesta de solución se subdivide en cuatro etapas:

Pruebas del diseño del algoritmo Es muy importante verificar que el modelo planteado y el algoritmo representado ofrezcan los resultados esperados, para ello se requiere que el analista pruebe el diseño antes de proceder al desarrollo e implementación del programa o sistema. Para ello, el analista debe diseñar un conjunto de datos de prueba y hacer un simulacro de ejecución del algoritmo y validar que se obtengan los resultados esperados.
Representación del algoritmo mediante herramientas de diseño Después de cumplir con las etapas previas, ahora se requiere representar la propuesta de solución utilizando alguna de las herramientas de diseño. Entre las herramientas más comunes se encuentran el pseudocódigo, diagramas de flujo, diagramas N-S, diagramas de clases, etc. En esta obra se hace especial énfasis en el pseudocódigo y los diagramas de flujo.
Diagrama de flujo El diagrama de flujo es la representación gráfica de un algoritmo, donde cada paso o actividad se representa mediante una figura o símbolo y se define la secuencia de ejecución mediante conexiones utilizando flechas. Cada símbolo de un diagrama de flujo respeta un estándar convencional y representa una acción específica a ejecutar por el algoritmo.
Pseudocódigo El pseudocódigo es una herramienta para representar algoritmos que consiste en el uso de un lenguaje natural (muy parecido a un idioma) con una sintaxis convencional definida para describir los pasos a seguir durante su ejecución, de tal forma que sea plenamente entendido por los analistas, aunque su representación no corresponde plenamente con un lenguaje de programación de computadoras. El objetivo del pseudocódigo es permitir que el programador se centre en los aspectos lógicos de la solución, evitando las reglas de sintaxis de los lenguajes de programación.
Refinamiento de la propuesta Una vez dividido el problema se elabora una descripción más detallada con pasos específicos. A este proceso se le conoce como refinamiento de la propuesta (stepwise refinement). Después de dividir el problema, en esta fase debe ponerse especial atención y esmero a las especificaciones detalladas de cada uno de los pasos necesarios para resolverlo.
Diseño descendente (modelo top-down) En muchas ocasiones los problemas a resolver son muy grandes y complejos y requieren dividirse en su problema más pequeño para atacarse de manera individual, sin descuidar los enlaces entre ellos.

Análisis del problema En esta etapa, el programador debe saber exactamente cuál es el problema que se desea resolver (antes de pensar en cómo resolverlo) e identificar los datos involucrados y responder las preguntas de tipo “¿Qué …?”. La etapa de análisis del problema comprende las siguientes fases:

Definición de datos auxiliares Se conocen como datos auxiliares todos aquellos que no forman parte ni de la entrada ni de la salida, sino que son datos necesarios para realizar algunos cálculos o procesos intermedios durante la conversión de datos de entrada en información de salida.
Definición de datos de salida Se define la información que arrojara el sistema. La función principal de un sistema de procesamiento de información es recibir datos de entrada, procesarlos y producir información de salida; debido a esto, esta fase es de especial importancia.
Definición de datos de entrada En esta fase se identifican todos los datos que servirán de entrada a un sistema computacional, el cual los procesara para convertirlos en información de salida.
Definición del problema El problema debe estar bien definido para llegar a una solución satisfactoria. Para definir con precisión el problema se requiere que el analista lo conozca y entienda completamente (con todas las situaciones particulares que puedan presentarse).
Investigación preliminar El analista realiza una investigación para involucrarse en el ambiente donde está ubicado el problema, de tal forma que conozca todos los aspectos relacionados con el mismo. Para ello se recomienda que el analista entreviste a los involucrados en los diferentes procesos, que revise los documentos relacionados con el problema y que conozca las política y reglamentos de la empresa.