2.Algoritmos Cevb Agosto 2013

14
Facultad de Ingeniería Departamento de Ciencias de la Información ALGORITMOS

description

Algoritmeichon

Transcript of 2.Algoritmos Cevb Agosto 2013

Page 1: 2.Algoritmos Cevb Agosto 2013

Facultad de IngenieríaDepartamento de Ciencias de la

Información

ALGORITMOS

Page 2: 2.Algoritmos Cevb Agosto 2013

• 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

Page 3: 2.Algoritmos Cevb Agosto 2013

• 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

Page 4: 2.Algoritmos Cevb Agosto 2013

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

Page 5: 2.Algoritmos Cevb Agosto 2013

• 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

Page 6: 2.Algoritmos Cevb Agosto 2013

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

Page 7: 2.Algoritmos Cevb Agosto 2013

Diagrama de flujo

Especificaciones o Enunciado

Resultados o Respuestas

Page 8: 2.Algoritmos Cevb Agosto 2013

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

Page 9: 2.Algoritmos Cevb Agosto 2013

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

Page 10: 2.Algoritmos Cevb Agosto 2013

– 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

Page 11: 2.Algoritmos Cevb Agosto 2013

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

Page 12: 2.Algoritmos Cevb Agosto 2013

Levantamiento de datosAnálisisDiseñoConstrucciónImplementación documentaciónPruebaMantenimiento

Buenos hábitos de diseñoBuenos hábitos de diseño

Page 13: 2.Algoritmos Cevb Agosto 2013

… 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

Page 14: 2.Algoritmos Cevb Agosto 2013

… CONSECUENCIAS