Fundamentos de programacion conceptos basicos
Conceptos Fundamentales
Paradigmas de programación
Prog. orientada a objetos
Tipos Abstractos de Datos
Programación estructurada
Programación imperativa
A.Ortigosa POO - EPS - UAM 2
1
Paradigmas de programación
Prog. orientada a objetos
Tipos Abstractos de Datos
Comandos E. de D. simples
Programación estructurada
Programaciónimperativa
A.Ortigosa
POO - EPS - UAM
3
Paradigmas de programación
Prog. orientada a objetos
• Abstracción de Operaciones
Tipos Abstractos de Datos
Programación estructurada
• Módulos: • Procedimientos • Funciones • Bloques
Programación imperativa
A.Ortigosa
POO - EPS - UAM
4
2
Programación estructurada: abstracción de operaciones
Entrada Entrada
arg1arg1
arg2
arg3
Salida
A.Ortigosa POO - EPS - UAM
Salida
5
Programación estructurada: estructura de un módulo
Interfaz
Datos de entrada Datos de salida Descripción funcionalidad
¿Qué hace?
Implementación
Datos locales Secuencia de instrucciones
POO - EPS - UAM 6
A.Ortigosa
3
Programación estructurada: estructura de un módulo
Interfaz
Datos de entrada Datos de salida Descripción funcionalidad
¿Qué hace?
Implementación
Datos locales Secuencia de instrucciones
POO - EPS - UAM 7
A.Ortigosa
Programación estructurada
Ejemplo:
void main () { double u1, u2, m; u1 = 4; u2 = -2; m = sqrt (u1*u1 + u2*u2); printf (”%lf”, m); }
double modulo (double u1, double u2) { double m; m = sqrt (u1*u1 +u2*u2); return m; } void main () { printf (”%lf”, modulo (4, -2)); }
A.Ortigosa
POO - EPS - UAM
8
4
Programación estructurada: ventajas
Facilita el desarrollo
Se evita la repetición del trabajo Trabajo de programación dividido en módulos independientes Diseño top-down: descomposición en subproblemas Claridad del código Independencia de los módulos
Facilita elmantenimiento
Favorece la reutilización
A.Ortigosa
POO - EPS - UAM
9
Paradigmas de programación
Prog. orientada a objetos
Tipos Abstractos de Datos
Abstracción Datos + Abstracción Operaciones
Programación estructurada
Programación imperativa
A.Ortigosa
POO - EPS - UAM
10
5
TAD: Abstracción de datos
c a b x y z
A.Ortigosa
POO - EPS - UAM
11TAD
Un TAD consiste en:
Estructura de datos que almacena información para representar un determinado concepto Funcionalidad: conjunto de operaciones que se pueden realizar sobre el tipo de datos
A.Ortigosa
POO - EPS - UAM
12
6
TAD: ejemplo en C
struct vector { double x; double y; }; void construir (vector *u, double u1, double u2) { u->x = u1; u->y = u2; } voidmain () { double modulo (vector u) vector u; { construir (&u, 4, -2); double m; printf (”%lf”, modulo (u)); m = sqrt (u.x*u.x + u.y*u.y); } return m; }
A.Ortigosa POO - EPS - UAM 13
TAD: ejemplo de extensibilidad
... double producto (vector u, vector v) { return u.x * v.x + u.y * v.y; } void main () { vector u, v; construir (&u, 4, -2); construir (&v, 1, 5); printf (”%lf”, producto (u, v)); }A.Ortigosa
POO - EPS - UAM
14
7
TAD: ventajas
Conceptos del dominio reflejados en el código. Encapsulamiento: ocultación de la complejidad interna y detalles de los datos y las operaciones. Especificación vs. implementación: utilización del tipo de datos independiente de su programación interna. Mayor modularidad: también los datos. Mayor facilidad de mantenimiento,reutilización.
A.Ortigosa
POO - EPS - UAM
15
Paradigmas de programación
Prog. orientada a objetos
Tipos Abstractos de Datos
• Abstracción • Encapsulamiento • Herencia • Polimorfismo
Programación estructurada
Programación imperativa
A.Ortigosa
POO - EPS - UAM
16
8
Programación orientada a objetos
POO = soporte sintáctico para los tipos abstractos de datos +...
Regístrate para leer el documento completo.