Sunteți pe pagina 1din 7

Programación de computadores – Quiz 2 – 05/05/2018 – calificación: 10/10

Pregunta 1
9 ptos.
Según las lecturas, en que casos es conveniente usar métodos?
Cuando se identifican tareas repetitivas en el código.
Cuando las constantes son muy grandres
Cuando el programa se hace largo y complicado
Cuando las variables no se inicializarón

Pregunta 2
9 ptos.
Cuál es la manera correcta para convertir mi arreglo en String e imprimirlo en pantalla ?
System.out.println(Arrays.toString(arreglo));
System.out.println("Su arreglo es");
System.out.println(Arreglo);
System.out.println("Su arreglo fue"+Arreglo);

Pregunta 3
9 ptos.
Suponiendo que inicialmente n = 5, Cuál es la impresión resultante del siguiente
fragmento de código?
int m = n * 2;
int i = 1;
while (i < m) {
int j = 1;
while (j < m) {
if (i == 1 || i == m - 1) {
if (j <= n)
System.out.print (" " + j + " ");
else
System.out.print (" " + (m - j) + " ");
} else if (j == 1 || j == m - 1) {
if (i <= n)
System.out.print (" " + i + " ");
else
System.out.print (" " + (m - i) + " ");
} else {
System.out.print (" ");
} j = j + 1;
}
System.out.println ();
i = i + 1;
}
1 2 3 4 5 4 3 2 1
2 2
3 3
4 4
5 5
4 4
3 3
2 2
1 2 3 4 5 4 3 2 1

1 2 3 4 5 4 3 2 1
1 2 3 4 3 2 1
1 2 3 2 1
1 2 1
1

1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1

1 1
2 2
3 3
4 4
5
4 4
3 3
2 2
1 1

Pregunta 4
9 ptos.
Se dice que dos números naturales son primos relativos si no tienen ningún factor primo
en común o, dicho de otra manera, si y sólo si su máximo común divisor es igual a 1.
Dados dos números naturales a y b, cuál de los siguientes fragmentos de código dice
correctamente si son o no primos relativos?
int c = a;
if (a > b)
c = b;
int i = 2;
boolean resultado = true;
while (resultado && i < c) {
if (a % i == 0 || b % i == 0)
resultado = false;
i = i + 1;
}

int c = a;
if (a > b)
c = b;
int i = 2;
boolean resultado;
while (i < c) {
if (a % i == 0 && b % i == 0)
resultado = false;
else
resultado = true;
i = i + 1;
}

int i = 2;
boolean resultado = true;
while (i < a) {
if (a % i != 0 && b % i != 0)
resultado = false;
i = i + 1;
}

int c = a;
if (a > b)
c = b;
int i = 2;
boolean resultado = true;
while (resultado && i < c) {
if (a % i == 0 && b % i == 0)
resultado = false;
i = i + 1;
}

Pregunta 5
9 ptos.
¿ Como se le llama la relación que define la solución de la situación particular y se basa en
llamadas a la misma función?
Relación de concurrencia
Relación redundante
Relación de recurrencia
Relación directa

Marcar esta pregunta


Pregunta 69 ptos.
Considere el siguiente fragmento de código. Seleccione la opción donde todas las
afirmaciones sean correctas.
boolean a = false;
boolean b = true;
while (true || a == b) {
System.out.println ("...");
a = !a;
b = !b;
}

El ciclo terminará dependiendo de los valores de a y b. El valor true en la condición del


ciclo no afecta al ciclo. Imprimirá ... cuando a sea igual a b.
El ciclo terminará dependiendo de los valores de a y b. El valor true en la condición del
ciclo afecta al ciclo dependiendo de los valores de a y b.
El ciclo nunca se ejecutará.
El ciclo se ejecutará exactamente una vez, porque al cambiar los valores de a y b se
detendrá.
El ciclo no terminará nunca. Los cambios que se hacen sobre a y b son
irrelevantes porque nunca afectarán al ciclo. Imprimirá ... indefinidamente.

