SlideShare una empresa de Scribd logo
DEPURACIÓN DE UN PROGRAMA
EN C++
Material apoyo de ProgramaciónAvanzada
Introducción
 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 y corregidos.
 El proceso de encontrar errores se denomina
“depuración” del programa.
01/09/2015 2Mtl. Lourdes Cahuich
 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.
01/09/2015 3Mtl. Lourdes Cahuich
01/09/2015 4Mtl. Lourdes Cahuich
Errores posibles
 Existen diferentes situaciones en las cuales se
suelen introducir errores en un programa:
1. Violación (no cumplimiento) de las reglas
gramaticales del lenguaje de programación
2. Los errores en el diseño del algoritmo en el que
está basado el programa.
 Aquí describiremos los errores más comunes
y sugerir posibles causas de error.
01/09/2015 5Mtl. Lourdes Cahuich
Errores de sintaxis
 Los errores de sintaxis son aquellos que se
producen cuando el programa violan 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
ubicar, ya que son detectados y aislados por
el compilador.
01/09/2015 6Mtl. Lourdes Cahuich
Errores más comunes de
sintaxis
 Puntos y comas después de la cabecera “main()”
 Olvido del carácter llave de apertura o cierre ({,})
 Omisión de puntos y coma al final de una
sentencia
 Olvido de la doble barra inclinada antes de un
comentario
 Olvido de las dobles comillas al cerrar una
cadena.
 Etc.
01/09/2015 7Mtl. Lourdes Cahuich
Errores lógicos
 Estos son 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.
01/09/2015 8Mtl. Lourdes Cahuich
Ejemplo
 Observa la siguiente línea de código
total_grados_celsius=fahrenheit_a_celsius * temperatura_cel;
 Es una sentencia perfectamente legal en C++ pero la
ecuación no responde a ningún cálculo válido para
obtener el total de grados Celsius en una sala.
01/09/2015 9Mtl. Lourdes Cahuich
Errores lógicos
 Se pueden detectar errores lógicos
comprobando el programa en su totalidad,
comprobando su salida con los resultados
previstos.
 Se pueden prevenir errores con un estudio
detallado del algoritmo antes de que el
programa se ejecute.
01/09/2015 10Mtl. Lourdes Cahuich
Errores lógicos
 Una vez que se ha determinado que un
programa contiene un error lógico, encontrar
el error es una de las tareas más difíciles de la
programación.
 El depurador (debugger), es un programa
diseñado para la detección, verificación y
corrección de errores.
01/09/2015 11Mtl. Lourdes Cahuich
Errores de regresión
 Estos errores se crean accidentalmente
cuando se intenta 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á tratado y no produce otro
error.
01/09/2015 12Mtl. Lourdes Cahuich
Errores de regresión
 Los errores de regresión son comunes, pero
son fáciles de leer y corregir.
 Una ley no escrita es que: “un error se ha
producido, probablemente, por el último
código modificado”
01/09/2015 13Mtl. Lourdes Cahuich
Mensajes de error
 Los compiladores emiten mensajes de error durante
las fases de compilación, de enlace o de ejecución
del programa.
 Se agrupan en tres bloques:
1. Errores fatales. Pueden indicar un error interno del
compilador, la compilación se detiene
inmediatamente
2. Errores de sintaxis. Errores típicos de sintaxis,
errores de línea de órdenes y errores de acceso a
memoria o disco.
3. Advertencias. No impiden la compilación, indican
condiciones sospechosas pero legítimas como parte
del lenguaje.
01/09/2015 14Mtl. Lourdes Cahuich
Errores en tiempo de
ejecución
 Los errores de ejecución se deben,
normalmente, a un error en el algoritmo que
resuelve el problema.
 Un ejemplo típico es una división de enteros
cuyo código está bien escrito, pero si el
divisor es cero, se produce un error de
ejecución “fatal” que detiene el programa.
01/09/2015 15Mtl. Lourdes Cahuich
Tipos de errores de
ejecución
 Aquellos que son detectados por el sistema
