Академический Документы
Профессиональный Документы
Культура Документы
UNICIENCIA
ANALISIS DE ALGORITMOS
AGOSTO 2013
INGENIERIA INFORMATICA
CONCEPTOS BSICOS
Qu es un algoritmo?
Caractersticas bsicas de un algoritmo
Cualidades de un algoritmo
Tipos de algoritmos
Lenguaje Algortmico
Problemas y algoritmos
Complejidad Algortmica.
o Como se mide la eficiencia de un algoritmo, tiempo y espacio
o Peor caso, caso promedio
o Modelo de un computador
o Medidas de complejidad
Modelos de computo
Modelo Universal de la Mquina de Turing
Problemas de complejidad polinomial
ANALISIS DE ALGORITMOS
AGOSTO 2013
INGENIERIA INFORMATICA
QUE ES UN ALGORITMO?
Un algoritmo implica la descripcin precisa de los pasos a seguir para alcanzar la solucin de un problema
dado. Se define como una serie de pasos organizados que describen el proceso que se debe seguir, para dar
solucin a un problema especfico.
Por pasos se entiende el conjunto de acciones u operaciones que se efectan sobre ciertos objetos.
Algoritmo:
Entrada -----
Proceso ---
Salida
ANALISIS DE ALGORITMOS
AGOSTO 2013
INGENIERIA INFORMATICA
CUALIDADES DE UN ALGORITMO
Un algoritmo debe ser adems:
General: Es deseable que un algoritmo sea capaz de resolver una clase de problemas lo ms amplia posible.
Eficiente: Un algoritmo es eficiente cuantos menos recursos en tiempo, espacio (de memoria) y procesadores
consume.
Por lo general es difcil encontrar un algoritmo que rena ambas por lo que se debe alcanzar un compromiso
que satisfaga lo mejor posible los requisitos del problema.
TIPOS DE ALGORITMOS
Teniendo en cuenta la forma como describen el proceso, se pueden clasificar en:
Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Cuantitativos: Son aquellos en los que se utilizan clculos numricos para definir los pasos del proceso.
ANALISIS DE ALGORITMOS
AGOSTO 2013
INGENIERIA INFORMATICA
LENGUAJE ALGORTMICO
Es una serie de smbolos y reglas que se utilizan para describir de manera explcita un proceso, que servirn de
apoyo para describir las soluciones que aqu se plantean.
Teniendo en cuenta la forma en que describen el proceso, existen dos tipos de lenguajes algortmicos:
Grficos
Es la representacin grfica de las operaciones que realiza un algoritmo (diagrama de flujo).
Tambin se puede decir que es la representacin detallada en forma grfica de cmo deben realizarse los
pasos para producir resultados.
Esta representacin grfica se presenta mediante un conjunto de smbolos que se relacionan entre s a travs
de lneas que indican el orden en que se deben ejecutar cada uno de los procesos.
Los smbolos bsicos utilizados en los diagramas de flujo son:
ANALISIS DE ALGORITMOS
AGOSTO 2013
INGENIERIA INFORMATICA
Este se utiliza para representar el inicio o el fin de un algoritmo. Tambin puede
representar una parada o una interrupcin programada que sea necesaria realizar en un
programa.
Este se utiliza para un proceso determinado, es el que se utiliza comnmente para
representar una instruccin, o cualquier tipo de operacin que origine
un cambio de valor.
Este smbolo es utilizado para representar una entrada o salida de informacin, que sea
procesada o registrada por medio de un perifrico.
Este es utilizado para la toma de decisiones, ramificaciones, para la indicacin de operaciones
lgicas o de comparacin entre datos.
Este es utilizado para enlazar dos partes cualesquiera de un diagrama a travs de un conector de
salida y un conector de entrada. Esta forma un enlace en la misma pgina del diagrama.
Este es utilizado para enlazar dos partes de un diagrama pero que no se encuentren en la
misma pgina.
ANALISIS DE ALGORITMOS
AGOSTO 2013
INGENIERIA INFORMATICA
Recomendaciones para el diseo de Diagramas de Flujo:
Pseudo cdigo
Mezcla de lenguaje de programacin y un idioma como el espaol, que se emplea dentro de la programacin
estructurada, para especificar el diseo de un programa. Se puede definir como un lenguaje de
especificaciones de algoritmos, utilizando palabras que indican el proceso a realizar.
Las palabras ms comunes son:
Inicio, fin, leer, escribir, si, sino, fin si, para, fin para, mientrasque, fin mientrasque, repita, hasta, regresar.
ANALISIS DE ALGORITMOS
AGOSTO 2013
INGENIERIA INFORMATICA
PROBLEMAS Y ALGORITMOS
1. Realizar un diagrama de flujo que calcule e imprima la edad de una persona dado el ao en que naci.
Anlisis
Algoritmo
Inicio
Suministrar ao en que naci (A)
Suministrar el ao actual (B)
Restar el ao en que naci con el ao actual
Generar el resultado
Imprimir la edad
Fin
ANALISIS DE ALGORITMOS
AGOSTO 2013
INGENIERIA INFORMATICA
2. Realizar un diagrama de flujo que calcule e imprima la nota final de un alumno tomando en cuenta lo siguiente.
1 semestre consta de 4 cortes
El primer corte con 25%
El segundo corte con 30%
El tercer corte con 30%
El cuarto corte con 15%
Anlisis
ANALISIS DE ALGORITMOS
AGOSTO 2013
INGENIERIA INFORMATICA
3. Realizar el diagrama de flujo que dado dos nmeros impriman el mayor de ellos
Anlisis
Dado dos nmeros imprimir el mayor de ellos
Darle valores a los nmeros
Comparar si X > Y
Algoritmo
1.
2.
3.
4.
Inicio
Suministrar variable x
Suministrar variable Y
Determinar si X>Y
X > Y?
SI: ir al paso 5
NO: ir al paso 6
5. Imprimir X
6. Imprimir Y
7. Fin
Realizar el diagrama de flujo teniendo en cuenta el anlisis y el algoritmo
ANALISIS DE ALGORITMOS
AGOSTO 2013