Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
CLASE 2 MODELO DE DESARROLLO DE PROGRAMAS Y PROGRAMACION CONCURRENTE FAC.DE INGENIERIA - UNJu Paradigmas de Programación PARADIGMAS DE PROGRAMACIÓN Def. 1: Representa un enfoque particular o filosofía para diseñar soluciones. Difieren unos de otros, en los conceptos y la forma de abstraer los elementos involucrados en un problema, así como en los pasos que integran su solución del problema. Def. 2: Es 1 propuesta tecnológica adoptada por 1 comunidad de programadores y desarrolladores cuyo núcleo central trata de resolver 1 o varios problemas claramente delimitados; su resolución debe suponer un avance significativo en al menos un parámetro que afecte a la ing. de SW. En un principio los leng.de progr.imitaron y abstrajeron las operaciones de una comput., lo cual trajo aparejado que el tipo de comput.p/el cual fueron escritos tuviera un efecto significativo sobre su diseño. Ejecución Secuencial Uso de variables y de asignación CLASIFICACION DE PARADIGMAS DE PROGRAMACIÓN IMPERAT. O PROCEDURAL: Incluye leng.de program.cuya característica principal es una secuencia de enunciados que representan comandos u órdenes FUNCIONAL: esta basada en la definic. de predicados y es de corte más matemático LOGICO: esta basado en la lógica simbólica, es decir describir el problema declarando prop.y reglas que deben cumplirse, en lugar de instrucc PARALELO O CONCURR: se basa en procesos que son atendidos en forma paralela x el procesador, requiere de mecanismos de sincronizac ORIENT.A OBJETOS: permite escribir código reutilizable y ampliable, que opera imitando al mundo real • DINAMICA • DIRIGIDA x EVENTOS • CON RESTRICCIONES • MULTIPARADIG MA • REACTIVA • ESPECIFICO DEL DOMINIO O DSL Florencia Resaltado Florencia Resaltado POSTULADOS DEL PARADIGMA PROCEDURAL O IMPERATIVO ESTRUCTURAS DE DATOS + ALGORITMOS = PROGRAMAS 1) 1- m: 1 instrucción equivale a muchas instrucc.de máquina (c:=a+b ==> Load, Add, Store) 2) SECUENCIAL: Las instrucciones son ejecutados en forma secuencial 3) ASIGNACIÓN: Fundamenta su ejecución en asignaciones y formulas ( A: = A + B ) 4) MODULAR: La programación se lleva a cabo modularmente, usando procedimientos y fciones. 5) ESTRUCTURADO: Usa estructuras de transferencia definidas (Do While, If Then Else, Case, Call's ) 6) ESTATICO: Compilación, Ligado y Cargado a Priori 7) TIPOS DE DATOS DIVERSOS (Entero, Real, Alfanumérico(ASCII), Enumerables, Matrices, Registros) 8) NO SE MODIFICA EL CODIGO EN EJECUCIÓN: El programa no modifica su código (instrucciones ) durante su ejecución 9) PUNTEROS LIMITADOS En lo posible el programador debe usar punteros cuidadosamente 10)NO SE ACONSEJA EL USO DEL Go To Ejemplos : FORTRAN,ALGOL,BASIC,PASCAL,C POSTULADOS DEL PARADIGMA FUNCIONAL FORMAS FUNCIONALES + EXPRESION DE EXPRESIONES = APLICACIONES 1) EXPRESIONES: 1 expresión es el result.del valor de sus sub-expresiones y los operadores correspond. 2) RECURSIVIDAD: Uso extensivo de recursividad 3) FUNCIONES PRIMITIVAS: El leng.cuenta con1conj.poderoso de fciones.primitivas 4) SINTAXIS SENCILLA: Uso de pocas reglas formales para su sintaxis 5) EQUIVALENCIA ENTRE FCIONES Y DATOS: xq tienen caract.similares (valor, argumento de rutinas, estruct) 6) AMBIENTE DE PROGRAMACIÓN: Operan bajo un residente en ejecución de corte interactivo, interpretativo y con ligado retrasado 7) MODIFICACION DEL CODIGO EN EJECUCIÓN: Por su naturaleza, permite la modificación de datos y expresiones durante la ejecución 8) ESTRUCTURA DE PROGRAMACION LIMITADA: En gral.se requiere de pocas estruct.de programación secuencial, condicional y cíclica. 9) MEMORIA DINAMICA: El residente maneja dinámicamente la mem sin intervención del programador Ejemplos : LISP, SNOBOL, ML, SCHEME Ej. De 1 progr.en LISP POSTULADOS DEL PARADIGMA LOGICO 1) Se basa en la descripción de enunciados lógicos junto con algoritmos especificados para implementar las Reglas de inferencia. 2) Están limitados a un subconj.específico del cálculo de predicados, llamados cláusulas de Horn 3) Utiliza un proceso de unificación que hace la instanciación de las variables, y se les asigne memoria y valores de manera que coincidan los patrones durante la resolución Ejemplo: PROLOG POSTULADOS DEL PARADIGMA PARALELA PROGRAMA = INSTRUCCCION INDIVIDUAL + MULTIPLES DATOS 1) SIMD (Single Instruction Multiple Data): 1 instrucción puede ser ejecutada al mismo tiempo con varios datos, matricialmente (C = A + B <==> cij = aij + bij) 1) SISD (Single Instruction Single Data): 1 instrucción puede ser ejecutada en forma escalar tiempo con varios datos (C = A + B <==> c= a + b) 2) PARALELISMO: Las instrucciones o procesos pueden ser ejecutados en forma concurrente o secuencial 3) NO DETERMINISMO: x la naturaleza de procesos paralelos puede generarse 1 ejecución no determiníst. 4) PROGRAMACIÓN: La programación de los procedimientos y funciones dentro de un bloque, se desarrolla usando postulados procedurales y estructuras de datos adecuadas 5) SINCRONIZACION: Procesos paralelos deben coordinar sus accesos a los mismos recursos( mem,disco,..) 6) ESPERA AND/OR: Un bloque paralelo puede terminar cuando todos los subprocesos terminen o bien cuando 1de ellos lo haga Ejemplos : OCCAM, PASCAL CONCURRENTE Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado POSTULADOS DEL PARAD.ORIENT. A OBJETOS OBJETOS = RECORDS (DATOS) + METODOS (OPERACIONES) 1) ORIENTADO A OBJETOS: Los sistemas se modularizan en función de los datos 2) OBJETOS COMO DATOS: Los objetos son instrumentados como un tipo de dato complejo. 3) OBJETOS DINAMICOS: Los Objetos son copias de clases dinámicas 4) CLASES: Todo tipo de dato complejo es un módulo, generando una clase específica 5) HERENCIA: Toda clase puede ser definida en términos de otra(s), heredando sus definiciones 6) POLIMORFISMO: Los elementos de un programa pueden llamar a diferentes clases con el mismo nombre. Una clase puede tener varias formas, y las funciones pueden implementarse en forma distinta Ejemplos : ADA, C++, JAVA Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado Florencia Resaltado
Compartir