SlideShare una empresa de Scribd logo
1 de 3
Descargar para leer sin conexión
CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs INTRODUCCIÓN AL LENGUAJE C
2.2. Depuración de un programa en C
Objetivos
1. Conocer las partes que conforman un programa básico en C.
Rara vez los programas funcionan bien la primera vez que se ejecutan. Los errores
que se producen en los programas han de ser detectados, aislados (fijados) y corregidos.
El proceso de encontrar errores se denomina depuración del programa. La corrección
del error es probablemente la etapa más fácil, siendo la detección y aislamiento del error
las tareas más difíciles.
Existen diferentes situaciones en las cuales se suelen introducir errores en un progra-
ma. Dos de las más frecuentes son:
1. Violación (no cumplimiento) de las reglas gramaticales del lenguaje de alto nivel
en el que se escribe el programa.
2. Los errores en el diseño del algoritmo en el que está basado el programa. Cuando
el compilador detecta un error, visualiza un mensaje de error indicando que se ha
cometido un error y posible causa del error.
Desde el punto de vista conceptual existen tres tipos de errores: sintaxis, lógicos
y de regresión.
2.2.1. Errores de sintaxis
Los errores de sintaxis son aquellos que se producen cuando el programa viola la
sintaxis, es decir, las reglas de gramática del lenguaje. Errores de sintaxis típicos son:
escritura incorrecta de palabras reservadas, omisión de signos de puntuación (comillas,
punto y coma...). Los errores de sintaxis son los más fáciles de fijar, ya que ellos son
detectados y aislados por el compilador.
2.2.2. Errores lógicos
Un segundo tipo de error importante es el error lógico, ya que tal error representa
errores del programador en el diseño del algoritmo y posterior programa. Los errores
lógicos son más difíciles de encontrar y aislar ya que no suelen ser detectados por el
compilador.
Suponga, por ejemplo, que una línea de un programa contiene la sentencia
double peso=densidad * 5.25 * PI * pow(longitud,5)/4.0
pero resulta que el tercer asterisco (operador de multiplicación) es en realidad un signo
+ (operador suma). El compilador no produce ningún mensaje de error de sintaxis ya
que no se ha violado ninguna regla de sintaxis y, por tanto, el compilador no detecta
error y el programa se compilará y ejecutará bien, aunque producirá resultados de valores
incorrectos ya que la fórmula utilizada para calcular el peso contiene un error lógico.
El depurador (debugger) un programa de software diseñado específicamente para
la detección, verificación y corrección de errores, ayudará en las tareas de depuración.
Pedro Ramírez pedroramirez22@gmail.com 1
CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs INTRODUCCIÓN AL LENGUAJE C
2.2.3. Errores de regresión
Los errores de regresión son aquellos que se crean accidentalmente cuando se inten-
ta corregir un error lógico. Siempre que se corrige un error se debe comprobar totalmente
la exactitud (corrección) para asegurarse que se fija el error que se está tratando y no
produce otro error. Los errores de regresión son comunes, pero son fáciles de leer y co-
rregir. Una ley no escrita es que: «un error se ha producido, probablemente, por el último
código modificado».
2.2.4. Mensajes de error
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
durante la compilación se suelen producir, normalmente, por errores de sintaxis y suele
variar según los compiladores; pero, en general, se agrupan en tres grandes bloques:
Errores fatales. Son raros. Algunos de ellos indican un error interno del compi-
lador. Cuando ocurre un error fatal, la compilación se detiene inmediatamente, se
debe tomar la acción apropiada y a continuación se vuelve a iniciar la compilación.
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 actual de
compilación y se detiene.
Advertencias (warning). No impiden la compilación. Indican condiciones que
son sospechosas, pero son legítimas como parte del lenguaje.
2.2.5. Errores en tiempo de ejecución
Existen dos tipos de errores en tiempo de ejecución: aquellos que son detectados
por el sistema en tiempo de ejecución de C y aquellos que permiten la terminación del
programa pero producen resultados incorrectos.
Un error en tiempo de ejecución puede ocurrir como resultado de que el programa
obliga a la computadora a realizar una operación ilegal, tal como dividir un número por
cero, raíz cuadrada de un número negativo o manipular datos no válidos o no definidos.
Otra fuente de errores en tiempo de ejecución se suele producir por errores en la
entrada de datos producidos por la lectura del dato incorrecto en una variable de entrada.
2.2.6. Pruebas
Los errores de ejecución ocurren después que el programa se ha compilado con éxito
y aún se está ejecutando. Existen ciertos errores que la computadora sólo puede detectar
cuando se ejecuta el programa. La mayoría de los sistemas informáticos detectarán ciertos
errores en tiempo de ejecución y presentarán un mensaje de error apropiado. Muchos
errores en tiempo de ejecución tienen que ver con los cálculos numéricos. Por ejemplo,
Pedro Ramírez pedroramirez22@gmail.com 2
CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs INTRODUCCIÓN AL LENGUAJE C
si la computadora intenta dividir un número por cero se produce un error en tiempo de
ejecución.
Es preciso tener presente que el compilador puede no emitir ningún mensaje de error
durante la ejecución y eso no garantiza que el programa sea correcto. Recuerde que el
compilador sólo le indica si se escribió bien sintácticamente un programa en C. No indica
si el programa hace lo que realmente desea que haga. Los errores lógicos pueden aparecer
-y de hecho aparecerán- por un mal diseño del algoritmo y posterior programa.
2.2.7. Preguntas
1. Qué tipo de error producirá la siguiente instrucción:
a) printf("Bronco es mejor que Mandingo")
b) printf("Bronco es mejor que Mandingo);
c) printf("Bronco es mejor que Mandingo /n");
2. Qué error podría tener la siguiente instrucción:
a) x = a/b;
b) x = sqrt(a);
c) x = a + b;
Pedro Ramírez pedroramirez22@gmail.com 3

