SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Paradigmas de
Programación
UNIDAD 1
ING. ALVARO ENRIQUE RUANO
Contenido
● Paradigmas de programación
o Imperativos(procedimentales)
o Declarativos
o Orientados a objetos
● Metodologías de programación
o Programación estructurada
o Programación orientada a objetos
Paradigma
● Conjunto de unidades que pueden sustituir a otra en un mismo
contexto porque cumplen la misma función.
● Una forma de hacer las cosas
● Término de origen griego, "paradigma", que significa modelo o
patrón.
● Es el resultado de los usos, y costumbres, de creencias establecidas y
aceptadas a través del tiempo.
● Forma en la que observamos el mundo.
https://www.youtube.com/watch?v=TMk1ZuTJEFs
Paradigma
¿Qué es un paradigma de
programación?
Paradigmas de Programación
● Conjunto de métodos y herramientas que
se utilizan en todo el proceso de
construcción de un programa (diseño,
codificación, etc).
● Nos indican las formas que han sido
aceptadas como estilos para resolver
problemas a través de la programación.
Paradigmas de Programación
● Un paradigma de programación representa un
enfoque particular o filosofía para diseñar
soluciones.
● Tipos de Paradigma:
o Imperativo
o Declarativo
o Estructurado
o Computación en la Nube
o Programación Orientada a Aspectos
o Orientado a Objetos
Imperativa
● Define la programación como: Desarrollo de una
secuencia de órdenes (comandos o instrucciones) que
manipulan los datos para producir resultados.
● Las instrucciones se ejecutan una por una, de principio a
fin, de forma secuencial excepto cuando existen
instrucciones de salto de secuencia.
● Enfatizada en los algoritmos.
● Ejemplos de lenguajes: Fortran, Cobol, Pascal, Basic, C.
Declarativa
● Solicita al programador que describa o “declare” el
problema (condiciones, proposiciones, afirmaciones,
restricciones, ecuaciones o transformaciones) en lugar de
encontrar una solución algorítmica al mismo.
● Utiliza el principio del razonamiento lógico para responder
a las preguntas o cuestiones consultadas al computador.
Declarativa
● El razonamiento lógico se basa en la deducción.
● Existen varios subtipos:
o Programación Funcional (Haskell, F# y Funciones Excel)
o Programación Lógica (Prolog)
o Programación Algebraica (SQL)
● Ejemplo: Prolog, Haskell y SQL (bases de datos)
Estructurada
● Es un tipo de programación Imperativa.
● Inicia en las décadas de los 60’s y 70’s.
● Produce programas bien escritos y legibles.
● Se basa en modularización, haciendo uso del
principio de DIVIDE Y VENCERÁS.
Estructurada
● El diseño estructurado también se conoce
como:
o Diseño descendente (top-down)
o Diseño ascendente (bottom-up)
o Refinamiento sucesivo
o Programación modular
Estructurada
Problemas:
● Al hacerse más grande el programa es difícil
mantener la modularidad.
● Modelo deficiente del mundo real.
● Las funciones tienen acceso ilimitado a las
variables globales.
● Ejemplo: Pascal, C , Borlan
PROGRAMACIÓN
ORIENTADA A OBJETOS
POO
● Es el paradigma más utilizado en la actualidad.
● Guarda analogía con la vida real.
● Se basa en diseño y construcción de objetos que
se componen a su vez de datos y operaciones
que manipulan esos datos.
POO
● Todo gira en base a la definición de objetos, abstraídos
del mundo real.
● El programa se organiza como un conjunto finito de
éstos objetos, con sus atributos y métodos,
comunicándose entre sí a través de mensajes.
● Ejemplos: C++, C#, Smalltalk, Objective-C y Java.
Objeto
● Un objeto es un elemento autosuficiente de un
programa de computadora que representa un
grupo de características relacionadas y diseñado
para cumplir una tarea específica.
● Esta compuesto por:
o Propiedades / Atributos: Características del objeto
o Funciones: Acciones que puede realizar el objeto
Objeto
Clase
● Es una abstracción de la realidad.
● Estructura que me permite crear objetos.
● Familia de elementos similares
● Una clase puede definir muchos objetos.
Clase
Características de la POO
● Abstracción: Aislar un elemento para seleccionar sus
características más relevantes y comportamientos comunes.
● Encapsulamiento: Reunir a todas las características
pertenecientes a un elemento en un mismo nivel de
abstracción.
● Ocultación de datos: Permite separar los elementos internos
al objeto de los externos, dando acceso externo únicamente
a las funciones del objeto y no a su especificación. Se utiliza
en conjunto con el encapsulamiento.
Características de la POO
● Herencia: Las clases se encuentran asociadas,
formando una jerarquía de clasificación. Los objetos
pueden heredar de sus “padres” los atributos y
métodos que contienen, permitiendo el reuso de
código previamente desarrollado.
● Polimorfismo: Se permite que comportamientos
distintos, asociados a distintos tipos de objetos,
sean llamados por un mismo nombre. Así mismo
permite que una misma colección sea compuestas
por objetos de distintos tipos.
Notación de la POO
○ Representación Gráfica
Notación
completa
Notación
abreviad
a
Notación de la POO
La referencia que se utilizará para la
generación de diagramas de clases, será la
especificada por IBM, ya que no está apegada
a ningún lenguaje de programación específico,
sino que cumple el estándar UML:
● http://www.ibm.com/developerworks/rati
onal/library/content/RationalEdge/sep04/b
ell/
Gracias por su atención

Weitere ähnliche Inhalte

Was ist angesagt?

Metricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccionMetricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccionJose Diaz Silva
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooJosé Antonio Sandoval Acosta
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
Modelo cocomo
Modelo cocomo Modelo cocomo
Modelo cocomo mireya2022
 
El proceso de razonamiento según la logica
El proceso de razonamiento según la logicaEl proceso de razonamiento según la logica
El proceso de razonamiento según la logicaReyes Manzur
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosJosé Antonio Sandoval Acosta
 
Tipos de Modelos de Datos : Ventajas y Desventajas
Tipos de Modelos de Datos : Ventajas y DesventajasTipos de Modelos de Datos : Ventajas y Desventajas
Tipos de Modelos de Datos : Ventajas y DesventajasJuanMiguelCustodioMo
 
Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)Yaskelly Yedra
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesIsrael Castillo Cruz
 
Unidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De UsoUnidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De UsoSergio Sanchez
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasJosé Antonio Sandoval Acosta
 
metodologia de prototipos
metodologia de prototiposmetodologia de prototipos
metodologia de prototiposKeiner Valerio
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a ObjetosRafael Miranda
 
Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)Gustavo Gualsema
 

Was ist angesagt? (20)

Unidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatasUnidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatas
 
Metricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccionMetricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccion
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
HA2NV50 EQ8-StarUML
HA2NV50 EQ8-StarUMLHA2NV50 EQ8-StarUML
HA2NV50 EQ8-StarUML
 
Modelo cocomo
Modelo cocomo Modelo cocomo
Modelo cocomo
 
El proceso de razonamiento según la logica
El proceso de razonamiento según la logicaEl proceso de razonamiento según la logica
El proceso de razonamiento según la logica
 
Rational rose
Rational roseRational rose
Rational rose
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
Tipos de Modelos de Datos : Ventajas y Desventajas
Tipos de Modelos de Datos : Ventajas y DesventajasTipos de Modelos de Datos : Ventajas y Desventajas
Tipos de Modelos de Datos : Ventajas y Desventajas
 
Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
Unidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De UsoUnidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De Uso
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
metodologia de prototipos
metodologia de prototiposmetodologia de prototipos
metodologia de prototipos
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a Objetos
 
Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)
 

Ähnlich wie Paradigmas de programación

Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradavnslgars
 
Paradigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a ObjetosParadigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a ObjetosJose Sanchez
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Maria Garcia
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetostaly1999
 
Introduccion a la POO
Introduccion a la POOIntroduccion a la POO
Introduccion a la POOLibertad25
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
Programación orientada-a-objetos
Programación orientada-a-objetosProgramación orientada-a-objetos
Programación orientada-a-objetosTAPIA SILVA EVELINA
 
Objetos: 1. paradigmas de programación
Objetos: 1. paradigmas de programaciónObjetos: 1. paradigmas de programación
Objetos: 1. paradigmas de programaciónjeavilah
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IEKaren Olan
 
Diapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.pptDiapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.pptjorgejvc777
 
