retro act 9_quiz 2 estructuradedatos

9
Act 9: Quiz 2 Revisión del intento 1 Comenzado el martes, 5 de noviembre de 2013, 17:04 Completado el martes, 5 de noviembre de 2013, 17:53 Tiempo empleado 49 minutos 50 segundos Puntos 14.5/15 Calificación 16.4 de un máximo de 17 (97%) Question 1 Puntos: 1 Un estructura de datos tipo cola puede ser implementada a través de arreglos o listas ligadas. A continuación se presenta la estructura que se utiliza para implementar una cola por medio de una lista ligada en la cual se almacenan placas de vehículos: struct cola { char placa[6]; struct cola sig; } *CAB=NULL,*P, *Q; Identifique cuál es el problema en la definición de la estructura: Seleccione una respuesta. a. La placa debería dividirse en parte de letras y parte numérica b. El puntero CAB nunca puede inicializarse en NULL c. Error en la definición del puntero que sirve de enlace al siguiente elemento de la lista d. Los punteros CAB, P y Q sobran pues nunca se usan Correcto Puntos para este envío: 1/1. Question 2 Puntos: 1 La pregunta que encontrará a continuación consta de una afirmación y una razón unidas por la palabra PORQUE. Usted debe juzgar tanto el grado de verdad o falsedad de cada una de ellas como la relación existente entre las mismas. __________________

Upload: nicole-walker

Post on 23-May-2017

217 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Retro Act 9_Quiz 2 EstructuradeDatos

Act 9: Quiz 2

Revisión del intento 1

Comenzado el martes, 5 de noviembre de 2013, 17:04

Completado el martes, 5 de noviembre de 2013, 17:53

Tiempo empleado 49 minutos 50 segundos

Puntos 14.5/15

Calificación 16.4 de un máximo de 17 (97%)

Question 1

Puntos: 1

Un estructura de datos tipo cola puede ser implementada a través de arreglos o listas ligadas. A continuación

se presenta la estructura que se utiliza para implementar una cola por medio de una lista ligada en la cual

se almacenan placas de vehículos:

struct cola

{

char placa[6];

struct cola sig;

} *CAB=NULL,*P, *Q;

Identifique cuál es el problema en la definición de la estructura:

Seleccione una respuesta.

a. La placa debería dividirse en parte de letras y parte numérica

b. El puntero CAB nunca puede inicializarse en NULL

c. Error en la definición del puntero que sirve de enlace al siguiente elemento de la

lista

d. Los punteros CAB, P y Q sobran pues nunca se usan

Correcto

Puntos para este envío: 1/1.

Question 2

Puntos: 1

La pregunta que encontrará a continuación consta de una afirmación y una razón unidas por

la palabra PORQUE. Usted debe juzgar tanto el grado de verdad o falsedad de cada una de

ellas como la relación existente entre las mismas.

__________________

Page 2: Retro Act 9_Quiz 2 EstructuradeDatos

En la implementación de las estructuras dinámicas lineales tipo cola se usa Un puntero del mismo tipo de la

estructura que es utilizado como enlace al siguiente elemento de la cola, al igual que una lista enlazada

PORQUE Un puntero es una variable que en su contenido guarda la dirección de otra variable a la que

apunta, además, las variables de tipo puntero son utilizadas para la implementación de estructuras

dinámicas porque pueden ser creadas y liberadas en tiempo de ejecución.

Seleccione una respuesta.

a. La afirmación y la razón y la razón son VERDADERAS, pero la razón NO es una

explicación CORRECTA de la afirmación.

b. La afirmación y la razón son VERDADERAS y la razón es una explicación

CORRECTA de la afirmación.

c. La afirmación es FALSA, pero la razón es una proposición VERDADERA.

d. La afirmación es VERDADERA, pero la razón es una proposición FALSA.

La afirmación y la razón y la razón son VERDADERAS, pero la razón NO es una

explicación CORRECTA de la afirmación.

Correcto

Puntos para este envío: 1/1.

Question 3

Puntos: 1

La siguiente función hace parte de la implementación de una cola :

void insertar(void)

{

AUX=(struct cola *)malloc(sizeof(struct cola));

clrscr();

cout<<"dato: ";

gets(AUX->dato);

AUX->sig=NULL;

if (FINAL==NULL)

FINAL=CABEZA=AUX;

else

{

FINAL->sig=AUX;

Page 3: Retro Act 9_Quiz 2 EstructuradeDatos

FINAL=AUX;

}

}

Esta función permite:

Seleccione una respuesta.

a. Extraer un elemento de una cola

b. Añadir elemento en una cola vacía o no vacía

c. Visualizar los elementos de una cola

d. Modificar los elementos de una cola

Correcto

Puntos para este envío: 1/1.

