CUESTIONARIO 01

CUESTIONARIO 01 NOMBRE: María Fernanda Zevallos Gomez CÓDIGO:2015-119031 SECCIÓN 1: 1.1.¿Cuál es la diferencia entre un

Views 84 Downloads 0 File size 207KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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