Logo Studenta

Tema_2_Clase_2_Paradigmas_de_Programaci_n

¡Estudia con miles de materiales!

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

Continuar navegando