Pregunta 7
9 ptos.
Según la teoría del curso, la definición e implementación de métodos permite organizar
mejor el trabajo y descomponerlalógica de los algoritmos que escribimos.
False
True

Pregunta 8
9 ptos.
¿Cuál de los siguientes fragmentos de código determina correctamente si el valor n,
ingresado por el usuario, es o no primo?
Scanner sc = new Scanner(System.in);
int a=0,i,n;
System.out.println("Ingrese numero");
n=sc.nextInt();
for(i=1;i<(n+1);i++){
if(n%i==4){
a++;
}
}
if(a!=3){
System.out.println("No es Primo");
}else{
System.out.println("Si es Primo");
}
int a=2,i,n;
System.out.println("Ingrese numero");
n=sc.nextInt();
for(i=1;i<(n+1);i++){
if(n%i==0){
a++;
}
}
if(a!=3){
System.out.println("No es Primo");
}else{
System.out.println("Si es Primo");
}
Scanner sc = new Scanner(System.in);
int a=3,i,n;
System.out.println("Ingrese numero");
n=sc.nextInt();
for(i=1;i<(n+1);i++){
if(n%i==0){
a++;
}
}
if(a!=5){
System.out.println("No es Primo");
}else{
System.out.println("Si es Primo");
}
Scanner sc = new Scanner(System.in);
int a=0,i,n;
System.out.println("Ingrese numero");
n=sc.nextInt();
for(i=1;i<(n+1);i++){
if(n%i==0){
a++;
}
}
if(a!=2){
System.out.println("No es Primo");
}else{
System.out.println("Si es Primo");
}

Pregunta 9
9 ptos.
Suponiendo que inicialmente n = 5, Cuál es la impresión resultante del siguiente
fragmento de código?
int m = n * 2;
int i = 1;
while (i < m) {
int j = 1;
while (j < m) {
if (i == j || m - i == j) {
if (i <= n)
System.out.print (" " + i + " ");
else
System.out.print (" " + (m - i) + " ");
} else {
System.out.print (" ");
}
j = j + 1;
}
System.out.println ();
i = i + 1;
}

1 1
2 2
3 3
4 4
5
4 4
3 3
2 2
1 1

1 2 3 4 5 4 3 2 1
1 2 3 4 3 2 1
1 2 3 2 1
1 2 1
1

1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1

1 2 3 4 5 4 3 2 1
2 2
3 3
4 4
5 5
4 4
3 3
2 2
1 2 3 4 5 4 3 2 1

Pregunta 10
9 ptos.
¿Qué hace el siguiente programa?
String cadena = "";
if ((x / 100) % 2 == 0){
cadena = "O" + cadena;}
else {
cadena = "X" + cadena;}
if ((x % 100 / 10) % 2 == 0){
cadena = cadena + "O";}
else {
cadena = cadena + "X";}
if ((x % 100 % 10 / 1) % 2 == 0){
cadena = cadena + "O";}
else {
cadena = cadena + "X";}
System.out.println(cadena);

El programa genera una cadena compuesta de X y O donde X representa los dígitos


múltiplos de 3 y O representa los dígitos que no lo son en un número de 2 cifras.
El programa genera una cadena compuesta de X y O donde X representa los dígitos
múltiplos de 3 y O representa los dígitos que no lo son.
El programa genera una cadena compuesta de X y O donde X representa los dígitos
múltiplos de 10 y O representa los dígitos que no lo son en un número de 3 cifras.
El programa genera una cadena compuesta de X y O donde X representa los dígitos pares
de un número de 3 cifras y O representa los dígitos impares.
El programa genera una cadena compuesta de X y O donde X representa los dígitos
múltiplos de 3 y O representa los dígitos que no lo son en un número de 10 cifras.
El programa genera una cadena compuesta de X y O donde X representa los
dígitos impares de un número de 3 cifras y O representa los dígitos pares.