Más contenido relacionado

La actualidad más candente

Terceraunidad 130504124039-phpapp02
Terceraunidad 130504124039-phpapp02Terceraunidad 130504124039-phpapp02
Terceraunidad 130504124039-phpapp02Maryfer' Ortega
 
3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...
3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...
3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...carolina peña
 
3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...
3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...
3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...Kareen's Maldonado
 
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...Domitho Ibarra
 
Aprende programar-6330
Aprende programar-6330Aprende programar-6330
Aprende programar-6330ANDRAM1224
 
1 conceptos generales de_programacion
1 conceptos generales de_programacion1 conceptos generales de_programacion
1 conceptos generales de_programacionOscar William Coral
 
Unidad3 130504163038-phpapp02 (1)
Unidad3 130504163038-phpapp02 (1)Unidad3 130504163038-phpapp02 (1)
Unidad3 130504163038-phpapp02 (1)Leslie Diaz
 
Trabajo práctico software
Trabajo práctico softwareTrabajo práctico software
Trabajo práctico softwareLili Sura
 
Unidad 3
Unidad 3Unidad 3
Unidad 3Rurus9
 
Compiladores y analizador lexicos
Compiladores y analizador lexicosCompiladores y analizador lexicos
Compiladores y analizador lexicosdiana8320
 

La actualidad más candente (19)

Terceraunidad 130504124039-phpapp02
Terceraunidad 130504124039-phpapp02Terceraunidad 130504124039-phpapp02
Terceraunidad 130504124039-phpapp02
 
3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...
3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...
3. poner a punto el programa mediante el uso de un editor de lenguaje de prog...
 
3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...
3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...
3 ponerapuntoelprogramamedianteelusodeuneditordelenguajedeprogramacinestructu...
 
Tercera unidad ;3
Tercera unidad ;3Tercera unidad ;3
Tercera unidad ;3
 
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...
 
