ELO-330: Programación de Sistemas
 Tarea 1: Verificador de formato de entrega de tareas de programación

Objetivos: Ejercitar comandos shell y aplicar programación shell.

Contexto:  Tareas de programación en lenguaje C, C++, Java, etc, suelen pedir cierto formado para su entrega. Un ejemplo de tales formatos está en: http://profesores.elo.utfsm.cl/~agv/elo330/2s18/Assignments/guideline/index.html#content1. Se desea desarrollar una guion (español) o script (inglés) Shell que permita verificar si un archivo de entrada (comprimido en formato .tar) cumple con un formato de entrega definido.

Ejercicio 1: Verificación en archivo .tar la existencia de archivos readme.txt, documentacion.pdf y makefile con rótulos "run", "clean", y "doc".
Nombre: pcpa: Partial Check of a programming assignment
Sintaxis: pcpa  <tar file>
Descripción: pcpa es un script bash que muestra por pantalla un OK cuando el archivo tar proporcionado cumple cada una de las siguientes condiciones:

Incluye readme.txt .........................................................  OK
Incluye documentacion.pdf  ...........................................  OK
Incluye makefile con rótulos "run", "clean" y "doc"........  OK

En caso de no cumplir una condición se muestra "FAIL".

Ejercicio 2: Verificación que no existen archivos .o, .class, o ejecutables en archivo tar.
Nombre: ncc: no compiled code
Sintaxis: ncc  <tar file>
Descripción: ncc muestra por pantalla un OK (o FAIL) ante el cumplimiento (o no cumplimiento) de cada una de las siguientes condiciones:

No incluye archivos .o ........... OK
No incluye archivos .class ..... OK
No incluye ejecutables ........... OK

Ejercicio 3:  Cuenta de archivos HTML y número de imágenes .jpg en archivo tar.
Nombre: chi: count .html and image files
Sintaxis: chi  <tar file>
Descripción: chi muestra por pantalla el número de archivos HTML, número de imágenes y el tamaño de la más grande, y número total de archivos. Un ejemplo para la salida de este comando sería:

Número de archivos HTML: 3
Número de imágenes:   5
Tamaño de la imagen más grande: 2 MB
Número total de archivos: 12

Ejercicio 4: Verificación de formato de tareas de programación
Nombre: fvas: Format verificacition of assignment submission
Sintaxis fvas <tar file>
Descripción: Además de verificar todas las condiciones de los ejercicios 1, 2, y 3, fvas reporta la suma de sus tamaños. La salida incluye al final:

Tamaño agregado de todos los archivos: <aquí va el tamaño total en KB>

Extra créditos: Usted gana 5 puntos adicionales si al final muestra además:

Espacio en disco ocupado por el archivo comprimido: <espacio en KB ocupados por los archivos en disco>.
Espacio en disco ocupado por los archivos descomprimidos: <espacio en KB ocupados por los archivos en disco>.

Evaluación de la Tarea y qué entregar:
  La tarea será revisada en aragorn.elo.utfsm.cl. Confirme que su solución corre bien allí.

  La evaluación de esta tarea será según:

    70% Que cada script cumpla plenamente lo pedido.

    30% Documentación.

Qué entregar:

    * Archivo readme.txt : éste explica cómo descomprimir su solución, qué contiene cada archivo descomprimido, cómo preparar cada script para su ejecución y cómo correrlos.

    * Archivo documentación.pdf : incluir descripción simple de la estrategia usada para cada script, indicar además casos en que el script pudiera fallar; por ejemplo, si el archivo tar existe.

    * Sus script shell:

Penalización por atraso: 5 puntos por día o fracción.

OBS: En caso que la tarea no sea del todo clara (alguna especificación completa), plantee la situación al profesor. Aquí se publicarán las aclaraciones necesarias.


Ayuda:

   - Estudie los ejemplos de programación shell vistos en clases.

   - Revise el comando file y pruébelo con alguna imagen y con algún archivo html como argumento.

   - Revisar man tar, en particular opción -t

   - Estudie la pregunta 1 del primer certamen de elo330 año 2016.

   - Trabaje con tiempo, será muy grato para mí atender sus consultar y ayudar a su solución a esta tarea.