Академический Документы
Профессиональный Документы
Культура Документы
Introduccin
1. Definicin y propiedades
2. Anlisis y diseo de algoritmos
3. Heursticas para una buena programacin
1. Definicin y propiedades
Algoritmo:
Conjunto de reglas para resolver un
problema.
Propiedades
Definibilidad: el conjunto debe estar bien
definido, sin dejar dudas en su interpretacin.
Finitud: debe tener un nmero finito de pasos
que se ejecuten en un tiempo finito.
0 ms
entradas
ALGORITMO
1 ms
salidas
1. Definicin y propiedades
Algoritmos deterministas: para los mismos datos
de entrada se producen los mismos datos de
salida.
Algoritmos no deterministas: para los mismos
datos de entrada pueden producirse diferentes de
salida.
ALGORITMIA: ciencia que estudia tcnicas para
construir algoritmos eficientes y tcnicas para
medir la eficacia de los algoritmos.
Objetivo: dado un problema concreto encontrar la
mejor forma de resolverlo.
1. Definicin y propiedades
Recordemos:
Objetivo de la asignatura
Ser capaces de analizar, comprender y
resolver una amplia variedad de
problemas de programacin, diseando
soluciones eficientes y de calidad.
Pero ojo!, los algoritmos no son el nico
componente en la resolucin de un problema de
programacin.
1. Definicin y propiedades
PROBLEMA
Algoritmos
+
Estructuras
de datos
PROGRAMA
1. Definicin y propiedades
Resolver problemas
Cmo se resuelve un problema?
Cundo se dice que la solucin es
eficiente y de calidad?
Qu clase de problemas?
1. Definicin y propiedades
Cmo
construye un puente
un arquitecto?
ARQUITECTO
INFORMTICO
1. Estudio de viabilidad,
anlisis del terreno,
requisitos pedidos, etc.
2. Disear los planos del
puente y asignar los
materiales.
3. Poner los ladrillos de
acuerdo con los planos.
4. Supervisin tcnica del
puente.
1. Anlisis del
problema
2. Diseo del
programa
(alg. y estr.)
3. Implementacin
(programacin)
4. Verificacin y
pruebas
1. Definicin y propiedades
MTODO CIENTFICO
1.Observacin.
2.Hiptesis.
3.Experimentacin.
4.Verificacin.
INFORMTICO
1. Anlisis del
problema
2. Diseo del
programa
(alg. y estr.)
3. Implementacin
(programacin)
4. Verificacin y
pruebas
1. Definicin y propiedades
Otras ideas...
Refinamiento por pasos sucesivos.
Escribir la estructura de la solucin en
pseudocdigo, de manera muy genrica.
Especificar los pasos de forma cada vez ms
detallada, y precisa.
Repetimos el refinamiento hasta llegar a una
implementacin.
1. Definicin y propiedades
Proceso de resolucin propuesto por Aho.
Modelo
Modelo
matemtico
matemtico
Tipos
Tiposde
dedatos
datos
abstractos
abstractos
Estructuras
Estructuras
de
dedatos
datos
Algoritmo
Algoritmo
informal
informal
Programa
Programaen
en
pseudolenguaje
pseudolenguaje
Programa
Programa
en
enPascal
Pascal
2. Anlisis y diseo de
algoritmos
ALGORITMIA = ANLISIS + DISEO
Anlisis de algoritmos: estudio de los recursos
que necesita la ejecucin de un algoritmo.
No confundir con anlisis de un problema.
Diseo de algoritmos: tcnicas generales para la
construccin de algoritmos.
Por ejemplo, divide y vencers: dado un
problema, divdelo, resuelve los subproblemas y
luego junta las soluciones.
Mecanismos:
Conteo de instrucciones.
Uso de ecuaciones de recurrencia.
Qu clase de problemas?
O
T
L
E
U
S
RE
O
T
L
E
U
S
RE
Calcular
ruta
5
990
10
Caso 2.
10
835
75