SlideShare una empresa de Scribd logo
1 de 11
SUSANA CANDIDA QUISPE CONDORI
En matemáticas, ciencias de la
computación           y       disciplinas
relacionadas, un algoritmo (del griego
y latín, dixit algorithmus y este a su
vez del matemático persa Al-Juarismi )
es un conjunto preescrito de
instrucciones      o     reglas      bien
definidas, ordenadas y finitas que
permite realizar una actividad
mediante pasos sucesivos que no
generen dudas a quien deba realizar
dicha actividad.[] Dados un estado
inicial y una entrada, siguiendo los
pasos sucesivos se llega a un estado
final y se obtiene una solución. Los
algoritmos son el objeto de estudio de
la algoritmia.                      SUSANA CANDIDA QUISPE CONDORI
Podemos encontrar muchas definiciones completas o formales de algoritmo
en 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
TIEMPO SECUENCIAL. Un algoritmo funciona en tiempo discretizado –paso a
paso–, definiendo así una secuencia de estados "computacionales" por cada
entrada válida (la entrada son los datos que se le suministran al algoritmo
antes de comenzar).
ESTADO ABSTRACTO. Cada estado computacional puede ser descrito
formalmente utilizando una estructura de primer orden y cada algoritmo es
independiente de su implementación (los algoritmos son objetos abstractos)
de manera que en un algoritmo las estructuras de primer orden son
invariantes bajo isomorfismo.
EXPLORACIÓN ACOTADA. La transición de un estado al siguiente queda
completamente determinada por una descripción fija y finita; es decir, entre
cada estado y el siguiente solamente se puede tomar en cuenta una cantidad
fija y limitada de términos del estado actual.
                                 SUSANA CANDIDA QUISPE CONDORI
DESCRIPCIÓN DE ALTO NIVEL. Se establece el problema, se
selecciona un modelo matemático y se explica el algoritmo de
manera verbal, posiblemente con ilustraciones y omitiendo detalles.

DESCRIPCIÓN FORMAL. Se usa pseudocódigo para describir la
secuencia de pasos que encuentran la solución.

IMPLEMENTACIÓN. Se muestra el algoritmo expresado en un
lenguaje de programación específico o algún objeto capaz de llevar a
cabo instrucciones.


                              SUSANA CANDIDA QUISPE CONDORI
SUSANA CANDIDA QUISPE CONDORI
Los diagramas de flujo son descripciones gráficas
de algoritmos; usan símbolos conectados con
flechas para indicar la secuencia de instrucciones
y están regidos por ISO.
Los diagramas de flujo son usados para
representar algoritmos pequeños, ya que abarcan
mucho espacio y su construcción es laboriosa. Por
su facilidad de lectura son usados como
introducción a los algoritmos, descripción de un
lenguaje y descripción de procesos a personas
ajenas a la computación.
Los algoritmos pueden ser expresados de muchas
maneras,        incluyendo        al      lenguaje
natural, pseudocódigo, diagramas de flujo y
lenguajes de programación entre otros. Las
descripciones en lenguaje natural tienden a ser
ambiguas y extensas. El usar pseudocódigo y
diagramas de flujo evita muchas ambigüedades del
lenguaje natural. Dichas expresiones son formas
más estructuradas para representar algoritmos;
no obstante, se mantienen independientes de un
lenguaje de programación específico.
                                              SUSANA CANDIDA QUISPE CONDORI
ESTRUCTURAS SECUENCIALES
La estructura secuencial es aquella en la que una acción sigue a otra en
secuencia. Las operaciones se suceden de tal modo que la salida de una es la
entrada de la siguiente y así sucesivamente hasta el fin del proceso. La
asignación de esto consiste, en el paso de valores o resultados a una zona de la
memoria. Dicha zona será reconocida con el nombre de la variable que recibe el
valor. 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
ALGORITMOS COMO FUNCIONES
Esquemática de un algoritmo solucionando un problema de ciclo hamiltoniano.
Un algoritmo se puede concebir como una función que transforma los datos
de un problema (entrada) en los datos de una solución (salida). Más aun, los
datos se pueden representar a su vez como secuencias de bits, y en
general, de símbolos cualesquiera. Como cada secuencia de bits representa a
un número natural (véase Sistema binario), entonces los algoritmos son en
esencia 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 donde
cada número natural es la codificación de un problema o de una solución.




                                SUSANA CANDIDA QUISPE CONDORI
