SlideShare ist ein Scribd-Unternehmen logo
1 von 7
3.- Poner a
punto el
programa
mediante el uso
de un editor de
lenguaje de
programación
estructurado.
2. 3.1. Captura y edición del programa
Fase de compilación y linkado (link, montado o enlace) Un programa escritoen un
lenguaje de alto nivel, no puede ser ejecutado directamente por unordenador,
sino que debe ser traducido a lenguaje máquina. Las etapas porlas 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 programafuente: Es el programa escrito en
un lenguaje de alto nivel. No es más que untexto ordinario que contiene las
sentencias (instrucciones) del programa enun determinado lenguaje de
programación. Compilador es el programaencargado de traducir los programas
fuentes escritos en un lenguaje de altonivel a lenguaje máquina (traduce nuestras
instrucciones a otras reconociblespor 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 directamenteejecutable por el ordenador. Linker (montador o
enlazador): Es el programaencargado 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 debiblioteca son una colección de código que ha sido programada
ytraducida, y lista para utilizar en un programa.
2. 3.1. Captura y edición del
programa
• Como cada lenguaje de programación tiene unas reglasespeciales
(sintaxis) para la construcción de sus programas,debe existir un
compilador específico para cada lenguaje deprogramación. El compilador
antes de generar el programaobjeto debe analizar el programa fuente
(almacenado en unarchivo de texto) y comprobar que cumple las reglas
desintaxis del lenguaje de programación. Si cumple la sintaxisgenera el
correspondiente programa objeto, sino, visualizará unmensaje de error y
su posible causa para que procedamos a ladepuración del programa.
Depurar un programa consiste endetectar y corregir los errores que se
producen en él, ya seanen tiempo de compilación o en tiempo de
ejecución. Loserrores en tiempo de compilación son los que se
producenantes de la ejecución del programa, durante el proceso
decompilación del programa. Los errores en tiempo de ejecuciónson los
que se producen durante la ejecución del programa.Este tipo de errores,
son los más difíciles de encontrar, porqueno son detectados por el
compilador, ya que no son erroresconsecuencia de violar alguna regla
sintáctica.
2. 3.1. Captura y edición del
programa
• Un programa puede interrumpirse bruscamente, por ejemplo sitenemos que
hacer una división y el divisor es cero, etc. Paraayudarnos a encontrar los errores
lógicos y demás erroresproducidos en tiempo de ejecución, podemos hacer uso de
losdepuradores. Un depurador (debugger), es un programa
diseñadoespecíficamente para la detección, verificación y corrección deerrores, y
que por tanto nos ayudará en las tareas de depuración.Los depuradores nos
permiten trazar el programa (ejecutarlosentencia a sentencia) y visualizar el
contenido de las variables ydirecciones de memoria durante la ejecución del
programa.Además permiten alterar el flujo de ejecución del mismo, cambiarlos
valores de las variables e introducir puntos de parada. Página 3de 5 Los
compiladores emiten mensajes de error o de advertenciadurante las fases de
compilación, de enlace o de ejecución de unprograma. Los mensajes de error
producidos los podemos agruparen tres bloques: − Errores fatales: Son raros.
Algunos indican un errorinterno del compilador. Cuando ocurren la compilación se
detieneinmediatamente. − Errores de sintaxis: Son los errores típicos desintaxis,
errores de línea de órdenes y errores de acceso a memoriao disco. El compilador
terminará la fase de compilación y sedetendrá. − Advertencias (warnings): No
impiden la compilación.Indican condiciones que son sospechosas, pero son
legítimas comoparte del lenguaje. Así pues los pasos a seguir para la elaboración
yejecución de un programa los podemos resumir de la siguientemanera:
2. 3.1. Captura y edición del
programa
• Comenzamos escribiendo el código fuente.2 º. Compilamos
el fichero fuente y se comprueban los mensajesde error.3 º.
Volvemos al editor y eliminamos los errores de sintaxis.4 º.
Cuando el compilador tiene éxito, el linker construirá el
archivoejecutable.5 º. Ya podemos ejecutar el archivo
ejecutable que se obtiene allinkar.6 º. Si encontramos un
error, podemos activar el depurador paratrazar 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 lorepetiremos hasta que no se produzcan
errores.9 º. Una vez tengamos el archivo ejecutable, será el
sistemaoperativo el encargado de colocar el programa en la
memoriacentral y ejecutarlo
3.2. Compilar el programa Depurar el
programa Ejecutar el programa
• Compilar el programa Depurarel programa Ejecutar el programaFase de ejecución
de un programaUna vez que tenemos el programa en lenguaje máquina, para
poderloejecutar hay que introducirlo en la memoria. Para esta tarea existe un
programadel sistema operativo denominado cargador, que introduce el programa
enposiciones consecutivas de memoria a partir de una determinada.Cuando el
programa está cargado se le indica a la computadora que pase sucontrol 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 determinadaposición i de memoria.1. Lleva de la Memoria (M) a la Unidad de
Control (UC) la instrucción queestá 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 lasseñales
de estado, envía señales de control a las unidades y circuitos quedeben 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 otrainstrucción en la
posición m, por ejemplo (alterándose por tanto el ordensecuencial), 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 ejecútala instrucción que está en m.
3.2. Compilar el programa Depurar el
programa Ejecutar el programa
• El lenguaje C es un lenguaje estructurado: permite seccionar y esconder (mediante
subrutinasy variables locales) del resto del programa toda la información e
instrucciones necesarias pararealizar una determinada tarea. − Soporta
construcciones de bucles (while, do-while y for) einstrucciones condicionales (if,
switch) − Permite sangrar las sentencias. − Permite crear funciones(subrutinas
independientes). Las funciones son los bloques en los que se desarrolla toda
laactividad de los programas. Son los que permiten definir las tareas de un
programa y codificarlaspor separado, permitiendo así que los programas sean
modulares. − Permiten crear bloques decódigos. Un bloque de código es un grupo
de sentencias de un programa conectadas de formalógica que es tratado como
una unidad. Se crean colocando una serie de sentencia entre llaves.♦ El lenguaje C
sólo tiene 32 palabras clave, que constituyen las órdenes que conforman
ellenguaje C (el BASIC por ejemplo contiene 159 palabras clave).♦ El lenguaje C es
compilado, no interpretado. Un intérprete lee el código fuente de un
programalínea a línea y traduce las instrucciones específicas contenidas en esa
línea para que elmicroprocesador las pueda interpretar, pero no genera ningún
programa objeto. Un compilador,en cambio lee el programa entero y lo convierte
en código objeto, de manera que genera unprograma en un código que es
directamente ejecutable y entendible por el microprocesador.

Weitere ähnliche Inhalte

Was ist angesagt?

Terceraunidad 130504124039-phpapp02
Terceraunidad 130504124039-phpapp02Terceraunidad 130504124039-phpapp02
Terceraunidad 130504124039-phpapp02
Maryfer' Ortega
 
Traductores de lenguajes de programación
Traductores de lenguajes de programaciónTraductores de lenguajes de programación
Traductores de lenguajes de programación
Daniela Brignolo
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladores
paulina8
 

Was ist angesagt? (20)

Terceraunidad 130504124039-phpapp02
Terceraunidad 130504124039-phpapp02Terceraunidad 130504124039-phpapp02
Terceraunidad 130504124039-phpapp02
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad ad 3
Unidad ad 3Unidad ad 3
Unidad ad 3
 
1.4 ensambladores y compiladores
1.4 ensambladores y compiladores1.4 ensambladores y compiladores
1.4 ensambladores y compiladores
 
Traductores de lenguajes
Traductores   de    lenguajesTraductores   de    lenguajes
Traductores de lenguajes
 
Traductores de lenguaje
Traductores de lenguajeTraductores de lenguaje
Traductores de lenguaje
 
Clasificacion de Interpretes
Clasificacion de InterpretesClasificacion de Interpretes
Clasificacion de Interpretes
 
Traductores de lenguaje
Traductores de lenguajeTraductores de lenguaje
Traductores de lenguaje
 
Traductores de lenguajes de programación
Traductores de lenguajes de programaciónTraductores de lenguajes de programación
Traductores de lenguajes de programación
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladores
 
Tema 1.3.- Programación
Tema 1.3.- ProgramaciónTema 1.3.- Programación
Tema 1.3.- Programación
 
Informatik
InformatikInformatik
Informatik
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Presentación computación 1_compiladores_e_interpretes
Presentación computación 1_compiladores_e_interpretesPresentación computación 1_compiladores_e_interpretes
Presentación computación 1_compiladores_e_interpretes
 

Andere mochten auch (6)

Unidad 2 manipular el dibujo utilizando herramientas de diseño
Unidad 2 manipular el dibujo utilizando herramientas de diseñoUnidad 2 manipular el dibujo utilizando herramientas de diseño
Unidad 2 manipular el dibujo utilizando herramientas de diseño
 
Fatab kongre
Fatab kongreFatab kongre
Fatab kongre
 
Software
Software   Software
Software
 
Evidencia 5 actividad 2 unidad 5
Evidencia 5 actividad 2 unidad 5Evidencia 5 actividad 2 unidad 5
Evidencia 5 actividad 2 unidad 5
 
El frisbee y la indiaca
El frisbee y la indiacaEl frisbee y la indiaca
El frisbee y la indiaca
 
POSTERSS
POSTERSSPOSTERSS
POSTERSS
 

Ähnlich wie Presentación3

Terceraunidad 130505194734-phpapp01
Terceraunidad 130505194734-phpapp01Terceraunidad 130505194734-phpapp01
Terceraunidad 130505194734-phpapp01
Victor Martinez
 
Compilador 22 (1)
Compilador 22 (1)Compilador 22 (1)
Compilador 22 (1)
still01
 
Cuestinario1
Cuestinario1Cuestinario1
Cuestinario1
hoppii
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
aeto
 
Trabajo de presentacion
Trabajo de presentacionTrabajo de presentacion
Trabajo de presentacion
dodi1997
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
aeto
 

Ähnlich wie Presentación3 (20)

Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Terceraunidad 130505194734-phpapp01
Terceraunidad 130505194734-phpapp01Terceraunidad 130505194734-phpapp01
Terceraunidad 130505194734-phpapp01
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Compilador 22 (1)
Compilador 22 (1)Compilador 22 (1)
Compilador 22 (1)
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Cuestinario1
Cuestinario1Cuestinario1
Cuestinario1
 
Cuestinario1
Cuestinario1Cuestinario1
Cuestinario1
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Trabajo de presentacion
Trabajo de presentacionTrabajo de presentacion
Trabajo de presentacion
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Programacion
ProgramacionProgramacion
Programacion
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Tema referente a ing. sistemas
Tema referente a ing. sistemasTema referente a ing. sistemas
Tema referente a ing. sistemas
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
Traductores de lenguaje
Traductores de lenguajeTraductores de lenguaje
Traductores de lenguaje
 

Mehr von Ana' Patlan (9)

Presentación2
Presentación2Presentación2
Presentación2
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1 Unidad 1
Unidad 1
 
Sopa de letras
Sopa de letrasSopa de letras
Sopa de letras
 
Jejejeje
JejejejeJejejeje
Jejejeje
 
Practica 5 ana karen
Practica 5 ana karenPractica 5 ana karen
Practica 5 ana karen
 
Practica 4 ana karen
Practica 4 ana karenPractica 4 ana karen
Practica 4 ana karen
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 

Presentación3

  • 1. 3.- Poner a punto el programa mediante el uso de un editor de lenguaje de programación estructurado.
  • 2. 2. 3.1. Captura y edición del programa Fase de compilación y linkado (link, montado o enlace) Un programa escritoen un lenguaje de alto nivel, no puede ser ejecutado directamente por unordenador, sino que debe ser traducido a lenguaje máquina. Las etapas porlas 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 programafuente: Es el programa escrito en un lenguaje de alto nivel. No es más que untexto ordinario que contiene las sentencias (instrucciones) del programa enun determinado lenguaje de programación. Compilador es el programaencargado de traducir los programas fuentes escritos en un lenguaje de altonivel a lenguaje máquina (traduce nuestras instrucciones a otras reconociblespor 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 directamenteejecutable por el ordenador. Linker (montador o enlazador): Es el programaencargado 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 debiblioteca son una colección de código que ha sido programada ytraducida, y lista para utilizar en un programa.
  • 3. 2. 3.1. Captura y edición del programa • Como cada lenguaje de programación tiene unas reglasespeciales (sintaxis) para la construcción de sus programas,debe existir un compilador específico para cada lenguaje deprogramación. El compilador antes de generar el programaobjeto debe analizar el programa fuente (almacenado en unarchivo de texto) y comprobar que cumple las reglas desintaxis del lenguaje de programación. Si cumple la sintaxisgenera el correspondiente programa objeto, sino, visualizará unmensaje de error y su posible causa para que procedamos a ladepuración del programa. Depurar un programa consiste endetectar y corregir los errores que se producen en él, ya seanen tiempo de compilación o en tiempo de ejecución. Loserrores en tiempo de compilación son los que se producenantes de la ejecución del programa, durante el proceso decompilación del programa. Los errores en tiempo de ejecuciónson los que se producen durante la ejecución del programa.Este tipo de errores, son los más difíciles de encontrar, porqueno son detectados por el compilador, ya que no son erroresconsecuencia de violar alguna regla sintáctica.
  • 4. 2. 3.1. Captura y edición del programa • Un programa puede interrumpirse bruscamente, por ejemplo sitenemos que hacer una división y el divisor es cero, etc. Paraayudarnos a encontrar los errores lógicos y demás erroresproducidos en tiempo de ejecución, podemos hacer uso de losdepuradores. Un depurador (debugger), es un programa diseñadoespecíficamente para la detección, verificación y corrección deerrores, y que por tanto nos ayudará en las tareas de depuración.Los depuradores nos permiten trazar el programa (ejecutarlosentencia a sentencia) y visualizar el contenido de las variables ydirecciones de memoria durante la ejecución del programa.Además permiten alterar el flujo de ejecución del mismo, cambiarlos valores de las variables e introducir puntos de parada. Página 3de 5 Los compiladores emiten mensajes de error o de advertenciadurante las fases de compilación, de enlace o de ejecución de unprograma. Los mensajes de error producidos los podemos agruparen tres bloques: − Errores fatales: Son raros. Algunos indican un errorinterno del compilador. Cuando ocurren la compilación se detieneinmediatamente. − Errores de sintaxis: Son los errores típicos desintaxis, errores de línea de órdenes y errores de acceso a memoriao disco. El compilador terminará la fase de compilación y sedetendrá. − Advertencias (warnings): No impiden la compilación.Indican condiciones que son sospechosas, pero son legítimas comoparte del lenguaje. Así pues los pasos a seguir para la elaboración yejecución de un programa los podemos resumir de la siguientemanera:
  • 5. 2. 3.1. Captura y edición del programa • Comenzamos escribiendo el código fuente.2 º. Compilamos el fichero fuente y se comprueban los mensajesde error.3 º. Volvemos al editor y eliminamos los errores de sintaxis.4 º. Cuando el compilador tiene éxito, el linker construirá el archivoejecutable.5 º. Ya podemos ejecutar el archivo ejecutable que se obtiene allinkar.6 º. Si encontramos un error, podemos activar el depurador paratrazar 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 lorepetiremos hasta que no se produzcan errores.9 º. Una vez tengamos el archivo ejecutable, será el sistemaoperativo el encargado de colocar el programa en la memoriacentral y ejecutarlo
  • 6. 3.2. Compilar el programa Depurar el programa Ejecutar el programa • Compilar el programa Depurarel programa Ejecutar el programaFase de ejecución de un programaUna vez que tenemos el programa en lenguaje máquina, para poderloejecutar hay que introducirlo en la memoria. Para esta tarea existe un programadel sistema operativo denominado cargador, que introduce el programa enposiciones consecutivas de memoria a partir de una determinada.Cuando el programa está cargado se le indica a la computadora que pase sucontrol 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 determinadaposición i de memoria.1. Lleva de la Memoria (M) a la Unidad de Control (UC) la instrucción queestá 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 lasseñales de estado, envía señales de control a las unidades y circuitos quedeben 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 otrainstrucción en la posición m, por ejemplo (alterándose por tanto el ordensecuencial), 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 ejecútala instrucción que está en m.
  • 7. 3.2. Compilar el programa Depurar el programa Ejecutar el programa • El lenguaje C es un lenguaje estructurado: permite seccionar y esconder (mediante subrutinasy variables locales) del resto del programa toda la información e instrucciones necesarias pararealizar una determinada tarea. − Soporta construcciones de bucles (while, do-while y for) einstrucciones condicionales (if, switch) − Permite sangrar las sentencias. − Permite crear funciones(subrutinas independientes). Las funciones son los bloques en los que se desarrolla toda laactividad de los programas. Son los que permiten definir las tareas de un programa y codificarlaspor separado, permitiendo así que los programas sean modulares. − Permiten crear bloques decódigos. Un bloque de código es un grupo de sentencias de un programa conectadas de formalógica que es tratado como una unidad. Se crean colocando una serie de sentencia entre llaves.♦ El lenguaje C sólo tiene 32 palabras clave, que constituyen las órdenes que conforman ellenguaje C (el BASIC por ejemplo contiene 159 palabras clave).♦ El lenguaje C es compilado, no interpretado. Un intérprete lee el código fuente de un programalínea a línea y traduce las instrucciones específicas contenidas en esa línea para que elmicroprocesador las pueda interpretar, pero no genera ningún programa objeto. Un compilador,en cambio lee el programa entero y lo convierte en código objeto, de manera que genera unprograma en un código que es directamente ejecutable y entendible por el microprocesador.