Upload
augusto-leudo-angel
View
217
Download
0
Embed Size (px)
DESCRIPTION
Algoritmeichon
Citation preview
Facultad de IngenieríaDepartamento de Ciencias de la
Información
ALGORITMOS
• Un algoritmo es una secuencia de pasos ordenados que permiten resolver un problema determinado en un tiempo finito.
• Un algoritmo es un conjunto de instrucciones no ambiguas, combinadas, para resolver un problema en un determinado tiempo.
DEFINICIÓN
• Simple• Definido: Si se sigue un algoritmo dos
veces, se debe obtener el mismo resultado cada vez.(sin ambigüedades)
• Preciso: debe indicar con mucha claridad el orden de realización de cada paso. (sentencias ordenadas)
• Finito: principio y fin• Efectivo: Funciona de acuerdo a lo
solicitado (requerimientos)
PROPIEDADES DE LOS ALGORITMOS
DISEÑO DEL ALGORITMO
ENTRADAS PROCESOS SALIDAS
DATOS
No relaciones
No decisiones
No conclusiones
•INSTRUCCIONES
•OPERACIONES
•ESTRUCTURAS DE CONTROL Y CICLOS
RESPUESTAS
Relaciones
Decisiones
conclusiones
• Ventaja:Ventaja: facilidad de comprensión, cualquier persona que lea dicho algoritmo podría entenderlo y aplicarlo.
• Desventajas:Desventajas:• - El lenguaje natural no es universal.• - El lenguaje natural es ambiguo y susceptible de
errores.• El lenguaje natural es demasiado amplio.• Por todo ello, se han buscado nuevas formas de describir
los algoritmos que, cuando menos, sean más universales, estén mejor delimitadas y no sean ambiguas; dos técnicas que logran esto son los Diagramas de flujo y las notaciones en pseudocódigo.
LENGUAJE NATURAL
Es la representación gráfica de un algoritmo; para ello se utilizan una serie de bloques que indican distintas circunstancias y flechas que muestran bajo qué condiciones se pasa de un bloque a otro.
DIAGRAMAS DE FLUJO
flujo
Inicio/Termina
Proceso Conectores de página
Lea Escriba
Diagrama de flujo
Especificaciones o Enunciado
Resultados o Respuestas
DIAGRAMA DE FLUJOINICIO
FIN
“INGRESE EL SALARIO”
SALA
SALA> 100000
“AUMENTO 10%”
Los símbolos son universales.- Son menos propensos a la ambigüedad. Por estar basados en un número pequeño de bloques y reglas para su empleo permiten delimitar mejor los algoritmos.Se aproximan más a la forma en que trabaja el ordenador.
En la actualidad sólo se utilizan en algoritmos sencillos
no
si
El pseudocódigo pretende aunar en un solo tipo de representación las ventajas del lenguaje natural y de los diagramas de flujo sin ninguno de sus problemas; por tanto, el pseudocódigo:
• Es fácilmente comprensible para una persona que lo vea por vez primera.
• Está bien delimitado.• Elimina las ambigüedades del lenguaje natural.• Se representa de una forma compacta.
PSEUDOCÓDIGO
– Permite que el programador se pueda concentrar en la lógica y en las estructuras de control y no tenga que preocuparse de detalles acerca de las reglas sintácticas y semánticas de un lenguaje específico.
– Consecuentemente, es más fácil de modificar en el caso de que se descubran errores o anomalías en la lógica del algoritmo.
– Aunque el pseudocódigo es independiente del lenguaje de alto nivel que vaya a utilizarse, un algoritmo expresado en pseudocódigo puede ser traducido más fácilmente a muchos de dichos lenguajes.
VENTAJAS DEL PSEUDOCÓDIGO
Inicio algoritmo Nombre
/* Comentarios de bloque */
// Comentarios de linea
Inicialización de Variables
variable = leer( “mensaje” );
Sentencias de asignación
imprimir (“mensajes o respuestas" + variables);
Fin algoritmo Nombre
PSEUDOCÓDIGO
Levantamiento de datosAnálisisDiseñoConstrucciónImplementación documentaciónPruebaMantenimiento
Buenos hábitos de diseñoBuenos hábitos de diseño
… EFECTIVO ??
Un algoritmo es efectivo si toda instancia de entrada se obtiene la salida correcta, en consecuencia un algoritmo incorrecto puede no obtener la salida adecuada para algún conjunto de datos de entrada
FuncionaEntrega
Resultados esperados
CompilarExitosamente
… CONSECUENCIAS