Your SlideShare is downloading. ×
ALGORITMOS
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

ALGORITMOS

1,547
views

Published on

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,547
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
35
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ALGORITMOS•Conjunto de pasos quenos permite obtener undato.•Un algoritmo es elconjunto de operaciones yprocedimientos que debenseguirse para resolver unproblema.
  • 2. Finitud: El algoritmo debe acabar tras un número finito depasos.Definibilidad: El algoritmo debe definirse de forma precisapara cada pasoEntrada: El algoritmo tendrá cero o más entradas, es decir,cantidades dadas antes de empezar el algoritmo.Salida: El algoritmo tiene una o más salidas, en relación conlas entradas.Efectividad: Se entiende por esto que una persona sea capazde realizar el algoritmo de modo exacto y sin ayuda de unamáquina en un lapso de tiempo finito.
  • 3. Algoritmos voraces Se seleccionan los elementosmás prometedores del conjunto de candidatoshasta encontrar una solución.Algoritmos paralelos: Permiten la división de unproblema en subproblemas.Algoritmos probabilísticos: Algunos de los pasosde este tipo de algoritmos están en función devaloresAlgoritmos determinísticos: El comportamiento delalgoritmo es lineal: cada paso del algoritmo tieneúnicamente un paso sucesor y otro antecesor.
  • 4. Algoritmos no determinísticos: El comportamientodel algoritmo tiene forma de árbol y a cada pasodel algoritmo puede bifurcarse a cualquier númerode pasos inmediatamente posteriores.Divide y vencerás: Dividen el problema ensubconjuntos obteniendo una solución de cada unode ellos para después unirlas, logrando así lasolución al problema completo.Metaheurísticas: Encuentran solucionesaproximadas a problemas basándose en unconocimiento anterior de los mismos.Programación dinámica: Intenta resolverproblemas disminuyendo su coste computacionalaumentando el coste espacial.
  • 5. Ramificación y acotación: Se basa en laconstrucción de las soluciones al problemamediante un árbol implícito que se recorre deforma controlada encontrando las mejoressoluciones.Vuelta atrás Se construye el espacio de solucionesdel problema en un árbol que se examinacompletamente, almacenando las solucionesmenos costosas.
  • 6. Análisis previo del Problema: Se debe realizar un análisisdel funcionamiento del problema antes que se realicecualquier algoritmo.Definición de Requerimientos: Los problemas a solucionar,esto es, por ejemplo, el sumar dos números, multiplicar dosmatrices, ordenar una lista de números, generar unreporte, etc.Identificación de los Módulos: La identificación de losmódulos es tan importante como la identificación correctade los requerimientosRealización de los Algoritmos: A continuación corresponderealizar los algoritmos correspondientes para cada móduloidentificado.
  • 7. Implementación de los Algoritmos: Laimplementación de los algoritmos se debe realizaren un lenguaje de programación para que unacomputadora pueda comprender las instruccionesque el algoritmo modela para así poder ejecutarlasy lograr el resultado esperado.En el último paso ya podemos hablar de unaaplicación o programa de computadora, pararepresentar los algoritmos diseñados y dar asísolución a los requerimientos identificados
  • 8. DIAGRAMA DE FLUJOLos diagramas de flujoson descripcionesgráficas de algoritmos;usan símbolosconectados con flechaspara indicar la secuenciade instrucciones y estánregidos por ISO.
  • 9. Es una descripción de alto nivel de un algoritmoque emplea una mezcla de lenguaje natural conalgunas convenciones de lenguajes deprogramación, como asignaciones, ciclos ycondicionales, aunque no está regido por ningúnestándar.El pseudocódigo está pensado para facilitar a laspersonas el entendimiento de un algoritmo