Algoritmos
La solución de un problema exige el diseño del algoritmo. Un algoritmo es la especificación de la secuencia ordenada de pasos a realizar para solucionar un problema en un tiempo finito. Está vinculado a una maquina abstracta. Por lo tanto, los algoritmos son independientes de los lenguajes de programación y de las maquinas en las que se lo ejecutara.
Está constituido por un conjunto de acciones. Una acción es un hecho o acontecimiento que sucede en un periodo de tiempo finito, es llevado a cabo por un ejecutante y tiene un objetivo. La unión de varias acciones organizadas que se ejecutan en un tiempo finito se denomina proceso. Tanto los procesos como las acciones son componentes de los algoritmos.
Tipos de Algoritmos
Algoritmos Estáticos: son algoritmos que funcionan siempre igual, independientemente del tipo de problema tratado. Por ejemplo, los sistemas basados en el método de resolución.
Algoritmos Probabilísticos: son algoritmos que no utilizan valores de verdad booleanos sino continuos. Por ejemplo, los sistemas basados en lógica difusa.
Algoritmos Adaptativos: son algoritmos con cierta capacidad de aprendizaje. Por ejemplo, los sistemas basados en redes neuronales.
Deterministico: aquí sí en cada paso del algoritmo, es posible predecir la salida para una entrada dada.
No determinísticos: sí existe uno ó más pasos en el algoritmo, para el cual es posible predecir cual será la salida.
Características de los Algoritmos.
Todo algoritmo debe cumplir con tres características:
- Debe ser preciso. No debe existir acción alguna que presente ambigüedades en cuanto a su estado previo y su estado posterior.
- Debe estar definido. Si todas sus acciones son precisas y se sigue dos veces el mismo algoritmo con los mismos datos, se debe obtener el mismo resultado cada vez.
-Debe ser finito. Los resultados de la ejecución de un algoritmo se deben obtener en un tiempo finito. Todo algoritmo debe tener un inicio y un fin.
- Un Algoritmo no debe resolver un solo problema particular sino una clase de problemas.
- Un Algoritmo debe ser eficiente y rápido.
Diseño de Algoritmos
En primer término, es necesario definir y analizar el problema a resolver. Una buena comprensión del problema, mas la descripción detallada de entradas (datos necesarios) y salidas requerida (datos requeridos del proceso) son los requisitos más importantes para hallar una solución del problema.
Los datos proporcionados al algoritmo constituyen su entrada y los datos producidos por el su salida.
Una buena estrategia para resolver problemas complejos es descomponer al problema en varios problemas menores más fáciles de solucionar. La descomposición del problema en otros más simples y así sucesivamente hasta hallar una solución a ellos.
Métodos para escribir algoritmos
Lo mas usados son:
Diagrama de Flujo
Un diagrama de flujo es un diagrama basado en un conjunto de símbolos gráficos que muestran la secuencia de pasos del algoritmo a través de flechas denominadas líneas de flujo.
Sus Símbolos Son:
Pseudocódigo: Es una alternativa intermedia entre los lenguajes naturales y los lenguajes de programación. Involucra un conjunto limitado de palabras, las reglas de utilización y unas pocas limitaciones similares a las de los lenguajes de programación, sin llegar a la escritura de programas. Con el pseudocódigo, el programador centra su atención en la lógica y la secuencia de las acciones sin la preocupación por las reglas propias de un lenguaje de programación particular.
Otros Métodos para Escribir Algoritmos
Diagrama Naassi-Scheiderman: estos diagramas omiten el uso de flechas de unión y los símbolos se utilizan en forma continua. Las acciones sucesivas se simbolizan en cajas contiguas. la dificultad en el uso de estos diagramas está en que ocupan mucho lugar en forma horizontal cuando varias estructuras se anidan una dentro de otra.
Lenguaje natural: puede ser muy útil para una escritura inicial. Posee muchas limitaciones para la escritura de algoritmos que luego serán programados, ya que las estructuras de los lenguajes humanos son muy distintas a las de los lenguajes de programación.
Formulas: una formula es una combinación de valores y símbolos, como por ejemplo una ecuación aritmética. Para ciertos tipos de problemas, las formulas suelen ser la alternativa más valida.
Lenguaje de programación: una alternativa valida es escribir directamente la solución utilizando un lenguaje de programación. Tiene la limitación de no poder utilizar el total del potencial de un algoritmo, ya que los lenguajes de programación tienen reglas que limitan la creatividad de la solución.
Ejercicio de Algoritmos
Análisis del Tema
El algoritmo es un conjunto de acciones que se utilizan con el fin de encontrarle solución a un problema; Existen muchos tipos de algoritmos encontramos los estáticos, probabilisticos, adaptivos, deterministicos y no deterministicos, todos deben tener una entrada y una salida para la solución de problemas y acontecimientos en un tiempo determinado.
Los algoritmos deben tener información precisa, es decir es decir para que se hagan entendidos al lector, las instrucciones deben ser muy clara de modos que las acciones a ejecutar sean satisfactorias.
Para Poder hacer un algoritmo debemos tener el problema para poder resolverlo, luego se deben desglosar los pasos, que se van a descomponer en problemas menores, estos deben tener una accesibilidad muy rápida a solucionar. Entre los métodos mas utilizados para definir y analizar los problemas lo mas usados son: El Diagrama de Flujo que en cual podemos determinar la solución del problema por medio de simbolos el Pseudocódigo: son los códigos con los pasos o acciones q van indicar como debemos ejecutar los mismos, para la solución del problema.
Otros métodos: son el diagrama Naassi-Scheiderman, Lenguaje Natural, Las Formulas y Lenguajes de Programación. Actualmente son métodos pocos usados pero que también se utilizan para escribir algoritmos.
No hay comentarios:
Publicar un comentario