en tiempo de ejecución del programa C++
 y aquellos que permiten la terminación del
programa pero producen resultados
incorrectos
01/09/2015 16Mtl. Lourdes Cahuich
 Un error en tiempo de ejecución puede tener
como resultado que el programa obligue a la
computadora a realizar una operación ilegal
tal como dividir un número por cero o
manipular datos no válidos o no definidos.
 Cuando ocurre este tipo de error, la
computadora detendrá la ejecución de su
programa y emitirá (visualizará) un mensaje
de error
 Divide error, line number…
01/09/2015 17Mtl. Lourdes Cahuich
 Si se intenta manipular datos no válidos o
indefinidos, su salida puede contener
resultados extraños.
 Se puede producir un “desbordamiento
aritmético” cuando un programa intenta
almacenar un número que es mayor que el
tamaño máximo que puede manipular su
computadora.
01/09/2015 18Mtl. Lourdes Cahuich
Escribe y ejecuta el siguiente
código
01/09/2015 19Mtl. Lourdes Cahuich
¿Qué sucede?
 ¿Qué resultado produce?
 ¿Da el mismo resultado?
 ¿Genera algún error?
 ¿Cuál es el error en el código?
01/09/2015 20Mtl. Lourdes Cahuich

Más contenido relacionado

La actualidad más candente

Von neumann vs harvard
Von neumann vs harvardVon neumann vs harvard
Von neumann vs harvard
Manzelot
 
Diapositivas xp
Diapositivas xpDiapositivas xp
Presentación trabajo programación
Presentación trabajo programaciónPresentación trabajo programación
Presentación trabajo programaciónionurrutia
 
Arquitectura del computador
Arquitectura del computadorArquitectura del computador
Arquitectura del computador
alexis armas
 
Organización de Entrada y Salida
Organización de Entrada y SalidaOrganización de Entrada y Salida
Organización de Entrada y Salida
WilfredoVenegasBasti
 
Software y hardware
Software y hardwareSoftware y hardware
Software y hardware
Andrea Bermeo
 
Arquitectura del computador
Arquitectura del computadorArquitectura del computador
Arquitectura del computador
glocom15
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Humano Terricola
 
Introducción a la Informática
Introducción a la InformáticaIntroducción a la Informática
Introducción a la Informática
Yury Albornoz
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumann
victor medra
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
ElvisAR
 
Presentacion Programacion
Presentacion ProgramacionPresentacion Programacion
Presentacion Programacion
guestd5974a6
 
Software diapositivas 1
Software diapositivas 1Software diapositivas 1
Software diapositivas 1
bryanecheverria
 
Sistemas operativos por estructura
Sistemas operativos por estructuraSistemas operativos por estructura
Sistemas operativos por estructura
Prof. Javier Troya
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesosayreonmx
 
Administración de la memoria virtual.
Administración de la memoria virtual.Administración de la memoria virtual.
Administración de la memoria virtual.
Lely
 
Procesos de los sistemas operativos
Procesos de los sistemas operativosProcesos de los sistemas operativos
Procesos de los sistemas operativos
Deivis Romero
 

La actualidad más candente (20)

Von neumann vs harvard
Von neumann vs harvardVon neumann vs harvard
Von neumann vs harvard
 
Diapositivas xp
Diapositivas xpDiapositivas xp
Diapositivas xp
 
Presentación trabajo programación
Presentación trabajo programaciónPresentación trabajo programación
Presentación trabajo programación
 
Arquitecturas de computadoras
Arquitecturas de computadorasArquitecturas de computadoras
Arquitecturas de computadoras
 
Arquitectura del computador
Arquitectura del computadorArquitectura del computador
Arquitectura del computador
 
Organización de Entrada y Salida
Organización de Entrada y SalidaOrganización de Entrada y Salida
Organización de Entrada y Salida
 
Software y hardware
Software y hardwareSoftware y hardware
Software y hardware
 
