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

2,634
views

Published on


0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,634
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
34
Comments
0
Likes
1
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. SUSANA CANDIDA QUISPE CONDORI
  • 2. En matemáticas, ciencias de lacomputación y disciplinasrelacionadas, un algoritmo (del griegoy latín, dixit algorithmus y este a suvez del matemático persa Al-Juarismi )es un conjunto preescrito deinstrucciones o reglas bien definidas,ordenadas y finitas que permiterealizar una actividad mediante pasossucesivos que no generen dudas aquien deba realizar dicha actividad.[]Dados un estado inicial y una entrada,siguiendo los pasos sucesivos se llegaa un estado final y se obtiene unasolución. Los algoritmos son el objetode estudio de la algoritmia. SUSANA CANDIDA QUISPE CONDORI
  • 3. Podemos encontrar muchas definiciones completas o formales de algoritmoen los textos de algoritmica y programación, todas ellas muy similares: Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones de un ordenador debe realizar para llevar a cabo un tarea en un tiempo mas finito. [Donald E. Knuth, 1968] Descripcion de un esquema de comportamiento expresado mediante un reportorio finito de acciones y de informaciones elementales, identificadas, bien comprendidas y realizables a priori. Este repertorio se denomica lexico [Pierre Scholl, 1988] Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solución o indicar la falta de esta a un problema en un tiempo determinado. [Rodolfo Quispe-Otazu, 2004] SUSANA CANDIDA QUISPE CONDORI
  • 4. TIEMPO SECUENCIAL. Un algoritmo funciona en tiempo discretizado –paso apaso–, definiendo así una secuencia de estados "computacionales" por cadaentrada válida (la entrada son los datos que se le suministran al algoritmoantes de comenzar).ESTADO ABSTRACTO. Cada estado computacional puede ser descritoformalmente utilizando una estructura de primer orden y cada algoritmo esindependiente de su implementación (los algoritmos son objetos abstractos)de manera que en un algoritmo las estructuras de primer orden soninvariantes bajo isomorfismo.EXPLORACIÓN ACOTADA. La transición de un estado al siguiente quedacompletamente determinada por una descripción fija y finita; es decir, entrecada estado y el siguiente solamente se puede tomar en cuenta una cantidadfija y limitada de términos del estado actual. SUSANA CANDIDA QUISPE CONDORI
  • 5. DESCRIPCIÓN DE ALTO NIVEL. Se establece el problema, seselecciona un modelo matemático y se explica el algoritmo demanera verbal, posiblemente con ilustraciones y omitiendo detalles.DESCRIPCIÓN FORMAL. Se usa pseudocódigo para describir lasecuencia de pasos que encuentran la solución.IMPLEMENTACIÓN. Se muestra el algoritmo expresado en unlenguaje de programación específico o algún objeto capaz de llevar acabo instrucciones. SUSANA CANDIDA QUISPE CONDORI
  • 6. SUSANA CANDIDA QUISPE CONDORI
  • 7. Los diagramas de flujo son descripciones gráficasde algoritmos; usan símbolos conectados conflechas para indicar la secuencia de instruccionesy están regidos por ISO.Los diagramas de flujo son usados pararepresentar algoritmos pequeños, ya que abarcanmucho espacio y su construcción es laboriosa. Porsu facilidad de lectura son usados comointroducción a los algoritmos, descripción de unlenguaje y descripción de procesos a personasajenas a la computación.Los algoritmos pueden ser expresados de muchasmaneras, incluyendo al lenguaje natural,pseudocódigo, diagramas de flujo y lenguajes deprogramación entre otros. Las descripciones enlenguaje natural tienden a ser ambiguas yextensas. El usar pseudocódigo y diagramas deflujo evita muchas ambigüedades del lenguajenatural. Dichas expresiones son formas másestructuradas para representar algoritmos; noobstante, se mantienen independientes de unlenguaje de programación específico. SUSANA CANDIDA QUISPE CONDORI
  • 8. ESTRUCTURAS SECUENCIALESLa estructura secuencial es aquella en la que una acción sigue a otra ensecuencia. Las operaciones se suceden de tal modo que la salida de una es laentrada de la siguiente y así sucesivamente hasta el fin del proceso. Laasignación de esto consiste, en el paso de valores o resultados a una zona de lamemoria. Dicha zona será reconocida con el nombre de la variable que recibe elvalor. La asignación se puede clasificar de la siguiente forma:1) SIMPLES: Consiste en pasar un valor constante a una variable (a ← 15)2) CONTADOR: Consiste en usarla como un verificador del número de veces que se realiza un proceso (a ← a + 1)3) ACUMULADOR: Consiste en usarla como un sumador en un proceso (a ← a + b)4) DE TRABAJO: Donde puede recibir el resultado de una operación matemática que involucre muchas variables (a ← c + b*2/4). SUSANA CANDIDA QUISPE CONDORI
  • 9. ALGORITMOS COMO FUNCIONESEsquemática de un algoritmo solucionando un problema de ciclo hamiltoniano.Un algoritmo se puede concebir como una función que transforma los datosde un problema (entrada) en los datos de una solución (salida). Más aun, losdatos se pueden representar a su vez como secuencias de bits, y en general,de símbolos cualesquiera. Como cada secuencia de bits representa a unnúmero natural (véase Sistema binario), entonces los algoritmos son enesencia funciones de los números naturales en los números naturales que síse pueden calcular. Es decir que todo algoritmo calcula una función dondecada número natural es la codificación de un problema o de una solución. SUSANA CANDIDA QUISPE CONDORI
  • 10. ANÁLISIS DE ALGORITMOSComo medida de la eficiencia de un algoritmo, se suelen estudiar losrecursos (memoria y tiempo) que consume el algoritmo. El análisis dealgoritmos se ha desarrollado para obtener valores que de alguna formaindiquen (o especifiquen) la evolución del gasto de tiempo y memoria enfunción del tamaño de los valores de entrada.EJEMPLO DE ALGORITMOEl problema consiste en encontrar el máximo de un conjunto de números.Para un ejemplo más complejo véase Algoritmo de Euclides.DESCRIPCIÓN DE ALTO NIVELDado un conjunto finito de números, se tiene el problema de encontrar elnúmero más grande. Sin pérdida de generalidad se puede asumir que dichoconjunto no es vacío y que sus elementos están numerados como . SUSANA CANDIDA QUISPE CONDORI
  • 11. SUSANA CANDIDA QUISPE CONDORI