SlideShare una empresa de Scribd logo
1 de 17
UNIVERSIDAD DE ORIENTE
NÚCLEO MONAGAS
EICA
CURSO ESPECIAL DE GRADO: CSC
Profesor: Jonathan Vásquez Bachilleres: Centeno, Renny
Fernández, Ana
Maturín, Marzo del 2015
• Introducció
n• Definición de
nombre• ¿Qué es
binding?• ¿Qué es
scope?• ¿Qué es tiempo de
vida?• Binding estático
• Binding
dinámico
• Características del scope
estático• Ejemplos de variantes de
scope estático
• Características de scope
dinámico• Ejemplo de scope de
binding dinámico• Conclusión
• Bibliografía
Historia
de la
informát
ica
Creación
de
lenguajes
de
program
ación
Conexión
entre
software y
hardware
Sistema
en
funciona
miento
Es el identificador de
una entidad dentro de
un programa.
Referimos a algo por
su nombre cuando
queremos:
Relación entre:
Procedimiento- Código que se ejecuta
La palabra binding significa
encuadernado y es la
asociación de valores con
identificadores. Estas
asociaciones pueden ser
realizadas en diferentes
etapas de un programa.
Dada la instrucción a= a+5 con a de
tipo int• Durante el diseño del
lenguaje.• Durante la implementación
del lenguaje.• Durante la compilación del
programa• Durante la carga de un
programa.• Durante la invocación a un
Es el conjunto de
instrucciones donde un
binding está activo. Es decir,
que puede ser accedido, es
visible.
Bindin
g
visible.
Dentro
de su
scope.
No
oculto
.
Es la duración del binding
durante la ejecución del
programa.
Variables globalesVariables localesVariables estáticas
Binding
estático
Tiempo
de
compila
ción
Análisis del
texto del
programa
fuente.
Más
eficiente,
menos
flexible.
Ejemplo:
Const n=3;int c;
Binding
dinámico
Tiempo
de
ejecución
Menos
eficiente,
más
flexible.
Por ejemplo, la
herencia entre
objetos:
void imprimir(Expresion E) {
system.println( E.value() ); }
public void main() { Value
valor = new Value(3);
Variable var = new
Variable("X",20);
imprimir(valor);
Se puede determinar mirando el
texto del programa (tiempo de
compilación)
Existen distintos tipos
de variantes:
FLAT
Métodos
definen
nuevos scopes
independiente
Anidad
a
Métodos
dentro de
métodos
Bloque
s
Un scope para
un conjunto
de
instrucciones.
Variante FLAT:
int a = 5, b = 6;
void P(int d) {int c; c = a + b; }
void Q() { int a = 1; int c; c = a +
b; }
void main() { int a = 11; P(2);
Q(); }
Variante anidada:
int a = 5, b = 6;
void Q() { int a = 1;
int c;
c = a + b;
void P(int d) { int c; c = a + b; } }
void main() { int a = 11; Q(); }
Variante bloques
int a = 5, b = 6;
void Q() { int a = 1;
int c;
{ int b = 3; c = a + b; }
c = a + b; }
void main() { int a = 11; Q(); }
• Depende de la
secuencia de llamadas
al programa.• No se puede saber ni el valor ni
el tipo de variable si no está
declarada localmente.
int a = 5, b = 6;
void P(int d) { int c; c = a + b; }
void Q() { int a=1; c = a + b + c; }
void main() { int a = 2; int c = 4;
P(2); Q(); }
No se
trata
sólo de
codifica
r
Usar la
lógica.
Softwa
re de
calidad
.
• Project Uqbar. Binding, polimorfismo y sobrecarga,
2013. http://uqbar-
wiki.org/index.php?title=Binding,_polimorfismo_y_sobr
ecarga [Consulta: Miércoles, 25 de marzo de 2015,
16:00 pm]
• Rodríguez, Casiano. Análisis de ámbito: conceptos.
http://nereida.deioc.ull.es/~pl/perlexamples/node166.h
tml [Consulta: Miércoles, 25 de marzo de 2015, 16:45
pm]
• Hernández, Enrique. C++ estándares. Madrid: Paraninfo,
2002.
• DC UBA. Paradigmas de lenguajes de programación,
2005. http://www-
2.dc.uba.ar/materias/plp/20052C/download/Binding.p
df [Consulta: Miércoles, 25 de marzo de 2015, 20:00
pm]
Presentación para lenguajes de programación

Más contenido relacionado

Similar a Presentación para lenguajes de programación

Java Ago Dic07
Java Ago Dic07Java Ago Dic07
Java Ago Dic07
adrianpro
 
Trabajo Final de Programación
Trabajo Final de ProgramaciónTrabajo Final de Programación
Trabajo Final de Programación
gaby71293
 
1.2 - Variables, Tipos de Datos, Asignación y Expresiones.pdf
1.2 - Variables, Tipos de Datos, Asignación y Expresiones.pdf1.2 - Variables, Tipos de Datos, Asignación y Expresiones.pdf
1.2 - Variables, Tipos de Datos, Asignación y Expresiones.pdf
RocioBerrospiMeza
 
Introducción a la programación orientada a objetos empleando c++
Introducción a la programación orientada a objetos empleando c++Introducción a la programación orientada a objetos empleando c++
Introducción a la programación orientada a objetos empleando c++
Aldo Hernán Zanabria Gálvez
 

Similar a Presentación para lenguajes de programación (20)

Oa
OaOa
Oa
 
Java Ago Dic07
Java Ago Dic07Java Ago Dic07
Java Ago Dic07
 
Tecnologia 11 6 (1)
Tecnologia 11 6 (1)Tecnologia 11 6 (1)
Tecnologia 11 6 (1)
 
Trabajo Final de Programación
Trabajo Final de ProgramaciónTrabajo Final de Programación
Trabajo Final de Programación
 
Estructura general de un programa
Estructura general de un programaEstructura general de un programa
Estructura general de un programa
 
1.2 - Variables, Tipos de Datos, Asignación y Expresiones.pdf
1.2 - Variables, Tipos de Datos, Asignación y Expresiones.pdf1.2 - Variables, Tipos de Datos, Asignación y Expresiones.pdf
1.2 - Variables, Tipos de Datos, Asignación y Expresiones.pdf
 
programacion c++ basico
programacion c++  basicoprogramacion c++  basico
programacion c++ basico
 
Cppbasico
CppbasicoCppbasico
Cppbasico
 
Tutorial de c++
Tutorial de c++Tutorial de c++
Tutorial de c++
 
Cppbasico
CppbasicoCppbasico
Cppbasico
 
Tutorial de C
Tutorial de CTutorial de C
Tutorial de C
 
Aprenda C++ como si estuviera en primero
Aprenda C++ como si estuviera en primeroAprenda C++ como si estuviera en primero
Aprenda C++ como si estuviera en primero
 
C++ basico subido JHS
C++ basico subido JHSC++ basico subido JHS
C++ basico subido JHS
 
JAVA
JAVAJAVA
JAVA
 
POE Unidad 2: Diseño y construcción de programas visuales y orientados a eventos
POE Unidad 2: Diseño y construcción de programas visuales y orientados a eventosPOE Unidad 2: Diseño y construcción de programas visuales y orientados a eventos
POE Unidad 2: Diseño y construcción de programas visuales y orientados a eventos
 
Desarrollo de-software-i
Desarrollo de-software-iDesarrollo de-software-i
Desarrollo de-software-i
 
Testing & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnetsTesting & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnets
 
No estaba muerto... cleanroom software engineering
No estaba muerto... cleanroom software engineeringNo estaba muerto... cleanroom software engineering
No estaba muerto... cleanroom software engineering
 
Introducción a la programación orientada a objetos empleando c++
Introducción a la programación orientada a objetos empleando c++Introducción a la programación orientada a objetos empleando c++
Introducción a la programación orientada a objetos empleando c++
 
ALP Unidad 2: Representación de la información en datos simples y estructuras...
ALP Unidad 2: Representación de la información en datos simples y estructuras...ALP Unidad 2: Representación de la información en datos simples y estructuras...
ALP Unidad 2: Representación de la información en datos simples y estructuras...
 

Presentación para lenguajes de programación

  • 1.
  • 2. UNIVERSIDAD DE ORIENTE NÚCLEO MONAGAS EICA CURSO ESPECIAL DE GRADO: CSC Profesor: Jonathan Vásquez Bachilleres: Centeno, Renny Fernández, Ana Maturín, Marzo del 2015
  • 3. • Introducció n• Definición de nombre• ¿Qué es binding?• ¿Qué es scope?• ¿Qué es tiempo de vida?• Binding estático • Binding dinámico • Características del scope estático• Ejemplos de variantes de scope estático • Características de scope dinámico• Ejemplo de scope de binding dinámico• Conclusión • Bibliografía
  • 5. Es el identificador de una entidad dentro de un programa. Referimos a algo por su nombre cuando queremos:
  • 6. Relación entre: Procedimiento- Código que se ejecuta La palabra binding significa encuadernado y es la asociación de valores con identificadores. Estas asociaciones pueden ser realizadas en diferentes etapas de un programa. Dada la instrucción a= a+5 con a de tipo int• Durante el diseño del lenguaje.• Durante la implementación del lenguaje.• Durante la compilación del programa• Durante la carga de un programa.• Durante la invocación a un
  • 7. Es el conjunto de instrucciones donde un binding está activo. Es decir, que puede ser accedido, es visible. Bindin g visible. Dentro de su scope. No oculto .
  • 8. Es la duración del binding durante la ejecución del programa. Variables globalesVariables localesVariables estáticas
  • 10. Binding dinámico Tiempo de ejecución Menos eficiente, más flexible. Por ejemplo, la herencia entre objetos: void imprimir(Expresion E) { system.println( E.value() ); } public void main() { Value valor = new Value(3); Variable var = new Variable("X",20); imprimir(valor);
  • 11. Se puede determinar mirando el texto del programa (tiempo de compilación) Existen distintos tipos de variantes: FLAT Métodos definen nuevos scopes independiente Anidad a Métodos dentro de métodos Bloque s Un scope para un conjunto de instrucciones.
  • 12. Variante FLAT: int a = 5, b = 6; void P(int d) {int c; c = a + b; } void Q() { int a = 1; int c; c = a + b; } void main() { int a = 11; P(2); Q(); } Variante anidada: int a = 5, b = 6; void Q() { int a = 1; int c; c = a + b; void P(int d) { int c; c = a + b; } } void main() { int a = 11; Q(); } Variante bloques int a = 5, b = 6; void Q() { int a = 1; int c; { int b = 3; c = a + b; } c = a + b; } void main() { int a = 11; Q(); }
  • 13. • Depende de la secuencia de llamadas al programa.• No se puede saber ni el valor ni el tipo de variable si no está declarada localmente.
  • 14. int a = 5, b = 6; void P(int d) { int c; c = a + b; } void Q() { int a=1; c = a + b + c; } void main() { int a = 2; int c = 4; P(2); Q(); }
  • 15. No se trata sólo de codifica r Usar la lógica. Softwa re de calidad .
  • 16. • Project Uqbar. Binding, polimorfismo y sobrecarga, 2013. http://uqbar- wiki.org/index.php?title=Binding,_polimorfismo_y_sobr ecarga [Consulta: Miércoles, 25 de marzo de 2015, 16:00 pm] • Rodríguez, Casiano. Análisis de ámbito: conceptos. http://nereida.deioc.ull.es/~pl/perlexamples/node166.h tml [Consulta: Miércoles, 25 de marzo de 2015, 16:45 pm] • Hernández, Enrique. C++ estándares. Madrid: Paraninfo, 2002. • DC UBA. Paradigmas de lenguajes de programación, 2005. http://www- 2.dc.uba.ar/materias/plp/20052C/download/Binding.p df [Consulta: Miércoles, 25 de marzo de 2015, 20:00 pm]