Arquitectura del computador
Arquitectura del computadorArquitectura del computador
Arquitectura del computador
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
 
Introducción a la Informática
Introducción a la InformáticaIntroducción a la Informática
Introducción a la Informática
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumann
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
 
Presentacion Programacion
Presentacion ProgramacionPresentacion Programacion
Presentacion Programacion
 
Software diapositivas 1
Software diapositivas 1Software diapositivas 1
Software diapositivas 1
 
Sistemas operativos por estructura
Sistemas operativos por estructuraSistemas operativos por estructura
Sistemas operativos por estructura
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesos
 
Tipos de software
Tipos de softwareTipos de software
Tipos de software
 
Administración de la memoria virtual.
Administración de la memoria virtual.Administración de la memoria virtual.
Administración de la memoria virtual.
 
Procesos de los sistemas operativos
Procesos de los sistemas operativosProcesos de los sistemas operativos
Procesos de los sistemas operativos
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 

Destacado

Manejo de bits
Manejo de bitsManejo de bits
Manejo de bits
UVM
 
Resolución práctica de tipos de datos
Resolución práctica de tipos de datosResolución práctica de tipos de datos
Resolución práctica de tipos de datos
UVM
 
Biblioteca estándar de funciones
Biblioteca estándar de funcionesBiblioteca estándar de funciones
Biblioteca estándar de funciones
UVM
 
Ejemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stlEjemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stl
UVM
 
Breve repaso de apuntadores
Breve repaso de apuntadoresBreve repaso de apuntadores
Breve repaso de apuntadores
UVM
 
Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3
UVM
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++
UVM
 
Algunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoAlgunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agosto
UVM
 
Aclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreAclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembre
UVM
 
Otra introducción a apuntadores
Otra introducción a apuntadoresOtra introducción a apuntadores
Otra introducción a apuntadores
UVM
 
Función main()
Función main()Función main()
Función main()
UVM
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuario
UVM
 
Arreglos conceptos básicos
Arreglos conceptos básicosArreglos conceptos básicos
Arreglos conceptos básicos
UVM
 
Resumen de funciones
Resumen de funcionesResumen de funciones
Resumen de funciones
UVM
 

Destacado (14)

Manejo de bits
Manejo de bitsManejo de bits
Manejo de bits
 
Resolución práctica de tipos de datos
Resolución práctica de tipos de datosResolución práctica de tipos de datos
Resolución práctica de tipos de datos
 
Biblioteca estándar de funciones
Biblioteca estándar de funcionesBiblioteca estándar de funciones
Biblioteca estándar de funciones
 
Ejemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stlEjemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stl
 
Breve repaso de apuntadores
Breve repaso de apuntadoresBreve repaso de apuntadores
Breve repaso de apuntadores
 
Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++
 
Algunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoAlgunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agosto
 
Aclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreAclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembre
 
Otra introducción a apuntadores
Otra introducción a apuntadoresOtra introducción a apuntadores
Otra introducción a apuntadores
 
Función main()
Función main()Función main()
Función main()
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuario
 
Arreglos conceptos básicos
Arreglos conceptos básicosArreglos conceptos básicos
Arreglos conceptos básicos
 
Resumen de funciones
Resumen de funcionesResumen de funciones
Resumen de funciones
 

Similar a Depuración de un programa en c++

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
SNPP
 
Tema 3 tipos de errores
Tema 3 tipos de erroresTema 3 tipos de errores
Tema 3 tipos de errores
Mirna Bermudez
 
PRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNPRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓN
adark
 
Proceso para la obtención de un programa ejecutable
Proceso para la obtención de un programa ejecutableProceso para la obtención de un programa ejecutable
Proceso para la obtención de un programa ejecutable
Edward Eliecer Silva Mejia
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujocasdilacol
 
Errores
ErroresErrores
Manejo de Excepciones
Manejo de ExcepcionesManejo de Excepciones
Manejo de Excepciones
Domingo Javier Bernal Ríos
 
