SlideShare uma empresa Scribd logo
1 de 6
UNIDAD 3
333... PPPOOONNNEEERRR AAA PPPUUUNNNTTTOOO EEELLL
PPPRRROOOGGGRRRAAAMMMAAA MMMEEEDDDIIIAAANNNTTTEEE EEELLL
UUUSSSOOO DDDEEE UUUNNN EEEDDDIIITTTOOORRR DDDEEE
LLLEEENNNGGGUUUAAAJJJEEE DDDEEE
PPPRRROOOGGGRRRAAAMMMAAACCCIIIÓÓÓNNN
EEESSSTTTRRRUUUCCCTTTUUURRRAAADDDOOO...
3.1 CAPTURA Y EDICIÓN DEL
PROGRAMA.
Fase de compilación y linkado (link, montado o enlace) Un
programa escrito en un lenguaje de alto nivel, no puede ser
ejecutado directamente por un ordenador, sino que debe ser
traducido a lenguaje máquina. Las etapas por las que debe pasar
un programa escrito en un lenguaje de programación, hasta poder
ser ejecutable son: Figura 1. Fases de ejecución de un programa
fuente: Es el programa escrito en un lenguaje de alto nivel. No es
más que un texto ordinario que contiene las sentencias
(instrucciones) del programa en un determinado lenguaje de
programación. Compilador es el programa encargado de traducir los
programas fuentes escritos en un lenguaje de alto nivel a lenguaje
máquina (traduce nuestras instrucciones a otras reconocibles por el
microprocesador). Programa objeto o código objeto: Es el programa
.obj resultante de la traducción del código fuente. Aún no es
directamente ejecutable por el ordenador. Linker (montador o
enlazador): Es el programa encargado de realizar el proceso de
montaje, que producirá un programa .exe en lenguaje máquina
directamente ejecutable (programa ejecutable). El linkador se
encarga de unir al programa objeto una serie de librerías (archivos
de biblioteca) necesarias para su funcionamiento. Los archivos de
biblioteca son una colección de código que ha sido programada y
traducida, y lista para utilizar en un programa.
Como cada lenguaje de programación tiene unas reglas especiales
(sintaxis) para la construcción de sus programas, debe existir un
compilador específico para cada lenguaje de programación. El
compilador antes de generar el programa objeto debe analizar el
programa fuente (almacenado en un archivo de texto) y comprobar
que cumple las reglas de sintaxis del lenguaje de programación. Si
cumple la sintaxis genera el correspondiente programa objeto, sino,
visualizará un mensaje de error y su posible causa para que
procedamos a la depuración del programa. Depurar un programa
consiste en detectar y corregir los errores que se producen en él, ya
sean en tiempo de compilación o en tiempo de ejecución. Los
errores en tiempo de compilación son los que se producen antes de
la ejecución del programa, durante el proceso de compilación del
programa. Los errores en tiempo de ejecución son los que se
producen durante la ejecución del programa. Este tipo de errores,
son los más difíciles de encontrar, porque no son detectados por el
compilador, ya que no son errores consecuencia de violar alguna
regla sintáctica.
Un programa puede interrumpirse bruscamente, por ejemplo si
tenemos que hacer una división y el divisor es cero, etc. Para
ayudarnos a encontrar los errores lógicos y demás errores
producidos en tiempo de ejecución, podemos hacer uso de los
depuradores. Un depurador (debugger), es un programa diseñado
específicamente para la detección, verificación y corrección de
errores, y que por tanto nos ayudará en las tareas de depuración.
Los depuradores nos permiten trazar el programa (ejecutarlo
sentencia a sentencia) y visualizar el contenido de las variables y
direcciones de memoria durante la ejecución del programa. Además
permiten alterar el flujo de ejecución del mismo, cambiar los valores
de las variables e introducir puntos de parada. Página 3 de 5 Los
compiladores emiten mensajes de error o de advertencia durante
las fases de compilación, de enlace o de ejecución de un programa.
Los mensajes de error producidos los podemos agrupar en tres
bloques: − Errores fatales: Son raros. Algunos indican un error
interno del compilador. Cuando ocurren la compilación se detiene
inmediatamente. − Errores de sintaxis: Son los errores típicos de
sintaxis, errores de línea de órdenes y errores de acceso a memoria
o disco. El compilador terminará la fase de compilación y se
detendrá. − Advertencias (warnings): No impiden la compilación.
Indican condiciones que son sospechosas, pero son legítimas como
parte del lenguaje. Así pues los pasos a seguir para la elaboración y
ejecución de un programa los podemos resumir de la siguiente
manera:
1 º. Comenzamos escribiendo el código fuente.
2 º. Compilamos el fichero fuente y se comprueban los mensajes de
error.
3 º. Volvemos al editor y eliminamos los errores de sintaxis.
4 º. Cuando el compilador tiene éxito, el linker construirá el archivo
ejecutable.
5 º. Ya podemos ejecutar el archivo ejecutable que se obtiene al
linkar.
6 º. Si encontramos un error, podemos activar el depurador para
trazar el programa y ejecutar sentencia a sentencia.
7 º. Una vez que hayamos encontrado la causa del error,
volveremos al editor y lo corregimos.
8 º. El proceso de compilar, enlazar y ejecutar el programa lo
repetiremos hasta que no se produzcan errores.
9 º. Una vez tengamos el archivo ejecutable, será el sistema
operativo el encargado de colocar el programa en la memoria
central y ejecutarlo .
3.2 COMPILAR EL PROGRAMA,
DEPURAR EL PROGRAMA, EJECUTAR
EL PROGRAMA.
Fase de ejecución de un programa
Una vez que tenemos el programa en lenguaje máquina, para
poderlo
ejecutar hay que introducirlo en la memoria. Para esta tarea existe
un programa
del sistema operativo denominado cargador, que introduce el
programa en
posiciones consecutivas de memoria a partir de una determinada.
Cuando el programa está cargado se le indica a la computadora
que pase su
control a la posición de memoria donde se ha cargado. Esta
operación la hace
directamente el sistema operativo.
pasos:
Suponiendo que el programa se ha cargado a partir de una
determinada
posición i de memoria.
1. Lleva de la Memoria (M) a la Unidad de Control (UC) la
instrucción que
está en la posición i. Cambiar el valor de i por i+1.
2. Interpreta el código de operación de la instrucción y, según sea
éste y las
señales de estado, envía señales de control a las unidades y
circuitos que
deben intervenir para ejecutar la instrucción. Vuelve a la fase (1).
ejecución de instrucción.
En el caso de que la ejecución de una instrucción implique saltar a
otra
instrucción en la posición m, por ejemplo (alterándose por tanto el
orden
secuencial), la UC hace, en la fase de ejecución de la instrucción de
salto, que cambie i por m, de forma que en la siguiente fase de
captación se ejecuta la instrucción que está en m.
Unidad 3

