Cuestionario Tema 4

Universidad Mariano Gálvez de Guatemala –La Antigua Guatemala Ingeniería en Sistemas de Información Teoría de Autómatas

Views 60 Downloads 0 File size 142KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Universidad Mariano Gálvez de Guatemala –La Antigua Guatemala Ingeniería en Sistemas de Información Teoría de Autómatas y Lenguajes Formales Kéller Eduardo Zapote Tún 0910-17-1356 CUESTIONARIO TRADUCTOR DE PSEUDOCÓDIGO A JAVA 1. ¿Cuáles son los tres tipos de lenguajes de programación? Provea una breve descripción de cada tipo. • Lenguaje máquina Es el lenguaje de programación que entiende directamente la computadora o máquina. Este lenguaje de programación utiliza el alfabeto binario. Con estos dos únicos dígitos, conocidos como bits, forma lo que se conoce como cadenas binarias (combinaciones de ceros y unos) son con las que se escriben las instrucciones que el microprocesador de la computadora entiende nuestras peticiones. • Lenguaje de bajo nivel (ensamblador) El lenguaje ensamblador fue el primer lenguaje de programación que trato de sustituir el lenguaje máquina por otro mucho más parecido al de los seres humanos. En este lenguaje se conoce como programa fuente a un programa de instrucciones escrito en lenguaje ensamblador por el programador, y programa objeto es la traducción a lenguaje máquina del programa fuente. • Lenguajes de alto nivel Este tipo de lenguajes de programación son independientes de la máquina, lo podemos usar en cualquier computador con muy pocas modificaciones o sin ellas, son muy similares al lenguaje humano, pero precisan de un programa interprete o compilador que traduzca este lenguaje de programación de alto nivel a uno de bajo nivel como el lenguaje de máquina que la computadora pueda entender. 2. ¿Cuál es el propósito de un traductor de programa? Los traductores son programas que traducen los programas en código fuente, escritos en lenguajes de alto nivel, a programas escritos en lenguaje máquina 3. Mencione y explique tres tipos de traductores de programas. • •



Ensambladores: Es un tipo de traductor que convierte programas escritos en lenguaje ensamblador en programas escritos en código máquina. Intérpretes: Los intérpretes no producen un lenguaje objetivo como en los compiladores. Un intérprete lee el código como está escrito e inmediatamente lo convierte en acciones; es decir, lo ejecuta en ese instante. Compiladores: Un compilador es un programa que lee el código escrito en un lenguaje (lenguaje origen), y lo traduce en un programa equivalente escrito en otro lenguaje (lenguaje objetivo). Como una parte fundamental de este proceso de traducción, el compilador le hace notar al usuario la presencia de errores en el código fuente del programa.

4. Diagrame y explique un algoritmo con los 5 pasos de un compilador para obtener un programa ejecutable desde el código fuente en Lenguajes C y C++.

Los lenguajes C y C++ son lenguajes que utiliza un compilador. El trabajo del compilador y su función es llevar el código fuente escrito en C/C++ a un programa escrito en lenguaje máquina. Un programa que ha sido compilado puede correr por sí sólo, pues en el proceso de compilación se lo transformo en otro lenguaje (lenguaje máquina). 5. Mencione y describa las dos etapas en la construcción de un traductor. •



Análisis léxico: Es el encargado de leer carácter por carácter de un archivo (que contenga código fuente escrito en algún lenguaje de programación específico) y construir elementos léxicos llamados patrones que serán utilizados posteriormente por un analizador sintáctico. Análisis sintáctico: Comprueba que las sentencias que componen el texto fuente sean correctas en el lenguaje correspondiente, creando una representación interna que corresponde a la sentencia analizada. De esta manera se garantiza que sólo serán procesadas las sentencias que pertenezcan al lenguaje fuente. Así como en las demás etapas, durante el análisis sintáctico, se van mostrando los errores que se encuentran.

6. ¿En qué consiste un elemento léxico, también llamado patrón? Explique sus dos componentes. •

Un patrón es una pareja ordenada compuesta por un token y un lexema. Un token es el elemento léxico del lenguaje, es decir el símbolo terminal de una gramática libre de contexto (GLC). Y, por último, un lexema es la secuencia de caracteres que coinciden con un token.

7. Una Gramática Independiente del Contexto (GIC) está compuesta por 4 elementos. Enumérelos y descríbalos. 1. 2. 3. 4.

Símbolos terminales (elementos que no generan nada). No terminales (elementos del lado izquierdo de una producción, antes de la flecha "->"). Producciones (sentencias que se escriben en la gramática). Símbolo inicial (primer elemento de la gramática).

8. ¿Cuál es la característica principal de una Gramática LL? Se caracteriza porque tiene la función de predecir qué producción debe escoger para la evaluación de las cadenas. Se debe saber y tener en cuenta que no todas las gramáticas se pueden trabajar con el LL. 9. Explique los 5 pasos de la metodología aplicada en un proceso de traducción. 1. El usuario define el planteamiento del ejercicio (enunciado del problema) a solucionar. 2. Se escribe en pseudocódigo el ejercicio o problema en el módulo especificado. No se debe olvidar tener en cuenta las reglas específicas para escribir en pseudocódigo. 3. Compila el respectivo pseudocódigo usando una estructura basada en la gramática LL; es decir evalúa las cadenas de izquierda a derecha para que sean validadas cada una de las líneas de instrucción escritas. Es en esta parte donde se verifica si la escritura hecha en el pseudocódigo es correcta o incorrecta. 4. Después de que las líneas escritas han sido verificadas entonces se procede a ejecutar la herramienta de traducción en el lenguaje previamente especificado y la herramienta internamente procede a buscar en la base de datos y asocia el pseudocódigo escrito a una sentencia equivalente en Java. 5. Como resultado final se obtiene la traducción del pseudocódigo respectivo. 10. Existen dos tipos de lenguajes algorítmicos. Menciónelos y descríbalos. • •

Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo). No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocódigo).

11. Provea la definición de Algoritmo. La palabra algoritmo se deriva de la traducción al latín de la palabra árabe Alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre la manipulación de números y ecuaciones en el siglo IX. 12. Mencione las 4 características de un buen algoritmo. • • • • •

Debe tener un punto particular de inicio. Debe ser completamente definido y no debe permitir dobles interpretaciones. Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema. Debe ser finito en tamaño y tiempo de ejecución. Debe ser legible, claro y fácil de interpretar y entender.