Question 4

Puntos: 1

Analice el siguiente código, haga una prueba de escritorio y determine entre las opciones de

respuesta, el valor que toman las tres variables (*x,**y,a)al finalizar el programa en su

salida en pantalla.

void main(){

int a=10,*x,**y;

x = &a;

*x = 20;

y = &x ;

**y += *x;

cout << "El valor de a es:"<<a;

cout << "\nEl valor de *x es:"<<*x;

cout <<"\nEl valor de **y es:"<<**y;

}</a;

Seleccione una respuesta.

a. La variable a muestra el valor 10, la

variable *x y la variable **y muestran solo

muestran direcciones de memoria

b. Las tres variables muestran el valor de 40

Muy bien su respuesta es correcta, las

tres variables tienen el mismo valor de

40 en la salida en pantalla.

c. La variable a muestra el valor 10, la

variable *x y la variable **y muestran el

valor de 20

d. Las tres variables muestran el valor de 30

Page 4: Retro Act 9_Quiz 2 EstructuradeDatos

Correcto

Puntos para este envío: 1/1.

Question 5

Puntos: 1

El siguiente fragmento de código fuente, corresponde a una parte de la implementación de

una pila, Sabiendo que las variables inicio y c son apuntadores e inicio es un miembro de la

estructura; determine cuál de las siguientes opciones es la operación que realiza la siguiente

función.

void Función (void)

{

inicio=(struct pila *)malloc(sizeof(struct pila));

clrscr(); cout<<"Digite el dato de tipo ENTERO: ");

cin>>inicio->numero;

if (c==NULL) { c=inicio;

inicio->sig=NULL;

}

else

{

inicio->sig=c;

c=inicio;

}

}

Seleccione una respuesta.

a. Visualizar datos de la pila

b. Insertar datos a la pila

c. Recorrer la pila

d. Eliminar datos de la pila

Correcto

Puntos para este envío: 1/1.

Question 6

Puntos: 1

Seleccione de las siguientes opciones la que NO corresponde a las operaciones que

normalmente se pueden realizar con las pilas.

Seleccione una respuesta.

a. Eliminar el último elemento insertado a la pila

b. Insertar un elemento al final de la pila

c. Buscar un elemento de la pila

d. Eliminar un elemento de la mitad de la pila

Correcto

Puntos para este envío: 1/1.

Page 5: Retro Act 9_Quiz 2 EstructuradeDatos

Question 7

Puntos: 1

Las estructuras de datos lineales tipo Pila se pueden representar en memoria por medio de:

Seleccione una respuesta.

a. Arrays

b. Listas Enlazadas

c. Arrays y lista doblemente enlazadas

d. Arrays y Listas enlazadas

Correcto

Puntos para este envío: 1/1.

Question 8

Puntos: 1

Las Colas hacen parte de las estructuras de datos lineales, también recibe el nombre de

Listas FIFO, de igual manera son identificadas como una lista lineal condicionada al igual

que las pilas, la diferencia entre ellas radica en el modo de insertar y eliminar sus elementos

ya que en una cola las inserciones y eliminaciones se realizan de la siguiente manera.

Seleccione al menos una respuesta.

a. Las eliminaciones de la cola se realizan al principio de la lista (por el frente) es

decir el primero en ingresar es el primero en salir

b. Las eliminaciones de una cola no vacía se realizan por el tope (al final) es decir

ultimo en entrar primero en salir

c. Las inserciones se realizan por el tope (al final de la cola) es decir por el mismo

extremo de las eliminaciones

d. Las inserciones de una cola no vacía se realizan al final de la lista

Su respuesta es parcialmente correcta, en una cola las inserciones y eliminaciones se

realizan por extremos diferentes

Parcialmente correcto

Puntos para este envío: 0.5/1.

Question 9

Puntos: 1

El siguiente fragmento de código hace referencia a una función utilizada en la

implementación de una estructura de datos tipo pila.

void funcion(void) {

primero=(struct pila *)malloc(sizeof(struct pila));

cout<<"Digite Nombre de Computadora o Equipo:";

cin>>primero->equipo;

if(x==NULL)

Page 6: Retro Act 9_Quiz 2 EstructuradeDatos

{

x=primero;

primero->sig=NULL;

}

else

{

primero->sig=x;

x=primero;

}

}

Realice un análisis del código propuesto e identifique entre las siguientes opciones de

operaciones que se pueden realizar con las pilas a cual de ellas corresponde. Puede hacer

uso de una prueba de escritorio.

Seleccione una respuesta.

a. La función permite visualizar los elementos de la pila

b. La función permite eliminar los elementos de la pila

c. La función permite insertar elementos a la pila

d. La función permite localizar elementos de la pila

Muy bien su respuesta es correcta La función permite insertar elementos a la pila

