1 / 40

ALGORITMOS

Que es un algoritmo y cuales son sus caracteru00edsticas

JORGE198
Download Presentation

ALGORITMOS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Universidad Autónoma del Estado de MéxicoUAEMPlantel "Sor Juana Inés de la Cruz“ALGORITMOS.

  2. ALGORITMOS • Es un conjunto finito de instrucciones que especifican una secuencia de operaciones a realizar en orden para resolver un problema específico. En otras palabras, un algoritmo es un método para la solución de problemas.

  3. La importancia de un algoritmo radica en desarrollar un razonamiento lógico matemático a través de la comprensión y aplicación de metodologías para la resolución de problemáticas, éstas problemáticas bien pueden ser de la propia asignatura o de otras disciplinas como matemáticas, química y física que implican el seguimiento de algoritmos, apoyando así al razonamiento critico deductivo e inductivo.

  4. No podemos apartar nuestra vida cotidiana los algoritmos, ya que al realizar cualquier actividad diaria los algoritmos están presentes aunque pasan desapercibidos, por ejemplo: Al levantarnos cada día para hacer nuestras labores hacemos una serie de pasos una y otra vez; eso es aplicar un algoritmo.

  5. PROPIEDADES DE UN ALGORITMO • Secuencia lógica • Ausencia de Ambigüedades • Generalidad • Limitaciones

  6. SECUENCIA LOGICA. • Se debe especificar sin lugar a dudas la secuencia a utilizar. • Un algoritmo debe tener una instrucción inicial única y un sucesor único en cada secuencia. • Las instrucciones son llevadas a cabo de arriba hacia abajo a menos que las mismas especifiquen lo contrario.

  7. SECUENCIA LOGICA. • Las entradas son las partidas de datos presentadas al algoritmo. • Las salidas son partidas de datos procesados que son el resultado de la ejecución un programa basado en el algoritmo.

  8. AUSENCIA DE AMBIGÜEDAD • En algoritmo debe ser defino, claro, preciso y no ambiguo. La representación de cada paso de un algoritmo debe dar lugar a una sola interpretación posible. • Esta condición significa que cada vez que se presente para su ejecución u algoritmo con los mismos datos de entrada, se obtendrán los mismos resultados.

  9. GENERALIDAD • Un algoritmo se puede realizar para varios problemas que se relacionan entre sí. • Un algoritmo se aplica a un problema o clase de problemas específicos; el rango de las entradas o dominios se tiene que definir previamente, ya que está determinado el alcance o la generalidad del algoritmo.

  10. LIMITACIÓN • Un algoritmo es finito en tamaño y tiempo. • La ejecución de un algoritmo debe finalizar después de que se haya llevado a cabo una cantidad finita de operaciones.

  11. DOMINIO DE UN ALGORITMO • La clase o el conjunto de datos y condiciones para las cuales un algoritmo trabaja concretamente se llama dominio. • Cuando se trata de resolver cualquier problema es necesario definir el dominio del algoritmo y después verificar que trabaja para todos los casos que se encuentran dentro del dominio. • Es necesario incluir en el dominio todas las situaciones similares, pero los casos remotos o poco probables se permiten omitir.

  12. ERRORES EN LA CONTRUCCIÓN DEL DOMINIO. • Errores del dominio: se presentan cuando se no han especificado todas las situaciones que se pueden presentar en la práctica o se han descuidado la apreciación de su importancia. A medida que se presenta el problema, se tiene que clasificar y hay tres opciones: • Ignorarlo porque es improbable y quizás nunca ocurra. • Restringir el dominio del algoritmo para excluirlo. • Corregir el algoritmo.

  13. ERRORES DE LÓGICA: • Son aquellos errores que se detectan, después que se ha definido en forma adecuada el dominio de un algoritmo, en la etapa de prueba o verificación. • se deben principalmente a las siguientes causas: • Etapas incorrectas. • Secuencia incorrecta de etapas • El criterio de elección de un algoritmo debe hacerse en base a criterios tales como: • Que el algoritmo sea simple, es decir, fácil de entender y de escribir. • Que el algoritmo sea eficiente.

  14. MÉTODO HEURÍSTICO • La heurística proporciona un esquema o plan para abordar los problemas poco conocidos, mejora la capacidad de crear soluciones y asegura que el método que se va a usar sea eficiente. • En la etapa de planificación es donde se tiene la oportunidad de comparar métodos y seleccionar el más adecuado.

  15. Surge la pregunta: • ¿ Cómo se pueden resolver los problemas para los que no hay un método establecido o para los cuales conocemos un algoritmo?.

  16. DISEÑO DE UN ALGORITMO • Un método heurística para diseñar algoritmo es el denominado DIVIDE AND CONQUER, el cual es una técnica TOP-DOWN. • Este método permite implementar la segmentación, descomposición de un problema largo y complejo en problemas independientes más pequeños y fáciles de resolver que el problema de partida. • La técnica consiste en varias etapas.

  17. DESCOMPOSICIÓN DEL PROBLEMA DE PARTIDA EN SUBPROBLEMAS INDEPENDIENTES Y DETERMINACIÓN DE LAS RELACIONES ENTRE ELLOS.

  18. RESOLUCIÓN DE CADA SUBPROBLEMA • Si un sub-problema es grande, por descomposición y continuando hasta que resulten de la descomposición sub -problemas fácilmente resolubles.

  19. Composición de las soluciones de los sub- problemas para lograr la solución final • El diseño del algoritmo que resuelve un problema, realizado con esta técnica recibe el nombre de DISEÑO DESCENDENTE y resulta en algoritmo sencillos, claros, fáciles de entender, seguir y corregir. • El diseño de un algoritmo no se hace de una sola vez, sino que se va resolviendo en una secuencia de pasos ( llamados PASOS DE REFINAMIENTO). • En cada paso el problema es refinado agregando detalles significativos, por lo que el método se conoce como: MÉTODO DE LOS REFINAMIENTOS SUCESIVOS.

  20. UN INGENIERO ES CONVOCADO PARA CONSTRUIR UN EDIFICIO

  21. UN SUB- PROBLEMA

  22. OTRO SUB- PROBLEMA

  23. OTRO SUB- PROBLEMA

  24. Al utilizar el refinamiento por pasos el diseñador de un algoritmo debe saber donde detenerse, es decir, debe saber cuando un paso específico del algoritmo es lo suficientemente claro para no necesitar más refinamiento. • Se necesita CONOCER LAS CAPACIDADES DE UN PROCESADOR no sólo para terminar los refinamientos, sino para dirigir la forma en que el refinamiento avanza.

  25. Básicamente, estas subdivisiones deseadas( llamadas módulos) deben satisfacer los siguientes requisitos: • Los módulos deben estas jerarquizados. • Deben ser pequeños y sencillos. • Se deberán utilizar tantos módulos de menor jerarquía como sea necesario para cumplir con la restricción de ser pequeños y sencillos.

  26. Básicamente, estas subdivisiones deseadas( llamadas módulos) deben satisfacer los siguientes requisitos: • Se deberán usar las estructuras de control y datos adecuadas para cumplir con el requisito de pequeños y sencillos. • Los módulos deben ser legibles para cualquier persona aunque tenga solamente conocimientos elementales.

  27. LENGUAJE DE DISEÑO DE PROGRAMAS Se llamará LENGUAJE DE DESCRIPCIÓN DE PROGRAMAS a la herramienta que permitirá diseñar programas de codificación.

  28. Este pseudo- lenguaje tiene las siguientes características: • Permite expresar de manera informal las estructuras de secuencia. • Permite expresar las ideas en frases del lenguaje propio o natural. • Es similar al lenguaje de programación pero no está ligado a ninguna regla formal de sintaxis como aquellos. • No es un lenguaje compilable

  29. Este pseudo- lenguaje tiene las siguientes características: • Por convención se hace un sangrado en el texto que ayuda a la percepción visual de la lógica del diseño. • Permite expresar diseños de fácil comprensión que podrá convertirse sin dificultad a código en el lenguaje de implementación. • El pseudo-código generado es más fácil de cambiar y corregir que el código del programa.

  30. DIAGRAMA DE FLUJO • Un diagrama de flujo es otra técnica de diseño de algoritmos. Consiste en una serie de símbolos que denotan acciones, decisiones o procedimientos que se unen mediante flechas y conectores. • Esta representación nos ayudará a conocer la información que tenemos, donde la tenemos, que debemos hacer con ella y como presentarla. • Debe tener las cualidades de sencillez, claridad y normalización en su diseño.

  31. Seguir la metodología para resolver problemas • Identificar el problema y delimitarlo; especificar cuál es la situación. • Analizar el problema y plantear alternativas de solución. • Elegir alternativa de solución para comenzar a diseñar el algoritmo. • Desarrollar la solución. • Evaluar la solución.

  32. Ejemplo: Estructura Secuencial

  33. Ejemplo: Estructura Iterativa

  34. BIBLIOGRAFIA. • Samperio Monroy Theira Irasema. Antología “Programación Estructurada”. Diciembre 2006 • 2. CairóOlvaldo, Metodología de la programación (algoritmos, diagramas de flujo y programas), Editorial Alfa omega, Segunda edición. • 3. Joyanes Aguilar Luís, Fundamentos de programación (Algoritmos, estructuras de datos y objetos), Editorial McGraw Hill, Tercera Edición. • 4. Ferreyra Cortés Gonzalo, Informática para cursos de bachillerato, Editorial Alfa omega, Segunda Edición • 5. Imágenes obtenidas del Software DFD y Pseint

More Related