ANÁLISIS DE ALGORITMOS
Como medida de la eficiencia de un algoritmo, se suelen estudiar los
recursos (memoria y tiempo) que consume el algoritmo. El análisis de
algoritmos se ha desarrollado para obtener valores que de alguna forma
indiquen (o especifiquen) la evolución del gasto de tiempo y memoria en
función del tamaño de los valores de entrada.

EJEMPLO DE ALGORITMO
El 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 NIVEL
Dado un conjunto finito de números, se tiene el problema de encontrar el
número más grande. Sin pérdida de generalidad se puede asumir que dicho
conjunto no es vacío y que sus elementos están numerados como .
                                 SUSANA CANDIDA QUISPE CONDORI
SUSANA CANDIDA QUISPE CONDORI

Más contenido relacionado

La actualidad más candente

Algoritmo a
Algoritmo aAlgoritmo a
Algoritmo a
tanztanz
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
Carlos
 
Presentación1 mary viernes
Presentación1 mary viernesPresentación1 mary viernes
Presentación1 mary viernes
BELEN_MARY
 
Presentación1 mary viernes
Presentación1 mary viernesPresentación1 mary viernes
Presentación1 mary viernes
BELEN_MARY14
 

La actualidad más candente (18)

Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas 
 
Algebra junior rico2
Algebra junior rico2Algebra junior rico2
Algebra junior rico2
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Algoritmo a
Algoritmo aAlgoritmo a
Algoritmo a
 
Resumen de algoritmo
Resumen de algoritmoResumen de algoritmo
Resumen de algoritmo
 
Algoritmojulio
AlgoritmojulioAlgoritmojulio
Algoritmojulio
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmo , MATEMÁTICA
Algoritmo ,  MATEMÁTICAAlgoritmo ,  MATEMÁTICA
Algoritmo , MATEMÁTICA
 
Tipos de Datos Abstractos.
Tipos de Datos Abstractos.Tipos de Datos Abstractos.
Tipos de Datos Abstractos.
 
Vianey Hernandez Lopez
Vianey Hernandez LopezVianey Hernandez Lopez
Vianey Hernandez Lopez
 
Presentación1 mary viernes
Presentación1 mary viernesPresentación1 mary viernes
Presentación1 mary viernes
 
Presentación1 mary viernes
Presentación1 mary viernesPresentación1 mary viernes
Presentación1 mary viernes
 
Introducción al análisis de algoritmos
Introducción al  análisis de algoritmosIntroducción al  análisis de algoritmos
Introducción al análisis de algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 

Destacado

Algoritmos
AlgoritmosAlgoritmos
Algoritmos
Alex
 
Diapositivas algoritmos Pseudocodigo diagramas de flujo
Diapositivas algoritmos Pseudocodigo diagramas de flujoDiapositivas algoritmos Pseudocodigo diagramas de flujo
Diapositivas algoritmos Pseudocodigo diagramas de flujo
KellyDeArmas
 

Destacado (8)

Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Diapositivas algoritmos Pseudocodigo diagramas de flujo
Diapositivas algoritmos Pseudocodigo diagramas de flujoDiapositivas algoritmos Pseudocodigo diagramas de flujo
Diapositivas algoritmos Pseudocodigo diagramas de flujo
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Similar a Algoritmos

Fundamentos programación
Fundamentos programaciónFundamentos programación
Fundamentos programación
Milton Escobar
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
EberCV1
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
EberCV1
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacion
Boris Salleg
 
algoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionalgoritmos y fundamentos de programacion
algoritmos y fundamentos de programacion
MIKE_INK_RM
 

Similar a Algoritmos (20)

Fundamentos programación
Fundamentos programaciónFundamentos programación
Fundamentos programación
 
algoritmos
algoritmosalgoritmos
algoritmos
 
Evaluacion de algoritmo
Evaluacion de algoritmoEvaluacion de algoritmo
Evaluacion de algoritmo
 
Algoritmo Matematicas
Algoritmo MatematicasAlgoritmo Matematicas
Algoritmo Matematicas
 
