La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) V. EVALUACION DE ALGORITMOS.

Presentaciones similares


Presentación del tema: "LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) V. EVALUACION DE ALGORITMOS."— Transcripción de la presentación:

1 LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) V. EVALUACION DE ALGORITMOS.

2 Que son los paradigmas de programación ? Un paradigma de programación son las técnicas que proveen y determinan la visión y métodos de un programador en la construcción de un algoritmo, programa o subprograma. Diferentes paradigmas resultan en diferentes estilos de programación y en diferentes formas de pensar la solución de problemas (con la solución de múltiples problemas se construye una aplicación). Los lenguajes de programación son basados en uno o más paradigmas Por ejemplo: Smalltalk y Java son lenguajes basados en el paradigma orientado a objetos. El lenguaje de programación Scheme, en cambio, soporta sólo programación funcional. En cambio Python, soporta múltiples paradigmas.

3 Programación imperativa (instrucciones) Es también conocida como programación procedural, está basada en los lenguajes imperativos, que son la forma tradicional de programación. Este tipo de programación se basa en la especificación explícita de los pasos que se deben seguir para obtener el resultado deseado. Utiliza variables y operaciones de asignación para el almacenamiento de información, define procedimientos bien claros en donde se procesan las variables de acuerdo con operaciones explícitas. Algunos de los lenguajes para programación imperativa son Basic, Pascal, C y Modula - 2.

4 Programación lógica (lógica formal) Es un tipo de programación declarativa y relacional que está basada en lógica de primer orden. La programación declarativa describe relaciones entre variables en términos de funciones y reglas de inferencia dejando en manos del traductor la aplicación de un algoritmo fijo sobre estas relaciones para producir un resultado. La programación relacional genera salidas en función de atributos y argumentos. El lenguaje de programación lógica por excelencia es Prolog, es utilizado para la inteligencia artificial y basa su funcionamiento en cláusulas formadas por un conjunto de literales atómicas donde por lo menos una es positiva. Hechos y reglas son conocidos, en su conjunto, como cláusulas. Otros lenguajes de programación lógica son: ALF (Another logical framework), Gödel programming language, Mercury programming language y CLP(FD)

5 Programación funcional (basada en funciones) Este paradigma basa su programación en la definición de un conjunto de funciones (posiblemente recursivas) y una expresión cuyo valor de salida se utilizará para representar el resultado del algoritmo. Los programas escritos en lenguaje funcional tienden a ser compactos y elegantes, aunque también son lentos y requieren de gran cantidad de memoria para su ejecución. Algunos de los principales lenguajes de programación funcional son: DR Racket, Clean, FP, Haskell, Hope, LML, Miranda, SML y LISP.

6 programación declarativa (declaraciones) La programación declarativa es un estilo de programación en el que el está basado en el desarrollo de programas especificando o "declarando" un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y detallan su solución. Ejemplos: Prolog, Maude, SQL y Haskell

7 programación dirigida por eventos (eventos/componentes) La programación dirigida por eventos es un paradigma de programación en el que tanto la estructura como la ejecución de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen El creador de un programa dirigido por eventos debe definir los eventos que manejarán su programa y las acciones que se realizarán al producirse cada uno de ellos, lo que se conoce como el administrador de evento. Los eventos soportados estarán determinados por el lenguaje de programación utilizado, por el sistema operativo e incluso por eventos creados por el mismo programador. Ejemplos: Visual Basic, Visual C# y C++, JavaScript, ASP

8 programación orientada a aspectos (POA) Es un paradigma de programación relativamente reciente cuya intención es permitir una adecuada modularización de las aplicaciones y posibilitar una mejor separación de incumbencias. Gracias a la POA se pueden encapsular los diferentes conceptos que componen una aplicación en entidades bien definidas, eliminando las dependencias entre cada uno de los módulos Ejemplos: AspectC++, AspectJ, AspycAOP y Flow3

9 programación orientada a componentes (Componentes) Es una rama de la ingeniería del software, con énfasis en la descomposición de sistemas ya conformados en componentes funcionales o lógicos con interfaces bien definidas usadas para la comunicación entre componentes. Ejemplos: COM, Enterprice Java Beans

