You are on page 1of 4

1.- Que es la abstraccin? Tipos de abstraccin.

1. Destacar los detalles ms relevantes del objeto en estudio.


2. Ignorar los detalles irrelevantes del objeto ( en ese nivel de abstraccin).
1. La abstraccin operacional: Se basa en el uso de procedimientos y/o funciones sin preocuparnos de
cmo estn implementadas. Se destaca que hace y se ignora como se hace.
2. La abstraccin de datos: es la tcnica de programacin que permite inventar o definir nuevos tipos de
datos adecuados a la aplicacin que se desea realizar.
3.- Existe alguna relacin entre la ocultacin de informacin y la independencia
de la informacin?
Si, ya que gracias a la ocultacin de la informacin conseguimos que sea independiente su especificacin
de su implementacin.
6.- Cundo utilizaremos una representacin pesudoesttica de un TAD Pila?
Cuando sea conveniente emplear pilas de diferentes tamaos en un programa. En esta representacin el
tamao mximo de una pila no es el mismo para todas las pilas y se fijar en tiempo de ejecucin en el
momento de crearla, es decir, se preguntar al usuario el tamao de la pila que en ese momento vaya a
crear. Pero este tamao ser fijo durante todo el tiempo de la pila.
7.- Cundo utilizaremos una representacin dinmica de un TAD pila?
Cuando no sabemos de antemano el nmero de elementos que podra tener una pila, es decir, cuando el
tamao de las pilas creadas en nuestra aplicacin sea variable con lo cual se incrementar decrementar
su tamao conforme sea necesario en tiempo de ejecucin.
8.- En qu caso utilizaremos una representacin esttica de un TAD pila?
Cuando el tamao de todas las pilas que necesitemos en nuestra aplicacin sea el mismo. La
representacin esttica requiere saber el tamao mximo en tiempo de compilacin (de antemano
sabremos la cantidad de elementos que van a tener las pilas empleadas en dicha aplicacin).
9.- Por qu en la representacin dinmica de un TAD pila se representa la pila como un puntero a
las estructuras de datos diseadas?
La razn de introducir un puntero es hacer que el paso de parmetros a las operaciones del TAD sea por
referencia, de modo que los cambios en los parmetros formales sean reflejados en los parmetros reales.
10.- Porqu en la representacin esttica y pseudoesttica de un TAD pila, el registro que
representa la pila se pasa por referencia sin ser necesario?
Esto es debido al principio de independencia de la representacin. Una forma de hacerlo es definir un
puntero a las estructuras de datos diseadas. As se obtienen 2 ventajas:
1. El paso por referencia queda oculto a la implementacin del TAD y es transparente para el usuario del
mismo.
2. Se ahorra la memoria de los datos que se duplican mientras que se ejecuta una funcin debido a que,
cuando se ejecuta la llamada a una funcin, la transferencia de parmetros se hace siempre por valor, lo
cual provoca que los parmetros reales se copien en los formales.

Al definir el tipo pila como un puntero al registro que representa a la pila, solo se hace una copia de este
puntero y no del registro completo.
12.- Tiene algn sentido representar una pila con una lista doblemente enlazada? Por qu?
No, ya que una lista doblemente enlazada requiere un doble puntero, uno para el elemento siguiente y
otro para el anterior. Esto es un gasto innecesario ya que en la pila solo insertamos o eliminamos por el
Tope. Por lo tanto, con un slo puntero es suficiente.
Adems en una pila no tenemos el concepto de posicin, ya que solo podemos insertar por la cima y
eliminar por la misma, mientras que en la lista podemos hacer una insercin eliminacin en cualquier
posicin mientras que , como dijimos antes, en la pila slo podemos por el tope, ya que es una condicin
necesaria del TAD pila.
13.- Y en una representacin pseudoesttica?
Ventajas: Relativo a la pila esttica, la pila pseudoesttica nos permite fijar distintos tamaos para las pilas
de la aplicacin en tiempo de ejecucin por lo que un tamao inicial no determinar el tamao de todas
las pilas. Ocupa menos espacio que la implementacin del TAD pila mediante celdas enlazadas ya que no
requiere un puntero por elemento.
Inconvenientes: Tamao constante durante la vida de cada pila, tamao que tenemos que ir controlando
para no sobrepasarlo.
14.- Cundo utilizaremos la representacin circular del TAD pila?
Tal y como se define el TAD pila, una pila es una secuencia de elementos de un tipo determinado, en la
cual se puede aadir y eliminar elementos slo por uno de sus extremos llamado tope o cima, por lo tanto,
carecera de sentido utilizar un puntero que se utilizara para apuntar a la base de la pila (primer elemento
que se introducira en ella). En cualquier caso, ese TAD lo utilizaramos para obtener el elemento base de la
pila, pero por otra parte, tendramos que cambiar operaciones del TAD pila como la funcin FIN(habra que
reimplementarla)..
15.- Para qu se utiliza el nodo cabecera en el TAD Cola, en su implementacin con celdas
enlazadas? (TRAMPA)
El nodo cabecera no se utiliza en el TAD cola, es innecesario dado que sta surge para resolver un
problema de independencia de la representacin en el TAD lista, cuando definimos la posicin en una lista.
16.-Por qu surge el nodo cabecera en las listas?
Cuando implementamos la lista con celdas enlazadas, se nos plantea un problema de independencia de la
representacin en lo que se referencia a la utilizacin de tipo de dato posicin.
Por ejemplo, en la operacin Insertar del TAD Lista, cuando vamos a insertar en la posicin p, el elemento
que ocupa dicha posicin (si lo hubiera) pasara a ser la posicin p+1 y el nuevo elemento que vamos a
insertar, obviamente, ocupara la posicin p. Ocurre un problema y es que, adems de hacer esta
operacin, la posicin apuntara al elemento que ocupa la posicin p+1 y esto no debe ser as, es decir,
debera de apuntar a la posicin insertada , a la posicin p. Por esta razn, se debe de modificar dicho
puntero para que apunte donde debera de apuntar y se pasara en la cabecera de la funcin como
posicin *p, y no estaramos cumpliendo con la especificacin del TAD lista.Para arreglar este problema,
hacemos que cada elemento de la lista se referencie mediante su nodo anterior, con lo que acarrea el
problema de que, el primer elemento no tenga anterior, luego se crea el nodo cabecera y, en
consecuencia, tambin respetaramos la especificacin del TAD lista.

