# Fundamentos de programación/Manejo de errores/Evaluación

* Evaluación de la lección 12
* Manejo de errores

## Ejercicio #1

Conteste las siguientes preguntas en base a los conocimiento adquiridos durante el estudio de la lección.

## Ejercicio #2

Escriba un programa en pseudocódigo que realice las tareas especificadas a continuación:
* 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

Escriba un programa en pseudocódigo que realice las tareas especificadas a continuació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