CI2692 (SD13) Proyecto 1

Enunciado del Proyecto 1 (v. 1.0)
[ACTUALIZADO] Enunciado del Proyecto 1 (v. 1.2, modificado Dom 10/11, 10:30 pm)
[ACTUALIZADO] Formato de entrada y casos de prueba en la página del Prof. Theoktisto

Declaración de autenticidad (Llevar rellena el día de la entrega)

La corrección del proyecto es presencial.
La decisión final es que se permitirán equipos con miembros de distintas secciones.

Anuncios

29 pensamientos en “CI2692 (SD13) Proyecto 1

  1. Cual es la version de Python con la cual trabajaremos este trimestre? Si lo dijeron al principio de la clase, perdon pero no estuve presente.

  2. Profesor Saul, el otro profesor Guillermo Palma le dijo a sus alumnos que iban a trabajar en python 2.7, mi pareja esta con el.. entonces no sabemos cual version usar. Gracias.

  3. se puede implementar un método propio de lectura?. ya que en el enunciado piden que usemos de ejemplo el que nos mandaron y lo modifiquemos….

    • Un constructor es un método, y por lo tanto lo que se le pasa son “parámetros”, no atributos. ¿O te refieres al tipo Tabla? Por favor aclara y/o indícame qué terminología estás usando.

  4. Sí exacto disculpe la confusión, los atributos son de la variable que sea de tipo Tabla (o así lo llamamos en la teoría) y al constructor se le pasan los parámetros. Por ejemplo: se tiene el constructor con los parámetros self,a,b,c… y dentro se hacen las asignaciones self.a=a,self.b=b,self.c=c… En dichas asignaciones debemos usar self.a o self.__a?

    • Hola Richard, veo que tienes clara la terminología.
      El enunciado no hace exigencias al respecto a atributos públicos o privados, por lo que ninguna de las dos opciones es incorrecta a priori. Incluso algunos atributos podrían ser públicos y otros privados. Hacer a un atributo público o privado tiene sus ventajas y desventajas, tomen la decisión que les parezca mejor siempre y cuando puedan justificarla.
      (Nota: En Python colocar _ al principio del nombre de una variable es meramente una convención. No evita que el atributo sea accedido desde fuera de la clase si un programador intenta hacerlo.)

  5. Alguien me puede dar un ejemplo de busqueda potencia, reflexivo y estacionario? porq realmente no entiendo del todo de que se trata cada busqueda… un ejemplo puede ser 2 tablas que si
    1 a
    2 b
    3 c
    y decirme que hace cada busqueda mas o menos

    • Si le aplicas Puntos_Potencia con n>1 recibirás una tabla vacía.
      Si usas Tope_K_Reflexivo pues debería indicarte que no existe porque tienes una tabla en donde ninguna entrada es reflexiva, por lo cual el programa jamás llegará a un punto de reflexividad.
      Si usas Puntos_KEstacionarios, obtendrás una tabla vacía porque, nuevamente, no existe ninguna columna reflexiva y como tienes una sola tabla => k = 1, lo que implica que tu función debe retornar exactamente lo mismo que Puntos_Fijos de la misma tabla

      • Donde dije ‘columna’ hablando de Puntos_KEstacionarios, quise decir ‘fila’.

  6. Profe la tabla resultante de puntos potencia debe ser igual a los valores cuya entrada sea igual a la salida en la composicion de busquedas??
    El proyecto dice : x = p(x) pero igual tengo la duda..
    Gracias

    • Hola Andrea,
      La condición que mencionas, de que la entrada sea igual a la salida, es decir B(x) = x es la de Puntos FIJOS, no potencia.
      La operación de Puntos Potencia consiste en que para cada fila, tomar la salida, usarla nuevamente como entrada, y repetir el proceso N veces. Es decir, si en la tabla resultado existe la fila (s,t) es porque según la tabla original B( B( B( … B(s) … ))) = t.

      • Deberá implementar el método Puntos_Potencia para Bj , devolviendo una Tabla, que equivale a
        componer N veces la búsqueda dentro de la misma tabla, es decir, x = P(x) = Bj · Bj … · Bj · x (n
        veces), o lo que es lo mismo
        x = P(x) = Bj · Bj … · Bj = x = (Bj)n (x)

        Profe esta es la pregunta de Puntos_Potencia…
        entonces no entiendo su respuesta! :/

      • Creo que el enunciado está siendo confuso en ese aspecto. La línea debería ser
        y = P(x) = Bj · Bj … · Bj x = (Bj)n (x)
        Es decir, en el caso de los puntos potencia, no necesariamente P(x) = x.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s