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

Paradigmas de programación

  • 1.
  • 2.
    Contenido ● Paradigmas deprogramació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 deunidades 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.
  • 4.
  • 5.
    Paradigma ¿Qué es unparadigma 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 laprogramació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 alprogramador 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 razonamientoló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 untipo 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ñoestructurado 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 hacersemá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
  • 14.
  • 15.
    POO ● Es elparadigma 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 giraen 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 objetoes 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
  • 18.
  • 19.
    Clase ● Es unaabstracción de la realidad. ● Estructura que me permite crear objetos. ● Familia de elementos similares ● Una clase puede definir muchos objetos.
  • 20.
  • 22.
    Características de laPOO ● 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 laPOO ● 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 laPOO ○ Representación Gráfica Notación completa Notación abreviad a
  • 25.
    Notación de laPOO 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 suatención