10 programación orientada a objetos (Clases y Objetos) Tiene por principio la representación de los objetos de la realidad en un lenguaje de programación que permita acercarse lo más posible al pensamiento humano. La programación orientada a objetos postula la identificación de los objetos que participan en el problema o situación que se quiere solucionar a través de un algoritmo. Realizada la identificación de los objetos, se lleva a cabo una abstracción de sus características más relevantes, así como de las principales operaciones que efectúan, posteriormente, se busca asociar objetos con características y operaciones comunes para llegar a la definición de una clase. Ejemplos: Java, Smalltalk, Ruby, Python, ActionScript 3, C++ y C#.

11 Computación en Nube La computación en nube es un sistema informático basado en Internet y centros de datos remotos para gestionar servicios de información y aplicaciones. La computación en nube permite que los consumidores y las empresas gestionen archivos y utilicen aplicaciones sin necesidad de instalarlas en cualquier computadora con acceso a Internet. Esta tecnología ofrece un uso mucho más eficiente de recursos, como almacenamiento, memoria, procesamiento y ancho de banda, al proveer solamente los recursos necesarios en cada momento

12 Evaluación de algoritmos La evaluación de algoritmos es un proceso de análisis de desempeño del tiempo de ejecución que este tarda los algoritmos en encontrar una solución y la cantidad de recursos empleados para ello. Entre las técnicas más confiables se encuentran aquellas que miden la complejidad de algoritmos a través de funciones matemáticas

13 Depuración y Prueba Es el proceso de identificación y corrección de errores en algoritmos y de programación. Para depurar el código fuente, el programador se vale de herramientas de software que le facilitan la localización y depuración de errores. Los compiladores son un ejemplo de estas

14 Documentación del algoritmo y programa Es la documentación detallada de los procedimientos, algoritmos y programas que realiza el desarrollador del software y debe incluir: 1. Nombre del Programa (código). Indicará código que identifica el programa y el título del programa. 2. Descripción. Indicará la función que realiza el programador. 3. Frecuencia de Procesamiento. Diaria, semanal, quincenal, mensual, etcétera. 4. Fecha de Vigencia. Fecha a partir de la cual se comienza a ejecutar en producción la versión modificada o desarrollada del programa. 5. Archivos de Entrada. 6. Lista de Archivos de Salida: Indicará el nombre y copia y descripción de los archivos. 7. Lista de Informes y/o Totales de Control. Se indicará el nombre de los informes y se incluirá ejemplo de los informes y/o totales de control producidos por el programa, utilizando los datos de prueba. 8. Datos de Prueba. Se incluirá una copia de los datos usados para prueba. 9. Mensajes al Operador - Pantallas la definición de todos los mensajes al operador por consola y las posibles contestaciones con una breve explicación de cada una de ellas. 10. Datos de Control para ejecutar el programa (parámetros). 11. Transacciones. 12. Nombre del Programador Deberá indicar el nombre del programador que escribió el algoritmo y programa o que efectuó el cambio, según sea el caso. 13. Fecha. Indicará fecha en que se escribió el programa o que se efectuó el cambio, según sea el caso. 14. Diccionario de datos. En caso que aplique, se incluirá detalle de las diferentes tablas y códigos usados; con los valores, explicaciones y su uso en el programa. 15. Lista de Programas. Deberá incluir copia de la última compilación del programa con todas las opciones.

15 Mantenimiento de algoritmos y programas. Los usuarios de los programas solicitarán los cambios necesarios al área de sistemas con el fin de que los programas sigan operando correctamente. Para ello, periódicamente se le debe dar el mantenimiento que requieren los algoritmos y programas, el cual puede ser de tres tipos: Preventivo: Los programas no presentan error alguno, pero hay necesidad de regenerar los índices de los registros, realizar respaldos, verificar la eficiencia de los algoritmos y la integridad de los programas, actualizar porcentajes y tablas de datos, etcétera. Correctivo: Los programas presentan algún error en algún reporte, por lo que es necesario revisar la codificación para depurarlo y compilarlo. Se debe realizar las pruebas al sistema, imprimiendo los reportes que genera y verificar si los cálculos que estos presentan son correctos. Adaptativo: Los algoritmos y programas no tienen error alguno, pero se requiere alguna actualización por una nueva versión del programa, una nueva plataforma de sistema operativo o un nuevo equipo de cómputo con ciertas características, es decir, hay que adaptar los algoritmos y los programas a la nueva tecnología tanto de software como de hardware.


Descargar ppt "LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) V. EVALUACION DE ALGORITMOS."

Presentaciones similares


Anuncios Google