Fundamentos de programación/Cuarta evaluación parcial
Ejercicio #1
[editar]
Ejercicio #2
[editar]Escribir un programa en pseudocódigo que realice las tareas especificadas a continuación:
| « |
Escriba una función que reciba un arreglo de números enteros y un parámetro entero con el tamaño del arreglo y que regrese el número entero de mayor valor presente en el arreglo. |
» |
| 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
[editar]Escribir un programa en pseudocódigo que realice las tareas especificadas a continuación:
| « |
Escribir un programa que capture el nombre de un archivo desde el teclado, lo abra e imprima en pantalla: la cantidad de líneas en el archivo, el largo promedio de las líneas en el archivo y la longitud de la línea más larga. Puede suponer que existe una biblioteca llamada
|
» |
| 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
[editar]Escribir un programa en pseudocódigo que realice las tareas especificadas a continuación:
| « |
Escribir una función segura contra fallos que reciba un arreglo de números reales con las estaturas de un grupo de 20 estudiantes expresadas en centímetros, calcule el promedio y regrese la cantidad de estudiantes con estaturas superiores al promedio. Si la función detecta un error debe regresar
|
» |
| 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 |