SP 2009 ej2 a

SP 2009 ej2 a

de Matias Damian Mansilla Scala -
Número de respuestas: 9
PROCEDURE Crear (dato: T; prio: CARDINAL; k:CARDINAL) : CP;
(* Retorna una CP de tope K con el dato "dato" con prioridad "prio" *)

PROCEDURE TieneUnElemento ( cp:CP ) : BOOLEAN;
(* Retorna TRUE únicamente si la CP "cp" contiene un elemento *)

Mi pregunta sería porque en este caso en la especificacion del TAD cola de prioridad, la cola se crea con un elemento y no vacia desde un principio, lo cual se acostumbra a hacer. 

Luego el predicado deja de ser esvacio y pasa a ser tieneunelemento casi seguramente por lo anterior.

Saludos 

En respuesta a Matias Damian Mansilla Scala

Re: SP 2009 ej2 a

de Mikaela Pisani Leal -
"Especifique, en MODULA-2, un TAD CP de elementos de un tipo genérico que permita modelar una cola de prioridad no vacía"
creo que es porque dice que es NO VACÍA , yo caí en la misma que vos lo hice como siempre y metí la pata
En respuesta a Mikaela Pisani Leal

Re: SP 2009 ej2 a

de Luciano Jesus Montero Videla -
 La inserción debe permitir el ingreso de elementos repetidos, sin importar cuál sea su prioridad 
(aún cuando ésta se repita para un mismo elemento).  
Por ejemplo, suponga que K es 3 y se ingresa a una CP vacía un elemento e1 con prioridad 1, luego e2 con 
prioridad 3 y entonces se incorpora e3 con prioridad 7. La operación obtenerMinimo para dicha CP debería 
retornar e1. Si luego se ingresa a la CP el elemento e4 con prioridad 6, la operación obtenerMinimo debería 
retornar igualmente  e1. Pero luego de ejecutar sobre esta última  CP la operación  borrarMinimo, ahora 
obtenerMinimo debería retornar el elemento e4.

A mi me confundio la parte señalada, creo que con ese ejemplo la cola se crea vacia. Disculpen si me equivoco.
Saludos.
En respuesta a Matias Damian Mansilla Scala

Re: SP 2009 ej2 a

de Juan Sebastian Korenko Crisera -
Si yo tambien cai en lo mismo por no haber leido correctamente...

Ahora porque no es necesario un EstaLlena (Cola Prioridad). No termina estando acotada la Cola de Prioridad por K.
En respuesta a Juan Sebastian Korenko Crisera

Re: SP 2009 ej2 a

de Lorena Etcheverry -
Creo que siguen sin leer la letra con detenimiento.
Dice:

Especifique, en MODULA-2, un TAD CP de elementos de un tipo genérico que permita modelar una cola de prioridad no vacía, con operaciones selectoras/destructoras: obtenerMinimo y borrarMinimo.
Considere que la prioridad de un elemento está dada por un valor de tipo CARDINAL que acompaña al elemento y que dos elementos cualesquiera pueden tener igual prioridad. Frente a dos elementos de igual
prioridad, se respeta el orden de atención siguiendo la política FIFO (First In, First Out). El TAD CP debe almacenar, a lo sumo, los últimos K elementos ingresados. No obstante, en ningún caso una inserción puede
provocar la pérdida del elemento que sería el primero en ser atendido (procesado por las selectoras) según la política definida para una CP. Se pide considerar para el TAD CP operaciones constructoras,
selectoras/destructoras y predicados. La operación de inserción no debe tener precondición, esto es: siempre se pueden agregar elementos pero sólo K (a lo sumo) elementos se conservan según se describió
previamente. La inserción debe permitir el ingreso de elementos repetidos, sin importar cuál sea su prioridad (aún cuando ésta se repita para un mismo elemento).

Si siempre permite insertar y no tengo precondición a los ojos del que la usa la CP no es acotada y por eso no es necesaria la operación estaLlena

slds
Lorena
En respuesta a Lorena Etcheverry

Re: SP 2009 ej2 a

de Matias Guzman Cubero Delgado -
Hola Lorena,

Entiendo lo que decis, sin embargo en el parcial 2005, plantea una situación similar y ese predicado esta en la solución porque es eso?

Desde ya gracias.

http://www.fing.edu.uy/inco/cursos/prog2/wiki/uploads/Site/SolucionJulio2005.pdf
En respuesta a Matias Guzman Cubero Delgado

Re: SP 2009 ej2 a

de Lorena Etcheverry -
Hola:

Lo que vos decis es correcto, la parte a del ejercicio 2 platea una situación similar y en la solución publicada aparece la operación que permite chequear si la estructura está llena pese a que la letra dice que la inserción no tiene pre condición.

A mi criterio el predicado que chequea si está llena podría no estar.

Fijate lo que dice la sol:

"Notar además que si bien hay un predicado que chequea si la estructura está llena, la operación de inserción no restringe la cantidad de elementos a agregar. Esto es, no es, desde un punto de vista estricto, un TAD acotado (ni no acotado)."

Creo que hay lo importante de esta discusión es lo siguiente. Cuando un tad es acotado en su comportamiento tengo que tener la posibilidad de chequear si esta lleno antes de insertar. Si pese a tener una cota me dicen que puedo insertar siempre (y es el insertar el que se encarga de decidir que hacer si se alcanzó la cota) no tiene mucho sentido tener un predicado que me permita decidir si esta lleno o no porque no se me ocurre una situación en que podría usarlo. ¿Se entiende?

slds
Lorena
En respuesta a Lorena Etcheverry

Re: SP 2009 ej2 a

de Juan Sebastian Korenko Crisera -
Osea que si yo puedo insertar siempre sin precondicion, entonces la cola no esta Acotada. Muchas gracias
En respuesta a Juan Sebastian Korenko Crisera

Re: SP 2009 ej2 a

de Luciano Jesus Montero Videla -
si esta acotada, ya que aunque puedas insertar sin precondicion en caso que este llena tenes que sacar el primer elemento en caso que no sea el de menor prioridad, si este es el de menor prioridad tenes que sacar el segundo.
saludos.