Snuc
Quiz by , created more than 1 year ago

Test con la recopilación de preguntas de las unidades 9 y 10 de Fundamentos de la Programación

87
1
0
Snuc
Created by Snuc over 9 years ago
Close

FdP. Unidades 9 y 10

Question 1 of 38

1

¿Qué ocurre en la ejecución del siguiente código en C++?
int *num = new int;
*num=5;

Select one of the following:

  • Se declara un puntero y se le asigna un valor

  • Se declara un puntero y se le asigna la dirección de memoria "5"

  • Ninguna de las otras respuestas

  • Se declara un puntero asignándole una posición de memoria. Después, se asigna un contenido a dicha posición de memoria

Explanation

Question 2 of 38

1

¿Se puede generar un número aleatorio en C++?

Select one of the following:

  • Sí, con una librería de C++

  • Ninguna de las otras respuestas

  • No

  • Depende del ingenio del programador, dado que se debe programar manualmente

Explanation

Question 3 of 38

1

¿Se puede deshacer la definición de un nombre simbólico de una constante?

Select one of the following:

  • Depende de la implementación del preprocesador de C++

  • No

  • Si

  • Depende de la implementación del compilador de C++

Explanation

Question 4 of 38

1

¿Cuál es el tipo de datos más adecuado para representar las características de un coche en C++? Algunas de las características de un coche pueden ser: marca, longitud, anchura y color.

Select one of the following:

  • Una estructura (también llamada registro)

  • Un array con un tamaño igual al número de características

  • Ninguna de las otras opciones es adecuada

  • Varias variables de tipos básicos (i.e. float, string, etc)

Explanation

Question 5 of 38

1

¿Cuáles son las diferencias entre "#if" e "if" en C++?
A) La primera es una directiva al preprocesador, mientras que la segunda es una palabra reservada para la estructuras condicionales.
B) Sólo la primera se trata en la fase de preprocesado
C) Sólo "if" puede usar variables en la expresión que evalúa
D) Sólo "#if" puede usar nombres simbólicos de constantes en la definición

Select one of the following:

  • Sólo A, B y C

  • Ninguna de las otras propuestas

  • Sólo A y B

  • A, B, C y D

Explanation

Question 6 of 38

1

¿Cuánto es el valor de "soluciones[2]" después de ejecutarse el siguiente código en C++?
char soluciones[5]={'a','b','a',b','c'};

Select one of the following:

  • Depende del compilador de C++ en lo referente al tratamiento de vectores

  • 'a'

  • Error porque la declaración es incorrecta

  • 'b'

Explanation

Question 7 of 38

1

¿Cuáles de los siguientes códigos los tratará el preprocesador de C++?

CÓDIGO A
#define ACELARACION_GRAVEDAD 9.8

CÓDIGO B
float ACELARACIÓN_GRAVEDAD=9.8;

Select one of the following:

  • Sólo B

  • Sólo A

  • Ninguno de los dos

  • A y B

Explanation

Question 8 of 38

1

¿Cuál es el resultado de aplicar el preprocesador de C++ a la siguiente instrucción con el siguiente macro?

MACRO
#define cubo(x) = x*x*x

INSTRUCCIÓN
z = cubo(2+1);

Select one of the following:

  • z=(2+1)*(2+1)*(2+1);

  • z=2+1*2+1*2+1;

  • z=27;

  • z=7;

Explanation

Question 9 of 38

1

¿Cómo se puede acceder al peso de un gato según la siguiente definición de tipo y la siguiente variable en C++?

DEFINICIÓN DEL TIPO
typedef struct{
______char nombre [64];
______float peso;
} Gato
DECLARACIÓN DE LA VARIABLE
Gato *gatoTonet = new Gato;

Select one of the following:

  • Ninguna de las otras respuestas

  • gatoTonet.peso

  • (&gatoTonet).peso

  • gatoTonet->peso

Explanation

Question 10 of 38

1

¿Se puede evaluar si un letra es mayúscula en C++? ¿y si es un signo de puntuación?

Select one of the following:

  • Sí, con una librería de C++

  • No

  • Ninguna de las otras respuestas

  • Depende del ingenio del programador, dado que ambas operaciones se deben programar manualmente.

Explanation

Question 11 of 38

1

¿Qué código es más adecuado y simple para sumar dos vectores de 20 elementos en C++?

A)
z[0]=x[0]+y[0];
z[1]=x[1]+y[1];
z[2]=x[2]+y[2];
...