Mais conteúdo relacionado

Mais procurados (20)

Jhonny3
Jhonny3Jhonny3
Jhonny3
 
Fanny3
Fanny3Fanny3
Fanny3
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...
3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...
3 unidad.Poner a punto el programa mediante el uso de un editor de lenguaje d...
 
Tercera unidad ;3
Tercera unidad ;3Tercera unidad ;3
Tercera unidad ;3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad ad 3
Unidad ad 3Unidad ad 3
Unidad ad 3
 
Traductores de lenguajes
Traductores   de    lenguajesTraductores   de    lenguajes
Traductores de lenguajes
 
Traductores de lenguajes de programación
Traductores de lenguajes de programaciónTraductores de lenguajes de programación
Traductores de lenguajes de programación
 
2.2 depuracion de un programa en c
2.2 depuracion de un programa en c2.2 depuracion de un programa en c
2.2 depuracion de un programa en c
 
Dennis ipiales
Dennis ipialesDennis ipiales
Dennis ipiales
 
Armando cevallos.doc
Armando cevallos.docArmando cevallos.doc
Armando cevallos.doc
 
Clasificacion de Interpretes
Clasificacion de InterpretesClasificacion de Interpretes
Clasificacion de Interpretes
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Conceptossobreedicionyobtenciondecodigoejecutable
ConceptossobreedicionyobtenciondecodigoejecutableConceptossobreedicionyobtenciondecodigoejecutable
Conceptossobreedicionyobtenciondecodigoejecutable
 