Diapositiva de taller de informatica educativa
Diapositiva de taller de informatica educativaDiapositiva de taller de informatica educativa
Diapositiva de taller de informatica educativaEstelvina De Gracia N
 
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
 
Errores en c++
Errores en c++Errores en c++
Errores en c++
DianaGisela2808
 
Parcial 1
Parcial 1Parcial 1
Parcial 1
mabelita20
 
Problemas comunes del pc
Problemas comunes del pcProblemas comunes del pc
Problemas comunes del pcanderson
 
Problemas comunes del pc
Problemas comunes del pcProblemas comunes del pc
Problemas comunes del pcanderson
 

Similar a Depuración de un programa en c++ (20)

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
 
Tema 3 tipos de errores
Tema 3 tipos de erroresTema 3 tipos de errores
Tema 3 tipos de errores
 
PRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNPRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓN
 
Proceso para la obtención de un programa ejecutable
Proceso para la obtención de un programa ejecutableProceso para la obtención de un programa ejecutable
Proceso para la obtención de un programa ejecutable
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Errores
ErroresErrores
Errores
 
Manejo de Excepciones
Manejo de ExcepcionesManejo de Excepciones
Manejo de Excepciones
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Diapositiva de taller de informatica educativa
Diapositiva de taller de informatica educativaDiapositiva de taller de informatica educativa
Diapositiva de taller de informatica educativa
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 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
 
Informatica
InformaticaInformatica
Informatica
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Errores en c++
Errores en c++Errores en c++
Errores en c++
 
Parcial 1
Parcial 1Parcial 1
Parcial 1
 
Problemas comunes del pc
Problemas comunes del pcProblemas comunes del pc
Problemas comunes del pc
 
Problemas comunes del pc
Problemas comunes del pcProblemas comunes del pc
Problemas comunes del pc
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 

Más de UVM

Tiempo compartido en programación
Tiempo compartido en programaciónTiempo compartido en programación
Tiempo compartido en programación
UVM
 
Portafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaPortafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación Avanzada
UVM
 
Eficiencia en uso tiempo
Eficiencia en uso  tiempoEficiencia en uso  tiempo
Eficiencia en uso tiempo
UVM
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicos
UVM
 
Practica de arreglos
Practica de arreglosPractica de arreglos
Practica de arreglos
UVM
 
Objetos y arreglos en C#
Objetos y arreglos en C#Objetos y arreglos en C#
Objetos y arreglos en C#
UVM
 
Una solución para agregar estructura de repetición
Una solución para agregar estructura de repetición Una solución para agregar estructura de repetición
Una solución para agregar estructura de repetición
UVM
 
Repaso previo a 2º examen parcial
Repaso previo a 2º examen parcialRepaso previo a 2º examen parcial
Repaso previo a 2º examen parcial
UVM
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
UVM
 
Namespaces y C#
Namespaces y C#Namespaces y C#
Namespaces y C#
UVM
 
Tipos de herencia
Tipos de herenciaTipos de herencia
Tipos de herencia
UVM
 
Herencia 1ª parte
Herencia 1ª parteHerencia 1ª parte
Herencia 1ª parte
UVM
 
Agregando comportamiento al objeto – estructuras de repetición
Agregando comportamiento al objeto – estructuras de repeticiónAgregando comportamiento al objeto – estructuras de repetición
Agregando comportamiento al objeto – estructuras de repetición
UVM
 
Agregando comportamiento al objeto – estructuras de decision
Agregando comportamiento al objeto – estructuras de decisionAgregando comportamiento al objeto – estructuras de decision
Agregando comportamiento al objeto – estructuras de decision
UVM
 
Presentación de proyectos semestrales 01-15
Presentación de proyectos semestrales 01-15Presentación de proyectos semestrales 01-15
Presentación de proyectos semestrales 01-15
UVM
 