B)
for (int i=0;i<20;i++){
______z[i]=x[i]+y[i];
}

C)
z=x+y;

Select one of the following:

  • A

  • B

  • C

  • Ninguna de las otras respuestas

Explanation

Question 12 of 38

1

¿Qué ocurre en la ejecución del siguiente código en C++?
int *num;
*num=2;

Select one of the following:

  • Ninguna de las otras respuestas

  • Se declara un puntero y se le asigna un valor

  • Se produce un error dado que no se ha asignado memoria al puntero

  • Se declara un puntero y se le asigna la dirección de memoria "2"

Explanation

Question 13 of 38

1

¿Cuál es el código resultante de aplicar el preprocesador de C++ al siguiente código?

CÓDIGO ANTERIOR AL PREPROCESADO
#define ACELARACION_GRAVEDAD 9.8
...
v = v + ACELERACION_GRAVEDAD * t;

CÓDIGO A
float ACELERACION_GRAVEDAD=9.8;
...
v = v + ACELERACION_GRAVEDAD * t;

CÓDIGO B
v = v + 9.8 * t;

CÓDIGO C;
#define ACELARACION_GRAVEDAD 9.8
...
v = v + ACELERACION_GRAVEDAD * t;

Select one of the following:

  • Código B

  • Código A

  • Código C

  • Código A o B, dependiendo de la implementación del preprocesador de C++ que se use.

Explanation

Question 14 of 38

1

¿Qué ofrecen las librerías de C++?
A) Herramientas para que el programador pueda usar, e.g. tratamiento de la entrada/salida y cadenas de caracteres.
B) Optimización de la eficiencia del código, e.g. anticipación de valores por cálculos en paralelo y simplificación de expresiones antes de la compilación.

Select one of the following:

  • Ninguna de las dos

  • Sólo A

  • A y B

  • Sólo B

Explanation

Question 15 of 38

1

¿Cuántos índices son necesarios para acceder a un elemento de una matriz en programación?

Select one of the following:

  • Dos índices

  • Varios índices

  • Ninguna de las otras respuestas

  • Un único índice

Explanation

Question 16 of 38

1

¿Se puede concatenar dos cadenas de caracteres en C++?

Select one of the following:

  • No se puede hacer de manera directa. El programador deberá programar obligatoriamente una función para dicha operación.

  • Sí, con la palabra reservada correspondiente.

  • Ninguna de las otras respuestas

  • Sí, con la función "strcat" de la librería estándar "cstring"

Explanation

Question 17 of 38

1

¿Qué es un vector en programación?

Select one of the following:

  • Una secuencia de valores, en la que se obtienen directamente los índices a partir de dichos valores

  • Ninguna de las otras respuestas

  • Una secuencia de valores del mismo tipo en la que se puede acceder directamente a sus valores indicando las posiciones

  • Una estrutura de datos que describe una dirección geométrica, que está determinada por dos valores

Explanation

Question 18 of 38

1

¿Es correcto el siguiente código en C++?
char longitud_corbatas [5]={5,3,4,4,7};
longitud_corbatas[2]=7;

Select one of the following:

  • No, porque los índices sólo sirven para acceder a los elementos y no para cambiar dichos elementos

  • Sí, dado que se puede modificar el valor de un vector

  • No, porque no se puede modificar el valor de un vector una vez se ha asignado inicialmente

  • Depende de diversos factores