UNIDAD 3
UNIDAD 3 UNIDAD 3
UNIDAD 3
 
como usar MPLAB
como usar MPLABcomo usar MPLAB
como usar MPLAB
 
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladores
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 

Destaque

Software del sistema.ppt+
Software del sistema.ppt+Software del sistema.ppt+
Software del sistema.ppt+Karly Lugo
 
Trabajo de informática básica
Trabajo de informática básica Trabajo de informática básica
Trabajo de informática básica carantoncamilo
 
Software de aplicacion
Software de aplicacionSoftware de aplicacion
Software de aplicacion14091996
 
05_La_Familia_como_La_Escuela_del_Amor
05_La_Familia_como_La_Escuela_del_Amor05_La_Familia_como_La_Escuela_del_Amor
05_La_Familia_como_La_Escuela_del_AmorJesus Gonzalez Losada
 
Introducción a la Informática
Introducción a la InformáticaIntroducción a la Informática
Introducción a la Informáticaguestc34624
 
CONVIVIR ES VIVIR: la psicomotricidad escenarios para crecer
CONVIVIR ES VIVIR: la psicomotricidad escenarios para crecerCONVIVIR ES VIVIR: la psicomotricidad escenarios para crecer
CONVIVIR ES VIVIR: la psicomotricidad escenarios para crecerguestfd40ea
 
La Familia Como Agente De SocializaciòN
La Familia Como Agente De SocializaciòNLa Familia Como Agente De SocializaciòN
La Familia Como Agente De SocializaciòNProfeCharito
 

Destaque (13)

Software del sistema.ppt+
Software del sistema.ppt+Software del sistema.ppt+
Software del sistema.ppt+
 
Trabajo de informática básica
Trabajo de informática básica Trabajo de informática básica
Trabajo de informática básica
 
Antohyny
AntohynyAntohyny
Antohyny
 
Rima porto sul outubro 2013
Rima porto sul outubro 2013Rima porto sul outubro 2013
Rima porto sul outubro 2013
 
Software de aplicacion
Software de aplicacionSoftware de aplicacion
Software de aplicacion
 
El Grupo De Iguales
El Grupo De IgualesEl Grupo De Iguales
El Grupo De Iguales
 
05_La_Familia_como_La_Escuela_del_Amor
05_La_Familia_como_La_Escuela_del_Amor05_La_Familia_como_La_Escuela_del_Amor
05_La_Familia_como_La_Escuela_del_Amor
 
Introducción a la Informática
Introducción a la InformáticaIntroducción a la Informática
Introducción a la Informática
 
Teoria de skinner
Teoria de skinnerTeoria de skinner
Teoria de skinner
 
CONVIVIR ES VIVIR: la psicomotricidad escenarios para crecer
CONVIVIR ES VIVIR: la psicomotricidad escenarios para crecerCONVIVIR ES VIVIR: la psicomotricidad escenarios para crecer
CONVIVIR ES VIVIR: la psicomotricidad escenarios para crecer
 
La Familia Como Agente De SocializaciòN
La Familia Como Agente De SocializaciòNLa Familia Como Agente De SocializaciòN
La Familia Como Agente De SocializaciòN
 
Agentes socializadores.
Agentes socializadores.Agentes socializadores.
Agentes socializadores.
 
Informática básica 2011
Informática básica 2011Informática básica 2011
Informática básica 2011
 

Semelhante a Unidad 3 (20)

Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Gaby agudo
Gaby agudoGaby agudo
Gaby agudo
 
PASOS PARA LA SOLUCION DE PROBLEMAS - HTML
PASOS PARA LA SOLUCION DE PROBLEMAS - HTMLPASOS PARA LA SOLUCION DE PROBLEMAS - HTML
PASOS PARA LA SOLUCION DE PROBLEMAS - HTML
 
Informatica
InformaticaInformatica
Informatica
 
