evolución de los paradigmas de programación
Post on 12-Jul-2022
16 Views
Preview:
TRANSCRIPT
Evolución de los Paradigmas de Programación
Prof. Jannelly Bello
PARADIGMAS DE PROGRAMACIÓN
Imperativa
Declarativa
Programación Funcional
Programación Lógica
Programación No Estructurada
Programación Estructurada
Programación Procedimental
Programación Modular
Programación Orientada a Objetos
PROGRAMACIÓN DECLARATIVA
Describe qué se va a resolver, sin explicar el cómo.
No existen sentencias de asignación.
Se centra en la evaluación de unidades conceptuales.
Para la resolución de un problema:• Se crean las descripciones que representan al dominio en el cual existe
el problema.• Se plantea el problema como una pregunta que debe ser respondida
bien con alguna de las unidades conceptuales iniciales o bien con unacombinación válida de ellas que es el propio ordenador quien debebuscar.
PROGRAMACIÓN FUNCIONAL• Paradigma basado en la definición de funciones aritméticas como
estructura de control principal.
• El problema a resolver se plantea como la evaluación de una funciónbasadas en las previamente definidas.
• No contienen sentencias de asignación.
• No contienen efectos colaterales: al ejecutar la función no cambiará nadafuera del entorno de ésta.
• Los programas son “transparentes referencialmente”: para un valor deentrada, produce siempre la misma salida.
• Las repeticiones de instrucciones se lleven a cabo por medio de funcionesrecursivas.
•Algunos Lenguajes: Haskell , Lisp , Scheme.
PROGRAMACIÓN FUNCIONAL
EJECUCIÓN
EjemploSCHEME
(display "Hola elige alguna función")(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
PROGRAMACIÓN LÓGICA• Basado en la lógica de predicados de primer orden en la solución de
problemas.
• El programa consiste en formalizar hechos del mundo real definiendopredicados que describen objetos y la relación entre ellos.
• Los problemas plantean afirmaciones para las que el sistema será capaz deobtener una explicación lógica en base a los predicados programados encaso de que ésta existiera.
• Los resultados de la ejecución se obtienen mediante la instanciación de lasvariables.
•Permite formalizar reglas o restricciones.
•Establecer hipótesis que no son más que preguntas o incógnitas.
Lenguaje: PROLOG
PROGRAMACIÓN LÓGICAEJEMPLOHechos: le_gusta_a(A,B) --> a A le_gusta B
le_gusta_a(juan, maria).le_gusta_a(pedro, coche).le_gusta_a(maria, libro).le_gusta_a(maria, juan).le_gusta_a(jose, maria). le_gusta_a(jose, coche).le_gusta_a(jose, pescado).
Reglas: es_amigo_de (juan, Persona) --> juan es amigo de Persona si a Persona le gustan los coches es_amigo_de(juan,X):-le_gusta_a(X, coche).
EJECUCIÓN
PROGRAMACIÓN LÓGICA
EJEMPLOLaura, Jorge, Carmen y Neto fueron al mercado ya que era martes de frutas y verduras y tenían muchas ganas de comer frutas. Cada uno tiene una fruta que le gusta y solo comprarán 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.
EJECUCIÓN
PROGRAMACIÓN LÓGICA
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
EJECUCIÓN
PROGRAMACIÓN IMPERATIVA
• Describe una secuencia de comandos de forma ordenada y sistemática quedetallan de forma clara “cómo” dar solución a un problema y modifican elestado de un programa.
Ejemplos de algunos lenguajes imperativos son:
BASIC Lenguaje de programación C Fortran Pascal Perl PHP
PROGRAMACIÓN NO ESTRUCTURADA
• Programas que constan de un solo programa principal que contieneinstrucciones que modifican datos que son a su vez globales en el transcurso de todoel programa.
PROGRAMA
DatosInstrucciones
PROGRAMACIÓN ESTRUCTURADA
Programas de estructura clara que utilizan tres estructuras básicas de control lógico:secuencia, selección e iteración.
A
B
Secuencial Selección Iterativa
PROGRAMACIÓN PROCEDIMENTAL
Combinar las secuencias de instrucciones repetibles en un solo lugar: Procedimientos.El programa principal coordina las llamadas a procedimientos y pasa los datosapropiados en forma de parámetros.
PROGRAMACIÓN MODULAR
Consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo máslegible y manejable.
PROGRAMACIÓN P.O.O
Paradigma de programación que concibe a un sistema como un conjunto de entidadesque representan al mundo real, los “objetos”, que tienen distribuida la funcionalidade información necesaria y que cooperan entre sí para el logro de un objetivo común.
top related