Explanation

Question 19 of 38

1

¿Cómo se puede determinar si el siguiente puntero tiene un contenido de valor 7 en C++?
int *longitud;

Select one of the following:

  • if(*longitud==7){...}

  • if(longitud==&7){...}

  • if(&longitud==7){...}

  • if(longitud==7){...}

Explanation

Question 20 of 38

1

¿Cuál es el resultado de aplicar el preprocesador de C++ a la siguiente instrucción con el siguiente macro?

MACRO
#define cubo(x) = ((x)*(x)*(x))

INSTRUCCIÓN
z = cubo(2+1);

Select one of the following:

  • z=3*3*3;

  • z=((2+1)*(2+1)*(2+1));

  • z=27;

  • z=(2+1)*(2+1)*(2+1);

Explanation

Question 21 of 38

1

¿Cómo se obtiene la dirección de memoria de la siguiente variable en C++?
char casilla;

Select one of the following:

  • &casilla

  • casilla[0]

  • *casilla

  • &char

Explanation

Question 22 of 38

1

¿Qué expresiones son válidas para declarar una cadena de caracteres en C++?
A) char str[6]="brazo";
B) char *str="brazo";
C) char str="brazo";
D) char str []= {'b','r','a','z','o','\0'};
E) string str ("brazo");

Select one of the following:

  • Sólo A, B, D y E

  • Ninguna de las otras respuestas

  • Sólo A y E

  • A, B, C, D y E

Explanation

Question 23 of 38

1

¿Cómo se puede acceder al peso de un gato según la siguiente definición de tipo y la siguiente variable en C++?

DEFINICIÓN DEL TIPO
typedef struct{
______char nombre [64];
______float peso;
} Gato
DECLARACIÓN DE LA VARIABLE
Gato gatoTonet;

Select one of the following:

  • gatoTonet->peso

  • Ninguna de las otras respuestas

  • gatoTonet.peso

  • (*gatoTonet).peso

Explanation

Question 24 of 38

1

¿Cómo se obtiene el contenido del siguiente puntero en C++?
char *casilla;

Select one of the following:

  • Ninguna de las otras respuestas

  • &casilla

  • casilla[1]

  • *casilla

Explanation

Question 25 of 38

1

Asume la siguiente representación de una casilla de un tablero de damas:
'b': Hay una ficha blanca
'n': Hay una ficha negra
'v': La casilla está vacía
Recuerda que un tablero de damas es cuadrado y la longitud de su lado es de 8 casillas.
¿Cómo representarías un tablero de damas con fichas en C++?

Select one of the following:

  • char tablero [8][8];

  • char tablero [8];

  • char tablero [8][8][8][8][8][8][8][8];

  • int tablero [8];

Explanation

Question 26 of 38

1

¿Qué se debe realizar cuando se deja de utilizar un puntero para el cual se reservó memoria con "new" en C++?

Select one of the following:

  • Salir del ámbito donde fue declarado el puntero

  • No volver a usar la expresión "*puntero"

  • Liberar la memoria con "delete", y recomendablemente establecer el puntero a NULL

  • Asignar el puntero a NULL

Explanation

Question 27 of 38

1

¿Qué es un puntero en programación?

Select one of the following:

  • Una variable que contiene una dirección de memoria donde está almacenado un valor

  • Un variable que contiene cualquier tipo

  • Ninguna de las otras respuestas

  • Un vector o una matriz

Explanation

Question 28 of 38

1

¿Cuál es el tipo más adecuado para referirse a los cinco tipos de dedos que hay en las manos (i.e. pulgar, índice, corazón, anular y meñique)?

Select one of the following:

  • Un entero

  • Un carácter

  • Un tipo enumerado

  • Ninguna de las otras respuestas es adecuada

Explanation

Question 29 of 38

1