21.- Qu es la especificacin semntica?


La especificacin semntica van a ser una serie de pautas las cuales van a expresar el significado de cada
una de las operaciones de un TAD.Se puede expresar mediante precondiciones y postcondiciones, es decir,
bajo el cumplimiento de las precondiciones, se puede realizar la operacin y despus de la ejecucin de las
misma, se deben cumplir las postcondiciones.
22.- Qu es la especificacin sintctica?
Se refiere a la definicin formal del conjunto de mtodos procedimientos vlidos capaces de acceder de
manera nica a los elementos de datos o estructura de datos del tipo de dato abstracto.
25.- Respetando el TAD Lista mediante un vector es posible evitar el coste
O[[n]] para inserciones y borrados en los extremos?
Si en los extremos, podra evitarse aadiendo a la estructura dos campos enteros indicando dnde estn
los extremos e inicializarlo a n/2 y (n/2+1) por ejemplo. A medida que se van insertando y borrando, se
actualizan los valores de los extremos. Por ejemplo si quiero insertar al principio de la lista hara:
V[extremoDerecho]=Elemento;
extremoDerecho=extremoDerecho-1;
En todas las operaciones la lista estara comprendida entre extremoDerecho y extremoIzquierdo y habra
que controlar sus valores. As para insertar en la posicin 3 de la lista sera en extremoDerecho+3, siempre
y cuando este valor est en los lmites adecuados.
28.- Condicin que tiene que tener una lista para que la bsqueda sea logartmica?
Cmo vas a hacer en una lista que es una estructura secuencial, una bsqueda logartmica?. No se puede.
Ya que la insercin no tiene por qu ordenarse adems, para poder hacerlo de forma vectorial, el vector no
va a estar lleno porque son las operaciones que estn implementadas.
32.- Cmo se podra eliminar un elemento cualquiera de una cola/pila?
No se puede, en la cola se introduce por un extremo y se saca por el otro, en una pila se introduce y se
saca por el mismo extremo.
33.- Por qu es necesaria la funcin igual en listas?
Para buscar la posicin de un elemento compara los elementos, puede ser el tipo del elemento sea tipo
estructurado y no se puedan comparar elementos con el operador ==.
35.- Principio fundamental de los TAD: independencia de la representacin.
Independientemente de cmo se represente el TAD, la especificacin no cambia. Por ello un usuario puede
usar un TAD sin importarle como est implementado o bien si la implementacin cambia no afecta a la
especificacin.
36.- Por qu hace falta un doble puntero en la definicin del tipo listas?
Porque si se inserta el primer elemento cuando la lista est vaca no se modificara. Adems de sta forma
se respeta la especificacin.

37.- Ante la posibilidad de que no se verifiquen las precondiciones de una operacin de un TAD, que
decisiones de diseo puede implementar la operacin?
Lo ideal sera que diese un error. Dependiendo de la gravedad que puede derivar el error al resto de la
aplicacin, recomendara que si fuese alto, dara por concluida la continuidad de la aplicacin y terminara
inminentemente con su ejecucin.

You might also like