Introducción a la Computación
Cuarta evaluación parcial
24 de Noviembre de 2004
Conteste cada una de las siguientes preguntas lo mejor que pueda (pero
no
use
más de una página para cada respuesta, ni más de cuatro páginas en total).
Para ello, es
posible que necesite consultar material adicional al visto en clase. Es
libre de consultar todo tipo de material siempre y cuando de la
referencia de forma precisa, sin embargo, tiene prohibido consultar con
cualquier
persona. El plagio será fuertemente penalizado (en particular,
no está permitido transcribir de ninguna fuente, sea ésta
Internet, una enciclopedia, etc.) así que explique con sus
propias palabras. La
ortografía y la gramática
serán consideradas para determinar su calificación.
Entregue a más tardar a las 13:00
del Jueves 2 de Diciembre de 2004.
Pregunta 1: [5 puntos] En
realidad, un ensamblador no requiere de dar un segundo paso completo
sobre el texto del programa fuente, pues basta con que almacene la
posición de los identificadores a los que se hace referencia
pero que aún no han sido definidos. Para esto es suficiente con
una tabla de referencias pendientes. Describa con detalle cómo
lograr esto para obtener un ensamblador
de un paso y medio.
Pregunta 2: [5 puntos] Un desensamblador es un programa que
lee un programa en código máquina y reconstruye un
programa fuente en lenguaje ensamblador. Esto es posible porque existe
una correspondencia uno a uno entre las instrucciones del lenguaje
máquina y los mnemónicos del lenguaje ensamblador.
Describa con detalle el diseño de un desensamblador.
Pregunta 3: [2+3 puntos]
¿Porqué es posible que un programa esté
sintácticamente bien pero semánticamente mal? Dé
tres ejemplos distintos.
Pregunta 4: [3+2 puntos]
Encuentre un enunciado ambiguo en español tan largo como pueda.
Dé al menos dos de sus significados.
Pregunta 5: [3+1+1 puntos] Un
palíndrome binario es una cadena de ceros y unos que se lee
igual de izquierda a derecha o al revés. Diseñe una
máquina de Turing que acepte únicamente
palíndromes binarios. Muestre su funcionamiento con las cadenas
011010 y 10101.