# Fundamentos de programación/Cuarta evaluación parcial
## Ejercicio #1
## Ejercicio #2

Escribir un programa en pseudocódigo que realice las tareas especificadas a continuación:
* Solución propuesta
* entero subrutina máximo (entero lista_de_valores, entero tamaño_del_arreglo)
* entero máximo_parcial
* entero i
* // Asume que el primer valor del arreglo
* // es el máximo para iniciar el proceso.
* máximo_parcial := lista_de_valores[1]
* desde i := 2 hasta tamaño_del_arreglo hacer
* si lista_de_valores[i] > máximo_parcial entonces
* máximo_parcial := lista_de_valores[i]
* fin_si
* fin_desde
* regresar máximo_parcial
* fin_subrutina

## Ejercicio #3

Escribir 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 ("archivos.bib")
* cargar ("funciones_útiles.bib")
* cadena nombre_del_archivo
* cadena línea_actual
* entero archivo
* entero cantidad_de_líneas
* entero largo_máximo
* entero largo_línea_actual
* entero largo_total
* real media_aritmética
* lógico más_líneas
* // Capturar el nombre del archivo
* nueva_linea
* desplegar_en_pantalla ("Nombre del archivo? ")
* nombre_del_archivo := leer_texto
* // Inicializando las variables
* más_líneas := verdadero
* cantidad_de_líneas := 0
* largo_máximo := 0
* largo_total := 0
* // Abrir el archivo para leer el contenido.
* archivo := abrir_archivo (nombre_del_archivo, "leer")
* // Leer los números y acumular el resultado parcial.
* mientras más_líneas hacer
* línea_actual := leer_línea_de_archivo (archivo)
* largo_línea_actual := largo_cadena(línea_actual)
* si largo_línea_actual = 0 entonces
* más_líneas := falso
* sino
* cantidad_de_líneas := cantidad_de_líneas + 1
* largo_total := largo_total + largo_cadena (línea_actual)
* si largo_línea_actual > largo_máximo entonces
* largo_máximo := largo_línea_actual
* fin_si
* fin_si
* fin_mientras
* // Calcular la media.
* media_aritmética := largo_total / cantidad_de_líneas
* // Imprimir en pantalla la cantidad de líneas.
* nueva_linea
* desplegar_en_pantalla ("Cantidad de líneas: ")
* desplegar_en_pantalla ( entero_a_texto (cantidad_de_líneas) )
* // Imprimir en pantalla el largo promedio.
* nueva_linea
* desplegar_en_pantalla ("Largo promedio: ")
* desplegar_en_pantalla ( real_a_texto (media_aritmética) )
* // Imprimir en pantalla el largo máximo.
* nueva_linea
* desplegar_en_pantalla ("Largo máximo: ")
* desplegar_en_pantalla ( entero_a_texto (largo_máximo) )

## Ejercicio #4

Escribir un programa en pseudocódigo que realice las tareas especificadas a continuación:
* Solución propuesta
* entero subrutina mayores_al_promedio (real lista_de_estaturas)
* entero cantidad_estudiantes := 0
* real suma_de_valores := 0.0
* entero i
* real promedio
* // Variables para detectar los errores
* lógico error_números_negativos := falso
* lógico error_ceros := falso
* lógico error_muy_bajos := falso
* lógico error_muy_altos := falso
* desde i := 1 hasta 20 hacer
* suma_de_valores := suma_de_valores + lista_de_estaturas[i]
* si lista_de_estaturas[i] < 0.0 entonces
* error_números_negativos := verdadero
* sino
* si lista_de_estaturas[i] = 0.0 entonces
* error_ceros := verdadero
* sino
* si lista_de_estaturas[i] < 100.0 entonces
* error_muy_bajos := verdadero
* sino
* si lista_de_estaturas[i] > 200.0 entonces
* error_muy_altos := verdadero
* fin_si
* fin_si
* fin_si
* fin_si
* fin_desde
* // Validar los errores y suspender la ejecución si hay alguno.
* // Reportar un error si todos los valores son cero
* si suma_de_valores = 0.0 entonces
* errno := 3
* regresar -1
* sino
* si error_números_negativos entonces
* errno := 1
* regresar -1
* sino
* si error_ceros = 0.0 entonces
* errno := 2
* regresar -1
* sino
* si error_muy_bajos < 100.0 entonces
* errno := 4
* regresar -1
* sino
* si error_muy_altos > 200.0 entonces
* errno := 5
* regresar -1
* fin_si
* fin_si
* fin_si
* fin_si
* fin_si
* promedio := suma_de_valores / 20
* desde i := 1 hasta 20 hacer
* si lista_de_estaturas[i] > promedio entonces
* cantidad_estudiantes := cantidad_estudiantes + 1
* fin_si
* fin_desde
* regresar cantidad_estudiantes
* fin_subrutina
* Proyecto: Fundamentos de programación
* Anterior: Evaluación de la lección 12 — Cuarta evaluación parcial — Siguiente: Evaluación final