Fundamentos de programación/Manejo de errores/Evaluación
Evaluación de la lección 12 |
Manejo de errores |
Ejercicio #1
editarConteste las siguientes preguntas en base a los conocimiento adquiridos durante el estudio de la lección.
Ejercicio #2
editarEscriba un programa en pseudocódigo que realice las tareas especificadas a continuación:
« |
Escriba una función que calcule el factorial de un número entero. La función debe regresar un número negativo (por ejemplo -1) para indicar un error cuando se le pide calcular un factorial mayor a 10 o cuando se le pide calcular el factorial de un número negativo o cero. |
» |
Solución propuesta |
---|
// Función para calcular el factorial de un número. entero subrutina factorial (entero número) entero resultado_parcial := 1 entero i si número <= 10 y número >= 1 entonces desde i := 1 hasta número hacer resultado_parcial := resultado_parcial * i fin_desde sino resultado_parcial := -1 fin_si regresar resultado_parcial fin_subrutina |
Ejercicio #3
editarEscriba un programa en pseudocódigo que realice las tareas especificadas a continuación:
« |
Capturar dos números desde el teclado y regresar el resultado de la división entre ambos. Usar el mecanismo de manejo de excepciones descrito en la lección para identificar si el usuario ingresa un cero como divisor o un texto que no corresponde a un número y reportar un mensaje de error significativo. Puede suponer que existe una biblioteca llamada
Suponga que la función |
» |
Solución propuesta |
---|
// Cargando las bibliotecas necesarias. cargar ("cadenas.bib") cargar ("es_texto.bib") cargar ("funciones_útiles.bib") cadena texto_primer_número cadena texto_segundo_número entero primer_número entero segundo_número entero resultado // Variables para controlar los errores // encontrados durante la ejecución. lógico error_convirtiendo_el_primer_número := falso lógico error_convirtiendo_el_segundo_número := falso lógico error_realizando_la_división := falso // Capturar el primer número nueva_linea () desplegar_en_pantalla ("Primer número: ") texto_primer_número := leer_texto () // Capturar el segundo número nueva_linea () desplegar_en_pantalla ("Segundo número: ") texto_segundo_número := leer_texto () // Convertir el texto capturado en // números para realizar las operaciones intentar primer_número := texto_a_entero (texto_primer_número ) atrapar NúmeroInválido: error_convirtiendo_el_primer_número := verdadero fin_intentar intentar segundo_número := texto_a_entero (texto_segundo_número) atrapar NúmeroInválido: error_convirtiendo_el_segundo_número := verdadero fin_intentar // Calcular la división si error_convirtiendo_el_primer_número = falso y error_convirtiendo_el_segundo_número = falso entonces intentar resultado := primer_número / segundo_número atrapar DivisiónPorCero: error_realizando_la_división := verdadero fin_intentar fin_si // Imprimir el resultado en pantalla. nueva_linea () si error_convirtiendo_el_primer_número = falso y error_convirtiendo_el_segundo_número = falso y error_realizando_la_división = falso entonces desplegar_en_pantalla ("Resultado: ") desplegar_en_pantalla ( entero_a_texto (resultado) ) sino si error_realizando_la_división = verdadero entonces desplegar_en_pantalla ("No fue posible calcular al división porque el segundo número es cero.") sino si error_convirtiendo_el_primer_número = falso entonces desplegar_en_pantalla ("El valor ingresado como primer número no corresponde a un número entero.") fin_si si error_convirtiendo_el_segundo_número = falso entonces desplegar_en_pantalla ("El valor ingresado como segundo número no corresponde a un número entero.") fin_si fin_si fin_si |
Proyecto: Fundamentos de programación |
Anterior: Lectura de la lección 12 — Evaluación — Siguiente: Cuarta evaluación parcial |