Está en la página 1de 5

CUESTIONARIO 01

NOMBRE: María Fernanda Zevallos Gomez

CÓDIGO:2015-119031

SECCIÓN 1:

1.1.¿Cuál es la diferencia entre un compilador y un intérprete?

La principal diferencia radica en que un compilador lee un programa en un lenguaje (el

lenguaje fuente) y lo traduce en un programa equivalente en otro lenguaje (el lenguaje

destino).

En cambio, un intérprete lee el programa de origen (fuente) así como las entradas

proporcionadas por el usuario y produce la salida directamente.

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?

a) El programa destino en lenguaje máquina que produce un compilador es, por lo

general, más rápido que un intérprete al momento de asignar las entradas a las salidas.

b) El intérprete puede ofrecer mejores diagnósticos de error que un compilador, y a

que ejecuta el programa fuente instrucción por instrucción.

1.3.¿Qué ventajas hay para un sistema de procesamiento de lenguajes en el cual el

compilador produce lenguaje ensamblador en vez de lenguaje máquina?

La ventaja consiste en que es más fácil producir el lenguaje ensamblador como salida y

es más fácil su depuración.


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?

1.5.Describa algunas de las tareas que necesita realizar un ensamblador.

El ensamblador necesita realizar las siguientes tareas:

 Recibe el programa destino (en ensamblador) proveniente del compilador.

 Genera código máquina relocalizable

SECCIÓN 2:

Indique cuál de los siguientes términos:

a) imperativo b) declarativo d) orientado a objetos e) funcional g) de cuarta generación

h) secuencias de comandos c) Von Neumann f) de tercera generación se aplican a los

siguientes lenguajes:

1) C 2) C + + 3) Cobol 4) Fortran 5) Java 6) Lisp 7) ML 8) Perl 9) Python 10) VB.

Desarrollo:

a) imperativo: C , C++, Java

b) declarativo: ML

d) orientado a objetos: C++, Java

e) funcional: ML

g) de cuarta generación:
h) secuencias de comandos: Python, Perl

c) Von Neumann: Fortran, C

f) de tercera generación: Lisp, Cobol

SECCIÓN 3:

3.1. Para el código en C estructurado por bloques de la figura 1.13(a), indique los

valores asignados a w, x, y y z

Los valores asignados son:

W=13

X=15

Y=9

Z=9

3.2. Repita el ejercicio 1.6.1 para el código de la figura 1.13(b).


Los valores asignados son:

W=9

X=7

Y=13

Z=7

3.3. Para el código estructurado por bloques de la figura 1.14, suponiendo el alcance

estático usual de las declaraciones, dé el alcance para cada una de las doce

declaraciones.
Declaración Alcance

Int w B1-B3

Int x B1-B4

Int y B1-B5

Int z B1-B2

Int x B2-B3

Int z B2-B3

Int w B3

Int x B3

Int w B4

Int x B4

Int y B5

Int z B5

También podría gustarte