01-Tipos de Programación.pdf

download 01-Tipos de Programación.pdf

of 17

Transcript of 01-Tipos de Programación.pdf

  • Tipos de Programacin

    Prof. Jannelly Bello

  • CONTENIDO PROGRAMTICO Qu es un Paradigma?

    Qu es Programacin ?

    Qu es un Paradigma de Programacin?

    Tipos de Programacin

    Programacin Declarativa

    Programacin funcional

    Programacin Lgica

    Programacin Imperativa

    Programacin no estructurada

    Programacin Estructurada

    Programacin Procedimental

    Programacin Modular

    Programacin orientada a objetos

  • PARADIGMA DE PROGRAMACIN

    Qu es un Paradigma?

    Modelo o patrn a seguir en cualquier contexto.

    Qu es Programacin ?

    Conjunto de instrucciones que una vez ejecutadas realizarn una o varias tareas en una computadora

    Qu es un Paradigma de Programacin?

    Coleccin de patrones conceptuales que juntos modelan el proceso de diseo y determinan la estructura del programa.

  • TIPOS DE PROGRAMACIN

    TIPOSPROGRAMACIN

    Imperativa

    Declarativa

    Programacin Funcional

    Programacin Lgica

    Programacin No EstructuradaProgramacin Estructurada

    Programacin Procedimental

    Programacin Modular

    Programacin Orientada a ObjetosDescribe secuencia de comandos que detallan de forma clara cmo dar solucin a un problema y modifican el estado de un programa.

    Describe la lgica de computacinnecesaria para resolver un problemasin describir un flujo de controlde ningn tipo.

  • PROGRAMACIN FUNCIONAL

    Paradigma de programacin basado en la definicin de funciones aritmticas como estructura de control principal.

    (display "Hola elige alguna funcin")(display "Raiz, suma, cuadrado, potencia o resta")(define(raiz X)(sqrt X))(define(cuadrado X)(* X X))(define(suma X Y)(+ X Y))(define(potencia X Y)(expt X Y))(define(resta X Y)(- X Y))

    PROGRAMACARACTERSTICAS No contienen sentencias de

    asignacin. No contienen efectos colaterales. Los programas son transparentes

    referencialmente. Las repeticiones de instrucciones

    se lleven a cabo por medio de funciones recursivas.

    LENGUAJES: Haskell Miranda Lisp Scheme

  • PROGRAMACIN FUNCIONAL

    EJECUCINEJECUCIN DE UN PROGRAMALa ejecucin de un programa funcional consiste en el clculo del valor asociado al dato de entrada de acuerdo con las definiciones dadas para las funciones en el programa.

    (display "Hola elige alguna funcin")(display "Raiz, suma, cuadrado, potencia o resta")(define(raiz X)(sqrt X))(define(cuadrado X)(* X X))(define(suma X Y)(+ X Y))(define(potencia X Y)(expt X Y))(define(resta X Y)(- X Y))

    PROGRAMA

  • PROGRAMACIN FUNCIONAL

    Ejemplo de denicin de funcin en Haskell:doble x = x + x

    Ejemplo de evaluacin:doble 3 = 3 + 3 [def. de doble]

    = 6 [def. de +]

    Ejemplo de evaluacin anidada :doble (doble 3) = doble (3 + 3) [def. de doble]

    = doble 6 [def. de +]= 6 + 6 [def. de doble]= 12 [def. de +]

  • PROGRAMACIN LGICA

    Paradigma de programacin que emplea la lgica en la solucin de problemas

    CARACTERSTICAS Permite formalizar hechos del mundo real:

    las aves vuelan - los pinginos no vuelan - "pichurri" es un ave"sandokan" es un perro - "alegra" es un ave

    Permite formalizar reglas o restricciones:una mascota vuela si es un ave y no es un pingino

    Establecer hiptesis que no son ms que preguntas o incgnitas, por ejemplo:

    "pichurri" vuela ? qu mascotas vuelan ?

    LENGUAJES: PROLOG

  • PROGRAMACIN LGICA

    EJEMPLOLaura, Jorge, Carmen y Neto fueron al super mercado ya que era martes de frutas y verduras y tenan muchas ganas de frutas. Cada uno tiene una fruta que le gusta y solo comprarn esa fruta si y solo si esta en oferta y les gusta.

    A Carmen le gusta el mangoA Neto le gusta la papayaA Jorge le gusta la fresaA Laura le gusta la manzanaEl mango y la papaya son las nicas que tienen oferta.

  • PROGRAMACIN LGICA

    persona(neto).persona(carmen).persona(laura).persona(jorge).fruta(mango).fruta(fresa).fruta(papaya).fruta(manzana).le_gusta(neto,papaya).le_gusta(carmen, mango).le_gusta(laura, manzana).le_gusta(jorge,fresa).tiene_oferta(mango).tiene_orerta(papaya).puede_comprar(X,Y):-persona(X),fruta(Y),le_gusta(X,Y), tiene_oferta(Y).

    PROGRAMA

    EJECUCIN

  • PROGRAMACIN LGICA

    En el rbol genealgico de una familia se tiene lo siguiente. Alejandro es hijo de Patricia y Jos. Patricia es hija de Celso y Antonia y Jos es hijo de Adolfo y Mara; Pedro es hijo de Ana y Juan. Ana es hija de Jorge y Liz y Juan es hijo de Mario y Rosa; Valeria es hija de Carmen y Ernesto. Carmen es hija de Israel y Daniela y Ernesto es hijo de Ral y Adriana.

    Quines son los abuelos de Alejandro, Pedro y Valeria?

    Los nietos son Alejandro, Pedro y Valeria.Los padres de Alejandro son Patricia y Jos.Los padres de Pedro son Ana y Juan.Los padres de Valeria son Carmen y Ernesto.Los padres de Patricia son Celso y Antonia.Los padres de Jos son Adolfo y Mara.Los padres de Ana son Jorge y Liz.Los padres de Juan son Mario y Rosa.Los padres de Carmen son Israel y Daniela.Los padres de Ernesto son Raul y Adriana.

  • padre(ernesto, valeria).padre(jose, alejandro).padre(juan, pedro).padre(raul, ernesto).padre(adolfo, jose).padre(mario, juan).padre(israel, carmen).padre(celso, patricia).padre(jorge, ana).madre(carmen, valeria).madre(patricia, alejandro).madre(ana, pedro).madre(adriana, ernesto).madre(maria, jose).madre(rosa, juan).madre(antonia, patricia).madre(liz, ana).madre(daniela, carmen).

    PROGRAMACIN LGICA

    PROGRAMAabuelos_paternos(Z,X):- padre(Y,X), padre(Z,Y).abuelos_paternos(Z,X):- padre(Y,X), madre(Z,Y).

    abuelos_maternos(Z,X):- madre(Y,X), padre(Z,Y).abuelos_maternos(Z,X):- madre(Y,X), madre(Z,Y).c

  • PROGRAMACIN NO ESTRUCTURADA

    Programas que constan de un solo programa principal que contiene instruccionesque modifican datos que son a su vezglobalesen el transcurso de todo el programa

    PROGRAMA

    DatosInstrucciones

  • PROGRAMACIN ESTRUCTURADA

    Programas de estructura clara que utilizan tres estructuras bsicas de control lgico: secuencia, seleccin e iteracin.

    A

    B

    Secuencial Seleccin Iterativa

  • PROGRAMACIN PROCEDIMENTAL

    Combinar las secuencias de instrucciones repetibles en un solo lugar: Procedimientos. El programa principal coordina las llamadas a procedimientos y pasa los datos apropiados en forma de parmetros.

  • PROGRAMACIN MODULAR

    Consiste en dividir un programa en mdulos o subprogramas con el fin de hacerlo ms legible y manejable.

  • PROGRAMACIN P.O.O

    Paradigma de programacin que concibe a un sistema como un conjunto de entidades que representan al mundo real, losobjetos, que tienendistribuida la funcionalidad e informacinnecesaria y quecooperan entre spara el logro de un objetivo comn.

    Pgina 1CONTENIDO PROGRAMTICOPARADIGMA DE PROGRAMACINTIPOS DE PROGRAMACINPROGRAMACIN FUNCIONALPROGRAMACIN FUNCIONALPROGRAMACIN FUNCIONALPROGRAMACIN LGICAPROGRAMACIN LGICAPROGRAMACIN LGICAPROGRAMACIN LGICAPROGRAMACIN LGICAPROGRAMACIN NO ESTRUCTURADAPROGRAMACIN ESTRUCTURADAPROGRAMACIN PROCEDIMENTALPROGRAMACIN MODULARPROGRAMACIN P.O.O