Un algoritmo es cualquier cosa que funcione paso a paso, donde cada pasose pueda describir sin ambigüedad y sin hacer referencia a una computadora enparticular, y además tiene un límite fijo en cuanto a la cantidad de datos que sepueden leer/escribir en un solo paso. Esta amplia definición abarca tanto a algoritmos prácticos como aquellos que solo funcionan en teoría, por ejemplo el método de Newtony la eliminación de Gauss-Jordanfuncionan, al menos en principio, con números de precisión infinita; sin embargo no es posible programarla precisión infinita en una computadora, y no por ello dejan de ser algoritmos.En el siguientetrabajo a continuación, pretendemos presentar básicamentelo que trata el tema de logaritmo para ello se plantea una serie deconceptos ydefiniciones del estudio de los Algoritmos,su análisis y diseño.También se presentan las características más resaltantes así mismo, los diferentes tipos deformas y tamaños o medidas en que se pueden almacenar y representarlos datos y estructuras en un algoritmo o programa.De igual forma podremos ver las, reglas,normas,y ordenación así como sus aplicaciones.Finalmente veremos algunos ejemplos y los tipos de algoritmos los cualesson: los pseudocódigos y el diagrama de flujo.
ALGORITMOS: Diagramas de flujo y pseudocodigos
domingo, 26 de abril de 2015
DEFINICIÓN DE ALGORITMO
Se define como un conjunto ordenado y finito de operaciones que permite hallarla solución de un problema. Método y notación en las distintas fórmulas delcálculo. El algoritmo constituye un método para resolver un problema medianteuna secuencia de pasos a seguir. Dicha secuencia puede ser expresada en formade diagrama de flujo con el fin de seguirlo de una forma más sencilla.De acuerdo con el concepto anterior, el algoritmo podría estar incluido en ladefinición de programa de ordenador de la Ley de Propiedad Intelectual (TRLPI),al referirse a éste como toda secuencia de instrucciones o indicaciones destinadasa ser utilizadas, directa o indirectamente, en un sistema informático para realizaruna función o una tarea o para obtener un resultado determinado, cualquiera quefuere su forma de expresión y fijación.En la vida cotidiana, se emplean algoritmos frecuentemente para resolverproblemas. Algunos ejemplos son los manuales de usuario, que muestranalgoritmos para usar un aparato, o las instrucciones que recibe un trabajador porparte de supatrón.Algunos ejemplos enmatemáticason el algoritmo de la divisiónpara calcular el cociente de dos números, elalgoritmo de Euclidespara obtener elmáximo común divisorde dosenterospositivos, o elmétodo de Gausspara resolver unsistema lineal de ecuaciones.Los algoritmos funcionan sobre una vasta cantidad deestructuras de datos.
CARACTERISTICAS DE LOS ALGORITMOS
CARACTERÍSTICAS DE LOS ALGORITMOS
- Finitos: Debe acabar en algún momento.
- Eficientes: Deben ocupar la mínima memoria y minimizar el tiempo de ejecución.
- Legibles: El texto que lo describe debe ser claro, tal que permita entenderlo y leerlo fácilmente.
- Modificables: Estarán diseñados de modo que sus posteriores modificaciones sean fáciles de
realizar, incluso por programadores diferentes a sus propios autores.
- Modulares: La filosofía utilizada para su diseño debe favorecer la división del problema en
módulos pequeños.
- Único punto de entrada, único punto de salida: A los algoritmos y a los módulos que lo integran
se entra por un sólo punto, inicio, y se sale por un sólo punto también, fin.
LA ESTRUCTURA GENERAL PARA LA RESOLUCIÓN INFORMÁTICA DE UN PROBLEMA
SERÁ LA SIGUIENTE:
1.- Análisis del problema.
Haremos un estudio previo de la tarea a realizar. Si nos la dan verbalmente, haremos preguntas hasta
tener claro lo que se ha de hacer, es decir, hasta obtener la escritura detallada de todas las
especificaciones. Si la tarea nos la dan por escrito, podemos comenzar subrayando palabras o frases
decisivas, escribiendo al margen ideas y dudas, o cualquier otra cosa que nos ayude a concretar
especificaciones, además de realizar verbalmente todas las preguntas que den respuesta a nuestras dudas.
Algunas preguntas elementales serán las siguientes:
- ¿Cuáles serán los datos de entrada?.
- ¿Qué datos se piden de salida?.
- ¿Qué apariencia (formato) tendrán los datos?.
- ¿Cuántas veces se deben repetir los procesos?.
- ¿Hay que hacer suposiciones?. En caso afirmativo se hará un listado de ellas.
- ¿Pueden aparecer condiciones especiales de error?
- ¿Hemos resuelto algún problema parecido o sabemos que existe una solución para una tarea
análoga?. Si la respuesta es afirmativa usemos esa solución, aunque hubiera que modificarla.
- ¿Hay juegos de ensayo adecuados?. Búsquelos.
2.- Escribir en pseudocódigo el programa principal.
Empezaremos dividiendo el problema en módulos más sencillos, hasta llegar a un nivel de detalle
razonable utilizando nombres con significado para ellos. Si de momento no sabemos resolver alguno de
estos módulos, no debemos preocuparnos pensemos que alguien nos lo resolverá o que mañana tendremos
una idea genial para solucionarlo y sigamos adelante con nuestro diseño, tal vez tengamos la suerte de
encontrarlo ya hecho. Recordemos que si los problemas son razonablemente pequeños, como ocurrirá en
los primeros temas no será necesaria esta división en subtareas del problema.
2.- Escribir en pseudocódigo los módulos restantes.
Escribiremos cada uno de los módulos, detallando la secuencia de instrucciones que deben realizar, en el
caso de que los hubiera.
3.- Lectura del pseudocódigo.
Recorrer el algoritmo escrito en pseudocódigo inspeccionando, reordenando, detectando y corrigiendo
errores, revisando todo lo que sea necesario, incluso será posible que haya que planificar algún cambio.
No hay que tener miedo a empezar de nuevo si fuera necesario.
4.- Seguir la traza.
Haremos la prueba del algoritmo siguiendo la traza con los datos elegidos como juego de ensayo.
Observaremos los resultados minuciosamente, tratando de detectar y corregir los errores si estos
resultados no son los esperados.
5.- Documentación.
Una vez diseñado y bien estructurado un algoritmo, la siguiente actividad a desarrollar, sumamente
importante en programación, es producir programas bien documentados, para que se cumplan los
objetivos básicos, que los programas sean legibles, comprensibles y fácilmente modificables.
La documentación incluye descripciones, comentarios, especificaciones, incluso un breve manual de uso
si el algoritmo es suficientemente extenso.
Tenemos dos tipos de documentación en el desarrollo de algoritmos bien diseñados:
a) Documentación externa: Incluye la escritura de información que es exterior al cuerpo del
algoritmo. Puede incluir, además de todas las especificaciones detalladas, una explicación extensa del
desarrollo del algoritmo y de las modificaciones sufridas. Deben añadirse igualmente descripciones
detalladas del problema, de los módulos que lo componen, adjuntando un diagrama jerárquico del diseño
descendente y por último un manual de usuario donde se explicará al cliente (o al profesor en su defecto)
como debe usarse el programa. Esta documentación debe adjuntarse sólo en el caso de que los algoritmos
sean suficientemente grandes, lo que se consideran aplicaciones informáticas de cierta envergadura,
divididas en varios programas.
b) Documentación interna: Incluye la escritura de información que se suministra con el cuerpo del
algoritmo. Estará formada por comentarios, código autodocumentado e impresión agradable del texto del
pseudocódigo.
PROPIEDADES DE UN ALGORITMO
Las propiedades de un algoritmo son puntos guías a seguir para su elaboración, ya que éstos permiten un mejor desarrollo del problema.
1. Enunciado del problema. El enunciado del problema debe de ser claro y completo. Es importante que conozcamos exactamente lo que deseamos que haga el computador. Mientras esto no se comprenda, no tiene caso pasar a la siguiente etapa.
2. Análisis de la solución general.
Entendido el problema, para resolverlo es preciso analizar:
- Los datos de entradas que nos suministran.
- El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados.
- Los datos o resultados que se esperan.
- Áreas de trabajo, fórmulas y otros recursos necesarios.
- Definir condiciones si las hay
Diferentes alternativas de solución.
Analizando el problema, posiblemente tengamos varias formas de resolverlo. Lo importante es determinar cuál es la mejor alternativa: la que produce los resultados esperados en el menor tiempo.
3. Elaboración Del Algoritmo
Los conocimientos adquiridos anteriormente son las herramientas necesarias para llevar a cabo la elaboración de un algoritmo a través de un problema. Se recomienda tomar en cuenta cada una de las propiedades de un algoritmo, ya que de ahí se inicia el proceso de elaboración.
Suscribirse a:
Entradas (Atom)