Correcto

Puntos para este envío: 1/1.

Question 10

Puntos: 1

En la siguiente instrucción de código se declara una estructura para la implementación de

una pila que almacenará números de tipo entero.

struct pila{

int numero;

struct pila *sig;

}*inicio,*c;

A continuación se presenta el código de la definición de la función insertar, la cual permite

insertar datos a la pila.

Page 7: Retro Act 9_Quiz 2 EstructuradeDatos

void insertar (void){

inicio=new struct pila;

cout<<"Digite el dato de tipo ENTERO: ";

cin>>inicio->numero;

if (c==NULL)

{

c=inicio;

inicio->sig=NULL;

}

else

{

inicio->sig=c;

c=inicio;

}

}

Si se quiere reemplazar el operador new por la función malloc()para la gestión dinámica de

memoria ¿Cuál sería la instrucción correcta?.

Seleccione una respuesta.

a. inicio=(int pila

*)malloc(sizeof(int));

b. inicio=(struct pila

*)malloc(sizeof(struct pila));

Muy bien su respuesta es correcta, porque la función

malloc() recibe como argumento a struct pila como el

tipo del objeto que se va asignar y devuelve un

apuntador a un objeto del mismo tipo, es decir de struct

pila.

c. inicio=(struct pila

*)malloc(sizeof(int pila));

d. inicio=malloc() struct

pila;

Correcto

Puntos para este envío: 1/1.

Question 11

Puntos: 1

Las estructuras de datos dinámicas permiten asignar memoria en tiempo de ejecución de

acuerdo a lo anterior ¿Cuál es el límite de memoria dinámica que se puede asignar a un

objeto de un programa que se encuentre en ejecución?.

Seleccione una respuesta.

a. Depende del compilador que amaesté

utilizando en la compilación del progr

b. Depende del tipo de dato del objeto que

haga la reserva de memoria

c. Depende del operador de C++ o de la

función de C. que esté implementando en

Page 8: Retro Act 9_Quiz 2 EstructuradeDatos

el programa para la gestión de memoria

d. El limite para la asignación dinámica

puede ser tan grande como la cantidad de

memoria física de su computadora

Muy bien su respuesta es correcta, en una

estructura de datos la memoria se asigna

dinámicamente tanto como sea necesario.

Correcto

Puntos para este envío: 1/1.

Question 12

Puntos: 1

Las estructuras de datos lineales tipo pila permiten la interacción y el manejo de datos de

diferentes tipos, esto hace que con la información almacenada en las estructuras se pueda

consultar, insertar, visualizar, y eliminar datos.

De acuerdo a lo anterior podemos identificar las operaciones que se permiten realizar con

las estructuras de datos tipo pila.

Seleccione una respuesta.

a. Eliminar el último elemento ingresado a una pila de 5 elementos

b. Eliminar el segundo elemento ingresado de una pila que tiene 5 elementos

c. Eliminar el primer elemento ingresado a una pila de 5 elementos

d. Eliminar cualquier elemento de los 5 que se encuentre en la pila

Correcto

Puntos para este envío: 1/1.

Question 13

Puntos: 1

Una Pila es considerada como una estructura de datos lineal de tipo:

Seleccione una respuesta.

a. FIFO

b. LIFO/FIFO

c. LIFO Correcto

d. FIFO/FIFO

Correcto

Puntos para este envío: 1/1.

Question 14

Puntos: 1

Las listas circulares presentan algunas ventajas respecto de las listas

enlazadas simples una de ellas es que cada nodo de una lista circular es accesible desde

cualquier otro nodo de ella. Es decir, dado un nodo se puede recorrer toda la lista completa.

Sin embargo se pueden presentar algunos inconvenientes en su implementación.

De las siguientes opciones seleccione la que hace referencia a la dificultad que puede

presentar su uso.

Page 9: Retro Act 9_Quiz 2 EstructuradeDatos

Seleccione una respuesta.

a. Se puede presentar dificultad en las operaciones de Inserrción y busqueda de un

nodo

b. Una lista enlazada de forma simple sólo es posible recorrerla por completo si se

parte de su primer nodo

c. Las operaciones de concatenación y división de listas no se pueden realizar con

listas circulares

d. Se pueden producir lazos o bucles infinitos

Correcto

Puntos para este envío: 1/1.

Question 15

Puntos: 1

Las estructuras de datos se clasifican en estructuras lineales y estructuras no lineales, de

acuerdo a lo anterior indique ¿Cual de las siguientes opciones no es considerada una

estructura de datos lineal?

Seleccione una respuesta.

a. Lista

b. Grafo Muy bien su respuesta es correcta, los grafos son estructura

de datos no lineales.

c. Lista doblemente

enlazada

d. Pila

Correcto