Curso de C
Curso de C
Curso de C
acticas
105000016 - Programaci
on para Sistemas
Grado en Ingeniera Inform
atica (2009)
Lenguajes y Sistemas Informaticos e Ingeniera de Software
Facultad de Informatica
Universidad Politecnica de Madrid
Curso 2010/2011
Semestre septiembre-enero
Revisi
on SVN 126/ 2010-09-22
Indice
1. Informaci
on general para las pr
acticas
1.1. Valoraci
on y pesos . . . . . . . . . . .
1.2. Apertura de cuenta . . . . . . . . . . .
1.3. Protecci
on frente a copias . . . . . . .
1.4. C
odigo fuente de apoyo . . . . . . . .
1.5. Recomendaciones generales . . . . . .
1.6. Tutoras, consultas y notificaciones . .
1.7. Normas de presentaci
on . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
2
2
3
3
4
4
2. Pr
actica 1: Programaci
on C
2.1. Instrucciones . . . . . . . . .
2.2. Evaluaci
on . . . . . . . . . .
2.3. Documentaci
on a Entregar .
2.4. tarea-1.1 . . . . . . . . . .
2.4.1. Programa delreves
2.4.2. Programa secuencia
2.5. tarea-1.2 . . . . . . . . . .
2.5.1. Programa bocabajo
2.5.2. Programa primos . .
2.6. tarea-1.3 . . . . . . . . . .
2.6.1. Programa factores
2.6.2. Programa analiza .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
7
8
8
9
10
12
12
14
15
16
17
3. Pr
actica 2: Unix shell
3.1. tarea-2.1: Script minientrega.sh . . . . . . . . . . . . . . . . . . . . . . .
20
20
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1.
Informaci
on general para las pr
acticas
1.1.
Valoraci
on y pesos
La realizaci
on de las tareas de las practicas es del grupo, por lo que la nota sera del grupo y
no individual.
La evaluaci
on de cada tarea se realizara de acuerdo a los puntos siguientes, caso de estar
incluidos en la misma:
Calidad del contenido y presentacion de los entregables de la tarea.
Exposici
on oral y defensa p
ublica de la tarea.
Sesi
on de evaluaci
on oral, que incluira tanto el contenido de la tarea como el material de
lectura obligatoria.
El peso de cada pr
actica en la nota total de practicas es el siguiente:
Programaci
on en C: 66 %
Unix Shell: 33 %
1.2.
Apertura de cuenta
1.3.
Protecci
on frente a copias
Un objetivo fundamental del proyecto es conseguir que el alumno, con su realizacion, obtenga
una experiencia que le ser
a muy u
til en su vida profesional. Persiguiendo esta meta fundamental,
prestaremos especial interes en detectar los intentos de copia total o parcial de las tareas del
proyecto.
Para evitar problemas de confidencialidad y posibles copias, debera tenerse especial cuidado
en proteger las cuentas de accesos no deseados. Para ello se deben seguir las siguientes pautas:
En cuanto le abran la cuenta, proceda a entrar en la misma para protegerla.
Ponga inmediatamente una palabra clave de acceso a su cuenta usando el mandato passwd.
Pasado un tiempo desde su apertura, se procedera a cerrar las cuentas sin palabra clave.
Escoja una palabra clave que tenga caracteres especiales para que la proteccion sea mas
efectiva. No le diga su palabra clave a nadie.
Proteja el directorio home de su cuenta contra todo tipo de acceso de cualquier otro usuario
usando el mandato chmod 700 $HOME.
Cambie la mascara de creaci
on de ficheros para proteger cualquier fichero que cree en su
cuenta. Para ello a
nada al final del fichero .cshrc o del fichero .bashrc el mandato
umask 077.
No saque listados si no puede esperar a recogerlos.
2
Si sospecha que le han robado un listado o fichero con la solucion de alguna tarea, comunquelo al profesor de la misma utilizando correo electronico (mandato mail) y, MUY
IMPORTANTE, adjunte una copia de la version extraviada.
login: MiCuenta
Password: ****
sh> passwd
New password: MiComplejaPalabraClave
Retype new password: MiComplejaPalabraClave
sh>chmod 0700 $HOME
sh> echo umask 0077 >> $HOME/.cshrc
sh> echo umask 0077 >> $HOME/.bashrc
1.4.
C
odigo fuente de apoyo
El material de apoyo para la realizacion de las tareas que as lo requieran puede obtenerse del
directorio pps/pub/foo.a
no actual (suponga que el identificador de la tarea es foo). En dicho
directorio encontrar
a ficheros cuyo nombre identifica la tarea a la que pertenecen. Descomprima
y desempaquete dichos ficheros:
sh> cat pps/pub/foo.2010.tgz | tar xvfz -
1.5.
Recomendaciones generales
Para la redacci
on de los documentos con formato le sugerimos que utilice Open Office. Esto
le permitir
a exportar los ficheros a formato pdf, formato requerido para varios entregables.
Para la preparaci
on de los programas dispone de varios editores con interfaz alfanumerica,
como:
nano: Un editor sencillo muy f
acil de manejar.
vi : El editor est
andar de UNIX.
emacs: El editor de GNU que posee una gran potencia.
Editores sencillos con interfaz gr
afica y coloreado de programas son gedit, Scite, Kate. Tambien
existen entornos gr
aficos de desarrollo de software cuya utilidad se hace mas patente en grandes
proyectos. Algunos bastante utilizados y no demasiado complejos pueden ser Kdeveloper, Anjuta
o Code::Blocks.
Para facilitar el trabajo en equipo se recomienda utilizar un sistema de control de versiones.
En triqui es posible utilizar Subversion o Git.
En caso de duda sobre cualquier mandato o servicio del sistema operativo UNIX utilice el
mandato man, para obtener ayuda.
Antes de empezar una tarea, lea detalladamente:
El enunciado de la misma para obtener una idea clara de que es concretamente lo que se
le pide.
El material de lectura obligatoria. En caso de duda consulte el material recomendado y con
los profesores.
Antes de entregar una tarea, verifique concienzudamente:
3
1.6.
1.7.
Normas de presentaci
on
2.
Pr
actica 1: Programaci
on C
2.1.
Instrucciones
En la presente secci
on se recogen ciertos aspectos del comportamiento general, que seran de
aplicaci
on a todos los programas a realizar.
Identificaci
on de los programas
Cada programa ser
a identificado por el nombre que recibira su ejecutable (ej. secuencia).
Cada programa derivar
a de un u
nico fichero fuente en C del el mismo nombre, pero con extension
.c (ej. secuencia.c).
Todo programa debe realizar ciertas comprobaciones sobre la correccion de sus argumentos,
datos de entrada, servicios que utiliza, etc. Si alguna comprobacion falla, debe emitir por el
est
andar error un mensaje de error de dos lneas con el siguiente formato:
" %s: Error( %s), %s.\n"
" %s+ %s.\n"
Cada lnea ir
a prefijada con el nombre del programa que la emite. La primera indicara el codigo simb
olico del error y una descripcion generica del mismo. La segunda lnea presentara una
descripci
on detallada de la raz
on de dicho error.
Ejemplo
secuencia: Error(EX_USAGE), uso incorrecto del mandato. "Success"
secuencia+ El signo de "paso" no permite recorrer el intervalo en ...
A continuaci
on, el programa debe terminar con el valor de terminacion indicado.
Recomendaciones generales
All
a donde se le sugiera que consulte el manual, cons
ultelo. Le ahorrara mucho tiempo.
Respete el tipo del texto (may
usculas y min
usculas) alla donde, en este documento, se
presente un formato, un nombre de fichero, de variable, etc.
Sea sumamente estricto con los formatos de entrada y salida mencionados en este documento. S
olo se podr
a evaluar correctamente su practica si se ajusta a los formatos indicados.
2.2.
Evaluaci
on
Cada uno de los programas que se desea que realice seran probados exhaustivamente.
S
olo se dar
an por buenos los programas que pasen todas las pruebas.
Podr
a realizar los programas en cualquier orden, no necesariamente en el orden en que se
presentan en este documento.
El peso sobre la nota de esta pr
actica correspondiente a cada uno de los programas que se
piden ser
a el siguiente:
10 puntos. Secci
on 2.4.1.
12 puntos. Secci
on 2.4.2.
15 puntos. Secci
on 2.5.1.
17 puntos. Secci
on 2.5.2.
20 puntos. Secci
on 2.6.1.
26 puntos. Secci
on 2.6.2.
100 puntos. Valoraci
on total de la practica 1.
2.3.
Documentaci
on a Entregar
2.4.
tarea-1.1
2.4.1.
Programa delreves
delreves [ fichero... ]
Consulte el Manual
man 3 fprintf
Para emitir mensajes con formato.
man 3 fopen
Para abrir ficheros.
man 3 fgets
Para leer lneas de texto.
man 3 fputs
Para escribir lneas de texto.
man 3 fclose
Para cerrar los ficheros abiertos.
2.4.2.
Programa secuencia
secuencia [ hasta [ desde [ paso ]]]
Todos estos argumentos contienen un valor de tipo real y el valor por defecto para ellos es:
hasta = 10, desde = 1 y paso = 1.
Descripci
on
Este programa genera por su salida est
andar la secuencia de los n
umeros que van desde el
valor desde, hasta el valor hasta (sin superarlo), avanzando en el sentido y al paso indicados
por paso.
Este programa genera un n
umero por lnea con el siguiente formato: "\t %g\n" (sin espacios).
Entorno
Utiliza la variable de entorno MAX OUTPUT para controlar que, en ning
un caso, se produzcan
m
as de esta cantidad de n
umeros. Si esta variable no existe o no contiene un valor entero no
negativo, se debe asumir el valor por defecto de 100.
Valores de Terminaci
on
EX OK Terminaci
on correcta.
EX USAGE El par
ametro "paso" no es un n
umero real valido.
EX USAGE El par
ametro "paso" no puede valer 0.
EX USAGE El par
ametro "desde" no es un n
umero real valido.
EX USAGE El par
ametro "hasta" no es un n
umero real valido.
EX USAGE El signo de "paso" no permite recorrer el intervalo en el sentido "desde" a "hasta".
EX USAGE El n
umero de argumentos no es correcto.
EX NOPERM Se intent
o superar el lmite de salida establecido por MAX OUTPUT.
10
Ejemplos
$ secuencia -h
secuencia: Uso: secuencia [ hasta [ desde [ paso ]]]
secuencia: Genera la secuencia de n
umeros en el intervalo y paso indicados.
$ secuencia
1
2
3
4
5
6
7
8
9
10
$ secuencia 5
1
2
3
4
5
$ secuencia 5 3
3
4
5
$ secuencia -0.9 2 -0.5
2
1.5
1
0.5
0
-0.5
$ secuencia 10-1 1
secuencia: Error(EX_USAGE), uso incorrecto del mandato. "Success"
secuencia+ El par
ametro "hasta" no es un n
umero real v
alido.
$ secuencia 1 2 3 4
secuencia: Error(EX_USAGE), uso incorrecto del mandato. "Success"
secuencia+ El n
umero de argumentos no es correcto.
$ secuencia 10 1 -1
secuencia: Error(EX_USAGE), uso incorrecto del mandato. "Success"
secuencia+ El signo de "paso" no permite recorrer el intervalo en el sentido "desde"
$ secuencia 105
1
2
...
100
secuencia: Error(EX_NOPERM), permiso denegado. "Success"
secuencia+ Se intent
o superar el limite de salida.
11
$
Consulte el Manual
man 3 fprintf
Para emitir mensajes con formato.
man 3 strtod
Para extraer el double contenido en una tira de caracteres.
man 3 strtol
Para extraer el long contenido en una tira de caracteres.
man 3 getenv
Para acceder al valor de una variable de entorno.
2.5.
tarea-1.2
Programa bocabajo
bocabajo [ fichero... ]
12
Valores de Terminaci
on
EX OK Terminaci
on correcta.
EX NOINPUT El fichero "FICHERO" no puede ser ledo.
EX OSERR No se pudo ubicar la memoria dinamica necesaria.
Ejemplos
$ bocabajo -h
bocabajo: Uso: bocabajo [ fichero... ]
bocabajo: Invierte el orden de las l
neas de los ficheros (o de la entrada).
$ cat fich1
uno
dos
tres
cuatro
$ cat fich2
A
Be
Ce
De
E
$ bocabajo fich1 fich2
E
De
Ce
Be
A
cuatro
tres
dos
uno
$
Consulte el Manual
man 3 fprintf
Para emitir mensajes con formato.
man 3 fopen
Para abrir ficheros.
man 3 fgets
Para leer lneas de texto.
man 3 fputs
Para escribir lneas de texto.
man 3 fclose
Para cerrar los ficheros abiertos.
13
man 3 malloc
Para ubicar memoria din
amica.
man 3 strdup
Replicar una tira de caracteres en memoria dinamica.
2.5.2.
Programa primos
primos [ hasta [ desde ]]
Todos estos argumentos contienen un valor de tipo entero pero solo deben admitirse valores
mayores que 0, y el valor por defecto para ellos es: hasta = 100 y desde = 1.
Descripci
on
Este programa genera por su salida est
andar la secuencia ascendente de los n
umeros primos
comprendidos entre los valores desde y hasta, ambos inclusive.
Este programa genera un n
umero primo por lnea con el siguiente formato: "\t %ld\n".
Entorno
Utiliza la variable de entorno MAX OUTPUT para controlar que, en ning
un caso, se produzcan
m
as de esta cantidad de n
umeros. Si esta variable no existe o no contiene un valor entero no
negativo, se debe asumir el valor por defecto de 100.
Valores de Terminaci
on
on correcta.
EX OK Terminaci
ametro "desde" no es un n
umero entero positivo.
EX USAGE El par
EX USAGE El par
ametro "hasta" no es un n
umero entero positivo.
EX USAGE El par
ametro "desde" ha de ser menor o igual que "hasta".
EX USAGE El n
umero de argumentos no es correcto.
EX OSERR No se pudo ubicar la memoria dinamica necesaria.
EX NOPERM Se intent
o superar el lmite de salida establecido por MAX OUTPUT.
Ejemplos
$ primos -h
primos: Uso: primos [ hasta [ desde ]]
primos: Genera los n
umeros primos comprendidos en el intervalo indicado.
$ primos
2
3
5
7
11
13
14
...
89
97
$ primos 10
2
3
5
7
$ primos 7 7
7
$ primos 6 7
primos: Error(EX_USAGE), uso incorrecto del mandato. "Success"
primos+ El par
ametro "desde" ha de ser menor o igual que "hasta".
$ primos 547
2
3
...
541
primos: Error(EX_NOPERM), permiso denegado. "Success"
primos+ Se intent
o superar el limite de salida.
$
Consulte el Manual
man 3 fprintf
Para emitir mensajes con formato.
man 3 strtol
Para extraer el long contenido en una tira de caracteres.
man 3 getenv
Para acceder al valor de una variable de entorno.
2.6.
tarea-1.3
15
pruebas.pdf
Documento que cuente forma m
as completa y legible la especificacion de las pruebas planteadas y efectivamente implementadas en pruebas.sh.
2.6.1.
Programa factores
factores
3
3
factores: "tres_3" no es un entero no negativo.
101
$
Consulte el Manual
man 3 fprintf
Para emitir mensajes con formato.
man 3 strtol
Para extraer el long contenido en una tira de caracteres.
man 3 sqrt
Para realizar la raz cuadrada de un n
umero.
2.6.2.
Programa analiza
analiza [ hasta [ desde [ intervalos ]]]
Los dos primeros argumentos contienen un valor de tipo real y el tercero contiene un valor
de tipo entero. El valor por defecto para ellos es: hasta = 100, desde = 0 y intervalos
= 100.
Descripci
on
Este programa realiza un peque
no analisis frecuencial y estadstico sobre los n
umeros reales
presentes en su entrada est
andar y, finalmente, muestra por su salida est
andar el resultado,
consistente en un histograma y las medidas estadsticas realizadas.
Detalle
Procesa su entrada est
andar hasta error o final de fichero (invocado por teclado con un
Ctrl-D) leyendo tiras de caracteres de un maximo de 80 caracteres con el formato " %80s".
Si la tira leda no es un n
umero real correcto, emite por el est
andar error un mensaje de
error indicando el contenido de la tira con el formato
umero real v
alido.\n" y contin
ua procesando su en"analiza: \" %s\" no es un n
trada.
Para cada n
umero real correcto lo contabiliza en el histograma en el intervalo correspondiente
y acumula informaci
on estadstica sobre el.
Histograma Para la realizaci
on del histograma se considera la division del rango numerico ascendente (desde, hasta] (abierto por la izquierda) en el n
umero de intervalos especificado
(mnimo 1). Todos estos intervalos son de igual tama
no y se consideran abiertos por su izquierda
y cerrados por su derecha, es decir, un determinado n
umero corresponde a un intervalo s y solo
si cumple que es estrictamente mayor que el lmite inferior del intervalo y menor o igual que
el lmite superior del intervalo. As mismo se consideran automaticamente otros dos intervalos:
(nf, desde], para todos los n
umeros menores o iguales que desde y (hasta, +nf), para todos
los n
umeros estrictamente mayores a hasta.
Asociado a cada uno de los intervalos indicados se gestiona un contador (todos ellos con valor
inicial 0) que ha de incrementarse con cada n
umero que corresponde a dicho intervalo.
17
La presentaci
on del histograma consiste en una lnea por intervalo (en orden creciente), reflejando los lmites del mismo y el valor final del contador asociado, con los siguientes formatos:
"(-oo, %g]\t %lu\t", para el de n
umeros menores o iguales a desde, "( %g, %g]\t %lu\t",
para cada uno de los intervalos establecidos y "( %g,+oo)\t %lu\t", para el de n
umeros estrictamente mayores a hasta Observe que la notacion empleada para referirse al valor infinito
son dos oes min
usculas oo.
Opcionalmente, si lo desea, a la derecha de este formato, pero en la misma lnea, puede
incluirse una representaci
on gr
afica del valor del contador utilizando asteriscos u otro caracter.
Estadsticas Las medidas estadsticas a realizar son la media y la desviacion estandar. Estas
medidas vienen dadas por las siguientes expresiones matematicas donde n es el n
umero de valores
muestreados y {xi : i = 1, . . . , n} son valores muestreados:
i=n
media =
desviacion =
1X
xi
n i=1
v
u i=n
uP 2
u
t i=1 xi
2
P
1 i=n
xi
n i=1
n1
La presentaci
on de la informaci
on estadstica consiste en la presentacion (por la salida
est
andar) de dos lneas, con el siguiente formato: "Media: %g\n" y "Desviacion: %g\n"
mostrando el correspondiente valor estadstico.
Hay dos casos especiales (cuando el n
umero de muestras es cero y cuando es uno) en que
alguno de estos valores no puede ser calculados. En tales casos, en vez del valor, debe mostrarse
el mensaje "No disponible".
Valores de Terminaci
on
EX OK Terminaci
on correcta.
EX USAGE El par
ametro
ntervalos" no es un n
umero entero positivo.
ametro
ntervalos" ha de ser 1 como mnimo.
EX USAGE El par
ametro "desde" no es un n
umero real valido.
EX USAGE El par
EX USAGE El par
ametro "hasta" no es un n
umero real valido.
EX USAGE El par
ametro "hasta" no es mayor que el parametro "desde".
EX USAGE El n
umero de argumentos no es correcto.
EX OSERR No se pudo ubicar la memoria dinamica necesaria.
Ejemplos
$ analiza -h
analiza: Uso: analiza [ hasta [ desde [ intervalos ]]]
analiza: Histograma y estad
sticas sobre los n
umeros reales le
dos.
$ echo "" | analiza
(-oo,0] 0
18
(0,1]
0
(1,2]
0
...
(99,100]
0
(100,+oo)
0
Media: No disponible
Desviaci
on: No disponible
$ echo "1 2 3 4 4 5 6" | analiza 6 0 3
(-oo,0] 0
|
(0,2]
2
|||
(2,4]
3
||||
(4,6]
2
|||
(6,+oo) 0
|
Media: 3.57143
Desviaci
on: 1.71825
$ od -t u1 analiza.c | cut -c 8- | ./analiza 128 0 128
... mostrar
a la distribuci
on de los caracteres utilizados
... su fichero fuente analiza.c
$
Consulte el Manual
man 3 fprintf
Para emitir mensajes con formato.
man 3 strtod
Para extraer el double contenido en una tira de caracteres.
man 3 strtol
Para extraer el long contenido en una tira de caracteres.
man 3 sqrt
Para realizar la raz cuadrada de un n
umero.
man 3 malloc
Para ubicar memoria din
amica.
19
3.
Pr
actica 2: Unix shell
Esta pr
actica consiste en realizar un script en Bash que le permitira afianzar sus conocimientos
sobre este lenguaje. El script implementara una mecanismo de entrega automatica de practicas
en un entorno similar al de esta asignatura. Las ideas principales son:
Cada pr
actica tiene un identificador.
Dicho identificador, adem
as de identificar unvocamente cada practica, sera el nombre de
un fichero que contendr
a la informacion de relacionada con dicha practica (fecha lmite de
entrega, ficheros a entregar, etc.).
El script copiar
a los ficheros apropiados de un directorio (del supuesto usuario) a otro
(directorio de entrega).
3.1.
El script comprobar
a que el identificador de practicas (ID_PRACTICA) es valido, comprobar
a que la entrega no est
a fuera de plazo, comprobara que existen los ficheros exigidos para la
pr
actica y finalmente copiar
a todos los ficheros a un directorio adecuado. El script devolvera 0
como c
odigo de error para indicar que todo funciono correctamente o un codigo de error distinto
de 0 indicando que error se produjo. Mas detalles:
La variable de entorno MINIENTREGA_CONF debe estar definida y especifica un directorio
en el que existen varios ficheros de configuracion de practicas. En caso de no estar definida
la variable o no existir o no ser legible el directorio se informara al usuario.
Cada nombre de fichero de configuracion de practica (${MINIENTREGA_CONF}/*) es un
identificador v
alido de pr
actica. Si el identificador de la practica (ID_PRACTICA) no es
v
alido se informar
a al usuario.
Cada fichero en ${MINIENTREGA_CONF}/* define las siguientes variables de entorno en
formato compatible con Bash:
MINIENTREGA_FECHALIMITE: contiene la fecha de entrega lmite. Se informara al
usuario si el contenido no es una fecha correcta o si la entrega se esta realizando fuera
de plazo.
MINIENTREGA_FICHEROS: contiene la lista de ficheros que debe ser entregada y que
deben estar en el directorio desde el que se ejecuta el script. En caso de que alguno
de los ficheros no exista o no sea legible se informara al usuario.
MINIENTREGA_DESTINO: directorio de destino en el que se debe crear un directorio
por cada entrega con el nombre del usuario que realiza la misma (${USER}). En caso
de que el directorio de destino no exista o el directorio de entrega no pueda crearse se
informar
a al usuario.
Antes de realizar la entrega se generara un informe sobre lo que el script se dispone a hacer
(copias de ficheros, etc.) incluyendo cualquier posible complicacion (como por ejemplo que
la entrega es realmente una reentrega). Una vez el usuario haya confirmado el informe el
script proceder
a a la entrega.
20
Ficheros a entregar
autores.txt y bitacora.txt: ficheros siguiendo las normas de presentacion en 1.7.
minientrega.sh: el script incluyendo comentarios.
man-minientrega.txt: manual de usuario del script.
test-minientrega.txt: fichero de texto con una descripcion de los tests realizados para
validar el script.
Evaluaci
on
La entrega de los ficheros es obligatoria. La valoracion total de la practica sera de 100 puntos.
50 puntos son decididos por el profesor tras valorar los ficheros entregados. Los otros 50 puntos
se obtendr
an de una entrevista de entre 5 y 10 minutos con cada grupo en el que se realizaran
algunas preguntas sobre el dise
no del script y el conocimiento del mismo.
21