Errores
ErroresErrores
Errores
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Aprende programar-6330
Aprende programar-6330Aprende programar-6330
Aprende programar-6330
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
1 conceptos generales de_programacion
1 conceptos generales de_programacion1 conceptos generales de_programacion
1 conceptos generales de_programacion
 
Unidad 3 margie
Unidad 3 margieUnidad 3 margie
Unidad 3 margie
 
Actividad 7
Actividad 7Actividad 7
Actividad 7
 
Informatica
InformaticaInformatica
Informatica
 
Unidad3 130504163038-phpapp02 (1)
Unidad3 130504163038-phpapp02 (1)Unidad3 130504163038-phpapp02 (1)
Unidad3 130504163038-phpapp02 (1)
 
Trabajo práctico software
Trabajo práctico softwareTrabajo práctico software
Trabajo práctico software
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Actividad N° 1 Unidad 4
Actividad N° 1   Unidad 4 Actividad N° 1   Unidad 4
Actividad N° 1 Unidad 4
 
Compiladores y analizador lexicos
Compiladores y analizador lexicosCompiladores y analizador lexicos
Compiladores y analizador lexicos
 

Similar a 2.2 depuracion de un programa en c

Depuración de un programa en c++
Depuración de un programa en c++Depuración de un programa en c++
Depuración de un programa en c++UVM
 
Solución de problemas del computador
Solución de problemas del computadorSolución de problemas del computador
Solución de problemas del computadoromar_tisalema
 
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 - HTMLfelipeforero72
 
Librovisual basic 4to final2 2014
Librovisual basic 4to final2 2014Librovisual basic 4to final2 2014
Librovisual basic 4to final2 2014UNIVERSIDAD
 
Tema 3 tipos de errores
Tema 3 tipos de erroresTema 3 tipos de errores
Tema 3 tipos de erroresMirna Bermudez
 
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASMETODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASadark
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujocasdilacol
 
PRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNPRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNadark
 
Introducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptxIntroducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptxDavidGarca147527
 
Solución de problemas del computador
Solución de problemas del computadorSolución de problemas del computador
Solución de problemas del computadoredueling
 
Programacion lenguaje-c
Programacion lenguaje-cProgramacion lenguaje-c
Programacion lenguaje-cClariza
 

Similar a 2.2 depuracion de un programa en c (19)

Depuración de un programa en c++
Depuración de un programa en c++Depuración de un programa en c++
Depuración de un programa en c++
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Solución de problemas del computador
Solución de problemas del computadorSolución de problemas del computador
Solución de problemas del computador
 
Unidad ad 3
Unidad ad 3Unidad ad 3
Unidad ad 3
 
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
 
Metodologia
MetodologiaMetodologia
Metodologia
 
Librovisual basic 4to final2 2014
Librovisual basic 4to final2 2014Librovisual basic 4to final2 2014
Librovisual basic 4to final2 2014
 
Tema 3 tipos de errores
Tema 3 tipos de erroresTema 3 tipos de errores
Tema 3 tipos de errores
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASMETODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
PRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNPRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓN
 
Aprende programar-6330
Aprende programar-6330Aprende programar-6330
Aprende programar-6330
 
Jhovany
JhovanyJhovany
Jhovany
 
Jhovany
JhovanyJhovany
Jhovany
 
Introducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptxIntroducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptx
 
Solución de problemas del computador
Solución de problemas del computadorSolución de problemas del computador
Solución de problemas del computador
 
Prac fi 06
Prac fi 06Prac fi 06
Prac fi 06
 
Programacion lenguaje-c
Programacion lenguaje-cProgramacion lenguaje-c
Programacion lenguaje-c
 

Más de SNPP

RR00X_RESUMEN.pdf
RR00X_RESUMEN.pdfRR00X_RESUMEN.pdf
RR00X_RESUMEN.pdfSNPP
 
