Fundamentos de programación/Cuarta evaluación parcial
Ejercicio #1
editar
Ejercicio #2
editarEscribir 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
editarEscribir 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
editarEscribir 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 |