Creación de archivos de clases en c#
Creación de archivos de clases en c#Creación de archivos de clases en c#
Creación de archivos de clases en c#
UVM
 

Más de UVM (16)

Tiempo compartido en programación
Tiempo compartido en programaciónTiempo compartido en programación
Tiempo compartido en programación
 
Portafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaPortafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación Avanzada
 
Eficiencia en uso tiempo
Eficiencia en uso  tiempoEficiencia en uso  tiempo
Eficiencia en uso tiempo
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicos
 
Practica de arreglos
Practica de arreglosPractica de arreglos
Practica de arreglos
 
Objetos y arreglos en C#
Objetos y arreglos en C#Objetos y arreglos en C#
Objetos y arreglos en C#
 
Una solución para agregar estructura de repetición
Una solución para agregar estructura de repetición Una solución para agregar estructura de repetición
Una solución para agregar estructura de repetición
 
Repaso previo a 2º examen parcial
Repaso previo a 2º examen parcialRepaso previo a 2º examen parcial
Repaso previo a 2º examen parcial
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Namespaces y C#
Namespaces y C#Namespaces y C#
Namespaces y C#
 
Tipos de herencia
Tipos de herenciaTipos de herencia
Tipos de herencia
 
Herencia 1ª parte
Herencia 1ª parteHerencia 1ª parte
Herencia 1ª parte
 
Agregando comportamiento al objeto – estructuras de repetición
Agregando comportamiento al objeto – estructuras de repeticiónAgregando comportamiento al objeto – estructuras de repetición
Agregando comportamiento al objeto – estructuras de repetición
 
Agregando comportamiento al objeto – estructuras de decision
Agregando comportamiento al objeto – estructuras de decisionAgregando comportamiento al objeto – estructuras de decision
Agregando comportamiento al objeto – estructuras de decision
 
Presentación de proyectos semestrales 01-15
Presentación de proyectos semestrales 01-15Presentación de proyectos semestrales 01-15
Presentación de proyectos semestrales 01-15
 
Creación de archivos de clases en c#
Creación de archivos de clases en c#Creación de archivos de clases en c#
Creación de archivos de clases en c#
 

Último

Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
20minutos
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
YasneidyGonzalez
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
Alejandrogarciapanta
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
jmorales40
 
Fase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcionalFase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcional
YasneidyGonzalez
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
Edurne Navarro Bueno
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
LilianaRivera778668
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
DivinoNioJess885
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Demetrio Ccesa Rayme
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Txema Gs
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
QuispeJimenezDyuy
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
danitarb
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
EdwardYumbato1
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
SandraBenitez52
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
JAVIER SOLIS NOYOLA
 

Último (20)

Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
 
Fase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcionalFase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcional
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
 