RR_TAYI.pdf
RR_TAYI.pdfRR_TAYI.pdf
RR_TAYI.pdfSNPP
 
1. panel de le ds
1. panel de le ds1. panel de le ds
1. panel de le dsSNPP
 
7. incubadora de huevos
7. incubadora de huevos7. incubadora de huevos
7. incubadora de huevosSNPP
 
6. visualizacion remota de consumo de agua en tiempo real
6. visualizacion remota de consumo de agua en tiempo real6. visualizacion remota de consumo de agua en tiempo real
6. visualizacion remota de consumo de agua en tiempo realSNPP
 
5. alimentador de animales domesticos smart feeder
5. alimentador de animales domesticos smart feeder5. alimentador de animales domesticos smart feeder
5. alimentador de animales domesticos smart feederSNPP
 
3. radar medidor de velocidad
3. radar medidor de velocidad3. radar medidor de velocidad
3. radar medidor de velocidadSNPP
 
2. soft starter monofasico
2. soft starter monofasico2. soft starter monofasico
2. soft starter monofasicoSNPP
 
Operadores y expresiones
Operadores y expresionesOperadores y expresiones
Operadores y expresionesSNPP
 
6.2 cadenas de caracteres
6.2 cadenas de caracteres6.2 cadenas de caracteres
6.2 cadenas de caracteresSNPP
 
6.1 vectores
6.1 vectores6.1 vectores
6.1 vectoresSNPP
 
5.5 instruccion for
5.5 instruccion for5.5 instruccion for
5.5 instruccion forSNPP
 
5.4 instruccion do-while
5.4 instruccion do-while5.4 instruccion do-while
5.4 instruccion do-whileSNPP
 
5.3 instruccion while
5.3 instruccion while5.3 instruccion while
5.3 instruccion whileSNPP
 
5.2 instruccion switch
5.2  instruccion switch5.2  instruccion switch
5.2 instruccion switchSNPP
 
5.1 instruccion if-else
5.1 instruccion if-else5.1 instruccion if-else
5.1 instruccion if-elseSNPP
 
4. entrada y salida de datos
4. entrada y salida de datos4. entrada y salida de datos
4. entrada y salida de datosSNPP
 
3.6 funciones de biblioteca
3.6 funciones de biblioteca3.6 funciones de biblioteca
3.6 funciones de bibliotecaSNPP
 
3.5 operador condicional
3.5 operador condicional3.5 operador condicional
3.5 operador condicionalSNPP
 
2.10 entrada y salida
2.10 entrada y salida2.10 entrada y salida
2.10 entrada y salidaSNPP
 

Más de SNPP (20)

RR00X_RESUMEN.pdf
RR00X_RESUMEN.pdfRR00X_RESUMEN.pdf
RR00X_RESUMEN.pdf
 
RR_TAYI.pdf
RR_TAYI.pdfRR_TAYI.pdf
RR_TAYI.pdf
 
1. panel de le ds
1. panel de le ds1. panel de le ds
1. panel de le ds
 
7. incubadora de huevos
7. incubadora de huevos7. incubadora de huevos
7. incubadora de huevos
 
6. visualizacion remota de consumo de agua en tiempo real
6. visualizacion remota de consumo de agua en tiempo real6. visualizacion remota de consumo de agua en tiempo real
6. visualizacion remota de consumo de agua en tiempo real
 
5. alimentador de animales domesticos smart feeder
5. alimentador de animales domesticos smart feeder5. alimentador de animales domesticos smart feeder
5. alimentador de animales domesticos smart feeder
 
3. radar medidor de velocidad
3. radar medidor de velocidad3. radar medidor de velocidad
3. radar medidor de velocidad
 
2. soft starter monofasico
2. soft starter monofasico2. soft starter monofasico
2. soft starter monofasico
 
Operadores y expresiones
Operadores y expresionesOperadores y expresiones
Operadores y expresiones
 
