Beruflich Dokumente
Kultur Dokumente
PROGRAMACIN
Evolucin de los
Lenguajes de Programacin
Declarativos
Evolucin de los
Lenguajes de Programacin
Orientados a Objetos e
Imperativos
Dominios de aplicacin
Entornos interactivos
Entornos de programacin
15
Marcos de ambiente
Un ambiente de apoyo
consiste en servicios
de infraestructura que
se conocen como
marco de ambiente.
Este marco suministra
servicios como un
depsito de datos,
interfaz grfica de
usuario, seguridad y
servicios de
comunicacin. Los
programas se escriben
de modo que utilicen
estos servicios.
16
Mquinas virtuales
Introduccin al concepto
Introduccin al concepto
20
Introduccin al concepto
23
24
Lenguajes intermedios
Lenguajes intermedios
Lenguajes intermedios
Lenguajes intermedios
28
Lenguajes intermedios
Lenguajes intermedios
Lenguajes intermedios
Lenguajes intermedios
Lenguajes intermedios
Lenguajes intermedios
Tema 2:
Sintaxis formal de los lenguajes de
programacin
38
39
Unidad Didctica 2:
Paradigmas y lenguajes
Tema 4:
Descripcin de los paradigmas ms
representativos
40
PARADIGMAS DE PROGRAMACIN
41
Programacin Imperativa o
Procedural: FORTRAN
FORTRAN. Historia
Primer lenguaje de alto nivel (1957).
Desarrollado por IBM para el IBM 704.
Estaba orientado a la eficiencia en la
ejecucin.
Definicin estndar del lenguaje en el 66.
Otras versiones:
FORTRAN
77
FORTRAN 90
43
FORTRAN. Ejemplo
PROGRAMTRIVIAL
INTEGERI
I=2
IF(I.GE.2)CALLPRINTIT
STOP
END
SUBROUTINEPRINTIT
PRINT*,HolaMundo
RETURN
END
44
FORTRAN. Caractersticas
Tipos de datos:
Numricos
precisin).
Booleanos (logical)
Arreglos
Cadenas de caracteres
Archivos
Ejemplo anotado
46
DATA X/1.0/,Y/3.1416/,K/20/
Tipos de archivos:
Secuenciales
De
acceso directo
FORTRAN. Subprogramas
FN(X,Y)=SIN(X)**2-COS(Y)**2
Gestin de almacenamiento.
Las
Abstraccin y encapsulamiento
FORTRAN. Evaluacin del lenguaje
Programacin Imperativa o
Procedural: C
para sistemas)
Historia
60
Ejemplo anotado
55
Objetos de datos
con
un struct, pero todos los componentes ocupan la
misma memoria.
56
Representacin de almacenamiento
Los tipos de C emplean bsicamente la
representacin hardware de sus datos.
Una variable de tipo array es tambin el
puntero al primer elemento del array que
comienza con el ndice 0.
Es posible inicializar cualquier variable
declarada estticamente.
57
Control de secuencia
A + (int)b
Condicional, if...then...else...;
Condicinal mltiple, switch...{case....case...default...;}
Iterativos: while, do , for.
Transferencia del control: brak, continue, goto, return.
De preprocesador: #define, #include, #ifdef, #if...#undef...#else
Subprogramas y Gestin de
almacenamiento
Abstraccin y encapsulamiento
El lenguaje da facilidades para la
definicin de tipos, pero no implementa el
ocultamiento de la informacin, de
manera que si se tiene acceso a un struct,
tambien se acceder a todos sus
componentes.
El uso de bibliotecas con interfaces
header tambin permite la abstraccin.
60
Portatil
62
63
Interactivo (usualmente)
Los datos en LISP son muy restringidos:
Ejemplo anotado
65
Objetos de datos
Control de secuencia
null, equal.
Operaciones sobre propiedades: put, get.
Enunciados: prog() para ejecucin secuencial.
Entrada y salida: open(), read(), print().
Definicin de funciones: defun, define.
67
Gestin de subprogramas
Gestin de almacenamiento
Paso de parmetros:
Funciones en LISP I
Predicados
70
Funciones en LISP I
Funciones aritmticas:
+,
-, *, y /.
rem x y, devuelve el mdulo x/y (remainder).
Abstraccin y encapsulamiento
mltiple
Funciones genricas
Metaclases y metaobjetos
Tcnica de creacin e inicializacin de objetos que
permite control del proceso por parte del usuario.
72
73
a la base de datos
Pruebas matemticas
Historia
Coulmerauer (1970) desarroll un
lenguaje para hacer deducciones de texto
Se aplica un mecanismo de resolucin
sobre predicados especiales, clusulas de
Horn, llamado unificacin.
La difusin del lenguaje se produce en los
80, pero de forma muy limitada debido a
la falta de aplicaciones en dicho lenguaje.
75
76
Ejemplo anotado
78
Objetos de datos
Representacin de almacenamiento
Las reglas y hechos son almacenadas en
memoria como listas enlazadas.
La ejecucin de prolog consiste en una
bsqueda en profundidad de un rbol
conteniendo todas las posibles
soluciones. Para cada una de ellas se
evaluar su correccin. La bsqueda se
puede hacer ms eficiente mediante la
poda del rbol de bsqueda (corte).
80
Control de secuencia
El orden de evaluacin es secuencial
Expresiones, operaciones aritmticas y operadores
relacionales. Not().
Enunciados
81
Consult(nommbrearchivo)
Fail, siempre fracasa
See(nombrearchivo), lee las entradas de un archivo y las incorpora al conjunto de
reglas.
Write(trmino)
Tell(trmino), reorienta la salida del write al archivo
Told, cierra el archivo anterior
Nl, salto de lnea
Atom(X), devuleve cierto si X es un tomo
Var(X), devuelve cierto si X es una variable
Integer(X), devuelve cierto si X es un entero
Trace, activa la depuracin del programa
82
Abstraccin y encapsulamiento
83
Unidad Didctica 2:
Paradigmas y lenguajes
Tema 5:
El paradigma de la programacin orientada a
objetos (POO)
85
86
HERENCIA
Clases derivadas
PRIVATE
PUBLIC
PROTECTED
Mtodos
89
Clases abstractas
Objetos y mensajes
X_Array new: 10
X at:3 put:42
91
Herencia de clases
Si se enva un mensaje a un objeto con
un mtodo que no est definido en su
clase se pasa a la clase progenitora, y as
sucesivamente.
En los mtodos de palabra clave el
parmetro se nombra de forma explcita
en la declaracin del mtodo
92
Conceptos de abstraccin
POLIMORFISMO
El polimorfismo es la capacidad de un
solo operador o nombre de subprograma
para referirse a varias definiciones en
funcin del contexto, es decir, de los tipos
de daos de los argumentos y del
resultado.
94
Unidad Didctica 2:
Paradigmas y lenguajes
Tema 6:
La programacin centrada en la red
95
96
Unidad Didctica 3:
Mecanismos de los LP
Tema 7:
Tipos, declaraciones y control
97
Control de secuencia
Secuenciamiento en expresiones
Postfija,
Representacin de expresiones en
tiempo de ejecucin
100
Concordancia de patrones
Reescritura de trminos (reglas de produccin)
Unificacin, que consiste, ante una consulta (predicado
conteniendo variables), en la sustitucin de variables para
concordar patrones congruentes con las reglas y hechos de la
base de datos.
De variables
De parmetros formales
De subprogramas
Para tipos definidos
Para constantes definidas
De enunciados
De excepciones
Para operaciones primitas
Para constantes de literales
109
Ambientes de referencia
Parmetros formales
Variables locales
Subprogramas definidos
111
comunes explcitos
Ambientes no explcitos con base a alcance
dinmico
Alcances esttico
herencia
112
Semntica de la transmisin
Independientemente de la la
implementacin los parmetros pueden ser:
De
entrada (IN)
De salida (OUT)
De entrada/salida (IN/OUT)
COMMON, de fortran
Paquetes en ADA.
Clases en C++ y SmallTalk, aunque no es su principal
objetivo