Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
FACULTAD DE INGENIERÍA
ESCUELA EN INFORMÁTICA Y SISTEMAS
LECTURA N° 02
2017
Solución:
1 .1 .2: ¿Cuáles son las ventajas de (a) un compilador sobre un intérprete, y (b) las de un
intérprete sobre un compilador?
Solución:
Solución:
1 .1 .4: A un compilador que traduce un lenguaje de alto nivel a otro lenguaje de alto nivel se
le llama traductor de source-to-source. ¿Qué ventajas hay en cuanto al uso de C como
lenguaje destino para un compilador?
Solución:
Es un lenguaje muy eficiente puesto que es posible utilizar sus características de bajo nivel
para realizar implementaciones óptimas.
A pesar de su bajo nivel es el lenguaje más portado en existencia, habiendo compiladores
para casi todos los sistemas conocidos.
Proporciona facilidades para realizar programas modulares y/o utilizar código o bibliotecas
existentes.
“C” es un lenguaje de medio nivel y dispone de las estructuras típicas de los lenguajes de
alto nivel pero también permite control a muy bajo nivel y los compiladores suelen ofrecer
extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C ,
entonces aquí C utilizaría un compilador de alto nivel o el source to source
Solución:
a) imperativo b) declarativo
c) von Neumann d) orientado a objetos
e) funcional g) de cuarta generación
h) secuencias de comandos f) de tercera generación
Solución:
int w, x , y , z;
int i = 4; int j = 5;
{
Int j = 7;
i = 6;
w = i + j ;
}
x = i + j ;
{
int i = 8;
y = i + j ;
}
z = i + j ;
Solución:
w = 13
x=9
y = 13
z=9
int w, x , y , z;
int i = 3; int j = 4;
{
int i = 5;
w = i + j ;
}
x = i + j;
{
int j = 6;
i = 7;
y = i + j ;
}
z = i + j;
Solución:
w=9
x=7
y = 13
z=7
{ int w, x, y, z ; /* Block B1 */
{ int x, z; /* Block B2 */
{ int w, x; /* Block B3 */}
}
{ int w, x ; /* Block B4 */
{ int y, z ; /* Block B5 */ }
}
}
Solución:
DECLARACION ALCANCE
w del B1 B1;B2
x del B1 B1
y del B1 B1;B2;B3;B4
z del B1 B1;B4
x del B2 B2
z de B2 B2;B3
w de B3 B3
w de B4 B4;B5
x de B4 B4;B5
y de B5 B5
z de B5 B5
#define a (x+1)
int x=2;
void b() { x = a ; printf ("%d\n", x ) ; }
void c() { int x = 1; printf("%d\n"), a;}
void main () { b( ); c( ); }
Solución: