Tema 9 Paradigmas de programación.pptx
Document Details
Tags
Full Transcript
TEMA 9 - PARADIGMAS DE PROGRAMACIÓN PARADIGMA Todo aquel modelo, patrón o ejemplo que debe seguirse en determinada situación. En un sentido amplio, se refiere a una teoría o conjunto de teorías que sirve de modelo a seguir para resolver problemas o situaciones determinadas que...
TEMA 9 - PARADIGMAS DE PROGRAMACIÓN PARADIGMA Todo aquel modelo, patrón o ejemplo que debe seguirse en determinada situación. En un sentido amplio, se refiere a una teoría o conjunto de teorías que sirve de modelo a seguir para resolver problemas o situaciones determinadas que se planteen. ALGUNOS PARADIGMAS DE PROGRAMACIÓN Programación imperativa Programación Programación (procedimental estructurada modular o por procedimientos) Programación Programación Programación orientada a en paralelo multiparadigma objetos PARADIGMAS DE PROGRAMACIÓN La programación procedimental, estructurada y modular son paradigmas de programación La programación procedimental implica un enfoque lineal y de arriba hacia abajo para la codificación La programación estructurada enfatiza el uso de subrutinas La programación modular implica dividir el código en partes fácilmente manejables PROGRAMACIÓN IMPERATIVA/PROCEDIMENTAL (PROCEDURAL PROGRAMMING) Un programa es en realidad un conjunto de declaraciones que se ejecutan secuencialmente. La única opción que tiene un programa, en términos de capacidad de administración, es dividir el programa en pequeños módulos. "C", por ejemplo, es un lenguaje de procedimiento. Python admite programación de procedimientos. PROGRAMACIÓN IMPERATIVA/PROCEDIMENTAL Todo el código está seguido, en el flujo principal del programa. Se ejecuta en su totalidad, de principio a fin. Aprovecha condicionales (if, elif, else) y ciclos. PROGRAMACIÓN ESTRUCTURADA Tiene como opción el encapsular el código en bloques llamados procedimientos o funciones, las cuales se identifican como las subrutinas del programa. Las funciones solo se ejecutan si son llamadas Utiliza la sintáxis: def NombreFuncion(parámetros): #Código PROGRAMACIÓN ESTRUCTURADA Para una major organización, en Python, Podemos aprovechar el concepto de main. Se compone de 3 secciones: Flujo principal. Las líneas de Código están alineadas a la orilla. Se ejecuta siempre Se ejecuta de arriba hacia abajo Si encuentra el “main” y lo puede ejecutar, lo hace y continua. PROGRAMACIÓN ESTRUCTURADA Función main. Se ejecuta si y solo si el archivo donde está es el que se está ejecutando. Si el archive donde esta es importado, no se ejecuta. Sintaxis: if __name__ = "__main__": #Código Otras funciones. Solo se ejecutan si las llaman PROGRAMACIÓN MODULAR Todo archivo, que contiene código Python, es un módulo. Cada uno puede contener las 3 partes ya mencionadas: flujo principal, función main y otras funciones. PROGRAMACIÓN MODULAR Para usar ese módulo en otro programa, usamos el código: import NombreArchivo NOTA: no se agrega el “.py” al final PROGRAMACIÓN ORIENTADA A OBJETOS (OBJECT ORIENTED PROGRAMMING - OOP) UNA CLASE ES UNA ENTIDAD REAL O VIRTUAL QUE TIENE UNA SE CENTRA PRINCIPALMENTE EN LA INSTANCIA DE UNA CLASE SE IMPORTANCIA PARA EL LA INSTANCIA DE UNA CLASE. LLAMA OBJETO. PROBLEMA EN CUESTIÓN Y TIENE LÍMITE. POR EJEMPLO, EN UN PROGRAMA QUE SE OCUPA DE LA GESTIÓN DE ESTUDIANTES, "ESTUDIANTE" PUEDE SER UNA PYTHON ESTÁ ORIENTADO A CLASE. SE REALIZAN SUS OBJETOS. INSTANCIAS Y LA TAREA EN CUESTIÓN SE PUEDE LOGRAR MEDIANTE LA COMUNICACIÓN A TRAVÉS DE MÉTODOS. PROGRAMACIÓN ORIENTADA A OBJETOS (OBJECT ORIENTED PROGRAMMING - OOP) PROGRAMACIÓN ORIENTADA A OBJETOS (OBJECT ORIENTED PROGRAMMING - OOP) EJEMPLO DE CLASES EN PYTHON PROGRAMACIÓN ORIENTADA A OBJETOS Incluye el diseño de clases (modelos de entidades de la realidad). Las clases tienen la sintaxis: class NombreClase: #Constructor #Metodos Una clase tiene nombre, constructor, atributos (variables) y métodos PROGRAMACIÓN ORIENTADA A OBJETOS - CLASE Constructor def __init__(self,parametro s): #Codigo Métodos def NombreMet(self,parametr os): #Codigo PROGRAMACIÓN ORIENTADA A OBJETOS - CLASE Atributos Al no existir declaraciones, usan directamente Requieren la palabra clave self self.atributo = parametro print(self.atributo) Instanciar objetos nombreObj = Clase(argumentos) nombreObj.Metodo() ES UN TIPO DE CÓMPUTO EN EL QUE MEJORA LA EFICIENCIA DE COMPUTACIÓN DIVERSOS PROCESADORES EJECUTAN O DIVIDIENDO LA CARGA DE TRABAJO PROCESAN UNA APLICACIÓN ENTRE LOS PROCESADORES. SIMULTÁNEAMENTE. CÓMPUTO EN PARALELO EJEMPLO a=b+c d=e+f g=a+d Note que las primeras 2 operaciones no dependen entre sí, por lo que pueden ser calculadas independientemente. La tercera operación depende de las primeras 2 EJEMPLO 3 b+c e+f a+d Unidades de tiempo Unidad de 2 tiempo b+c a+d Unidades de tiempo e+f EL PRIMER HILO EN TERMINAR IMPRIME