Unidad3 130504222102-phpapp02
Unidad3 130504222102-phpapp02Unidad3 130504222102-phpapp02
Unidad3 130504222102-phpapp02
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Compiladores y analizador lexicos
Compiladores y analizador lexicosCompiladores y analizador lexicos
Compiladores y analizador lexicos
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Traductores de lenguaje
Traductores de lenguajeTraductores de lenguaje
Traductores de lenguaje
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Aplicar los pricipios de programacion en la solucion de problemas 33
Aplicar los pricipios de programacion en la solucion de problemas 33Aplicar los pricipios de programacion en la solucion de problemas 33
Aplicar los pricipios de programacion en la solucion de problemas 33
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Traductores de lenguaje
Traductores de lenguajeTraductores de lenguaje
Traductores de lenguaje
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandra
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 

Mais de Karly Lugo (20)

Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Practica 22
Practica 22Practica 22
Practica 22
 
Practica23
Practica23Practica23
Practica23
 
Practica 15
Practica 15Practica 15
Practica 15
 
Practica 14
Practica 14Practica 14
Practica 14
 
Practica 16
Practica 16Practica 16
Practica 16
 
Practica 14 u4
Practica 14 u4Practica 14 u4
Practica 14 u4
 
Practica 13 u3
Practica 13 u3Practica 13 u3
Practica 13 u3
 
Practica 12 u3
Practica 12 u3Practica 12 u3
Practica 12 u3
 
Practica 11 u3
Practica 11 u3Practica 11 u3
Practica 11 u3
 
Practica 10 u3
Practica 10 u3Practica 10 u3
Practica 10 u3
 
Practica 9 u3
Practica 9 u3Practica 9 u3
Practica 9 u3
 
Practica 8 u3
Practica 8 u3Practica 8 u3
Practica 8 u3
 
Practica 6 u3
Practica 6 u3Practica 6 u3
Practica 6 u3
 
Practica 7 u3
Practica 7 u3Practica 7 u3
Practica 7 u3
 