Depuración de un programa en c++

  • 1. DEPURACIÓN DE UN PROGRAMA EN C++ Material apoyo de ProgramaciónAvanzada
  • 2. Introducción  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 y corregidos.  El proceso de encontrar errores se denomina “depuración” del programa. 01/09/2015 2Mtl. Lourdes Cahuich
  • 3.  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. 01/09/2015 3Mtl. Lourdes Cahuich
  • 5. Errores posibles  Existen diferentes situaciones en las cuales se suelen introducir errores en un programa: 1. Violación (no cumplimiento) de las reglas gramaticales del lenguaje de programación 2. Los errores en el diseño del algoritmo en el que está basado el programa.  Aquí describiremos los errores más comunes y sugerir posibles causas de error. 01/09/2015 5Mtl. Lourdes Cahuich
  • 6. Errores de sintaxis  Los errores de sintaxis son aquellos que se producen cuando el programa violan 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 ubicar, ya que son detectados y aislados por el compilador. 01/09/2015 6Mtl. Lourdes Cahuich
  • 7. Errores más comunes de sintaxis  Puntos y comas después de la cabecera “main()”  Olvido del carácter llave de apertura o cierre ({,})  Omisión de puntos y coma al final de una sentencia  Olvido de la doble barra inclinada antes de un comentario  Olvido de las dobles comillas al cerrar una cadena.  Etc. 01/09/2015 7Mtl. Lourdes Cahuich
  • 8. Errores lógicos  Estos son 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. 01/09/2015 8Mtl. Lourdes Cahuich
  • 9. Ejemplo  Observa la siguiente línea de código total_grados_celsius=fahrenheit_a_celsius * temperatura_cel;  Es una sentencia perfectamente legal en C++ pero la ecuación no responde a ningún cálculo válido para obtener el total de grados Celsius en una sala. 01/09/2015 9Mtl. Lourdes Cahuich
  • 10. Errores lógicos  Se pueden detectar errores lógicos comprobando el programa en su totalidad, comprobando su salida con los resultados previstos.  Se pueden prevenir errores con un estudio detallado del algoritmo antes de que el programa se ejecute. 01/09/2015 10Mtl. Lourdes Cahuich
  • 11. Errores lógicos  Una vez que se ha determinado que un programa contiene un error lógico, encontrar el error es una de las tareas más difíciles de la programación.  El depurador (debugger), es un programa diseñado para la detección, verificación y corrección de errores. 01/09/2015 11Mtl. Lourdes Cahuich
  • 12. Errores de regresión  Estos errores se crean accidentalmente cuando se intenta 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á tratado y no produce otro error. 01/09/2015 12Mtl. Lourdes Cahuich
  • 13. Errores de regresión  Los errores de regresión son comunes, pero son fáciles de leer y corregir.  Una ley no escrita es que: “un error se ha producido, probablemente, por el último código modificado” 01/09/2015 13Mtl. Lourdes Cahuich
  • 14. Mensajes de error  Los compiladores emiten mensajes de error durante las fases de compilación, de enlace o de ejecución del programa.  Se agrupan en tres bloques: 1. Errores fatales. Pueden indicar un error interno del compilador, la compilación se detiene inmediatamente 2. Errores de sintaxis. Errores típicos de sintaxis, errores de línea de órdenes y errores de acceso a memoria o disco. 3. Advertencias. No impiden la compilación, indican condiciones sospechosas pero legítimas como parte del lenguaje. 01/09/2015 14Mtl. Lourdes Cahuich
  • 15. Errores en tiempo de ejecución  Los errores de ejecución se deben, normalmente, a un error en el algoritmo que resuelve el problema.  Un ejemplo típico es una división de enteros cuyo código está bien escrito, pero si el divisor es cero, se produce un error de ejecución “fatal” que detiene el programa. 01/09/2015 15Mtl. Lourdes Cahuich
  • 16. Tipos de errores de ejecución  Aquellos que son detectados por el sistema en tiempo de ejecución del programa C++  y aquellos que permiten la terminación del programa pero producen resultados incorrectos 01/09/2015 16Mtl. Lourdes Cahuich
  • 17.  Un error en tiempo de ejecución puede tener como resultado que el programa obligue a la computadora a realizar una operación ilegal tal como dividir un número por cero o manipular datos no válidos o no definidos.  Cuando ocurre este tipo de error, la computadora detendrá la ejecución de su programa y emitirá (visualizará) un mensaje de error  Divide error, line number… 01/09/2015 17Mtl. Lourdes Cahuich
  • 18.  Si se intenta manipular datos no válidos o indefinidos, su salida puede contener resultados extraños.  Se puede producir un “desbordamiento aritmético” cuando un programa intenta almacenar un número que es mayor que el tamaño máximo que puede manipular su computadora. 01/09/2015 18Mtl. Lourdes Cahuich
  • 19. Escribe y ejecuta el siguiente código 01/09/2015 19Mtl. Lourdes Cahuich
  • 20. ¿Qué sucede?  ¿Qué resultado produce?  ¿Da el mismo resultado?  ¿Genera algún error?  ¿Cuál es el error en el código? 01/09/2015 20Mtl. Lourdes Cahuich