Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ACTIVIDAD 1
Dado el siguiente organigrama, indica qu tarea realiza.
ACTIVIDAD 2
Realiza el diagrama de flujo tal que se d un dato de entrada X.
Si la X es igual a 1 mostraremos el texto Has pulsado 1. En caso
de que sea 2 el texto a visualizar ser Has pulsado 2.
PSEUDOCDSGO
La palabra pseudocdigo puede ser traducida como falso lenguaje, y no hay nada ms acertado que
su definicin. Un pseudocdigo es una descripcin informal de un programa, siendo de gran utilidad
a la hora de disear el algoritmo del mismo. En pseudocdigo usamos lenguaje natural o similar
para representar estructuras propias del lenguaje de programacin que usaremos en la codificacin,
es decir, simulamos un lenguaje de programacin.
El pseudocdigo, aunque usa el lenguaje natural, no utiliza su amplia variedad de palabras, se
seleccionan una serie de palabras como reservadas para representar todas las estructuras que
posteriormente debern ser codificadas mediante el lenguaje de programacin.
Se han visto ejemplos de pseudocdigo en los apartados 1.3.2 y 1.3.6. Estudiaremos en ms
profundidad las palabras reservadas en pseudocdigo cuando empecemos a conocer las diferentes
estructuras de control y su significado en el Captulo 2.
PROCESO DE COMPILACIN
Cuando estudibamos los tipos de lenguajes de programacin veamos que en funcin de cmo se
ejecutaban, tenamos lenguajes de programacin compilados y lenguajes de programacin
interpretados.
En este apartado vamos a estudiar el proceso de compilacin de un software. La palabra
compilacin refiere a la traduccin de un programa en cdigo fuente a cdigo mquina o bytecode.
Compilador ser el nombre de la herramienta software que es capaz de realizar la traduccin.
Un compilador est formado por dos partes fundamentales, cada una de ellas se divide en otras
tantas necesarias para cubrir todos los pasos del proceso. As, dispone de: Anlisis y Sntesis.
La parte de anlisis seencarga de lacomprobacin delas lneas de cdigo, anlisis lxico, sintctico y
semntico. La partede sntesis es la encargadade la obtencin del cdigo objeto.
Esta, a su vez, se divide en diferentes fases donde se genera cdigo intermedio y se optimiza.
La fase de anlisis est compuesta por:
Anlisis lxico. Este anlisis se encarga de comprobar si las palabras introducidas son
correctas. Se eliminan espacios en blanco, lneas vacas, comentarios, etc. El cdigo fuente
se lee de izquierda a derecha formando tokens, que no son ms que consecucin de letras
que forman una palabra reservada vlidas o bien un dato.
Anlisis sintctico. Pasado el anlisis lxico y habindose comprobado que todas las
palabras introducidas son propias del lenguaje, realizaremos el anlisis sintctico del cdigo.
En el anlisis sintctico se comprueba la estructura de las frases, si son correctas y estn
formadas segn el lenguaje de programacin que hayamos usado.
Anlisis semntico. Este anlisis se encarga de deducir si todas las instrucciones poseen un
significado semntico correcto. Por ejemplo, si tenemos una lnea de cdigo donde se asigna
una cadena de caracteres a un valor entero, se producir un error semntico ya que el lugar
donde se va a almacenar el dato debera estar preparado para nmeros y no letras.
La fase de sntesis de divide en:
Todas las partes descritas estn siempre relacionadas con la tabla de smbolos y el manejador de
errores.
Bsicamente la tabla de smbolos no es ms que una estructura que contiene informacin de todos
los tokens que pueden usarse en un lenguaje de programacin concreto. Los analizadores lxico,
sintctico y semntico agregarn informacin a la misma ya que existirn identificadores y otro tipo
de elementos que no forman parte de las palabras reservadas del lenguaje.
En cuanto al manejador de errores, es la parte encargada de tratar los posibles fallos producidos
durante toda la compilacin en las diferentes etapas.
Supongamos que hemos usado un programa preparado para escribir cdigo en un lenguaje de
programacin concreto. Hemos generado un fichero con cdigo fuente y queremos proceder a su
compilacin para poder ejecutarlo. Este fichero contiene la instruccin int a=b+2;. Es una lnea
muy sencilla, con ella estamos creando un lugar donde guardar informacin entera llamado a,
concretamente el valor a almacenar es la suma de b ms 2.
Una vez se han descrito las partes de un compilador, teniendo en cuenta nuestro cdigo fuente, el
proceso de compilacin se podra reducir a:
1. Recibimos el cdigo fuente, int a=b+2; y comenzamos la fase de anlisis. Primera etapa
a superar, el analizador lxico.
2. Se separa la instruccin formando diferentes tokens. Obtendremos: int, a, =, b, +, 2,
3. Los tokens analizados son correctos. Algunos como int, =, + se encuentran en la tabla
de smbolos con anterioridad, el resto se agrega a esta.
4. Al ser correcto el anlisis lxico pasamos al anlisis sintctico.
En este paso debemos aseguramos de que la frase o instruccin sea correcta. Se genera un rbol
sintctico por el que se deduce si la instruccin est bien formada en el lenguaje de programacin
que estamos usando. En todo momento el manejador de errores estar alerta por si se produce algn
tipo de error en alguna etapa.
5. Si no se han producido fallos en la estructura de la frase pasaremos a comenzar el
anlisis semntico. Los errores sintcticos son errores de estructura, frases o
instrucciones mal formadas en un lenguaje concreto, por ejemplo si nuestra instruccin
hubiera sido int a==b+2; se hubiera producido un error sintctico, ya que en una
asignacin tras el igual debe aparecer valor o variable y no otro igual. El anlisis
semntico analizar el significado de la frase. La palabra int indica que
estamos creando una variable de tipo entera, as, b debe serlo para que alrealizar la suma
el resultado sea entero y pueda almacenarse en a.
6. Si la fase semntica es superada correctamente se generar un cdigo intermedio.
7. A continuacin se producir la optimizacin del cdigo intermedio.
8. Para finalizar el compilador obtendr el cdigo objeto, cdigo mquina,
listo para
ser
linkado" o unido a diferentes libreras, y as obtener el fichero final a ejecutar.