6.2 cadenas de caracteres
6.2 cadenas de caracteres6.2 cadenas de caracteres
6.2 cadenas de caracteres
 
6.1 vectores
6.1 vectores6.1 vectores
6.1 vectores
 
5.5 instruccion for
5.5 instruccion for5.5 instruccion for
5.5 instruccion for
 
5.4 instruccion do-while
5.4 instruccion do-while5.4 instruccion do-while
5.4 instruccion do-while
 
5.3 instruccion while
5.3 instruccion while5.3 instruccion while
5.3 instruccion while
 
5.2 instruccion switch
5.2  instruccion switch5.2  instruccion switch
5.2 instruccion switch
 
5.1 instruccion if-else
5.1 instruccion if-else5.1 instruccion if-else
5.1 instruccion if-else
 
4. entrada y salida de datos
4. entrada y salida de datos4. entrada y salida de datos
4. entrada y salida de datos
 
3.6 funciones de biblioteca
3.6 funciones de biblioteca3.6 funciones de biblioteca
3.6 funciones de biblioteca
 
3.5 operador condicional
3.5 operador condicional3.5 operador condicional
3.5 operador condicional
 
2.10 entrada y salida
2.10 entrada y salida2.10 entrada y salida
2.10 entrada y salida
 

Último

Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZgustavoiashalom
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfbcondort
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralsantirangelcor
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILProblemSolved
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesCarlosMeraz16
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesMIGUELANGEL2658
 

Último (20)

Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integral
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias locales
 

