Diapositiva 1 - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Diapositiva 1

Description:

V. EVALUACION DE ALGORITMOS. LE, EI, Profesor Ram n Castro Liceaga Que son los paradigmas de programaci n ? – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 18
Provided by: Ramon71
Category:

less

Transcript and Presenter's Notes

Title: Diapositiva 1


1
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. Correcti
vo 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.
16
Practica 21
Desarrolla un sistema conversor que Mostrará
tres opciones 1 .- Convertir un numero decimal a
binario 2.- Convertir un numero Binario a
Decimal 3.- Salir del Sistema.
17
include ltstdio.hgt include ltconio.hgt include
ltstdlib.hgt char menu() char c printf("\n") pr
intf("1 - Decimal -gt Binario\n") printf("2 -
Binario -gt Decimal\n") printf("S -
Salir\n") printf("\nSeleccione opcion ") c
getche() return c unsigned long
conversor(unsigned long n1,int base1,int
base2) unsigned long alg,mult1,n20
while (n1 gt 0) alg n1 base1
n1 / base1 n2 (algmult) mult
base2 return n2
main() unsigned long n char op
for() op menu()
switch(op) case '1'
printf("\nConversor Decimal -gt Binario\n")
printf("Introduza un numero Decimal ")
scanf("lu",n) printf("Numero
Binario correspondente ")
printf("lu",conversor(n,2,10))
break case '2'
printf("\nConversor Binario -gt Decimal\n")
printf("Introduza un numero Binario ")
scanf("lu",n) printf("Numero
Decimal correspondente ")
printf("lu",conversor(n,10,2))
break case 'S' case 's'
exit(0) break
default printf("\nOpcion
invalida!\n") //switch
getch() //for
Write a Comment
User Comments (0)
About PowerShow.com