Está en la página 1de 3

Diseño de algoritmos

En el diseño correcto de un programa se bede tomar en cuenta el seguimiento de un


conjunto de pasos a realizar de forma secuencial:
Definir el problema
Analizar el problema
Diseñar el algoritmo
Probar el algoritmo
Codificar el algoritmo en un programa
Probar el programas
Documentar el programa
Un problema bien definido se caracteriza por tener un enunciado claro en el que se
especifica claramente lo que se pretende resolver y los resultados que se deben obtener.
En el análisis del problema se deben buscar los datos de entrada, los datos de salida
(resultados), y cuál es el proceso que se debe realizar para convertir los datos de entrada en
datos de salida.
Para manipular los datos de entrada, de salida y los datos que se obtengan en etapas
intermedias del proceso, es necesaria la creación de variables y/o constantes.
El diseño de un algoritmo implica la representación de las instrucciones en orden lógico. Para
la representación se utilizan herramientas de diagramación con figuras o con texto.
Para la representación de un algoritmo se puede utilizar diagrama de flujo o pseudocódigo.
Cada uno de los pasos que se puede representar con estos, se encuentra estandarizado de
modo que en la implementación de diferentes algoritmos siempre su utilizan de la misma
forma.
La prueba de un algoritmo corresponde a la verificación en forma manual del resultado de la
ejecución de cada uno de los pasos que lo conforman. El resultado de esta verificación
puede ser la validación del algoritmo o la detección de errores en el mismo. En caso de
detectar errores se debe proceder a modificar el diseño del algoritmo hasta lograr la
validación total de este.
En la codificación se transcribe el algoritmo a un lenguaje de programación reconocido por
computador. De acuerdo con el lenguaje de promoción seleccionado, la trascripción debe
seguir las normas de sintaxis que éste tenga.
La prueba de un programa implica la compilación y ejecución de este.
En la compilación se detectan los posibles errores sintácticos de codificación. En caso de
detectar errores se debe proceder a modificar el código implementado hasta lograr la
validación total de este. El resultado final de la compilación es la creación de un archivo que
contiene la imagen ejecutable del programa.
En la ejecución se detectan los posibles errores lógicos. En caso detectar errores en los
valores resultantes es necesario modificar el código implementado hasta lograr que éste
permita obtener los resultados correctos.
Con la documentación se hace la descripción de los diferentes componentes de un programa
para que éste pueda ser utilizado por los usuarios sin necesidad de recurrir directamente al
creador. La documentación debe incluir el enunciado del problema, la metodología empleada
para la solución, la declaración de variables y constantes de entrada y salida, el código
fuente y un instructivo para la ejecución del programa.
Diseño de algoritmos
Presentación de la unidad
A partir de los requerimientos, resultados del análisis, empieza la etapa de diseño donde
tenemos que construir un algoritmo que resuelva el problema.

Definición de algoritmoPermalink
Un algoritmo es un conjunto de acciones que especifican la secuencia de operaciones
realizar, en orden, para resolver un problema.

Los algoritmos son independientes tanto del lenguaje de programación como del
ordenador que los ejecuta.

Las características de los algoritmos son:

Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.


Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el
mismo resultado cada vez.
Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún
momento; o sea, debe tener un número finito de pasos.
Ejemplo tradicional de un algoritmo: Cambiar la rueda pinchada de un coche.

Etapa de diseñoPermalink
Aunque en la solución de problemas sencillos parezca evidente la codificación en un
lenguaje de programación concreto, es aconsejable realizar el diseño del algoritmo, a
partir del cual se codifique el programa.

La soluciones a problemas más complejos pueden requerir muchos más pasos. Las
estrategias seguidas usualmente a la hora de encontrar algoritmos para problemas
complejos son:

Partición o divide y vencerás: consiste en dividir un problema grande en unidades más


pequeñas que puedan ser resueltas individualmente.
Ejemplo: Podemos dividir el problema de limpiar una casa en labores más simple
correspondientes a limpiar cada habitación.
Resolución por analogía: Dado un problema, se trata de recordar algún problema similar
que ya esté resuelto. Los dos problemas análogos pueden incluso pertenecer áreas de
conocimiento totalmente distintas.
Ejemplo: El cálculo de la media de las temperaturas de las provincias andaluzas y la
media de las notas de los alumnos e una clase se realiza del mismo modo.
La descomposición del problema original en subproblemas más simples y a continuación
dividir estos subproblemas en otros mas simples se denomina diseño descendente (top-
down design). Tras la primera descripción del problema (poco específica), se realiza una
siguiente descripción mas detallada con mas pasos concretos. Este proceso se denomina
refinamiento del algoritmo.

Se puede dividir en tres subproblemas más sencillos:

Calcular Superficie
Calcular Longitud
Escribir resultados
Refinamiento del algoritmo:
Leer Radio
Superficie <- PI * Radio ^ 2
Longitud <- 2 * PI * Radio
Escribir Radio, Longitud, Superficie
Lo podemos ver en un diagrama estructurado:

diseño

Herramientas de representación de algoritmosPermalink


Un diagrama de flujo es una de las técnicas de representación gráfica de algoritmos más
antiguas. Ventajas: permite altos niveles de estructuración y modularización y es fácil de
usar. Desventajas: son difíciles de actualizar y se complican cuando el algoritmo es
grande.
El pseudocódigo, nos permite una aproximación del algoritmo al lenguaje natural y por
tanto un a redacción rápida del mismo.

También podría gustarte