Quiz
TEST AyEDA
Crie uma conta grátis para terminar este quiz
Salve seu progresso e veja sua nota final.
Já tem uma conta? Inicie sessão
Perguntas do quiz (81)
1¿Dónde se puede utilizar la clausula friend en el lenguaje C++?
- ASólo funciones.
- BEn C con funciones y en C++ con clases.
- CSólo clases.
- DFunciones y clases.
2En el siguiente código, ¿qué valor tienen las variables antes de ejecutar la sentencia return?
int& min(int &a, int& b) {
return (a<b) ? a : b;
}
int main() {
int i = 1, j = 2;
min(i,j) = 3;
return 0;
}- AError de compilación. No se puede asignar valor a una función.
- Bi = 1, j= 2
- Ci=3, j=2
- Di = 3, j = 3
3¿Qué métodos deben especificarse en toda plantilla (template)?
- ANo hay que especificar ningún método de forma obligatoria.
- BUn constructor de copia y el operador de asignación
- CUn constructor por defecto
- DTodos los constructores, el destructor y el operador de asignación
4Dada la siguiente definición de clases, ¿qué valor se visualiza en la función main() ?
#include <iostream>
class Base {
protected:
int x;
public:
Base() {x = 5;}
virtual int get() const { return 0; }
virtual int get() { return x; }
};
class Derivada: public Base {
protected:
int y;
public:
Derivada() {y=10;}
int get() const { return y;}
};
int main() {
const Base* const ptr = new Derivada;
std::cout << ptr->get();
}- A0
- B5
- C10
- DNinguno. Error de compilación
5Dada la siguiente definición de clases, ¿qué valor se visualiza en la función main() ?
#include <iostream>
class Base {
protected:
int x;
public:
Base() {x = 5;}
virtual int get() const { return 0; }
virtual int get() { return x; }
};
class Derivada: public Base {
protected:
int y;
public:
Derivada() {y=10;}
int get() const { return y;}
};
int main() {
const Base* ptr = new Base;
std::cout << ptr->get();
}- ANinguno. Error de compilación
- B10
- C5
- D0
6Los parámetros al utilizar una plantilla (template) en el lenguaje C++ pueden ser:
- ACualquier clase definida por el programador
- BCualquier tipo de dato o expresión entera constante.
- CCualquier tipo de dato que se pueda resolver en tiempo de ejecución.
- DSólo los tipos básicos del compilador
7En el lenguaje C++ la ocurrencia de una situación excepcional que requiere un tratamiento especial se invoca con la palabra clave:
- Athrow
- Btry
- Cexception
- Dcatch
8Para definir que un miembro de la clase es compartido por todas las instancias de la clase, se utiliza la palabra reservada:
- Ainline
- Bvirtual
- Cstatic
- Dfriend
9El código a inspeccionar para identificar la ocurrencia de una excepción se encierra en un bloque:
- Aexception
- Bcatch
- Cthrow
- Dtry
10Dada la siguiente definición de plantilla (template), ¿cual de los siguientes códigos es correcto para el constructor?
template<class T, int N>
class miVector {
private:
T v[N];
public:
miVector(int n);
};- Atemplate<class T, int N> miVector<T,N>::miVector(int n=N) { v = new T[n];}
- Btemplate<class T, int N> miVector(int n=N) { v = new T[N];}
- Ctemplate<class T, int N> miVector<T,N>::miVector(int n) {}
- Dtemplate<class T, int N> mivector::miVector(int n=N) {}
11Las excepciones identificadas en la librería estándar del lenguaje C++ derivan de la clase:
- Aexception
- Bruntime_error
- Clogic_error
- Dbad_exception
12¿A dónde apunta el puntero s1 tras la ejecución de la siguiente instrucción?
const char *s1 = "ABC";
s1++;- ANo se ejecuta. Hay error de compilación
- B'C'
- C'B'
- D'A'
13Para definir que un método de la clase puede expandirse como una macro, se utiliza la palabra reservada:
- Ainline
- Bfriend
- Cstatic
- Dvirtual
14¿A dónde apunta el puntero s1 tras la ejecución de la siguiente instrucción?
char* const s1 = "ABC";
s1++;- A'B'
- BNo se ejecuta. Hay error de compilación
- C'C'
- D'A'
15Dada la siguiente definición de clases, ¿qué valor se visualiza en la función main() ?
#include <iostream>
class Base {
protected:
int x;
public:
Base() {x = 5;}
virtual int get() const { return 0; }
virtual int get() { return x; }
};
class Derivada: public Base {
protected:
int y;
public:
Derivada() {y=10;}
int get() const { return y;}
};
int main() {
Base* const ptr = new Base;
std::cout << ptr->get();
}- ANinguno. Error de compilación
- B5
- C10
- D0
16Al utilizar una plantilla (template), ¿cuándo no es necesario indicar el tipo genérico?
- AEn las plantillas de funciones cuando el tipo genérico se utilice como parámetro de la función y el compilador pueda deducir el tipo sin ambigüedad.
- BNunca hay que especificar los tipos al utilizar una plantilla.
- CSiempre hay que especificar el tipo de los parámetro de una plantilla.
- DÚnicamente en las plantillas de clases cuando el compilador pueda deducir el tipo genérico sin ambigüedad.
17En el siguiente código, ¿qué valor tiene la variable arg tras la ejecución de la función f()?
void f(int param) {
param = 10;
}
int main() {
int arg = 1;
f(arg);
}- AError de compilación
- BIndefinido. Depende del compilador
- C1
- D10
18Si se realiza herencia public, los miembros private de la clase base:
- ASon protected en la clase derivada
- BSon public en la clase derivada
- CNo son accesibles en la clase derivada
- DSon private en la clase derivada
19Para identificar la ocurrencia de diferentes situaciones excepcionales en un mismo bloque de código, es necesario:
- APara cada tipo de excepción, especificar un bloque catch con un parámetro del tipo de excepción a manejar.
- Banidar varios bloques try
- CEspecificar un bloque catch con varios parámetros, uno por cada tipo de excepción.
- DLanzar la sentencia throw con varios parámetros, uno por cada tipo de excepción.
20Dada la siguiente definición de clases, ¿qué valor se visualiza en la función main() ?
#include <iostream>
class Base {
protected:
int x;
public:
Base() {x = 5;}
virtual int get() const { return 0; }
virtual int get() { return x; }
};
class Derivada: public Base {
protected:
int y;
public:
Derivada() {y=10;}
int get() const { return y;}
};
int main() {
Base *ptr = new Derivada;
std::cout << ptr->get();
}- A5
- BNinguno. Error de compilación
- C0
- D10
21En el siguiente código, ¿qué valor tiene la variable arg tras la ejecución de la función f()?
void f(int ¶m) {
param = 10;
}
int main() {
int arg = 1;
f(&arg);
}- A1
- B10
- CError en tiempo de ejecución
- DError de compilación
22¿Cual es el resultado de la ejecución de la siguiente instrucción?
const char* const s1 = "ABC";
*s1 = 'X';
cout << s1;- ANo se ejecuta. Hay error de compilación
- BXBC
- CX
- DABC
23Dada la siguiente definición de plantilla (template), ¿cual de los siguientes usos de la plantilla es la correcta?
template<class T, int N>
class miVector {
private:
T v[N];
public:
miVector(int n);
};- Aint N = 5;
miVector<int,N> v(N); - Bint N = 5;
miVector<int,5> v(N); - Cconst int N = 5;
miVector<int,N> v; - Dint N = 5;
miVector<int,N> v(5);
- Aint N = 5;
24El código a ejecutar para manejar la ocurrencia de una excepción se encierra en un bloque:
- Aexception
- Bcatch
- Ctry
- Dthrow
25Declarar un miembro protected en un clase implica:
- AQue tiene la misma visibilidad que si fuese public y las clases derivadas lo heredan
- BQue tiene la misma visibilidad que se fuese private y las clases derivadas lo heredan
- CQue tiene la misma visibilidad que si fuese private y las clases derivadas no lo heredan
- DQue tiene la misma visibilidad que si fuese public y las clases derivadas no lo heredan
26Cuál de las siguientes afirmaciones es correcta en una tabla Hash o tabla de dispersión.
- ANo se puede dar una colisión sin desbordamiento.
- BAl insertar un valor solo se puede producir un desbordamiento.
- CPueden aparecer sinónimos sin producir colisión.
- DHay tablas donde nunca se puede producir un desbordamiento.
27La búsqueda traspuesta pretende que:
- Alos elementos de la secuencia se vayan ordenando de menos buscado a más buscado.
- Blos elementos de la secuencia se vayan ordenando de mayor a menor.
- Clos elementos de la secuencia se vayan ordenando de más buscado a menos buscado.
- Del último elemento buscado quede en la primera posición.
28Cuál de las siguientes afirmaciones es correcta en una tabla Hash o tabla de dispersión.
- APueden aparecer sinónimos sin producir colisión.
- BNo hay tablas donde nunca se puede producir un desbordamiento.
- CAl insertar un valor sólo se puede producir un desbordamiento.
- DSe puede dar una colisión sin desbordamiento.
29En las tablas de dispersión o tabla Hash
- APuede haber desbordamiento sin colisión.
- BLa colisión y el desbordamiento no se dan nunca a la vez.
- CPuede haber colisión sin desbordamiento.
- DLa colisión y el desbordamiento se dan siempre a la vez.
30En una tabla de dispersión:
- ASe puede producir un desbordamiento sin colisión
- BSiempre que se produce una colisión se produce un desbordamiento
- CNo puede producirse una colisión sin sinónimos
- DSi se produce un desbordamiento no se produce una colisión.
31Para realizar una búsqueda binaria los valores de los elementos de la secuencia:
- Atienen que ser números primos.
- Btienen que estar ordenados.
- Ctienen que ser positivos.
- Dtienen que ser enteros.
32Cual de las siguientes afirmaciones sobre la búsqueda secuencial es cierta.
- Asólo se puede aplicar si la secuencia está ordenada.
- Bes menos eficiente que la búsqueda binaria.
- Csólo se puede aplicar si el tamaño de la secuencia es par.
- Dsólo se puede aplicar si se conoce el tamaño de la secuencia.
33En la estrategia de búsqueda con moviendo al frente se pretende que:
- Ael último elemento buscado quede en la primera posición de la secuencia.
- BEl elemento menos buscado quede en la primera posición de la secuenca.
- Clos elementos de la secuencia se vayan ordenando de menos buscado a más buscado.
- Dlos elementos de la secuencia se vayan ordenando de mayor a menor.
34Cual de las siguientes afirmaciones sobre la búsqueda binaria es cierta.
- Asólo se puede aplicar si la secuencia está ordenada.
- Bes casi tan eficiente como la búsqueda secuencial.
- Csólo se puede aplicar si el tamaño de la secuencia es par.
- Des menos eficiente que la búsqueda secuencial.
35Las tablas de dispersión se pueden implementar:
- Acon una lista de arrays o lista de listas.
- Bcon un array de listas pero no con un array de arrays.
- Ccon un array de arrays pero no con un array de listas.
- Dcon un array de listas o array de arrays.
36Una búsqueda secuencial primaria sobre una secuencia de números,
- Aes más rápida si los elementos más buscados están al principio de la secuencia.
- Bes más rápida si los elementos son enteros.
- Ces más rápida si los elementos están ordenados.
- Des más rápida si los elementos son positivos.
37Las tablas de dispersión se pueden implementar:
- Acon una lista de arrays pero no con un array de listas.
- Bcon un array de listas pero no con un array de arrays.
- Ccon una lista de arrays pero no con una lista de listas.
- Dcon un array de listas pero no con una lista de arrays.
38Cuál de los siguientes elementos influye más en el tiempo medio empleado en una búsqueda en una tabla Hash o tabla de dispersión.
- Ael factor de carga.
- Bel tamaño de los bloques.
- Cla densidad de carga.
- Del tamaño de la tabla.
39En la búsqueda traspuesta se pretende que:
- Alos elementos de la secuencia se vayan ordenando de menos buscado a más buscado.
- Blos elementos de la secuencia se vayan ordenando de mayor a menor.
- Cel último elemento buscado quede en la primera posición.
- Dlos elementos de la secuencia se vayan ordenando de más buscado a menos buscado.
40En una tabla de dispersión:
- ASiempre que se produce una colisión se produce un desbordamiento
- BPuede producirse una colisión sin sinónimos
- CNo se puede producir un desbordamiento sin colisión
- DSi se produce un desbordamiento no se produce una colisión.
41¿Cuándo se usan los métodos de exploración en una tabla de dispersión?
- ACuando hay desbordamiento pero no colisión
- BCuando hay colisión pero no desbordamiento
- CCuando hay colisión y desbordamiento
- DCuando no hay colisión ni desbordamiento
42Las operaciones más habituales en las tablas de dispersión son:
- ALa inserción y la ordenación
- BLa búsqueda y la inserción
- CLa búsqueda y eliminación
- DLa inserción y la eliminación
43Cual de las siguientes afirmaciones sobre la búsqueda binaria es cierta.
- Asólo se puede aplicar si el tamaño de la secuencia es impar.
- Bes mucho más eficiente que la búsqueda secuencial.
- Ces menos eficiente que la búsqueda secuencial.
- Dno se puede aplicar si la secuencia está ordenada.
44Los métodos de ordenación por descomposición más eficientes tienen complejidad:
- AO(n^{1,3})
- BO( n )
- CO(n^2)
- DO(n log n)
45Dado el siguiente array:
[5, 2, 4, 1, 3]
Después de dos iteraciones de un método de ordenación el array se encuentra así:
[2, 4, 5, 1, 3]
¿Qué algoritmo de ordenación se está utilizando?- AInserción
- BSelección
- CBurbuja
- DHeapSort
46Cual de los siguientes es un método de ordenación por descomposición?
- Ael método de la sacudida.
- Bel método de ordenación por inserción.
- Cel método de ordenación por intercambio.
- Del método de ordenación por mezcla.
47El algoritmo de ordenación que consiste en recorrer repetidamente el vector, comparando elementos adyacentes de dos en dos e intercambiándolos de posición si están en el orden incorrecto, se denomina:
- ABurbuja
- BHeapSort
- CQuickSort
- DInserción
48Dado el siguiente vector:
[6, 22, 11, 16, 27, 3, 5]
Después de tres iteraciones de un método de ordenación el array se encuentra así:
[3, 5, 6, 11, 22, 16, 27]
¿Qué algoritmo se está utilizando?- ABurbuja
- BSelección
- CPuede ser cualquiera de los tres
- DInserción
49Dado el siguiente vector desordenado:
[19, 1, 9, 7, 3, 10, 13, 15, 8, 12]
Después de tres iteraciones del método de ordenación burbuja, ¿cuál es el orden en el vector?- A[1, 9, 19, 7, 3, 10, 13, 15, 8, 12]
- B[1, 3, 7, 9, 10, 8, 12, 13, 15, 19]
- C[1, 7, 3, 9, 10, 13, 8, 12, 15, 19]
- D[1, 3, 7, 19, 8, 9, 10, 12, 13, 15]
50Dado el siguiente array:
[47, 3, 21, 32, 56, 92]
Después de dos iteraciones de un método de ordenación el array se encuentra así:
[3, 21, 47, 32, 56, 92]
¿Qué algoritmo de ordenación se está utilizando?- AInserción
- BPuede ser cualquiera de los tres
- CSelección
- DBurbuja
51El método de ordenación por mezcla para todas las secuencias de tamaño 100.
- AAlcanza siempre el mismo nivel de recursividad máximo.
- BRealiza siempre el mismo número de movimientos que comparaciones de clave.
- CHace siempre el mismo número de movimientos de elementos de la secuencia.
- DHace siempre el mismo número de comparaciones entre claves.
52Los métodos usuales de ordenación ordenan de menor a mayor pero:
- AAlgunos no se pueden adaptar para ordenar de mayor a menor.
- BSe pueden modificar fácilmente para que ordenen de mayor a menor y son igual de rápidos
- CSolo sirven para ordenar de menor a mayor.
- DSe pueden modificar para que ordenen de mayor a menor pero son mucho más lentos.
53Dado el siguiente vector desordenado:
[15, 5, 4, 18, 12, 19, 14, 10, 8, 20]
Después de tres iteraciones del método de inserción, ¿cuál es el orden en el vector?- A[15, 5, 4, 10, 12, 8, 14, 18, 19, 20]
- B[4, 5, 12, 15, 14, 10, 8, 18, 19, 20]
- C[4, 5, 15, 18, 12, 19, 14, 10, 8, 20]
- D[15, 5, 4, 18, 12, 19, 14, 8, 10, 20]
54En la implementación propuesta por Floyd del método de ordenación HeapSort.
- ALos elementos que se mueven dentro del Heap sólo se suben.
- BLos elementos que se mueven dentro del Heap se suben unas veces se bajan otras.
- CLos elementos que se mueven dentro del Heap sólo se bajan.
- DLos elementos que se mueven dentro del Heap se mueven en el mismo nivel.
55El proceso consiste en dividir un vector en dos mitades y cada una de las mitades en otras mitades hasta llegar a un solo elemento. Después comenza a unir las mitades en sentido inverso hasta llegar a un vector completamente ordenado. ¿Cuál es el método de ordenación?
- AQuickSort
- BMergeSort
- CShellSort
- DBurbuja
56El mejor método de ordenación cuando sólo un elemento está mal colocado es:
- AEl QuickSort con el pivote igual al elemento mal colocado.
- BEl de selección con Heap o HeapSort
- CEl de la sacudida
- DEl de inserción con búsqueda binaria
57La sucesión de incrementos a utilizar en el método de ordenación por incrementos decrecientes tiene que cumplir las siguientes condiciones:
- AUsar sólo números impares.
- BUsar sólo números primos.
- CTerminar en uno.
- DDecrecer siempre en la misma cantidad.
58Son los métodos de ordenación en los que los valores a ordenar están en memoria principal, por lo que se asume que el tiempo que se requiere para acceder cualquier elemento es el mismo.
- AInternos
- BEstables
- CDirectos
- DExternos
59El pivote del método de ordenación QuickSort
- ANo puede ser mayor que los valores de todos los elementos de la secuencia
- BNo puede ser un número entero.
- CTiene que ser un número positivo.
- DNo puede coincidir con ningún valor de la secuencia a ordenar.
60Es un método de ordenación por descomposición:
- Ael método de Quick Sort.
- Bel método de Shake Sort.
- Cel método de Shell Sort.
- Del método de BinSort.
61¿Qué método de ordenación se está aplicando si se obtiene la siguiente traza de ejecución?
345, 721, 425, 572, 836, 467, 672, 194, 365, 236, 891, 761, 431, 834,247, 529, 216, 389
721, 891, 431, 572, 672, 194, 834, 345, 425, 365, 836, 236, 746, 216, 467, 247, 529, 389
216, 721, 425, 529, 431, 834, 836, 236, 345, 746, 247, 365, 467, 572, 672, 389, 891,194
194, 216, 236, 247, 345, 365, 389, 425, 431, 467, 529, 572, 672, 721, 746, 834, 836, 891- ABurbuja
- BRadixSort
- CMergeSort
- DSelección
62Los niveles de recursividad máximo que alcanzan los métodos de ordenación por descomposición QuickSort y MergeSort con distintas secuencias de tamaño 1000
- AEs menor con el QuickSort que con el MergeSort.
- BEs mayor con el QuickSort que con el MergeSort.
- CDependiendo de la secuencia es unas veces mayor con uno y otras con el otro.
- DEs siempre el mismo con ambos métodos.
63Los métodos de ordenación más eficientes tienen complejidad:
- AO( n )
- BO(n log n)
- CO(n^{1,3})
- DO(n^2)
64El postorden de un árbol AVL puede ser:
- A4 1 2 3 6 5.
- B1 3 2 4 6 5.
- C1 3 2 6 5 4.
- D2 1 4 3 6 5.
65El recorrido en postorden de los nodos de un árbol AVL puede ser:
- A1 5 4 3 2.
- B2 3 1 5 4.
- C1 4 5 3 2.
- D1 2 5 4 3.
66En árboles AVL no vacío tiene que verificarse que:
- Aexiste al menos una hoja.
- Bexiste al menos un nodo que no es hoja.
- Cal menos la mitad de los nodos son hojas.
- Dal menos la mitad de los nodos no son hojas
67Al eliminar un nodo en un árbol AVL.
- ANo se produce ningún desbalanceo en los descendientes de su hermano.
- BNo se produce desbalanceo en ninguno de sus descendientes.
- CNo se produce ningún desbalanceo.
- DNo se produce desbalanceo en ninguno de sus ascendientes.
68El recorrido en postorden de los nodos de un árbol AVL puede ser:
- A2 3 1 5 4.
- B1 5 4 3 2.
- C1 2 5 4 3.
- D1 4 5 3 2.
69En árboles AVL tiene que verificarse que:
- Ala diferencia de altura entre los subárboles derecho e izquierdo del árbol es 0, -1 o +1.
- Bla diferencia entre el número de nodos de los subárboles derecho e izquierdo es 0, -1 o +1.
- Cla diferencia entre el número de nodos de los dos subárboles de cada rama es 0, -1 o +1.
- Dla diferencia de altura entre el subárbol derecho e izquierdo de cada rama es 0, -1 o +1.
70En relación a los árboles binarios:
- ATodos los nodos tienen siempre dos descendientes.
- BTodas los nodos tienen descendientes.
- CLos árboles binarios pueden ser vacíos.
- DTodos los nodos tienen un único antecesor.
71En árboles AVL con más de dos nodos tiene que verificarse que:
- Aal menos la mitad de los nodos son interiores.
- Bexiste más de un nodo que no es hoja.
- Cal menos la mitad de los nodos son hojas.
- Dexisten más de una hoja.
72El preorden de un árbol AVL puede ser:
- A5 2 3 6 1 4.
- B2 3 4 5 6 1.
- C4 2 1 3 5 6.
- D4 1 2 3 6 5.
73En un árbol binario:
- ACada nodo tiene como máximo grado 2.
- BCada nodo tiene como máximo grado 1.
- CCada nodo tiene como mínimo grado 1.
- DCada nodo tiene como mínimo grado 2.
74La condición de equilibrio en árboles AVL definida de forma recursiva es
- Ala diferencia entre el número de nodos de los dos subárboles debe ser a lo sumo una unidad.
- Bel número de nodos del árbol izquierdo debe ser a lo sumo uno más que el derecho.
- Cla diferencia entre la altura de un nodo y cualquiera de sus hijos es 1.
- Dla diferencia de altura entre el subárbol derecho e izquierdo es a los sumo una unidad.
75En un árbol AVL de más de 5 de nodos ocurre siempre que:
- Ael elemento de menor valor de todo el árbol está en el subárbol izquierdo.
- Bla diferencia del número de nodos en los dos sub-árboles es menor o igual a uno.
- Clos dos subárboles tienen que tener la misma profundidad o altura.
- Dal menos la mitad de los nodos tiene dos hijos
76El recorrido en postorden de los nodos de un árbol AVL puede ser:
- A1 2 4 5 3.
- B2 3 1 5 4.
- C1 2 3 5 4.
- D4 3 1 2 5.
77La altura de un árbol binario:
- AEs del orden del logaritmo del número de nodos.
- BEquivale al número total de nodos del árbol binario.
- CEquivale al número de nodos hojas del árbol binario.
- DEquivale a la profundidad del árbol binario.
78El recorrido en preorden de los nodos de un árbol AVL puede ser:
- A2 3 1 5 4.
- B3 2 1 5 4.
- C4 3 1 2 5.
- D1 2 4 5 3.
79En un árbol AVL de más de 5 de nodos ocurre siempre que:
- Alos dos subárboles tienen que tener la misma profundidad o altura.
- Bel elemento de menor valor de todo el árbol está en el subárbol izquierdo.
- Cla diferencia del número de nodos en los dos sub-árboles es menor o igual a uno.
- Dal menos la mitad de los nodos tiene dos hijos
80El recorrido en in-orden de los nodos de un árbol AVL puede ser:
- A1 2 3 4 5.
- B2 3 1 5 4.
- C1 2 4 5 3.
- D3 2 1 5 4.
81En un árbol AVL de un número impar y mayor que 3 de nodos:
- Alos dos subárboles tienen que tener el mismo número de nodos.
- Blos nodos que no son hojas tienen dos hijos
- Clos dos subárboles tienen que tener la misma profundidad.
- Del elemento de mayor valor está siempre en el subárbol derecho.
Informações
- Descrição
- Quiz sobre TEST AyEDA, criado por Brian Santana em 28-05-2018.
- Autor
- Brian Santana
- Idioma
- Español
- Visualizações
- 34
- Avaliação
- Ainda sem avaliações Avalie este quiz