UNIDAD I Introduccion POO Daniel Rodriguez cruz
UNIDAD I Introduccion POO Daniel Rodriguez cruzUNIDAD I Introduccion POO Daniel Rodriguez cruz
UNIDAD I Introduccion POO Daniel Rodriguez cruzDanny Rodriguez
 
Unidad III epoo
Unidad III epooUnidad III epoo
Unidad III epoolhgarzonr
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con javaEudris Cabrera
 

Ähnlich wie Paradigmas de programación (20)

Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
conceptos de la poo
conceptos de la pooconceptos de la poo
conceptos de la poo
 
Paradigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a ObjetosParadigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a Objetos
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Introducción al POO
Introducción al POOIntroducción al POO
Introducción al POO
 
Introduccion a la POO
Introduccion a la POOIntroduccion a la POO
Introduccion a la POO
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
Programación orientada-a-objetos
Programación orientada-a-objetosProgramación orientada-a-objetos
Programación orientada-a-objetos
 
Objetos: 1. paradigmas de programación
Objetos: 1. paradigmas de programaciónObjetos: 1. paradigmas de programación
Objetos: 1. paradigmas de programación
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
 
Clase No.01.pptx
Clase No.01.pptxClase No.01.pptx
Clase No.01.pptx
 
Diapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.pptDiapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.ppt
 
UNIDAD I Introduccion POO Daniel Rodriguez cruz
UNIDAD I Introduccion POO Daniel Rodriguez cruzUNIDAD I Introduccion POO Daniel Rodriguez cruz
UNIDAD I Introduccion POO Daniel Rodriguez cruz
 
Unidad III epoo
Unidad III epooUnidad III epoo
Unidad III epoo
 
Introducción poo
Introducción pooIntroducción poo
Introducción poo
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java
 

Mehr von Alvaro Enrique Ruano

Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)Alvaro Enrique Ruano
 
Introducción al análisis de algoritmos
Introducción al  análisis de algoritmosIntroducción al  análisis de algoritmos
Introducción al análisis de algoritmosAlvaro Enrique Ruano
 
Ordenamientos por selección y Shell
Ordenamientos por selección y ShellOrdenamientos por selección y Shell
Ordenamientos por selección y ShellAlvaro Enrique Ruano
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresAlvaro Enrique Ruano
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserciónAlvaro Enrique Ruano
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesAlvaro Enrique Ruano
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoAlvaro Enrique Ruano
 
Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...Alvaro Enrique Ruano
 
Solución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de softwareSolución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de softwareAlvaro Enrique Ruano
 

Mehr von Alvaro Enrique Ruano (17)

Resumen caso Enron
Resumen caso EnronResumen caso Enron
Resumen caso Enron
 
Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)
 
Árboles Multicamino, B y B+
Árboles Multicamino, B y B+Árboles Multicamino, B y B+
Árboles Multicamino, B y B+
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
 
Introducción al análisis de algoritmos
Introducción al  análisis de algoritmosIntroducción al  análisis de algoritmos
Introducción al análisis de algoritmos
 
Ordenamientos rápido y mezcla
Ordenamientos rápido y mezclaOrdenamientos rápido y mezcla
Ordenamientos rápido y mezcla
 
Ordenamientos por selección y Shell
Ordenamientos por selección y ShellOrdenamientos por selección y Shell
Ordenamientos por selección y Shell
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructores
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserción
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clases
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
 
Técnicas de programación
Técnicas de programaciónTécnicas de programación
Técnicas de programación
 
Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...
 
Solución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de softwareSolución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de software
 

