Professional Documents
Culture Documents
Tipos de Datos
Un Tipo de Dato es un conjunto de valores y operaciones asociadas
Proporcionados por los Lenguajes (C, C++, Pascal, etc) para clasificar diversas clases de datos. Ayudan en: Prevencin y deteccin de errores Comprensin y Organizacin de las ideas acerca de los datos Identificacin y descripcin de las propiedades nicas de ciertos datos.
Ej: 6+5+Aire: Error, se suman tipos disimiles.
23/09/2013 Lenguaje de Programacin 1 2
23/09/2013
Lenguaje de Programacin 1
Eficiente: resuelve el problema dentro de las restricciones de recursos. Costo: cantidad de recursos que la solucin consume.
23/09/2013
Lenguaje de Programacin 1
23/09/2013
Lenguaje de Programacin 1
Abstraccin y TADs
El TAD es una Abstraccin de la Realidad. La Abstraccin es la supresin de detalles irrelevantes mientras se enfatiza los significativos.
Las ciencias de las computacin es la Ciencia de la Abstraccin
Partes de un TAD
Especificacin: Describe que hace el TAD, independiente de cmo lo hace.
Sintaxis: define los formatos de las operaciones y el tipo de resultados, su nombre, sus parmetros. Semntica: define para cada operacin cual es su posible salida.
Implementacin
Representacin: especifica como se almacena el TAD en memoria Algoritmo: especifican los pasos dentro de cada operacin del TAD
23/09/2013 Lenguaje de Programacin 1 8
Algoritmos y Programas
Algoritmo: conjunto de instrucciones ordenadas, que resuelven un problema especifico.
No son nicos, por lo que pueden tener diferente Eficiencia. Se los escribe en Seudo cdigo.
Es una representacin identada, en un idioma base. No puede ser ejecutado por una computadora.
Verificacin
Es la evaluacin de la solucin y su potencial uso como herramienta.
Un Algoritmo es Correcto: si se obtiene la respuesta para la cual fue creado.
23/09/2013
Lenguaje de Programacin 1
10
Eficiencia
La Eficiencia nos da el Anlisis de Algoritmos:
Dimensin Temporal: Medida del tiempo empleado. Dimensin Espacial: medida de los recursos invertidos.
Encontrar Algoritmos eficientes puede definir si Existe o no una Solucin al Problema. Al Anlisis de Algoritmos se centra en el estudio de los Bucles, del cual en ltima instancia, dependern las instrucciones a ser ejecutadas.
No se puede realizar un anlisis del nmero de Instrucciones pues son dependientes de las tecnologas (RISK, CISC).
Eficiencia = F(n)
siendo n la cantidad de elementos a ser procesados
23/09/2013 Lenguaje de Programacin 1 11
23/09/2013
Lenguaje de Programacin 1
12
Medicin de la Eficiencia
Una buena estimacin de la Eficiencia debe ser independiente de aspectos de implementacin (la plataforma y el Lenguaje con que se codificar) pero debe reflejar sus diferencias. Usamos el Orden de Magnitud de la Eficiencia del Tiempo y de los Recursos. Se lo complementa con la Tasa de crecimiento del programa para evaluar su comportamiento a Futuro.
23/09/2013 Lenguaje de Programacin 1 13
Medicin de la Eficiencia
Cmo comparar la Eficiencia Real de 2 Algoritmos?
Programndolos, implementndolos y midiendo para el mismo Lote de Prueba: el tiempo de ejecucin y los recursos utilizados. Suele ser caro, y una vez realizado no suele ser sencillo volver atrs y corregir.
23/09/2013
Lenguaje de Programacin 1
14
Anlisis de Rendimiento
Mediante la complejidad en el Tiempo y en el Espacio
Complejidad en el Tiempo: cantidad de tiempo necesario para la ejecucin Complejidad en el Espacio: cantidad de memoria necesaria para la ejecucin
23/09/2013
15
Tiempo de Ejecucin
El tiempo total para una Funcin se puede determinar por el tiempo requerido para cada instruccin, multiplicadas por las veces que se ejecutan.
i=0 Mientras i<n
i++
t1 t2
t3
Fin M
t4
Complejidad espacial
Cantidad de memoria para alcanzar la solucin.
Depender del lenguaje elegido.