Ejercicio I · Sistemes Operatius I UB Juny 2020

Tema: Programación de scripts en Bash · Del examen Juny (2020)

Enunciado

Ejercicio I. Script Shell para registro y ordenación de calificaciones

Desarrolle e implemente un script en Bash que cumpla con los siguientes requisitos funcionales estructurados a través de un menú interactivo:

a.

Permitir la creación y adición de registros al archivo de texto ESTUDIANTE con el formato:

Apellido Nombre, nota primer parcial, nota segundo parcial, tercer parcial.

Utilice para las pruebas los siguientes datos de partida:

Badel Orlis,4,3,4

Camargo Patricia,2,3,5

Lopez Yandi,5,4,5

Montaño Carolina,5,3,4

Pedro Perez, 1,3,3

b.

Ordenar de manera ascendente por el campo del apellido el contenido del archivo ESTUDIANTE y almacenar el resultado en un nuevo archivo denominado ORDENADO.

c.

Generar y mostrar por pantalla un reporte a partir del archivo ORDENADO con el siguiente encabezado y formato de salida:

CALIFICACIONES DEFINITIVAS

Apellido Nombre Nota Definitiva

xxxxxxxxxxxxxxx xxx

Enunciado: Ejercicio I · Sistemes Operatius I UB Juny 2020

Solución

Según los criterios oficiales de corrección

Desarrolle e implemente un script en Bash que cumpla con los requisitos funcionales de adición, ordenación y generación de informe estructurados mediante menú interactivo.

Solución: ```bash #!/bin/bash # Funciones para la gestión de alumnos alumno() { echo "----------- GUARDAR ALUMNOS -----------" echo "" echo "Ingrese los datos del estudiante: Apellido Nombre, nota 1, nota 2, nota 3:" read estudiante echo "$estudiante" >> ESTUDIANTE } ordenar() { sort ESTUDIANTE > ORDENADO echo "--- Contenido ordenado por apellido ---" more ORDENADO } informe() { echo "------------------------------------" echo " CALIFICACIONES DEFINITIVAS " echo "------------------------------------" printf "%-25s %s\n" "Apellido Nombre" "Nota Definitiva" echo "" awk -F"," '{ def = ((2+2 +3) * 60 / 200) + ($4 * 40 / 100); printf "%-25s %.2f\n", $1, def }' ORDENADO echo "" echo "Listado completo en el archivo ESTUDIANTE:" more ESTUDIANTE } # Bucle principal de ejecución con menú interactivo while true do echo "------------------------------------" echo " Menu estudiantes " echo "------------------------------------" echo " 1) Ingresar un estudiante" echo " 2) Ordenar datos y verlos" echo " 3) Obtener informe" echo " 4) Salir" echo "" read -p "Ingrese su opcion: " opc case $opc in 1) alumno ;; 2) ordenar ;; 3) informe ;; 4) exit 0 ;; *) echo "Opción no válida." ;; esac done ```

La explicación paso a paso, hecha con IA, es Premium. Premium

Resuélvelo aquí mismo: corrección automática, pistas y solución paso a paso.

‹ Ejercicio I. Procesamiento de archivo de Premios… · Juny 2020

Más ejercicios de Programación de scripts en Bash