¿Qué contiene la siguiente variable en C++? int *entrada;

Select one of the following:

  • Un vector

  • Ninguna de las otras respuestas

  • Un entero

  • Una dirección de memoria

Explanation

Question 30 of 38

1

¿Cómo se obtiene la dirección de memoria de la siguiente variable en C++?
int diametro_rueda;

Select one of the following:

  • *diametro_rueda

  • diametro_rueda

  • & int

  • &diametro_rueda

Explanation

Question 31 of 38

1

¿Cómo se puede evaluar si dos cadenas caracteres tienen el mismo contenido en C++?
char cadena1[256]=...;
char cadena2[256]=...;

Select one of the following:

  • Ninguna de las otras opciones

  • if(*cadena1==*cadena2){

  • if(strcmp(cadena1,cadena2)==0){

  • if(cadena1==cadena2){

Explanation

Question 32 of 38

1

En la siguiente instrucción, ¿hay alguna diferencia entre aplicar la siguiente macro "cubo" y aplicar una función "cubo" que calcula el cubo de un valor?

MACRO
#define cubo(x) = ((x)*(x)*(x))

INSTRUCCIÓN
z = cubo(b++);

A) Con el macro se incrementa tres veces la variable "b", mientras que con la función sólo se incrementaría una vez.
B) Con el macro, el tiempo de ejecución es ligeramente menor.

Select one of the following:

  • Sólo B

  • Sólo A

  • Ninguna de las dos

  • A y B

Explanation

Question 33 of 38

1

¿Qué permite la librería estándar de entrada/salida de C++?
A) Leer de teclado
B) Mostrar mensajes por pantalla
C) Dado un valor real de entrada, generar su raíz cuadrada de salida.
D) Concatenar dos cadenas de caracteres.
E) Escribir y leer de archivo

Select one of the following:

  • A, B, C, D y E

  • Ninguna de las otras respuestas

  • A, B, C y E

  • A, B y E

Explanation

Question 34 of 38

1

¿Que es el preprocesamiento en programación?

Select one of the following:

  • Ninguna de las otras opciones

  • Un compilado que permite nombrar las variables en código máquina

  • Un fase previa de la compilación, que permite por ejemplo definir nombres y macros, e incluir texto de otros ficheros

  • Un fase previa de compilado que permite optimizar las estructuras de repetición

Explanation

Question 35 of 38

1

¿Se puede calcular el coseno de un número en C++?

Select one of the following:

  • No

  • Ninguna de las otras respuestas

  • Depende del ingenio del programador, dado que se debe programar manualmente

  • Sí, con una librería de C++

Explanation

Question 36 of 38

1

¿Cómo es recomendable incluir un módulo de cálculos geométricos definido por el propio programador?

Select one of the following:

  • Con una directiva que incluya su fichero de cabecera, sin incluir ninguna extensión

  • Con una directiva que incluya su fichero de código, incluyendo su extensión, i.e. ".cpp"

  • Ninguna de las otras respuestas

  • Con una directiva que incluya su fichero de cabecera, incluyendo su extensión, i.e. ".h"

Explanation

Question 37 of 38

1

¿Cuáles de las siguientes funcionalidades tiene el preprocesador de C++?
A) Inicializar las variables con datos
B) Incluir los archivos de cabecera de otros módulos
C) Definir la compilación condicional
D) Optimizar la compilación de las estructura condiciona (i.e. "if").

Select one of the following:

  • A, B y C

  • A, B, C y D

  • Ninguna de las otras respuestas

  • B y C

Explanation

Question 38 of 38

1

¿Cuáles de las siguientes funcionalidades tiene el preprocesador de C++?
A) Definir nombres simbólicos de constantes
B) Definir nombres de variables.
C) Definir macros
D) Definir funciones

Select one of the following:

  • A y C

  • A, B, C y D

  • Ninguna de las otras respuestas

  • A, B y C

Explanation