Universidad de Costa Rica
|
|
En esta tarea Usted desarrollará una aplicación sencilla en la que deberá utilizar las listas parametrizables descritas en el siguiente artículo:
http://www.di-mare.com/adolfo/p/c-list.htm
Su aplicación permitirá mantener una lista de tareas faltantes, en tres órdenes: cronológico, cronológico inverso, y por prioridad. La lista de tareas tiene tres datos principales:
[0..9]
.
Para implementar su programa, usted debe seguir los siguientes pasos:
ListC.hpp
, un archivo de
encabezado C++ para
clist.h
, que es
la interfaz en lenguaje C de la lista circular parametrizable
descrita en el artículo
"C Parametrized
Lists".Tarea
, que
incluya los datos principales descritos antes, y que permita que
sus
instancias
estén enlazadas a tres listas diferentes, una para cada uno
de los criterios de ordenamiento para las tareas
(cronológico, cronológico inverso, y por
prioridad). Recuerde que, para lograr esto, debe incluir tres
campos de enlace en la
clase C++ Tarea
.
Si quiere ver una versión de este programa, que por
supuesto no usa listas, examine el archivo FALTA.bat
que tiene la funcionalidad que se busca en esta tarea, pero que
por supuesto no usa listas:
:: FALTA.bat ==> Edita archivo de lo que me FALTA @echo off if (%1)==() goto _edit goto _sort :_edit edit %TMP%\falta.txt goto _out :_sort if (%1)==(f) sort /+1 <%TMP%\falta.txt if (%1)==(F) sort /+1 <%TMP%\falta.txt if (%1)==(p) sort /+17 <%TMP%\falta.txt if (%1)==(P) sort /+17 <%TMP%\falta.txt for %%w in (p P f F) DO if (%1)==(%%w) goto _out sort /+17 <%TMP%\falta.txt | grep -i %1 goto _out :_out :: FALTA.bat ==> Fin de archivo |
El programa FALTA.bat
invoca al programa
SORT.exe
, que ordena archivos de hileras, y al
programa GREP.exe
, que extrae hileras de un archivo
de texto de acuerdo a un patrón, llamado expresión
regular. Uselo, pues tiene más funcionalidad que el
programa que usted implementará.
Para implementar su programa, simplemente lea la siguiente tarea que el usuario del programa quiera agregar, y enlácela al principio de la lista cronológica de tareas, al final de la lista cronológica inversa de tareas, y antes de la tarea que tengo una prioridad inmediatemante mayor, en la lista por prioridades. Note que, en la lista de prioridades, aparecerán primero las tareas cuya prioridad sea un número menor y, además, en esa misma lista, las tareas quedarán ordenadas en orden cronológico de entrada.
Permítales al usuario de su programa tanto incluir como excluir tareas. También permítale cambiarle la prioridad a una tarea (trátelo como una exclusión seguida inmediatamente por una inclusión). La fecha que usted guardará en cada tarea será siempre la fecha de la inclusió (o de la exclusión inclusión).
El reporte de investigación
debe ser entregado en clase, impreso. Además,
también debe enviar todo el material a los
asistentes del curso por correo electrónico. Para
esto, haga un archivo empacado
.zip
cuyo nombre sea su número de carnet. Incluya en ese archivo
lo siguiente:
Después de la fecha de entrega del programa, puede usted instalar en su cuenta personal su solución (no instale antes su solución en Internet, pues en ese caso sería usted culpable de facilitar la copia de su trabajo, y en consecuencia se haría acreedor a la sanción respectiva).
Las cuentas de computador en la
ECCI se asignan de acuerdo
al número de carnet. Por ejemplo, si su carnet es el
número 95-28-09, para entregar su tarea usted debe crear el
archivo
952809.zip
para enviarlo por correo electrónico a los
asistentes del curso.
ños
Luego haga en su cuenta personal un subdirectorio llamado
public_html
, que es bajo el que se instalan todas sus
páginas Internet. Por ejemplo, si su solución
está en el archivo
HTML
llamado
"OLP/t3sol952809.htm
", entonces usted debe instalar esa
página en el archivo
public_html/OLP/t3sol952809.htm
de su cuenta. Luego, para acceder esa página Internet, debe
entrar a este sitio:
http://anubis.ecci.ucr.ac.cr/~e952809/OLP/t3sol952809.htm
Como todas las cuentas de estudiante son la letra "e" seguida del
número de carnet, para el estudiante de carnet "952809" la
cuenta es
"e952809
".
Para indicarle al servidor Internet a cuál cuenta entrar se
usa el caracter "~" (Alt-126), seguido del nombre de
la cuenta:
"~e952809
".
Marilyn Bolaños y Mario Tenorio
|
Adolfo Di Mare <adolfo@di-mare.com>.
|