2.2 depuracion de un programa en c

  • 1. CENTRO TECNOLÓGICO DE AVANZADA AREA DE MECATRÓNICA Código: M06 MICROCONTROLADORES I Laboratorio: D-19 Duración: 2 Hs INTRODUCCIÓN AL LENGUAJE C 2.2. Depuración de un programa en C Objetivos 1. Conocer las partes que conforman un programa básico en C. Rara vez los programas funcionan bien la primera vez que se ejecutan. Los errores que se producen en los programas han de ser detectados, aislados (fijados) y corregidos. El proceso de encontrar errores se denomina depuración del programa. La corrección del error es probablemente la etapa más fácil, siendo la detección y aislamiento del error las tareas más difíciles. Existen diferentes situaciones en las cuales se suelen introducir errores en un progra- ma. Dos de las más frecuentes son: 1. Violación (no cumplimiento) de las reglas gramaticales del lenguaje de alto nivel en el que se escribe el programa. 2. Los errores en el diseño del algoritmo en el que está basado el programa. Cuando el compilador detecta un error, visualiza un mensaje de error indicando que se ha cometido un error y posible causa del error. Desde el punto de vista conceptual existen tres tipos de errores: sintaxis, lógicos y de regresión. 2.2.1. Errores de sintaxis Los errores de sintaxis son aquellos que se producen cuando el programa viola la sintaxis, es decir, las reglas de gramática del lenguaje. Errores de sintaxis típicos son: escritura incorrecta de palabras reservadas, omisión de signos de puntuación (comillas, punto y coma...). Los errores de sintaxis son los más fáciles de fijar, ya que ellos son detectados y aislados por el compilador. 2.2.2. Errores lógicos Un segundo tipo de error importante es el error lógico, ya que tal error representa errores del programador en el diseño del algoritmo y posterior programa. Los errores lógicos son más difíciles de encontrar y aislar ya que no suelen ser detectados por el compilador. Suponga, por ejemplo, que una línea de un programa contiene la sentencia double peso=densidad * 5.25 * PI * pow(longitud,5)/4.0 pero resulta que el tercer asterisco (operador de multiplicación) es en realidad un signo + (operador suma). El compilador no produce ningún mensaje de error de sintaxis ya que no se ha violado ninguna regla de sintaxis y, por tanto, el compilador no detecta error y el programa se compilará y ejecutará bien, aunque producirá resultados de valores incorrectos ya que la fórmula utilizada para calcular el peso contiene un error lógico. El depurador (debugger) un programa de software diseñado específicamente para la detección, verificación y corrección de errores, ayudará en las tareas de depuración. Pedro Ramírez pedroramirez22@gmail.com 1
  • 2. CENTRO TECNOLÓGICO DE AVANZADA AREA DE MECATRÓNICA Código: M06 MICROCONTROLADORES I Laboratorio: D-19 Duración: 2 Hs INTRODUCCIÓN AL LENGUAJE C 2.2.3. Errores de regresión Los errores de regresión son aquellos que se crean accidentalmente cuando se inten- ta corregir un error lógico. Siempre que se corrige un error se debe comprobar totalmente la exactitud (corrección) para asegurarse que se fija el error que se está tratando y no produce otro error. Los errores de regresión son comunes, pero son fáciles de leer y co- rregir. Una ley no escrita es que: «un error se ha producido, probablemente, por el último código modificado». 2.2.4. Mensajes de error 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 durante la compilación se suelen producir, normalmente, por errores de sintaxis y suele variar según los compiladores; pero, en general, se agrupan en tres grandes bloques: Errores fatales. Son raros. Algunos de ellos indican un error interno del compi- lador. Cuando ocurre un error fatal, la compilación se detiene inmediatamente, se debe tomar la acción apropiada y a continuación se vuelve a iniciar la compilación. 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 actual de compilación y se detiene. Advertencias (warning). No impiden la compilación. Indican condiciones que son sospechosas, pero son legítimas como parte del lenguaje. 2.2.5. Errores en tiempo de ejecución Existen dos tipos de errores en tiempo de ejecución: aquellos que son detectados por el sistema en tiempo de ejecución de C y aquellos que permiten la terminación del programa pero producen resultados incorrectos. Un error en tiempo de ejecución puede ocurrir como resultado de que el programa obliga a la computadora a realizar una operación ilegal, tal como dividir un número por cero, raíz cuadrada de un número negativo o manipular datos no válidos o no definidos. Otra fuente de errores en tiempo de ejecución se suele producir por errores en la entrada de datos producidos por la lectura del dato incorrecto en una variable de entrada. 2.2.6. Pruebas Los errores de ejecución ocurren después que el programa se ha compilado con éxito y aún se está ejecutando. Existen ciertos errores que la computadora sólo puede detectar cuando se ejecuta el programa. La mayoría de los sistemas informáticos detectarán ciertos errores en tiempo de ejecución y presentarán un mensaje de error apropiado. Muchos errores en tiempo de ejecución tienen que ver con los cálculos numéricos. Por ejemplo, Pedro Ramírez pedroramirez22@gmail.com 2
  • 3. CENTRO TECNOLÓGICO DE AVANZADA AREA DE MECATRÓNICA Código: M06 MICROCONTROLADORES I Laboratorio: D-19 Duración: 2 Hs INTRODUCCIÓN AL LENGUAJE C si la computadora intenta dividir un número por cero se produce un error en tiempo de ejecución. Es preciso tener presente que el compilador puede no emitir ningún mensaje de error durante la ejecución y eso no garantiza que el programa sea correcto. Recuerde que el compilador sólo le indica si se escribió bien sintácticamente un programa en C. No indica si el programa hace lo que realmente desea que haga. Los errores lógicos pueden aparecer -y de hecho aparecerán- por un mal diseño del algoritmo y posterior programa. 2.2.7. Preguntas 1. Qué tipo de error producirá la siguiente instrucción: a) printf("Bronco es mejor que Mandingo") b) printf("Bronco es mejor que Mandingo); c) printf("Bronco es mejor que Mandingo /n"); 2. Qué error podría tener la siguiente instrucción: a) x = a/b; b) x = sqrt(a); c) x = a + b; Pedro Ramírez pedroramirez22@gmail.com 3