Universidad de Costa Rica
Escuela de Ciencias de la
Computación e Informática
Profesor Adolfo Di Mare
CI-1201
I Semestre 2001
[<=] [home] [<>] [\/] [=>]
CI-1201 Programación II

Tarea #2 [solución]

La clase Bolsa

class Bolsa {
public:
    int Esta(int i); // # de veces que "i" Está() en la Bolsa
    void Agrega(int i);  // incrementa "Esta(i)"
//  ...
}; // Bolsa
Figura 1

      Escriba un programa que lea números y cuente la cantidad de veces que cada número aparece. Al terminar de leer, su programa deberá listar cuáles números fueron leídos junto a la cantidad de veces que cada uno aparece (o sea, que su programa debe contar la cantidad de repeticiones). Use la clase Bolsa cuya definición parcial está en la Figura 1. (Si es usted curioso, le interesará saber que este programa es una de las preguntas de un examen parcial de un semestre anterior).

      Además del programa que usa la clase Bolsa, también implemente de dos formas diferentes la clase Bolsa, para que usted muestre de manera práctica que la misma interfaz (o especificación) puede servir para varias implementaciones diferentes. Por eso, su programa de prueba debe funcionar con cualquiera de las dos implementaciones de la clase Bolsa. Haga estas implementaciones:

      Si lo desea, para implementar su lista puede usar como base la lista parametrizable contenida en "c-list.zip", la que está descrita en este artículo:

Di Mare, Adolfo
C Parametrized Lists, Revista de Ingeniería, Universidad de Costa Rica, 2000.
      http://www.di-mare.com/adolfo/p/c-list.htm
      http://www.di-mare.com/adolfo/p/src/c-list.zip

      Luego de imprimir la documentación de su programa, y entregarla en clase, envíe su trabajo 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:

  1. Un documento en formato HTML que describa el trabajo que realizó. Incluya el nombre del compilador que usó.
  2. La especificación de la clase Bolsa
  3. El código fuente de su programa de prueba.
  4. Varios archivos que contengan datos de prueba para su programa.
  5. Implementación de la clase Bolsa usando un vector ordenado.
  6. Implementación de la clase Bolsa usando una lista.

      Entregue su trabajo en dos tractos: deje para el segundo tracto la entrega de las dos implementaciones de la clase Bolsa.

      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.

      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".

      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).

[mailto:] Kenneth Mora y Tomás Rodriguez

 

Tiempo de entrega: 14 Días
Modalidad: Individual

Soluciones

[mailto:] Adolfo Di Mare <adolfo@di-mare.com>.
Copyright © 2001
Derechos de autor reservados © 2001
[home] <> [/\]