Manual users algoritmos
Manual users   algoritmosManual users   algoritmos
Manual users algoritmos
 
Apartes De Algoritmos
Apartes De AlgoritmosApartes De Algoritmos
Apartes De Algoritmos
 
Presentacion algoritmo
Presentacion algoritmoPresentacion algoritmo
Presentacion algoritmo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Técnicas de Diseño Detallado.
Técnicas de Diseño Detallado.Técnicas de Diseño Detallado.
Técnicas de Diseño Detallado.
 
Algorimo1
Algorimo1Algorimo1
Algorimo1
 
EL ALGORITMO
EL ALGORITMOEL ALGORITMO
EL ALGORITMO
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacion
 
algoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionalgoritmos y fundamentos de programacion
algoritmos y fundamentos de programacion
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmo
 
Introduccion a la logica de programacion
Introduccion a la logica de programacionIntroduccion a la logica de programacion
Introduccion a la logica de programacion
 
Pteg g-grupo nº7-lista 8-9-13-20-49 -expo cap 5 tema algoritmos
Pteg g-grupo nº7-lista 8-9-13-20-49 -expo cap 5 tema  algoritmosPteg g-grupo nº7-lista 8-9-13-20-49 -expo cap 5 tema  algoritmos
Pteg g-grupo nº7-lista 8-9-13-20-49 -expo cap 5 tema algoritmos
 
ALGORITMOS
ALGORITMOSALGORITMOS
ALGORITMOS
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 

Algoritmos

  • 2. En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi ) es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.[] Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia. SUSANA CANDIDA QUISPE CONDORI
  • 3. Podemos encontrar muchas definiciones completas o formales de algoritmo en 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 a paso–, definiendo así una secuencia de estados "computacionales" por cada entrada válida (la entrada son los datos que se le suministran al algoritmo antes de comenzar). ESTADO ABSTRACTO. Cada estado computacional puede ser descrito formalmente utilizando una estructura de primer orden y cada algoritmo es independiente de su implementación (los algoritmos son objetos abstractos) de manera que en un algoritmo las estructuras de primer orden son invariantes bajo isomorfismo. EXPLORACIÓN ACOTADA. La transición de un estado al siguiente queda completamente determinada por una descripción fija y finita; es decir, entre cada estado y el siguiente solamente se puede tomar en cuenta una cantidad fija y limitada de términos del estado actual. SUSANA CANDIDA QUISPE CONDORI
  • 5. DESCRIPCIÓN DE ALTO NIVEL. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles. DESCRIPCIÓN FORMAL. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución. IMPLEMENTACIÓN. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones. SUSANA CANDIDA QUISPE CONDORI
  • 7. Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO. Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación. Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico. SUSANA CANDIDA QUISPE CONDORI
  • 8. ESTRUCTURAS SECUENCIALES La estructura secuencial es aquella en la que una acción sigue a otra en secuencia. Las operaciones se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. La asignación de esto consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor. 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 FUNCIONES Esquemática de un algoritmo solucionando un problema de ciclo hamiltoniano. Un algoritmo se puede concebir como una función que transforma los datos de un problema (entrada) en los datos de una solución (salida). Más aun, los datos se pueden representar a su vez como secuencias de bits, y en general, de símbolos cualesquiera. Como cada secuencia de bits representa a un número natural (véase Sistema binario), entonces los algoritmos son en esencia 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 donde cada número natural es la codificación de un problema o de una solución. SUSANA CANDIDA QUISPE CONDORI
  • 10. ANÁLISIS DE ALGORITMOS Como medida de la eficiencia de un algoritmo, se suelen estudiar los recursos (memoria y tiempo) que consume el algoritmo. El análisis de algoritmos se ha desarrollado para obtener valores que de alguna forma indiquen (o especifiquen) la evolución del gasto de tiempo y memoria en función del tamaño de los valores de entrada. EJEMPLO DE ALGORITMO El 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 NIVEL Dado un conjunto finito de números, se tiene el problema de encontrar el número más grande. Sin pérdida de generalidad se puede asumir que dicho conjunto no es vacío y que sus elementos están numerados como . SUSANA CANDIDA QUISPE CONDORI