Unidad 3

  • 1. UNIDAD 3 333... PPPOOONNNEEERRR AAA PPPUUUNNNTTTOOO EEELLL PPPRRROOOGGGRRRAAAMMMAAA MMMEEEDDDIIIAAANNNTTTEEE EEELLL UUUSSSOOO DDDEEE UUUNNN EEEDDDIIITTTOOORRR DDDEEE LLLEEENNNGGGUUUAAAJJJEEE DDDEEE PPPRRROOOGGGRRRAAAMMMAAACCCIIIÓÓÓNNN EEESSSTTTRRRUUUCCCTTTUUURRRAAADDDOOO... 3.1 CAPTURA Y EDICIÓN DEL PROGRAMA. Fase de compilación y linkado (link, montado o enlace) Un programa escrito en un lenguaje de alto nivel, no puede ser ejecutado directamente por un ordenador, sino que debe ser traducido a lenguaje máquina. Las etapas por las que debe pasar un programa escrito en un lenguaje de programación, hasta poder ser ejecutable son: Figura 1. Fases de ejecución de un programa fuente: Es el programa escrito en un lenguaje de alto nivel. No es más que un texto ordinario que contiene las sentencias (instrucciones) del programa en un determinado lenguaje de programación. Compilador es el programa encargado de traducir los programas fuentes escritos en un lenguaje de alto nivel a lenguaje máquina (traduce nuestras instrucciones a otras reconocibles por el microprocesador). Programa objeto o código objeto: Es el programa .obj resultante de la traducción del código fuente. Aún no es directamente ejecutable por el ordenador. Linker (montador o enlazador): Es el programa encargado de realizar el proceso de
  • 2. montaje, que producirá un programa .exe en lenguaje máquina directamente ejecutable (programa ejecutable). El linkador se encarga de unir al programa objeto una serie de librerías (archivos de biblioteca) necesarias para su funcionamiento. Los archivos de biblioteca son una colección de código que ha sido programada y traducida, y lista para utilizar en un programa. Como cada lenguaje de programación tiene unas reglas especiales (sintaxis) para la construcción de sus programas, debe existir un compilador específico para cada lenguaje de programación. El compilador antes de generar el programa objeto debe analizar el programa fuente (almacenado en un archivo de texto) y comprobar que cumple las reglas de sintaxis del lenguaje de programación. Si cumple la sintaxis genera el correspondiente programa objeto, sino, visualizará un mensaje de error y su posible causa para que procedamos a la depuración del programa. Depurar un programa consiste en detectar y corregir los errores que se producen en él, ya sean en tiempo de compilación o en tiempo de ejecución. Los
  • 3. errores en tiempo de compilación son los que se producen antes de la ejecución del programa, durante el proceso de compilación del programa. Los errores en tiempo de ejecución son los que se producen durante la ejecución del programa. Este tipo de errores, son los más difíciles de encontrar, porque no son detectados por el compilador, ya que no son errores consecuencia de violar alguna regla sintáctica. Un programa puede interrumpirse bruscamente, por ejemplo si tenemos que hacer una división y el divisor es cero, etc. Para ayudarnos a encontrar los errores lógicos y demás errores producidos en tiempo de ejecución, podemos hacer uso de los depuradores. Un depurador (debugger), es un programa diseñado específicamente para la detección, verificación y corrección de errores, y que por tanto nos ayudará en las tareas de depuración. Los depuradores nos permiten trazar el programa (ejecutarlo sentencia a sentencia) y visualizar el contenido de las variables y direcciones de memoria durante la ejecución del programa. Además permiten alterar el flujo de ejecución del mismo, cambiar los valores de las variables e introducir puntos de parada. Página 3 de 5 Los compiladores emiten mensajes de error o de advertencia durante las fases de compilación, de enlace o de ejecución de un programa. Los mensajes de error producidos los podemos agrupar en tres bloques: − Errores fatales: Son raros. Algunos indican un error interno del compilador. Cuando ocurren la compilación se detiene inmediatamente. − Errores de sintaxis: Son los errores típicos de sintaxis, errores de línea de órdenes y errores de acceso a memoria o disco. El compilador terminará la fase de compilación y se detendrá. − Advertencias (warnings): No impiden la compilación. Indican condiciones que son sospechosas, pero son legítimas como parte del lenguaje. Así pues los pasos a seguir para la elaboración y ejecución de un programa los podemos resumir de la siguiente manera: 1 º. Comenzamos escribiendo el código fuente. 2 º. Compilamos el fichero fuente y se comprueban los mensajes de error.
  • 4. 3 º. Volvemos al editor y eliminamos los errores de sintaxis. 4 º. Cuando el compilador tiene éxito, el linker construirá el archivo ejecutable. 5 º. Ya podemos ejecutar el archivo ejecutable que se obtiene al linkar. 6 º. Si encontramos un error, podemos activar el depurador para trazar el programa y ejecutar sentencia a sentencia. 7 º. Una vez que hayamos encontrado la causa del error, volveremos al editor y lo corregimos. 8 º. El proceso de compilar, enlazar y ejecutar el programa lo repetiremos hasta que no se produzcan errores. 9 º. Una vez tengamos el archivo ejecutable, será el sistema operativo el encargado de colocar el programa en la memoria central y ejecutarlo . 3.2 COMPILAR EL PROGRAMA, DEPURAR EL PROGRAMA, EJECUTAR EL PROGRAMA. Fase de ejecución de un programa Una vez que tenemos el programa en lenguaje máquina, para poderlo ejecutar hay que introducirlo en la memoria. Para esta tarea existe un programa del sistema operativo denominado cargador, que introduce el programa en posiciones consecutivas de memoria a partir de una determinada.
  • 5. Cuando el programa está cargado se le indica a la computadora que pase su control a la posición de memoria donde se ha cargado. Esta operación la hace directamente el sistema operativo. pasos: Suponiendo que el programa se ha cargado a partir de una determinada posición i de memoria. 1. Lleva de la Memoria (M) a la Unidad de Control (UC) la instrucción que está en la posición i. Cambiar el valor de i por i+1. 2. Interpreta el código de operación de la instrucción y, según sea éste y las señales de estado, envía señales de control a las unidades y circuitos que deben intervenir para ejecutar la instrucción. Vuelve a la fase (1). ejecución de instrucción. En el caso de que la ejecución de una instrucción implique saltar a otra instrucción en la posición m, por ejemplo (alterándose por tanto el orden secuencial), la UC hace, en la fase de ejecución de la instrucción de salto, que cambie i por m, de forma que en la siguiente fase de captación se ejecuta la instrucción que está en m.