Paradigmas de programación

  • 2. Contenido ● Paradigmas de programación o Imperativos(procedimentales) o Declarativos o Orientados a objetos ● Metodologías de programación o Programación estructurada o Programación orientada a objetos
  • 3. Paradigma ● Conjunto de unidades que pueden sustituir a otra en un mismo contexto porque cumplen la misma función. ● Una forma de hacer las cosas ● Término de origen griego, "paradigma", que significa modelo o patrón. ● Es el resultado de los usos, y costumbres, de creencias establecidas y aceptadas a través del tiempo. ● Forma en la que observamos el mundo.
  • 5. Paradigma ¿Qué es un paradigma de programación?
  • 6. Paradigmas de Programación ● Conjunto de métodos y herramientas que se utilizan en todo el proceso de construcción de un programa (diseño, codificación, etc). ● Nos indican las formas que han sido aceptadas como estilos para resolver problemas a través de la programación.
  • 7. Paradigmas de Programación ● Un paradigma de programación representa un enfoque particular o filosofía para diseñar soluciones. ● Tipos de Paradigma: o Imperativo o Declarativo o Estructurado o Computación en la Nube o Programación Orientada a Aspectos o Orientado a Objetos
  • 8. Imperativa ● Define la programación como: Desarrollo de una secuencia de órdenes (comandos o instrucciones) que manipulan los datos para producir resultados. ● Las instrucciones se ejecutan una por una, de principio a fin, de forma secuencial excepto cuando existen instrucciones de salto de secuencia. ● Enfatizada en los algoritmos. ● Ejemplos de lenguajes: Fortran, Cobol, Pascal, Basic, C.
  • 9. Declarativa ● Solicita al programador que describa o “declare” el problema (condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones) en lugar de encontrar una solución algorítmica al mismo. ● Utiliza el principio del razonamiento lógico para responder a las preguntas o cuestiones consultadas al computador.
  • 10. Declarativa ● El razonamiento lógico se basa en la deducción. ● Existen varios subtipos: o Programación Funcional (Haskell, F# y Funciones Excel) o Programación Lógica (Prolog) o Programación Algebraica (SQL) ● Ejemplo: Prolog, Haskell y SQL (bases de datos)
  • 11. Estructurada ● Es un tipo de programación Imperativa. ● Inicia en las décadas de los 60’s y 70’s. ● Produce programas bien escritos y legibles. ● Se basa en modularización, haciendo uso del principio de DIVIDE Y VENCERÁS.
  • 12. Estructurada ● El diseño estructurado también se conoce como: o Diseño descendente (top-down) o Diseño ascendente (bottom-up) o Refinamiento sucesivo o Programación modular
  • 13. Estructurada Problemas: ● Al hacerse más grande el programa es difícil mantener la modularidad. ● Modelo deficiente del mundo real. ● Las funciones tienen acceso ilimitado a las variables globales. ● Ejemplo: Pascal, C , Borlan
  • 15. POO ● Es el paradigma más utilizado en la actualidad. ● Guarda analogía con la vida real. ● Se basa en diseño y construcción de objetos que se componen a su vez de datos y operaciones que manipulan esos datos.
  • 16. POO ● Todo gira en base a la definición de objetos, abstraídos del mundo real. ● El programa se organiza como un conjunto finito de éstos objetos, con sus atributos y métodos, comunicándose entre sí a través de mensajes. ● Ejemplos: C++, C#, Smalltalk, Objective-C y Java.
  • 17. Objeto ● Un objeto es un elemento autosuficiente de un programa de computadora que representa un grupo de características relacionadas y diseñado para cumplir una tarea específica. ● Esta compuesto por: o Propiedades / Atributos: Características del objeto o Funciones: Acciones que puede realizar el objeto
  • 19. Clase ● Es una abstracción de la realidad. ● Estructura que me permite crear objetos. ● Familia de elementos similares ● Una clase puede definir muchos objetos.
  • 20. Clase
  • 21.
  • 22. Características de la POO ● Abstracción: Aislar un elemento para seleccionar sus características más relevantes y comportamientos comunes. ● Encapsulamiento: Reunir a todas las características pertenecientes a un elemento en un mismo nivel de abstracción. ● Ocultación de datos: Permite separar los elementos internos al objeto de los externos, dando acceso externo únicamente a las funciones del objeto y no a su especificación. Se utiliza en conjunto con el encapsulamiento.
  • 23. Características de la POO ● Herencia: Las clases se encuentran asociadas, formando una jerarquía de clasificación. Los objetos pueden heredar de sus “padres” los atributos y métodos que contienen, permitiendo el reuso de código previamente desarrollado. ● Polimorfismo: Se permite que comportamientos distintos, asociados a distintos tipos de objetos, sean llamados por un mismo nombre. Así mismo permite que una misma colección sea compuestas por objetos de distintos tipos.
  • 24. Notación de la POO ○ Representación Gráfica Notación completa Notación abreviad a
  • 25. Notación de la POO La referencia que se utilizará para la generación de diagramas de clases, será la especificada por IBM, ya que no está apegada a ningún lenguaje de programación específico, sino que cumple el estándar UML: ● http://www.ibm.com/developerworks/rati onal/library/content/RationalEdge/sep04/b ell/
  • 26. Gracias por su atención