3 dic 2010

Otro AWK

Dado que AWK nos permite manejar archivos y procesar datos escritos en ellos de una forma sencilla, ahora un programa para calcular el promedio de un grupo de alumnos.

Primero tenemos el archivo donde se encuentra nuestra lista de nombres y la calificación de cada uno de los alumnos.

Archivo lista.txt


Ahora el código del programa.

Archivo promedio.awk
#!/usr/bin/awk -f 

# Ejecutar como:
# awk -f ./promedio.awk lista.txt"

BEGIN {
  suma = 0;
  contador = 0;
  print "Resultados obtenidos:";
}
{
  suma = suma + $2
  contador = contador + 1
}
END {
  prom = suma / contador;
  print "Los alumnos evaluados fueron " contador;
  print "El promedio del grupo es " prom;
}

La ejecución del programa y el resultado que nos arroja.


En el código al inicio igualamos a cero las variables que usaremos, que son suma y contador, suma para el total de calificaciones y contador para saber cuantos alumnos fueron calificados, y con estos dos datos obtener un promedio.

El archivo se lee linea por linea, y en la parte de "suma" esta sumando la calificación, que se encuentra en la segunda columna con la suma total en ese momento, e incrementamos el contador en uno por cada linea, que nos indicará la cantidad de alumnos.

Al final se imprimen los resultados del contador, es decir, cantidad de alumnos, y promedio del grupo.

2 comentarios: