Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Paradigmas de Programación       Algorítmica 201
Programación Estructurada• Programación estructurada:   – consiste en un conjunto de reglas para escribir programas de tal...
a) Características de un algoritmo             estructurado• Finito: El algoritmo debe tener un número finito  de pasos.• ...
Características de un algoritmo               estructurado• Modulares:   – La filosofía utilizada para su diseño debe favo...
b) ¿Cómo construir algoritmos          estructurados?– Definición y análisis del problema: datos de entrada y  salida (res...
c)Estructuras algorítmicas o de control• Secuenciales: cada acción se realiza una sola  vez y en un determinado orden• Con...
Ejemplo• Calcular la media de una serie de números  positivos, suponiendo que los datos se leen desde un  terminal.• Un va...
•   algoritmo media•   inicio•   variables•   entero: n, c, s;•   real: media;•   C← 0;•   S←0;•   Hacer•     leer(N)•    ...
Paradigma Orientado a Objetos• La programación orientada a objetos aporta  un nuevo enfoque a los retos que se plantean  e...
• Los lenguajes orientados combinan en una única  unidad o módulo, tanto los datos como las  funciones que operan sobre es...
Principios Básicos de Orientación aObjetos                                 Orientación a Objetos                      Enca...
¿Qué es Abstracción?• Es el proceso de capturar los detalles  fundamentales de un objeto mientras se  suprimen o ignoran o...
La Abstracción Minimiza la Complejidad
¿Qué es Encapsulación?• Es la capacidad de esconder los detalles de  como funciona un objeto (la  implementación), detrás ...
Sens => => Vol++  Sens3 VolUp =>=>=> DAC31.out=2.1   Settings.vol++=>=> Amp27.gain=1.3   DAC23.out=0.7=>=> OSD, Pref, ... ...
¿Que es Polimorfismo? Es la habilidad de esconder diferentes implementaciones tras una sola interface
• Ejemplo2: Operación “Abrir”       Puerta           Cuenta            Puerto            Plazo     Abrir()          Abrir(...
¿Qué es Modularidad?• Es la capacidad de particionar algo complejo  y difícil de manejar, en partes más sencillas y  fácil...
¿Qué es Jerarquía?• La capacidad de manejar niveles de  abstracción
¿Qué es Herencia?• Es la capacidad de los elementos de una  jerarquía, de transmitir sus características  desde los nivele...
Herencia                                    • Uno puede hacer                Animal                representaciones       ...
Otro ejemplo de herencia:
¿Qué es un Objeto? Informalmente, un objeto representa a una  entidad, ya sea física, conceptual o software
Una definición más formal• Un objeto es un concepto, abstracción o cosa  con fronteras definidas y con sentido para  una a...
Un Objeto tiene Estado• El estado de un objeto es una de las posibles condiciones en  que un objeto puede existir• El esta...
Un objeto tiene comportamiento• El comportamiento determina como un objeto actúa y  reacciona.• El comportamiento define l...
Un objeto tiene identidad• Cada objeto tiene una identidad única, aun si  su estado en un momento dado, es idéntico  al de...
Ejemplo:• Objeto: Televisor  Atributos: Pantalla, Antena, Color, Marca, Bocina,  Sintonizador.  Comportamiento (métodos): ...
¿Qué son Clases?  Cuando se han identificado muchos objetos en un  dominio, decimos que una clase es una abstracción  que ...
Clase Carro
La Relación entre Clases y Objetos• Una clase en una definición abstracta de un objeto   – Define la estructura y comporta...
Clases y Objetos
Vehículo                            Platero:Animal           Animal                                 PuntoFigura           ...
Ejercicio•   Identifique los elementos de la siguiente lista, indicando cuales son objetos y cuales son clases. En el    c...
Ejercicio 2•   En la siguiente lista, identificar cuales son atributos y cuales son clases. Intente asociar los atributos ...
Otro ejemplo:• Clase   Objetos     Responsabilidades                      • Nombre                      • Edad• Niño    Al...
Actividades:1. Identifique una clase que agrupe todos estos objetos2. Agrupe diversos objetos en distintas clases         ...
Representando un objetoNombre:      María             EdadAtributos:   Dirección             Amigo                  Bailar...
Representando una claseNombre:      Persona             EdadAtributos:   Dirección             Amigo              Bailar()...
Métodos• Los métodos de una clase son funciones ó  procedimientos propios de la clase que pueden tener  acceso a los atrib...
• Los parámetros o argumentos son una forma de  intercambiar información con el método. Pueden servir  para introducir dat...
Definición de métodos en                   Pseudocódigo•   Nombre_Método (parámetros): Tipo retorno dato•     Cuerpo del m...
Funciones en el paradigma                 estructurado• Nombre_funcion (lista_parametros): tipo de dato retorno• Inicio•  ...
Ejemplo• CalcularFactorial(numero : entero) : entero• Inicio• Declaraciones Variables• fac, i, numero:Entero• Fac<-1;• Par...
Programación Orientada a Objetos                    vs         Programación EstructuradoLos lenguajes de programación est...
Paradigmas de programación
Paradigmas de programación
Paradigmas de programación
Paradigmas de programación
Paradigmas de programación
Paradigmas de programación
Paradigmas de programación
Paradigmas de programación
Paradigmas de programación
Prochain SlideShare
Chargement dans…5
×

Paradigmas de programación

8 591 vues

Publié le

  • Soyez le premier à commenter

Paradigmas de programación

  1. 1. Paradigmas de Programación Algorítmica 201
  2. 2. Programación Estructurada• Programación estructurada: – consiste en un conjunto de reglas para escribir programas de tal manera que sean legibles y fáciles de modificar.• Reglas a seguir para la programación estructurada: a) Características de algoritmos estructurados b) ¿Cómo construir un algoritmo estructurado? c) Estructuras algorítmicas estructuradas
  3. 3. a) Características de un algoritmo estructurado• Finito: El algoritmo debe tener un número finito de pasos.• Eficientes: Deben ocupar la mínima memoria y minimizar el tiempo de ejecución.• Legibles: El texto que lo describe debe ser claro, de forma que permita entenderlo y leerlo fácilmente.• Modificables: Estarán diseñados de modo que sus posteriores modificaciones sean fáciles de realizar, incluso por programadores diferentes a sus propios autores.
  4. 4. Características de un algoritmo estructurado• Modulares: – La filosofía utilizada para su diseño debe favorecer la división del problema en módulos pequeños.• Único punto de entrada, único punto de salida: – A los algoritmos y a los módulos que lo integran, se entra por un solo punto (inicio) y se sale por un solo punto (fin)
  5. 5. b) ¿Cómo construir algoritmos estructurados?– Definición y análisis del problema: datos de entrada y salida (resultados)– Aplicar la técnica de: “divide y vencerás”, que consiste en descomponer el problema en subproblemas más sencillos– Resolución de los subproblemas: realización de los algoritmos correspondientes a los subproblemas– Depurar (prueba de validez) el algoritmo resultante
  6. 6. c)Estructuras algorítmicas o de control• Secuenciales: cada acción se realiza una sola vez y en un determinado orden• Condicionales (selectivas): permiten seleccionar una acción a realizar entre varias alternativas• Iterativas (repetitivas): una determinada acción se realiza más de una vez
  7. 7. Ejemplo• Calcular la media de una serie de números positivos, suponiendo que los datos se leen desde un terminal.• Un valor de cero —como entrada— indicará que se ha alcanzado el final de la serie de números positivos.• El primer paso a dar en el desarrollo del algoritmo es descomponer el problema en una serie de pasos secuenciales.• Para calcular una media se necesita sumar y contar los valores. Por consiguiente, el algoritmo en forma descriptiva sería
  8. 8. • algoritmo media• inicio• variables• entero: n, c, s;• real: media;• C← 0;• S←0;• Hacer• leer(N)• Si N <> 0 Entonces• S←S+N;• C←C+1;• fin si• Mientras N <>0• si C>0 entonces• media ← S/C• escribe(media)• sino• escribe(no datos)• fin si• fin
  9. 9. Paradigma Orientado a Objetos• La programación orientada a objetos aporta un nuevo enfoque a los retos que se plantean en la programación estructurada cuando los problemas a resolver son complejos. Al contrario que la programación procedimental que enfatiza en los algoritmos, la POO enfatiza en los datos. En lugar de intentar ajustar un problema al enfoque procedimental de un lenguaje, POO intenta ajustar el lenguaje al problema.
  10. 10. • Los lenguajes orientados combinan en una única unidad o módulo, tanto los datos como las funciones que operan sobre esos datos. Tal unidad se llama objeto. Si se desea modificar los datos de un objeto, hay que realizarlo mediante• las funciones miembro del objeto. Ninguna otra función puede acceder a los datos. Esto simplifica la escritura, depuración y mantenimiento del programa.
  11. 11. Principios Básicos de Orientación aObjetos Orientación a Objetos Encapsulación Polimorfismo Modularidad Abstracción Jerarquía
  12. 12. ¿Qué es Abstracción?• Es el proceso de capturar los detalles fundamentales de un objeto mientras se suprimen o ignoran otros detalles. – • Se enfatizan características comunes que interesan – • Se ignoran otras características
  13. 13. La Abstracción Minimiza la Complejidad
  14. 14. ¿Qué es Encapsulación?• Es la capacidad de esconder los detalles de como funciona un objeto (la implementación), detrás de una interface – • Solo se necesita conocer la interface para poder usar el objeto – • El usuario no se ve afectado si se cambia o mejora el funcionamiento interno del objeto, mientras se mantenga la interface
  15. 15. Sens => => Vol++ Sens3 VolUp =>=>=> DAC31.out=2.1 Settings.vol++=>=> Amp27.gain=1.3 DAC23.out=0.7=>=> OSD, Pref, ... Amp02.gain=1.7=> OSD, Pref, ...
  16. 16. ¿Que es Polimorfismo? Es la habilidad de esconder diferentes implementaciones tras una sola interface
  17. 17. • Ejemplo2: Operación “Abrir” Puerta Cuenta Puerto Plazo Abrir() Abrir() Abrir() Abrir() Permite al analista hablar el lenguaje del cliente. Evita asignar identificadores artificiosos para distinguir las operaciones. Contribuye a la reutilización de código.
  18. 18. ¿Qué es Modularidad?• Es la capacidad de particionar algo complejo y difícil de manejar, en partes más sencillas y fáciles de manejar
  19. 19. ¿Qué es Jerarquía?• La capacidad de manejar niveles de abstracción
  20. 20. ¿Qué es Herencia?• Es la capacidad de los elementos de una jerarquía, de transmitir sus características desde los niveles mas abstractos a los más concretos
  21. 21. Herencia • Uno puede hacer Animal representaciones generales de un objeto y Mamífero Ovíparo después relacionarlas con otros objetos, para que cada uno tengaCanino Felino Reptil características mas especificas Firulais Garfield • Estas son las relaciones que puede tener un Lassie Felix objeto
  22. 22. Otro ejemplo de herencia:
  23. 23. ¿Qué es un Objeto? Informalmente, un objeto representa a una entidad, ya sea física, conceptual o software
  24. 24. Una definición más formal• Un objeto es un concepto, abstracción o cosa con fronteras definidas y con sentido para una aplicación• Un objeto es algo que tiene: – Estado – Comportamiento – Identidad
  25. 25. Un Objeto tiene Estado• El estado de un objeto es una de las posibles condiciones en que un objeto puede existir• El estado de un objeto normalmente cambia con el tiempo• El estado de un objeto es usualmente implementado por un conjunto de propiedades llamadas atributos, mas los enlaces que el objeto pueda tener con otros objetos• El estado lo establecen los valores de los atributos
  26. 26. Un objeto tiene comportamiento• El comportamiento determina como un objeto actúa y reacciona.• El comportamiento define la manera en la que un objeto responde a las peticiones de otros objetos.• El comportamiento visible de un objeto se modela con un conjunto de mensajes a los que el puede responder• Los mensajes se implementan como las operaciones del objeto.
  27. 27. Un objeto tiene identidad• Cada objeto tiene una identidad única, aun si su estado en un momento dado, es idéntico al de otros objetos
  28. 28. Ejemplo:• Objeto: Televisor Atributos: Pantalla, Antena, Color, Marca, Bocina, Sintonizador. Comportamiento (métodos): Encender, Apagar, Cambiar canal Estado de un atributo: Marca=sony. El estado es la asignación de un valor a un atributo.
  29. 29. ¿Qué son Clases? Cuando se han identificado muchos objetos en un dominio, decimos que una clase es una abstracción que describe un grupo de objetos que tienen: – • propiedades en común (atributos) – • comportamiento en común (operaciones) – • relaciones comunes con otros objetos (asociaciones) – • semántica en común (descripción breve)• Una clase es una abstracción porque: – • enfatiza características relevantes al sistema – • suprime otras características
  30. 30. Clase Carro
  31. 31. La Relación entre Clases y Objetos• Una clase en una definición abstracta de un objeto – Define la estructura y comportamiento de cada objeto en la clase – Sirve como una plantilla para crear objetos• Un objeto es una instancia concreta de una clase – • Los objetos pueden agruparse en clases
  32. 32. Clases y Objetos
  33. 33. Vehículo Platero:Animal Animal PuntoFigura (1,3) (5,2.5) (2,2) (2,1)
  34. 34. Ejercicio• Identifique los elementos de la siguiente lista, indicando cuales son objetos y cuales son clases. En el caso de los objetos, indicar cual sería la clase a la que pertenecen.• Contestador telefónico de Mario• Caja de Ahorro• Servidor FTP• Misil nuclear• Botón de llamado al ascensor• Máquina de Fax del Depto. de Ventas• Vehículo Espacial Ariadne• Apollo XIII• Fondo de contingencia de la compañía• Lanzador espacial Columbus• Teléfono rojo de la oficina oval de la Casa Blanca• Registro de Impuestos Federales
  35. 35. Ejercicio 2• En la siguiente lista, identificar cuales son atributos y cuales son clases. Intente asociar los atributos con las clases a las que podrían pertenecer.• Autopista• Nombre• Población• Número• Paciente• Tratamiento• Cantidad adeudada• Enfermedad• Período orbital• País• Coordenadas• Ultima Fecha de paso• Satélite
  36. 36. Otro ejemplo:• Clase Objetos Responsabilidades • Nombre • Edad• Niño Alejandro • Juguetes • Cepillarse los dientes • Avisar que tiene sueño • Nombre• Mamá Gloria • Dormir al niño• Papá Alexis • Nombre • Arrancar el carro • Leer el periódico • Cuidar a los niños
  37. 37. Actividades:1. Identifique una clase que agrupe todos estos objetos2. Agrupe diversos objetos en distintas clases RB - 2004 46
  38. 38. Representando un objetoNombre: María EdadAtributos: Dirección Amigo Bailar()Acciones: PedirAJorgeQueBaile() Saltar() Caminar() MoverMiCabeza() MoverMisBrazos MoverMiCintura ...... RB - 2004 47
  39. 39. Representando una claseNombre: Persona EdadAtributos: Dirección Amigo Bailar()Acciones: PedirA_un_amigoQueBail e() Saltar() Caminar() MoverCabeza() MoverBrazos MoverCintura ...... RB - 2004 48
  40. 40. Métodos• Los métodos de una clase son funciones ó procedimientos propios de la clase que pueden tener acceso a los atributos de la misma para realizar las operaciones para los que son programados.• Cada método recibe ciertos parámetros y retorna su resultado en un dato de cierto tipo, dependiendo de estos parámetros que recibe el método y el tipo del dato que retorna, podemos tener métodos con el mismo nombre y serán diferenciados por el tipo de sus parámetros (polimorfismo).
  41. 41. • Los parámetros o argumentos son una forma de intercambiar información con el método. Pueden servir para introducir datos para ejecutar el método (entrada) o para obtener o modificar datos tras su ejecución (salida).• En <tipo retorno dato> se indica cuál es el tipo de dato del objeto que el método devuelve, y si no devuelve ninguno se ha de escribir void en su lugar.• Como nombre del método se puede poner en <nombreMétodo> cualquier identificador válido.
  42. 42. Definición de métodos en Pseudocódigo• Nombre_Método (parámetros): Tipo retorno dato• Cuerpo del método• Ejemplo:• Método calcularFactorial (numero : entero) : entero• Declaraciones Variables• fac, i, numero:Entero• Fac<-1;• Para i<- 1 hasta numero hacer• fac = fac * i• FinFor• retornar fac• Fin Método calcularFactorial
  43. 43. Funciones en el paradigma estructurado• Nombre_funcion (lista_parametros): tipo de dato retorno• Inicio• declaración de variables.• sentencias;• ;• ;• regresa valor o expresión;• Fin
  44. 44. Ejemplo• CalcularFactorial(numero : entero) : entero• Inicio• Declaraciones Variables• fac, i, numero:Entero• Fac<-1;• Para i<- 1 hasta numero hacer• fac = fac * i• FinFor• retornar fac• Fin calcularFactorial
  45. 45. Programación Orientada a Objetos vs Programación EstructuradoLos lenguajes de programación estructurada: • Están orientados a acciones. • La unidad de programación es la función.La programación orientada a objetos: • Encapsula datos (atributos) y métodos (comportamiento) en objetos que están relacionados entre sí. • La unidad de programación es la clase.

×