Professional Documents
Culture Documents
"La opción correcta es: Simple y múltiple. La respuesta sólo simple pertenece a Java, múltiple a C++. Mientras que las opciones de
Polimorfismo y Ocultación de información son propiedades de la herencia. Bibliografía Lectura 2 del SAM, pagina 25, sección 1.4.3."
( 1.4.3 ) Cuando hablamos de sobreescribir un método, decimos que:
La opción correcta es: El método sobrescrito debe tener el mismo nombre, mismos parámetros y mismo tipo de dato a devolver que el método
de la superclase. Todas las demás opciones son incompletas e inválidas como respuesta, ya que para sobrescribir un método en una subclase,
el método sobrescrito debe tener la misma firma que el método de la superclase (mismo nombre, mismos parámetros y mismo tipo de dato a
devolver). Según Bibliografía, Lectura 2 del SAM, página 24, sección 1.4.3.
( 1.4.3 ) ¿Qué dos conceptos son confundidos muy frecuentemente?
La respuesta correcta es: "Encapsulamiento y Abstraccíón" el Encapsulamiento es frecuentemente confundido con la Abstracción
( 1.4.3 ) Si Figura es una clase superior de Triangulo y Cuadrado, la clase Triángulo hereda el método "calcular superficie" de la clase Figura,
¿Qué se puede hacer para que este método devuelva el resultado correcto?
La respuesta correcta es: "Se define el método "calcular superficie" en la clase Triángulo" Lo que podemos hacer es sobrescribir o redefinir el
método "calcular superficie" en la clase Triángulo
( 1.4.3 ) ¿Cómo se denominaría la clase Persona, si tenemos además las clases Alumno y Profesor?
La respuesta correcta es: "Súper clase" La clase Persona es la superclase de las clases Alumno y Profesor
( 1.4.3 ) Según las siguientes definiciones, ¿cuál no se corresponde con Clase Abstracta?
La opción correcta es: Puede declararse como final.. Esto es ilógico, ya que, una clase que se declara como final no puede ser una superclase
(es decir, una clase no puede extender a una clase final). Con lo que una clase abstracta es todo lo contrario a una final, de esta forma la
opción "Puede declararse como final" haría válida a todas las demás opciones.
( 1.4.3 ) ¿Qué dos conceptos son confundidos muy frecuentemente?
La respuesta correcta es: "Encapsulamiento y Abstraccíón" el Encapsulamiento es frecuentemente confundido con la Abstracción
( 1.4.3 ) Según la POO, ¿Qué es HERENCIA?
La opción correcta es: Es un mecanismo que permite que una clase defina sus propios atributos y métodos, y también pueda heredar atributos
y métodos de otras clases. Bibliografía Lectura 2 del SAM, sección 1.4.3, página 19: La Herencia es un mecanismo que permite que una clase
defina sus propios atributos y métodos, y también pueda heredar atributos y métodos de otras clases. Las demás opciones, corresponden a
Polimorfismo: Es el hecho que diferentes objetos reaccionen al mismo mensaje de modo diferente. Encapsulamiento: Es la capacidad para
encapsular y aislar la información de diseño y ejecución. Clase: Es un modelo que se utiliza para describir uno o más objetos del mismo tipo; Es
un conjunto complejo de datos y programas que posee estructura y forma parte de una organización.
( 1.4.3 ) "Bajo el siguiente ejemplo: ""Un objeto de la clase Bicicleta contiene los atributos y métodos definidos en la clase Bicicleta, pero
también hereda los atributos y métodos definidos en la clase Vehículo No Motorizado y la clase Vehículo."" ¿Cuál de estas afirmaciones NO es
la correcta?"
La opción correcta es: Un objeto de la clase Bicicleta contiene los atributos y métodos definidos sólo en la clase Bicicleta. Lo que valida que
todas las demás opciones son correctas ya que los objetos de la clase Bicicleta hereda los atributos y métodos definidos en la clase Vehículo No
Motorizado y la clase Vehículo. Bibliografía Lectura 2 del SAM, página 21, sección 1.4.3.
( 1.4.3 ) Uno de los beneficios de la Herencia es la Extensibilidad. ¿Cuál de las siguientes afirmaciones no corresponde con Extensibilidad?
La opción correcta es: Evita tener que definir varias veces el mismo conjunto de atributos y métodos que son comunes a varias clases.
Bibliografía Lectura 2 del SAM, página 27, sección 1.4.3. La opción correcta es es corresponde a la definición de Reutilización de código
( 1.4.3 ) ¿Por qué JAVA soporta sólo Herencia Simple?
La opción correcta es: Para evitar la complejidad que puede generar el uso de Herencia múltiple. Bibliografía Lectura 2 del SAM, página 26,
sección 1.4.3. Además esto no es ningún limitante para Java, ya que aquellos modelos que hacen uso de Herencia múltiple se pueden
rediseñar o hacer uso de otras características para solucionar el problema. Las demás afirmaciones son falacias a partir de las características de
herencia.
( 1.4.3 ) Completar la siguiente frase con la opción correcta: "La Herencia es un mecanismo que permite que una clase tenga __________, y
también pueda heredar atributos y métodos de otras clases."
La respuesta correcta es: "Sus propios atributos y métodos" La Herencia es un mecanismo que permite que una clase tenga sus propios
atributos y métodos, y también pueda heredar atributos y métodos de otras clases.
( 1.4.3 ) En la utilización del POO, algunas de las clases definidas se pueden dividir en clases más específicas, logrando de esta forma que clases
más generales se dividan en subclases. ¿Cómo se denominan aquellas clases que son divididas en clases más específicas?
La opción correcta es: Superclases. Bibliografía Lectura 2 del SAM, página 19 , sección 1.4.3: La clase que es dividida se la conoce como
superclase o clase padre de las clases específicas. Las clases hijas, subclases y clases derivadas son todas clases específicas de una Clase Base o
Superclase. Las Interfaces son una colección de métodos abstractos y propiedades.
( 2.3.3 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? Con la siguiente declaración de variables
"boolean p = false; boolean q= true;", indicar la correcta:
La opción a elegir es "p != q es true" por que el operador != devolverá true cuando los elementos comparados son distintos. Deitel Cap. 2, Pág.
23.
( 2.3.3 ) Con la siguiente declaración de variables "boolean p = false; boolean q= true;" ¿Cuál es la opción correcta?
Justificación: la conexión lógica || u "OR" devuelve true si alguno de los conectados tiene el valor true. Deitel, Cap. 5 Página 185.
( 2.3.3 ) Con la siguiente declaración de variables "boolean p = false; boolean q= false;" indicar cuál de las siguientes es la opción correcta:
El operador de la conexión lógica "!=" devuelve false si los conectados tienen valores distintos. Deitel Capítulo 2 Página 52
( 2.3.3 ) Con la siguiente declaración de variables "boolean p = false; boolean q= true;" indicar la correcta:
Con los valores definidos la operación lógica "p != q" es true. Lect. 3 Pág. 31.
( 2.3.3 ) ¿Cuál de las siguientes opciones completa la siguiente afirmación? "La siguiente declaración "boolean result;" indica que habrá..."
La declaración se ha realizado per no está incluida la inicialización explícita en valores true o false, por lo que la opción correcta es "Una
variable booleana declarada que no está inicializada". Deitel, Cap. 3 Página 84.
( 2.3.3 ) ¿Cuál de las siguientes opciones es una afirmación correcta? "La siguiente declaración de variables "boolean p = true; boolean q=
true;" definirá que la comparación..."
Justificación: la conexión lógica || u "OR" devuelve true si alguno de los conectados tiene el valor true. Deitel, Cap. 5 Página 185
( 2.3.3 ) Con la siguiente declaración de variables "boolean p = true; boolean q= true;" indicar la correcta:
La respuesta correcta es: "p || q es true" Con los valores definidos la operación lógica "p || q" es true.
( 2.4.3 ) ¿Qué valores se imprimirán en este código si n = 0? switch (n) { case 1: System.out.println("El número es 1"); case 2:
System.out.println("El número es 2"); break; default: System.out.println("El número no es 1 ni 2"); break; }
Justificación: el valor de 0 para n hace que se ejecute la clausula default, por lo tanto mostrará el mensaje El numero no es 1 ni 2. Deitel, Cap.
5, Pág. 161.
( 2.4.3 ) ¿Cuál de las siguientes opciones completa la siguiente afirmación? "Las estructuras de control pueden resumirse en tres tipos..."
Justificación: todos los programas pueden ser resueltos con las estructuras secuencia, selección y repetición. Deitel, Cap. 8, Pág. 338
( 2.4.3 ) ¿Qué valores tomará i en cada iteración, durante la ejecución del "for"? for (int i = 2; i <= 20; i += 3)
Justificación: el bucle iniciará con i en 2 y sumará 3 hasta que se cumpla la condición que i sea menor o igual a 20. Deitel, Cap. 3, Pág. 76.
( 2.4.3 ) ¿Hay algún problema en este código? if ( x > 5 ) { if ( y > 5 ) System.out.println("x and y are > 5"); } else System.out.println("x is <= 5");
Justificación: el código está correctamente escrito, no hay errores. Deitel, Cap. 5, Pág. 192.
( 2.4.3 ) ¿Qué valores se imprimirán con este código? int counter = 0; do { System.out.println(counter); counter++; } while (counter <= 10);
Justificación: el "loop" se repetirá 10 veces imprimiendo desde 0 hasta 10. Deitel, Cap. 4, Pág. 140.
( 2.4.3 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? "El ciclo FOR se usa cuando debemos..."
La opción "Contar o iterar un número específico de veces." es la definición del objetivo de la sentencia, las restantes opciones se refieren a
while, if y exception. Deitel Cap. 5 Pág. 165.
( 2.4.3 ) ¿Qué valores se imprimirán en este código si n = 1? switch (n) { case 1: System.out.println("El número es 1"); case 2:
System.out.println("El número es 2"); break; default: System.out.println("El número no es 1 ni 2"); break; }
Justificación: no tiene el "break" entre la primera y segunda opción, lo que hace ejecutarse juntos si n es igual a 1. Deitel, Cap. 5, Pág. 161.
( 2.4.3 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? La línea "for (int i = 0;i < 200;i++ ) { código
};" significa que...
La opción a elegir es "Se ejecutará "código" hasta que i toma el valor 199 siendo esta la última ejecución." Debido a que la sentencia for
contiene las variables para su ejecución, y en la sección de control se ha indicado la condición que devolverá true mientras esta condición sea
verdadera, caso que se dará mientras i sea igual o menor a 199. Deitel Cap. 5 Página 165.
( 2.4.3 ) ¿Cuáles de los siguientes grupos de sentencias pertenecen a las de control de flujo de selección?
Justificación: las sentencias de control de flujo por selección son if, if else y switch. Deitel, Cap. 5, Pág. 192.
( 2.4.3 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? "La instrucción SWITCH permite..."
Justificación: es el uso más habitual de la opción correcta, las restantes corresponden a while o for, y casos no aplicables a la sentencia. Deitel
Capítulo 5 Página 176.
( 2.4.3 ) ¿Hay algún problema en este código? if ( x > 5 ) if ( y > 5 ) System.out.println( ""x and y are > 5"" ); else System.out.println( ""x is <= 5""
);
Justificación: el else no se puede determinar a que if corresponde, lo que se denomina dangling else o else colgante. Deitel, Cap. 5, Pág. 19
( 2.4.3 ) De las siguientes afirmaciones, cuál es incorrecta cuando se habla de instrucción condicional:
La opción correcta es: "La instrucción if es una instrucción de control de una sola entrada/varias salidas." Esto no se corresponde ya que, la
instrucción if es una instrucción de control de una sola entrada/una sola salida. Se corresponde con el modelo de programación
acción/decisión. Bibliografía H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed), capitulo 4
( 2.4.3 ) "Dad el siguiente código, indique su resultado int a = 0; while (true) { a++; System.out.println(""El valor de a es: "" + a); }"
La opción correcta es: ciclo infinito. Debido a que la sentencia iterativa while es utilizada para ejecutar un bloque de código en forma sucesiva
mientras se cumpla una condición. En este caso la condición siempre es verdadera (true), con lo cual las demás opciones son inválidas.
Bibliografía H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed), capítulo 15, página 662 y Lectura 3 de SAM, página 53.
( 2.4.3 ) "Indique el resultado del siguiente código: int a = 2; switch (a) { case 3: System.out.println(""El valor de a es 3""); case 2:
System.out.println(""El valor de a es 2""); default: System.out.println(""No existe el valor""); }"
La opción correcta es: "El valor de a es 2 No existe el valor" Esto se debe a que la condición en la que la variable a es igual a 2 se cumplió, razón
por la cual se ejecutó la sentencia correspondiente a dicha condición. Pero también se ejecutó la condición que se encuentra por debajo de
ésta en cascada, ya que no se utilizó la sentencia break en el uso del condicional switch, al final de cada condición.
( 2.4.3 ) En el código siguiente, ¿cuál es el valor más bajo que se asignará a producto en las repeticiones de la línea 30? 10 int producto = 3; 20
while ( producto <= 100 ) 30 producto = -3 * producto;
Justificación: al tomar el valor 243 cerrará el "loop", siendo -81 el valor más bajo asignado a producto durante el proceso. Deitel, Cap. 5, Pág.
192.
( 2.4.3 ) ¿Cuál de las siguientes opciones completa correctamente la siguiente afirmación? "La línea while "(i < 10) { código };" nos indica que se
ejecutará "código":..."
Justificación: el código se ejecutará hasta que la condición (i<10) sea falsa es decir i >= 10 , lo que descarta a las restantes por erróneas o
parcialmente correctas. Deytel Cap. 3 Pág. 122
( 2.4.3 ) ¿Qué valores tomará i en cada iteración, durante la ejecución del "for"? for (int i = 1; i <= 20; i += 5)
Justificación: el bucle iniciará con i en 1 y sumará 5 hasta que se cumpla la condición que i sea menor o igual a 20. Deitel, Cap. 3, Pág. 77.
( 2.4.3 ) ¿Qué valores tomará i en cada iteración, durante la ejecución del "for"? for (int i = 1; i <= 20; i +=3)
La opción a elegir es "1,4,7,10,13,16,19" corresponde a los valores que tomará i durante los ciclos de este for. Deitel, Cap. 5, Pág. 203.
( 2.4.3 ) ¿Qué valores tomará i en cada iteración, durante la ejecución del "for"? for (int i = 99; i >= 0; i -= 11)
Justificación: el bucle iniciará con i en 99 y restará 11 hasta que se cumpla la condición que i sea menor o igual a 0. Deitel, Cap. 4, Pág. 148.
( 2.4.3 ) ¿Cuál de las siguientes opciones completa correctamente la siguiente afirmación? "El siguiente código "n = 1; while ( n < 10 )
System.out.println( n++ );" Imprimirá...
La opción que indica "... los valores 1 a 9" es la correcta. Deitel Cap. 5 Página 206.
( 1.3 ) De la interacción entre dos objetos A y B, ¿qué componentes de un mensaje podemos detectar?
"La opción correcta es: El objeto receptor a quien está dirigido el mensaje. El método que se desea ejecutar y El/los parámetro/s que
contiene/n la información necesaria para ejecutar el método. Lo que invalida a todas las demás opciones, ya que sin estos componentes no
podemos definir un método. Más allá que los parámetros son opcionales, en un mensaje clásico, se los definen como componentes del mismo.
Se puede verificar a través de la bibliografía Lectura 1 de SAM, página 27."
( 1.3 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? "Una clase de Java tiene su estado definido
en los ..."
( 1.3 ) ¿A qué opción corresponde esta definición? "Es una unidad lógica compuesta por un conjunto de atributos (o datos) y métodos (o
funciones) que se relacionan entre sí".
La respuesta correcta es: "Objeto" Un objeto es una unidad lógica compuesta por un conjunto de atributos (o datos) y métodos (o funciones)
que se relacionan entre sí.
( 1.3 ) ¿A qué elemento de la Orientación a objetos corresponde esta definición? "Estructura que encapsula y define las propiedades y
comportamientos que todos los objetos tienen en común"
La respuesta correcta es: "Clase" La clase es una estructura que encapsula y define las propiedades y comportamientos que todos los objetos
tienen en común.
( 1.3 ) ¿A qué elemento de la Orientación a objetos corresponde esta definición? "Se define así a la clase que es utilizada para derivar a partir
de ella otras clases, pero no podemos crear objetos a partir de dicha clase, es decir no hay instancias directas de la misma".
La respuesta correcta es: "Clase abstracta" Una clase abstracta es la clase que se utiliza para derivar a partir de ella otras clases, pero no
podemos crear objetos a partir de dicha clase.
( 1.3 ) Indique cuál de las siguientes afirmaciones es incorrecta, según el Paradigma Orientado a Objetos.
La respuesta correcta es: "Las entidades representan interacción entre objetos." . Lo que valida que todas las demás opciones con correctas
según el POO. La afirmación que la invalida es que las entidades representan objetos del mundo real.
( 1.3 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? "Una clase de Java tiene su comportamiento
definido en los..."
La opción a elegir es "métodos" por que el comportamiento de un objeto esta expresado en los distintos métodos que contiene la clase que lo
define. Deitel Cap. 4 Pág. 144.
( 2.2.3 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? "Para escribir los comentarios de fin de
línea se los inicia con los símbolos..."
La opción correcta es "//" por que usa los símbolos correctos y en el orden adecuado. Deitel Cap. 2, Pág. 62
( 2.2.3 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? "Los comentarios multilíneas se limitan
dentro de ..."
La opción correcta es "/* y */" porque usa los símbolos correctos y en el orden adecuado. Deitel, Cap. 2 Pág. 62.
( 2.2.3 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? Los comentarios multilíneas para la
documentación con JavaDoc se guardan dentro de...
La opción correcta es "/** y */" por que usa los símbolos correctos y en el orden adecuado. Deitel Cap. 2 Pág. 62
( 2.1.4 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? El proceso de trasladar el programa escrito
a un lenguaje que la máquina virtual pueda ejecutar se llama...
La opción correcta indica al proceso de compilación como el encargado de traducir el programa fuente al código de máquina virtual. Deitel
Capítulo 2 Página 40.
( 2.1.4 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? De la línea de código
"System.out.println("Bienvenido a Java.");" podemos decir que...
La opción a elegir es "println es un método de out que a su vez, pertenece a System" de acuerdo a la la línea de precedencia correcta de esta
sentencia, que está dada de izquierda a derecha, primero el método, luego la clase y luego la librería. Deitel Cap. 2 Página 42.
( 2.1.4 ) ¿Cuál es el ejecutable del JDK que transforma un archivo fuente java "archivo.java" en una clase "archivo.class", llamado desde la línea
de comandos?
La opción a elegir es "javac.exe" las restantes opciones son nombres pertenecen, respectivamente, a un IDE, a un archivo de librería y a un exe
que no existe con ese nombre en las distribuciones java (J2SE.exe). Deitel Capítulo 2 Página 40.
( 2.1.4 ) ¿En qué tipo de código se traduce el código fuente de una clase Java?
Justificación: los nombres usados en las opciones incorrectas no corresponden a ningún tipo de código conocido. Bytecode es el código apto
para ser ejecutado por la maquina virtual Java. Deitel Cap. 2, Página 72.
( 2.1.4 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? "Para ejecutar la clase principal.class desde
una ventana de comando, lo realizamos con la sentencia... "
La opción correcta "java principal.class" combina el ejecutable adecuado de la máquina virtual de Java y el nombre de la clase que tiene el
método main. Deitel Cap. 2 Pág. 35.
( 2.1.4 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? "La línea de código
"System.out.println("Hola Java.");" realizará...
La opción a elegir es "Una escritura en la pantalla de una línea que dice "Hola Java."" ya que es la respuesta obtenida en la pantalla, ni la
impresora ni un archivo, ni se imprime ni se graba en un archivo el código fuente de esta manera. Deitel Cap. 2 Página 40.
( 2.4.1 ) ¿Qué numero se imprimirá en la tercer línea de código? c = 17; System.out.println(--c); System.out.println(c);
Justificación: el operador de pre restado -- abrevia la escritura de las sentencias de asignación con operadores aritméticos, en este caso luego
de imprimirlo por la salida lo disminuirá en 1, mostrando 16. Deitel, Cap. 2, Pág. 72.
( 2.4.1 ) Si d = -3, ¿con qué valor finalizará d cuando se ejecute esta línea? d *= -5;
Justificación: el operador *= abrevia la escritura de las sentencias de asignación con operadores aritméticos, el resultado es 15. Deitel, Cap. 2,
Pág. 139.
( 2.4.1 ) Si d = 255, ¿con qué valor finalizará d cuando se ejecute esta línea? d /= 5;
Justificación: el operador /= abrevia la escritura de las sentencias de asignación con operadores aritméticos, el resultado es 51. Deitel, Cap. 2,
Pág. 139.
( 2.4.1 ) Si d = 6, ¿con qué valor finalizará d cuando se ejecute esta línea? d -= 9;
Justificación: el operador -= abrevia la escritura de las sentencias de asignación con operadores aritméticos, el resultado es -3. Deitel, Cap. 2,
Pág. 139.
( 2.4.1 ) ¿Qué número se imprimirá en la tercer línea de código? c = 16; System.out.println(++c); System.out.println(c);
Justificación: el operador de pre sumado ++ abrevia la escritura de las sentencias de asignación con operadores aritméticos, en este caso luego
de imprimirlo por la salida lo incrementará en 1, y la tercer línea mostrará 17. Deitel, Cap. 2, Pág. 72.
( 2.4.1 ) ¿Qué número se imprimirá en la segunda línea de código? c = 17; System.out.println(--c); System.out.println(c--);
Justificación: el operador de pre restado -- abrevia la escritura de las sentencias de asignación con operadores aritméticos, en este caso luego
de imprimirlo por la salida lo disminuirá en 1, mostrando 16. Deitel, Cap. 2, Pág. 72.
( 2.4.1 ) ¿Qué número se imprimirá en la segunda línea de código? x = 17; System.out.print.ln(++(x + 1));
Justificación: (x+1) es una expresión y no un identificador, lo que hace imposible aplicar el operador de pre incremento ++, por lo que se
produce un error de compilación. Deitel, Cap. 2, Pág. 139.
( 2.4.1 ) Si d = 17, ¿con qué valor finalizará d cuando se ejecute esta línea? d %= 5;
Justificación: el operador %= abrevia la escritura de las sentencias de asignación con operadores aritméticos, el resultado es 2. Deitel, Cap. 2,
Pág. 139.
( 2.4.1 ) ¿Qué número se imprimirá en la segunda línea de código? c = 17; System.out.println( c-- );
Justificación: el operador de pos restado -- abrevia la escritura de las sentencias de asignación con operadores aritméticos, en este caso
mostrando 17 y luego de imprimirlo por la salida lo disminuirá en 1. Deitel, Cap. 2, Pág. 72.
( 2.4.1 ) ¿Qué número se imprimirá en la tercer línea de código? c = 17; System.out.println(c++); System.out.println(c);
Justificación: el operador de pos sumado ++ abrevia la escritura de las sentencias de asignación con operadores aritméticos, en este caso luego
de imprimirlo por la salida lo incrementará en 1, mostrando 18. Deitel, Cap. 2, Pág. 72.
( 2.4.1 ) ¿Qué número se imprimirá en la segunda línea de código? x = 17; System.out.print.ln(( x +1 )++);
Justificación: (x+1) es una expresión y no un identificador, lo que hace imposible aplicar el operador de pos incremento ++, por lo que se
produce un error de compilación. Deitel, Cap. 2, Pág. 139.
( 2.4.1 ) Indique cuál de los siguientes tipos de operadores son leídos de derecha a izquierda:
La opción correcta es: "Condicional" (?:). Las demás se corresponden a una asociatividad de izquierda a derecha, como en el caso de
multiplicativo(*,/,%), relacional (<, =<, >, >=), igualdad(==, !=) y aditivo(+,-).Bibliografía H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed),
capítulo 4
( 2.2.4 ) ¿Qué pasa si se va a utilizar una variable local sin inicializarla explícitamente?
Justificación: cualquier intento de usar una variable local no inicializada resulta en un error de compilación. Deitel, Cap. 3, Pág. 106.
( 2.2.4 ) Como convención para poner nombre a un identificador de la variable que contenga el Legajo del estudiante, en java se suele usar un
patrón para las letras iniciales de cada palabra participante en el nombre del estudiante, ¿cuál de las siguientes opciones sigue esa regla?
Justificación: la regla indica iniciar con minúscula los identificadores de variables y si tienen más de una palabra, las siguientes iniciarlas con
mayúscula.
( 2.2.4 ) El tipo de dato de una variable declarada puede tener dos posibilidades. ¿Cuáles?
La opción a elegir es "primitivo o de referencia" porque los tipos de datos de una variable pueden ser de tipo primitivo o de referencia. Deitel,
Cap. 3, Pág. 106.
( 2.2.4 ) Como convención, para poner nombre a un identificador de una constante que contenga un porcentaje de aumento, en java se suele
usar un patrón. ¿Cuál de las siguientes opciones sigue esa regla?
La opción a elegir es "PORCAUMENTO" por que la regla indica iniciar con mayúscula los identificadores de constantes. Deitel Cap. 6, Pág. 23
( 2.2.2 ) ¿Cuál de las siguientes inicializaciones por defecto de variables de instancia de tipo primitivo es falsa?
Justificación: las variables de instancia de tipo boolean se inicializan por defecto en false. Deitel Cap. 3 Pág. 106.
( 1.1 ) El POO (Paradigma Orientado a Objetos) representa un modelo de desarrollo de resolución de problemas que se acerca al modelo...
El POO (Paradigma Orientado a Objetos) representa un modelo de desarrollo de resolución de problemas que se acerca al modelo utilizado por
las personas sobre cómo piensan y ven el mundo real. Lec. 1 pág. 2
( 1.1 ) Según la bibliografía básica ¿cuál es el lenguaje gráfico, mundialmente conocido, que permite a las personas que diseñan sistemas de
software utilizar una notación estándar en la industria para representar objetos?
La opción correcta es UML (Lenguaje de modelado unificado), la cual invalida a todas las demás opciones. Visio es una herramienta grafica de
dibujo vectorial para Microsoft Windows, PUD son las siglas de l proceso unificado de desarrollo, CMMi es un modelo para la mejora y
evaluación de procesos para el desarrollo, mantenimiento y operación de sistemas de software y OCL es un lenguaje de especificación ya
adoptado para UML 2.0. Ud. Puede validar la respuesta en la página 8, capítulo I de la bibliografía básica.
( 1.3.1 ) De la misma manera que las entidades del mundo real ocultan a través de una interfaz su funcionamiento interno, los objetos en el
Paradigma Orientado a Objetos ocultan su...
La respuesta correcta es: "Implementación" Un programa representa la solución a un problema.
( 1.3.1 ) "Según la siguiente definición: ""Es una unidad lógica compuesta por un conjunto de atributos (o propiedades) y métodos (o
funciones) que se relacionan entre sí."" ¿Con cuál de las siguientes opciones corresponde dicha definición?"
"La opción correcta es: Un objeto. Bibliografía del SAM - Lectura 1, página 22. Una clase es un modelo que se utiliza para describir uno o más
objetos del mismo tipo. Un sistema informático es un conjunto de software y hardware que dan soporte a los procesos organizacionales. Un
mensaje es una petición de un objeto a otro para que éste se comporte de una determinada manera, ejecutando uno de sus métodos. Un
evento es un suceso que dispara alguna acción que debe ejecutar un software."
( 3.1 ) ¿Qué caracteres tiene la secuencia de escape que indica a System.out.println() que debe realizar un salto hasta la próxima marca de
tabulación y seguir imprimiendo?
La opción correcta "\n" es la sintaxis correcta, las restantes no cumplen con los símbolos ni con el orden correcto. Deitel Cap. 2 Pág. 35.
( 3.1 ) ¿Qué caracteres tiene la secuencia de escape que hace a System.out.println() que vuelva al comienzo de la misma línea, llamada retorno
de carro?
La opción correcta "\r" es la sintaxis correcta, las restantes no cumplen con los símbolos ni con el orden correcto. Deitel Cap. 2 Pág. 35.
( 3.1 ) ¿Qué caracteres tiene la secuencia de escape que hace a System.out.println() imprimir el carácter "\"?
Los caracteres \\ permiten imprimir el símbolo \ las restantes opciones no cumplen con los símbolos ni con el orden correcto. Deitel Cap. 2
Pág. 35
( 3.1 ) ¿Qué caracteres tiene la secuencia de escape que hace a System.out.println() realizar un fin de línea y sigue imprimiendo en la siguiente
línea en la primera posición?
La opción correcta "\n" es la sintaxis correcta, las restantes no cumplen con los símbolos ni con el orden correcto. Deitel Cap. 2 Pág. 35.
( 3.1 ) "Según la programación orientada a objetos, cuál de las siguientes afirmaciones es falsa:
La opción correcta es: Una variable de tipo primitivo puede usarse para invocar un método. La misma valida que todas las demás opciones son
conceptualmente correctas, ya que, una variable de tipo primitivo no puede usarse para invocar a un método; se requiere una referencia a un
objeto para invocar a los métodos de ese objeto. Bibliografía H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed). Capítulo 3
( 3.9 ) Con la siguiente declaración "public static void main(String args[ ])" ¿cuál es la afirmación correcta?
La única opción correcta es la que dice "Args es el parámetro de tipo array de String del método main". Deitel Capítulo 2 Página 40.
( 3.9 ) Con la siguiente declaración "public static void main(String args[ ])", ¿cuál es la afirmación correcta?
La opción a elegir es la que describe "Main es el método de la inicialización de la aplicación". Las restantes no son definiciones correctas, ya
que el método "main", por ser definido como void no devuelve valores. Además el modificador static no permite cambiar su accesibilidad y
con el agregado de que un método es público, por lo tanto es accesible desde afuera. Deitel Capítulo 3 Página 79,
( 3.5 ) Dada la línea de código: public class auto {public static void main (String arg[ ]) {//código}} podemos decir que "auto" representa la
clase...
La opción a elegir es "... controladora, es decir las instrucciones que se hallan entre llaves en el método main, se ejecutan con el inicio de la
aplicación." dado que la clase controladora de una aplicación java es la que contiene el método main. Deitel Cap.3 Pág. 79.
( 3.5 ) ¿Cuál de las siguientes opciones es la que responde a la siguiente situación? La siguiente línea de código: "for (int fila = 0; fila <
a[2].length, fila++) a[fila] [2] = 0;" ¿Qué operación sobre el arreglo estamos haciendo?
La opción a elegir es "Poniendo un 0 a las filas incrementadas en uno de la tercera columna". Deitel Cap. 7 Pág. 262.
( 3.5 ) Para la expresión: "int p[ ] = {0,10,30,40,50,60}" ¿Cuál de las siguientes afirmaciones NO es verdadera?
La opción a elegir es "El tercer elemento es p[2], igual a 20." no es correcta, ya que no hay un valor 20. Deitel Cap. 7 Pág. 262.
( 3.5 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? Con la siguiente declaración "Globo rojo;"
estamos...
Justificación: es una creación de un atributo o variable a la que le falta la inicialización con new y el nombre del constructor Globo(). Deitel
Capítulo 3 Página 89
( 3.5 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? Con las siguientes líneas de un programa
java "Dado d = new Dado(); d.tirar();" estamos...
La opción que describe el uso correcto de la líneas de programas Java, es "creando un objeto "d" del tipo Dado y usando un método llamado
tirar()". Las restantes tienen errores conceptuales. Deitel Capítulo 3 Página 89.
( 3.5 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? Con la siguiente declaración "Globo rojo =
new Globo();" estamos...
La opción correcta es "Creando una variable del tipo Globo y definiendo su inicialización" Globo es una clase y rojo una variable que
almacenará la referencia a un objeto o instancia de esa clase y es inicializado con new y el nombre del constructor Globo() Deitel Capítulo 3
Página 89
( 3.5 ) ¿Cuál de las siguientes es una expresión válida para asignar el 4º elemento del arreglo pp a z?
La opción correcta es "z = pp[3];" no tiene errores de sintaxis y usa el operador de asignación correcto. Deitel Cap. 7 Pág. 262.
( 3.5 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? "Con la siguiente declaración "Globo rojo =
new Rojo();" estamos...
La opción a elegir es "Obteniendo un error de compilación" en la que hay una falla de sintaxis ya que se espera que el constructor sea el de la
clase Globo, llamado Globo(). Deitel Capítulo 3 Página 89.
( 3.5 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? Con la siguiente declaración
"ConsoleWindow c = new ConsoleWindow();" estamos...
Justificación: es una creación de un atributo o variable completada con la inicialización con new y el nombre del constructor ConsoleWindow().
Deitel Capítulo 3 Página 89
( 3.3 ) El hecho que se recomiende modificar los atributos de estado de una clase, declarados como privados, a través de métodos, es debido a
que se aplica el concepto de ...
Justificación: modificar el estado de un objeto a través de sus propios métodos y no directamente es correspondiente a la definición de
encapsulamiento. Deitel, Cap. 3, Pág. 106.
( 3.3 ) Declarar más de una clase public en un archivo .java, resultará en...
Java no puede hacer referencia a una clase pública que este en un archivo .java con otro nombre, razón por la cual el compilador no permite
esta situación. La opción a elegir entonces es "Un error de compilación". Deitel, Cap. 2, Pág. 78.
( 3.3 ) ¿Cuándo es necesaria la expresión "import *.*.*;"? Cuando todos los métodos, variables o constantes...
Justificación: import es un mecanismo de usar componentes sin apelar a la herencia. Deitel Cap. 4 Pág. 144.
( 3.3 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? "Los imports se usan siempre en..."
Justificación: si se van a usar paquetes de java deben declararse en primer lugar antes de cualquier declaración. Deitel Cap. 2 Pág. 45
( 3.3 ) ¿Qué restricción se aplica a esta declaración de clase: "public class Greeting {}"?
Los archivos que contienen el código fuente de una clase deben llamarse igual que la clase, respetando las mayúsculas, esto está consignado
en la respuesta correcta, las demás son afirmaciones incorrectas o parcialmente correctas. Deitel Capítulo 2 Página 37.
( 3.3 ) Las variables declaradas dentro de una clase, pero fuera de los bloques de los métodos que la componen, se llaman...
Justificación: las variables declaradas de esta manera tienen visibilidad en todos los objetos y cada objeto creado puede tener un valor
diferente. Deitel, Cap. 3, Pág. 106.
( 3.3 ) Con la siguiente declaración de variables "boolean p = false; boolean q= false;" indicar la correcta:
La respuesta correcta es: "p && q es false" Con los valores definidos la operación lógicap && q es false es true.
( 3.3 ) Cuando es necesario mostrar un salto de tabulación en una cadena String, ¿Cuál carácter especial debemos usar?
\n es el carácter especial que marca un salto de tabulación en una cadena de caracteres String. Lect. 3 Pág. 33.
( 3.3 ) Cuando es necesario mostrar un salto de línea en una cadena String, ¿cuál carácter especial debemos usar?
La respuesta correcta es: "\n" \n es el carácter especial que marca un salto de línea en una cadena de caracteres String.
( 3.3 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? Estructura de datos que consta de
elementos relacionados del mismo tipo es la definición de...
La opción a elegir es "Un arreglo" el arreglo es una estructura de un único tipo de dato. Deitel Cap. 7 Pág. 261
( 3.3 ) Las clases que están juntas en la misma carpeta, en el momento de compilarse, Java las considera que están en ...
La opción a elegir es "el paquete predeterminado" el conjunto de clases que están en el mismo directorio conforman el paquete
predeterminado o default, que se da por implícito y no es necesario indicar su origen. Deitel, Cap. 3, Pág. 106.
( 3.3 ) Con las clases Punto, Círculo y Cilindro dada la siguiente relación "Círculo es un conjunto de Punto" y "Cilindro es un conjunto de Círculo"
estamos definiendo una jerarquía de tres niveles que permite a...
La opción a elegir es "Cilindro usar métodos de Punto" porque corresponde a la jerarquía dada y que permite que solo Cilindro pueda usar
cosas de Punto. Deitel Cap. 12 Pág. 540.
( 4.1.1 ) ¿Cómo se define un arreglo de tipo int que tiene 4 filas y 6 columnas?
"La opción correcta es: int a[ ][ ] = new int[ 4 ][ 6 ]; Creación de arreglos bidimensionales en Java mediante expresiones de creación de arreglos,
por ejemplo int b[ ][ ] = new int[ 3 ][ 4 ]; en dónde b es un arreglo de tipo int con 3 filas y 4 columnas. Bibliografía básica ""H. Deitel y P. Deitel,
Cómo Programar en Java (7ma ed)"", página 285, capítulo 7. “
( 4.1.1 ) ¿Por qué usar un valor de tipo long como índice de un arreglo, produce un error de compilación?
la opción correcta es: "Porque un índice debe ser un valor Int.". Bibliografía básica "H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed)".
Capítulo 7. Usar un valor de tipo long como índice de un arreglo produce un error de compilación. Un índice debe ser un valor int, o un valor de
un tipo que pueda promoverse a int; a saber, byte, short o char, pero no long.
( 4.1.1 ) Si se tiene la siguiente declaración de un arreglo: int v[] = { 1, 30, 8, 5 }; ¿Cómo trabaja internamente el compilador?
"La opción correcta es: Cuenta el número de inicializadores en la lista para determinar el tamaño del arreglo y después establece la operación
new apropiada. Cuando el compilador encuentra la declaración de un arreglo que incluye una lista inicializadora, cuenta el número de
inicializadores en la lista para determinar el tamaño del arreglo, y después establece la operación new apropiada. Bibliografía básica ""H. Deitel
y P. Deitel, Cómo Programar en Java (7ma ed)"". Pág 265, Capítulo 7. "
( 4.1.1 ) ¿Cuál de las siguientes sintaxis es la correcta para calcular la suma de los valores contenidos en los primeros tres elementos del arreglo
c y almacenar el resultado en la variable suma?
La opción correcta es: suma = c[0] +c[1] + c[2]; Ya que nos pide los primeros 3 elementos, todo arreglo comienza con el elemento 0, por eso
suma=c[1]+c[2]+c[3] no es correcta ya que suma de la segunda posición del elemento hasta la cuarta. Las 2 opciones suma = c[0+1+2] y suma =
c[3] son equivalentes, guardo en la variable suma el valor del índice 3. Por último suma = c[3]+1; suma guarda el valor índice del elemento 3
sumado 1.Bibliografía básica "H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed)". Pág 262, Capítulo 7.
( 4.1.1 ) Si tenemos la siguiente declaración de un arreglo multidimensional int b[ ] [ ] = { { 1, 2 }, {3, 4} }; ¿Cuántas filas y columnas tiene el
arreglo?
La opción correcta es: 2 filas y 2 columnas. Bibliografía básica "H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed)" Pág. 285, capítulo 7. Un
arreglo bidimensional b con dos filas y dos columnas podría declararse e inicializarse con inicializadores de arreglos anidados int b
[][]={{1,2},{3,4}}
( 4.1.1 ) "Qué describe la siguiente instrucción: for ( int columna = 0; columna < w[ 2 ].length; columna++ ){ w[ 2 ][ columna ] = 0;}"
"La opción correcta es: Asigna a todos los elementos en la fila 2 del arreglo w, el valor de cero. Bibliografía básica ""H. Deitel y P. Deitel, Cómo
Programar en Java (7ma ed)"", página 287, capítulo 7. La instrucción for anterior es equivalente a las siguientes instrucciones de asignación: w[
2 ][ 0 ] = 0; w[ 2 ][ 1 ] = 0; w[ 2 ][ 2 ] = 0; w[ 2 ][ 3 ] = 0; “
( 4.1.1 ) Decir que una variable es final corresponde a decir que:
"La opción correcta es: Es una variable constante. Las demás opciones son errores que no deben ocurrir al utilizar una Constante. Producen un
error de compilación. Bibliografía básica ""H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed)"". Pág 266, Capítulo 7. "
( 4.1.1 ) Indique de los siguientes conceptos sobre Arrreglos en Java, cuál es el incorrecto:
La opción correcta es: "No pueden mantener referencias a tipos de datos por referencia." Lo que valida que las demás opciones son conceptos
correctos con respecto a Arreglos en Java. Son objetos que pueden almacenar múltiples variables del mismo tipo de dato, se lo suele
denominar array por su denominación en inglés. Los arreglos pueden mantener referencias a tipos de datos primitivos o tipos de de datos por
referencia (objetos), pero el arreglo propiamente dicho es siempre un objeto.
( 4.1.1 ) Si deseo crear un Arreglo de 12 elementos de tipo int y almacenar la referencia del Arreglo en la variable c. ¿Cúal de las siguientes
declaraciones y expresiones es la correcta?
La opción correcta es: int c[] = new int[ 12 ]; Luego new int [12]; no almacena la referencia en ninguna variable. Todas las demás producen
error de sintaxis. Bibliografía básica "H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed)". Pág 263, Capítulo 7.
( 3.4 ) ¿Cuál de las siguientes opciones completa la siguiente afirmación? "Los métodos y los constructores pueden tener parámetros, pero los
constructores, a diferencia de los métodos..."
Justificación: los constructores no devuelven valores cuando se ejecutan. Deitel, Cap. 8, Pág. 338.
( 3.4 ) Dados los valores "int a = 10; int b = 2;" ¿Cuál de las siguientes opciones NO es correcta?
La respuesta correcta es: "La operación "a += b;" Hará que el valor de a sea 10" La operación "a += b;" transforma el contenido de la variable a
a 12 y no a 10, haciendo incorrecta esa opción.
( 3.4 ) Dados los valores "int a = 5; int b = ++a; c = --a; d = --b; e = --d" ¿Cuál de las siguientes opciones NO es correcta?
La respuesta correcta es: "El valor de b es 5" La operación "b = ++a;" asigna el valor de a incrementado en 1, es decir el valor 6 a la variable b
por lo que la opción NO correcta es la que indica que el valor de b es 5.
( 3.4 ) Se tienen 2 clases B y C que extienden de la clase A. Entonces, cuál de las siguientes afirmaciones sobre un objeto de tipo B es
incorrecta:
La opción correcta es: "Es una instancia de las clases A y C." Un objeto de tipo B, sólo hereda atributos y métodos definidos en A y posee los
propios. También se lo trata como una instancia de las clases A y B. Pero no es una instancia de la clase C, ya que B no hereda de C.
( 3.6 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? Los métodos sobrecargados se distinguen
entre sí por ...
La opción a elegir es "... su firma, que está formada por el nombre mas otros componentes", ya que la forma que tiene Java de distinguir entre
los métodos sobrecargados es la firma, que está formada por el nombre, sus argumentos, y tipos de datos. Las demás opciones son incorrectas
o incompletas. Deitel Cap. 6 Página 235.
( 4.2.1 ) ¿Cuál de las siguientes declaraciones con inicializaciones son correctas en java?
La opción correcta es "String dato= new String ("zfd");" por ser la única completa y correcta. Deitel Cap. 7 Pág. 263.
( 4.2.1 ) Cuando se divide una literal String en varias líneas en un programa, se produce un error de sintaxis. ¿Cuál de las siguientes es una
solución correcta para que este error no suceda?
La opción correcta es:" Dividir la literal String en objetos String más pequeños y utilizar la concatenación para formar la literal String deseada."
Lo que invalida a todas las demás opciones. Bibliografía básica "H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed)"
( 4.2.1 ) ¿Para qué se utiliza la clase String en Java?
La opción correcta es: Para representar cadenas. Bibliografía básica "H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed)" Pág. 1299,
capítulo 30,Sección 30.3. Justificación: La clase String se utiliza para representar cadenas en Java.
( 4.2.1 ) Indique qué representa la clase String en Java:
La opción correcta es: "Representa cadenas." Justificación: La clase String se utiliza para representar cadenas en Java. Lo que invalida a las
demás opciones, debido a que Date representa fechas, Float y Double, por ejemplo, representan valores numéricos, ArrayList representa
arreglos y por último, para marcar un atributo como una constante es necesario utilizar la palabra clave final en la declaración de la variable.
Bibliografía básica ""H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed)"
( 4.2.2 ) Ver imagen.
"La opción correcta es: aloh. Bibliografía básica ""H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed)"" Pág. 1301, capítulo 30,Sección
30.3.2. Si se itera a través de los caracteres en cadena con charAt y muestra la cadena invertida (aloh)."
( 4.2.2 ) Ver imagen.
La opción correcta es: La ultima 'c' se encuentra en el indice 15. Bibliografía básica "H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed)"
Pág. 1306, capítulo 30. Justificación: "La última 'c' se encuentra en el índice 15", ya que lastIndexOf devuelve la posición del carácter buscado
en la cadena.
( 4.2.2 ) Ver imagen.
La opción correcta es: "Las variables c1 y c2 hacen referencia al mismo objeto" Lo que invalida a todas las demás opciones, debido a que, se
comparan las referencias de las variables c1 y c2 y ambas variables referencian al mismo objeto de la clase Casa, y por consiguiente el
resultado de la comparación es true.
( 4.2.2 ) Ver imagen.
La opción correcta es: "Nací en la clase padre Nací en la clase hija" Esto se debe a que ambas clases implementan el método nacer(), y la clase
Hija al implementar su método nacer(), en su método main(), llama primero al método nacer() de la clase Padre, a través de la palabra clave
super e imprime por consola "Nací en la clase padre" y luego ejecuta la impresión por consola "Nací en la clase hija". Esto hace que invalide a
todas las demás opciones.
( 4.2.2 ) Ver imagen.
"La opción correcta es: s no es igual a ""hola"". Bibliografía básica ""H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed)"" Pág. 1302,
capítulo 30. Justificación: s no es igual a ""hola"". Ya que el método equals comprueba si 2 objetos de tipo cadena tienen el mismo contenido."
( 4.2.2 ) Ver imagen.
La opción correcta es: La ultima 'c' se encuentra en el indice 15. Bibliografía básica "H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed)"
Pág. 1306, capítulo 30. Justificación: "La última 'c' se encuentra en el índice 15", ya que lastIndexOf devuelve la posición del carácter buscado
en la cadena.
( 4.2.2 ) La clase String proporciona constructores para inicializar objetos String de varias formas, ¿cuál es la incorrecta?
"La opción correcta es: String s = new String; Bibliografía básica ""H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed)"" Pág. 1299, capítulo
30,Sección 30.3.1. Justificación: La respuesta String s = new String; produce un error de compilación. Las siguientes son correctas: String s =
new String(); se crea una instancia de un nuevo objeto String, utilizando el constructor sin argumentos de la clase String, y se le asigna su
referencia a s. String s = new String( p ); se crea una instancia de un nuevo objeto String, utilizando el constructor de la clase String que toma
un objeto String como argumento, y se le asigna su referencia a s. El nuevo objeto String contiene la misma secuencia de caracteres que el
objeto String de nombre p, el cual se pasa como argumento para el constructor. String s = new String( arregloChar ); se crea la instancia de un
nuevo objeto String y se le asigna su referencia a s, utilizando el constructor de la clase String que toma un arreglo de caracteres como
argumento. El nuevo objeto String contiene una copia de los caracteres en el arreglo. String s = new String( arregloChar, 7, 5 ); se crea la
instancia de un nuevo objeto String y se le asigna su referencia a s, utilizando el constructor de la clase String que toma un arreglo char y dos
enteros como argumentos. El segundo argumento especifica la posición inicial (el desplazamiento) a partir del cual se accede a los caracteres
en el arreglo. El tercer argumento especifica el número de caracteres (la cuenta) que se van a utilizar del arreglo. El nuevo objeto String
contiene una cadena formada a partir de los caracteres utilizados. Simpre que el arreglo posea una longitud >= 7
( 4.2.2 ) ¿Qué hace el método static format de la clase String?
"La opción correcta es: Aplica formato a los datos y devuelve los datos con formato, como un objeto String. Bibliografía básica ""H. Deitel y P.
Deitel, Cómo Programar en Java (7ma ed)"" Pág. 1293, capítulo 29,Sección 29.13: Aplicación de formato a la salida con la clase Formatter.
Justificación: La clase Formatter (en el paquete java.util) proporciona las mismas herramientas de formato que printf. Formatter es una clase
utilitaria que permite a los programadores imprimir salida con formato hacia varios destinos, incluyendo componentes de GUI, archivos y otros
flujos de salida. El método format de la clase Formatter imprime los datos con formato al destino especificado por el constructor de Formatter.
¿ El método static format de la clase String aplica formato a los datos y devuelve los datos con formato, como un objeto String."
( 4.2.2 ) El método "indexOf" en un String permite...
La opción "Buscar un carácter en particular" el método citado es el único medio para acceder a una posición del String. Deitel Cap. 20 Pág.
1306.
( 4.2.2 ) ¿Qué método debería usar en Java para transformar el objeto String z en un nuevo objeto String con letras mayúsculas, sabiendo que
String z = new String( "examen" );?
"La opción correcta es: z.toUpperCase(); Bibliografía básica ""H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed)"" Pág. 1308, capítulo 30.
Justificación: z.toUpperCase(); genera un nuevo objeto String con letras mayúsculas. z.Upper(); z.Lowercase() no existen como métodos.
Z.toLowerCase(); transforma un objeto String en un nuevo objeto String con letras minúsculas. z.trim(); genera un nuevo objeto String que
elimina todos los caracteres de espacio en blanco que aparecen al principio o al fi nal en la cadena en la que opera trim."
( 4.2.2 ) ¿Cúal de las siguientes afirmaciones sobre de la clase StringBuilder de Java es incorrecta?
La opción correcta es: Si las cadenas no van a cambiar, debemos usar objetos StringBuilder. Bibliografía básica "H. Deitel y P. Deitel, Cómo
Programar en Java (7ma ed)" Pág. 1311, capítulo 30. Justificación: como nota de rendimiento, Java puede realizar ciertas optimizaciones en las
que se involucran objetos String (como compartir un objeto String entre varias referencias), ya que sabe que estos objetos no cambiarán. Si los
datos no van a cambiar, debemos usar objetos String (y no StringBuilder).
( 4.2.2 ) "¿Qué subcadena de la cadena denominada ""letras"", debería devolver la siguiente línea de código? letras.substring( 3, 6 );"
La opción correcta es: La subcadena desde el índice 3 hasta el índice 5 inclusive. Bibliografía básica "H. Deitel y P. Deitel, Cómo Programar en
Java (7ma ed)" Pág. 1307, capítulo 30.
( 4.2.2 ) ¿Qué hace el método ensureCapacity de la clase StringBuilder de Java?
"La opción correcta es: Permite al programador garantizar que un StringBuilder tenga, cuando menos, la capacidad especificada. Bibliografía
básica ""H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed)"" Pág. 1312, capítulo 30. Justificación: La clase StringBuilder proporciona los
métodos length y capacity para devolver el número actual de caracteres en un objeto StringBuilder y el número de caracteres que pueden
almacenarse en un objeto StringBuilder sin necesidad de asignar más memoria, respectivamente. El método ensureCapacity permite al
programador garantizar que un StringBuilder tenga, cuando menos, la capacidad especificada. El método setLength permite al programador
incrementar o decrementar la longitud de un objeto StringBuilder."
( 4.1.2 ) ¿Qué hace el método firstElement de la clase Vector?
La opción correcta es: Devuelve una referencia al primer elemento. Bibliografía básica "H. Deitel y P. Deitel, Cómo Programar en Java (7ma
ed)" Pág. 835, capítulo 19, sección 19.5. Justificación: El método firstElement de Vector devuelve una referencia al primer elemento. El método
lastElement devuelve una referencia al último elemento. El método contains de Vector determina si el objeto Vector contiene la
claveBusqueda especificada como argumento. El método indexOf de Vector obtiene el índice de la primera ubicación de su argumento, el
método devuelve -1 si el argumento no se encuentra en el objeto Vector. El método isEmpty de Vector determina si el objeto Vector está
vacío. Los métodos size y capacity determinan el número de elementos actuales en el objeto Vector, y el número de elementos que pueden
almacenarse en el objeto Vector sin asignar más memoria, respectivamente.
( 4.1.2 ) ¿Qué hace el método size de la calse Vector?
La opción correcta es: Determina el número de elementos actuales en el objeto Vector. Bibliografía básica "H. Deitel y P. Deitel, Cómo
Programar en Java (7ma ed)" Pág. 835, capítulo 19, sección 19.5. Justificación: El método firstElement de Vector devuelve una referencia al
primer elemento. El método lastElement devuelve una referencia al último elemento. El método contains de Vector determina si el objeto
Vector contiene la claveBusqueda especificada como argumento. El método indexOf de Vector obtiene el índice de la primera ubicación de su
argumento, el método devuelve -1 si el argumento no se encuentra en el objeto Vector. El método isEmpty de Vector determina si el objeto
Vector está vacío. Los métodos size y capacity determinan el número de elementos actuales en el objeto Vector, y el número de elementos
que pueden almacenarse en el objeto Vector sin asignar más memoria, respectivamente.
( 4.1.2 ) El método "removeElementAt();" de un objeto del tipo Vector sirve para borrar...
La opción a elegir es "Un elemento, ocupando el lugar vacante con el elemento posterior." el método removeElementAt de un vector borra un
elemento reemplazando con el inmediato posterior si existiere. Deitel Cap. 19, Página 835.
( 4.1.2 ) Indique el método que devuelve el último elemento del vector:
La opción correcta es: lastElement() Los métodos firstElement() y lastElement() devuelven el primer y último elemento del vector
respectivamente. Para conocer el índice correspondiente a un elemento en particular, se usa el método indexOf(). Para acceder a los
elementos de un vector, se pueden utilizar los métodos elementAt() o get() en forma indistinta. Para saber si un elemento en particular se
encuentra almacenado o no en un vector, se utiliza el método contains().
La opción correcta es: "La operación trimToSize optimiza el uso que da un objeto Vector al almacenamiento en forma dinámica." Debido a que
trimToSize, se usa para priorizar el rendimiento de almacenamiento, recortando la capacidad del objeto Vector a su tamaño exacto. Esta
operación optimiza el uso que da un objeto Vector al almacenamiento. Sin embargo, al agregar otro elemento al objeto Vector, éste se verá
forzado a crecer en forma dinámica (deja de ser óptimo); al recortar su tamaño mediante trimToSize, no queda espacio para que crezca. Todas
las demás opciones, son válidas como consejos para mejorar el rendimiento utilizando Vector. Bibliografía H. Deitel y P. Deitel, Cómo
Programar en Java (7ma ed), capítulo 19
( 4.1.2 ) ¿Qué método de la clase Vector puede tener dos parámetros (un objeto y un entero en ese orden)?
La opción correcta es: "add". Este método recibe dos argumentos, un objeto y un entero, e inserta el objeto en el índice especificado en el
objeto Vector. El método insertElementAt proporciona la misma funcionalidad que el método add que recibe dos argumentos, excepto que el
orden de los parámetros se invierte. El método firstElement de Vector para devolver una referencia al primer elemento en el objeto Vector. El
método lastElement de Vector para devolver una referencia al último elemento en el objeto Vector. Cada uno de estos métodos lanza una
excepción NoSuchElementException si no hay elementos en el objeto Vector cuando se hace la llamada al método. El método contains de
Vector se usa para determinar si el objeto Vector contiene el argumento buscado, devuelve true si su argumento está en el objeto Vector; en
caso contrario, el método devuelve false. Bibliografía H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed), capítulo 19
( 4.1.2 ) Ver imagen.
La opción correcta es: "ArrayIndexOutOfBoundsException" Cuando un programa trata de acceder a un elemento fuera de los límites del
arreglo, se produce una excepción ArrayIndexOutOfBoundsException
( 4.1.2 ) Indique el método que se utiliza para acceder a los elementos de un vector:
La opción correcta es: elementAt() Para remplazar un elemento del vector por otro, se usa el método setElementAt(). Los métodos
firstElement() y lastElement() devuelven el primer y último elemento del vector respectivamente. Para conocer el índice correspondiente a un
elemento en particular, se usa el método indexOf(). Para acceder a los elementos de un vector, se pueden utilizar los métodos elementAt() o
get() en forma indistinta. Para saber si un elemento en particular se encuentra almacenado o no en un vector, se utiliza el método contains().
( 4.1.2 ) "Complete la oración con el término correcto, según la clase Vector: Si no se especifica un incremento de capacidad, el sistema
_________________ el tamaño del objeto Vector cada vez que se requiere una capacidad adicional."
La opción correcta es: "Duplicará" Invalida a todas las demás opciones, debido que los objetos de la clase Vector pueden cambiar su tamaño de
manera dinámica, comunmente denominado capacidad. Además, Si no se especifica un incremento de capacidad, Java duplica el tamaño del
objeto Vector cada vez que se requiere una capacidad adicional. Bibliografía H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed), capítulo
19
( 4.1.2 ) ¿Qué hace el método lastElement de la clase Vector?
La opción correcta es: Devuelve una referencia al último elemento. Bibliografía básica "H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed)"
Pág. 835, capítulo 19, sección 19.5. Justificación: El método firstElement de Vector devuelve una referencia al primer elemento. El método
lastElement devuelve una referencia al último elemento. El método contains de Vector determina si el objeto Vector contiene la
claveBusqueda especificada como argumento. El método indexOf de Vector obtiene el índice de la primera ubicación de su argumento, el
método devuelve -1 si el argumento no se encuentra en el objeto Vector. El método isEmpty de Vector determina si el objeto Vector está
vacío. Los métodos size y capacity determinan el número de elementos actuales en el objeto Vector, y el número de elementos que pueden
almacenarse en el objeto Vector sin asignar más memoria, respectivamente.
( 4.1.2 ) ¿Qué hace el método indexOf de la clase Vector?
La opción correcta es: Obtiene el índice de la primera ubicación de su argumento. Bibliografía básica "H. Deitel y P. Deitel, Cómo Programar en
Java (7ma ed)" Pág. 835, capítulo 19, sección 19.5. Justificación: El método firstElement de Vector devuelve una referencia al primer elemento.
El método lastElement devuelve una referencia al último elemento. El método contains de Vector determina si el objeto Vector contiene la
claveBusqueda especificada como argumento. El método indexOf de Vector obtiene el índice de la primera ubicación de su argumento, el
método devuelve -1 si el argumento no se encuentra en el objeto Vector. El método isEmpty de Vector determina si el objeto Vector está
vacío. Los métodos size y capacity determinan el número de elementos actuales en el objeto Vector, y el número de elementos que pueden
almacenarse en el objeto Vector sin asignar más memoria, respectivamente.
( 3.3.4 ) ¿Cuál de las siguientes opciones responde la siguiente pregunta? "Con los siguientes identificadores estamos aplicando una propiedad
de la POO, "d.tirar();" , "d.tirar(5);" y "d.tirar("ultimo");" ¿Cuál es?"
Justificación: las distintas variantes del método d.tirar se distinguen por su firma, es decir, el tipo de dato y la cantidad de los argumentos. La
justificación está en Deitel Capítulo 10 Página 421.
( 3.3.4 ) Si una subclase hereda un método que no le sirve como está escrito en la súper clase ¿qué puede hacerse?
La opción a elegir es "Sobre-escribir el método en la sub clase" porque sobre-escribir un método es un recurso muy utilizado en la herencia.
Deitel Cap. 9 Pág. 381.
( 3.3.4 ) La línea "w.toString();" nos indica que...
La respuesta correcta es: "El objeto w tiene un método propio o heredado, llamado toString()." La línea "w.toString();" nos indica que el objeto
w tiene un método propio o heredado, llamado toString().
( 3.3.4 ) Con la siguiente declaración de variables "boolean p = false; boolean q = true;", indicar la opción incorrecta:
La respuesta correcta es: "p && q es true" n los valores definidos, la operación lógica "p && q" es false. Por lo tanto, esta es la opción
incorrecta.
( 3.3.4 ) La expresión "public class Tiempo1 extends Tiempo" significa que...
Tiempo1 es una clase que hereda de Tiempo. Lect. 4 Pág. 12.
( 3.3.4 ) Si una subclase hereda un método que no le sirve como está escrito en la súper clase, ¿qué puede hacerse?
Sobre escribir el método en la sub clase. Lect. 4 Pág. 12.
( 3.3.4 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? "La herencia es un mecanismo que permite
a Java ..."
La opción a elegir es "Crear nuevas clases a partir de clases existentes" debido a que la herencia también se aplica entre clases. Deitel Cap. 9
Pág. 379.
( 3.3.4 ) Si definimos una clase como final. Esto implica que:
La opción correcta es: "La clase no puede ser derivada o no puede tener subclases." Las demás opciones pertenecen a una interfaz, es decir, no
puede ser instanciada (como la clase abstracta), las clases que derivan de una interfaz deben implementar todos sus métodos."
( 3.3.4 ) ¿Cómo puede ser accedido un método de una superclase que ha sido sobrescrito en una subclase?
La opción correcta es: "Utilizando la palabra clave super seguida por un punto (.) y el nombre del método". Bibliografía básica "H. Deitel y P.
Deitel, Cómo Programar en Java (7ma ed)". En la herencia cuando un método de la subclase sobrescribe al método de la superclase, éste
último puede utilizarse desde la subclase si se antepone a su nombre la palabra clave super y un punto (.).
( 3.3.4 ) ¿Cuál de las siguientes opciones responde la siguiente pregunta? "Con la siguiente declaración Java "Dado da = new Dado()" ¿qué
propiedad de la POO hace que "da" tenga los métodos de Dado?"
La declaración de un identificador como de una Clase y que este identificador reciba los métodos de la clase, es la propiedad de Herencia de
Java. Deitel Cap. 3 pág. 204.
( 3.3.4 ) ¿Qué palabra clave se debe utilizar si deseamos que un método no pueda ser redefinido o sobrescrito?
La opción correcta es: final. Si deseamos indicar que un método puede ser accedido por la propia clase y paquetes asociados se utiliza
protected, por la propia clase private. Static define que es un atributo de clase o atributos de instancia; se dice que son atributos de clase si se
usa la palabra clave static, en ese caso la variable es única para todas las instancias (objetos) de la clase (ocupa un único lugar en memoria).
Void, indica que un método no retorna tipo.
( 3.3.3 ) Con la siguiente declaración "boolean resultint;" podemos decir que habrá...
La respuesta correcta es: "Una variable booleana que no esta inicializada" Con la siguiente declaración "boolean resultint;" podemos decir que
habrá una variable booleana que no esta inicializada.
( 3.3.3 ) ¿Cuál de las siguientes afirmaciones no es verdadera?
la opción a elegir es la única no verdadera ya que java obliga a definir los tipos de datos, por ser un lenguaje fuertemente tipado, las demás
opciones se basan en esta característica.
( 3.3.3 ) Completar: Los argumentos que pasan a un método deben concordar en ______ con los parámetros de la declaración del método.
La respuesta correcta es: "Número, orden y tipo" Los argumentos que pasan a un método deben concordar en NÚMERO, ORDEN Y TIPO con
los parámetros de la declaración del método.
( 3.3.3 ) ¿Cuál de las siguientes opciones completa correctamente la siguiente afirmación? "Los argumentos de un método pueden ser una
constante, ..."
La opción que indica "...una variable o una expresión" es la que corresponde elegir, dado que las alternativas posibles son una constante, una
variable y una expresión es la que contempla a todas las opciones correctas. Deitel Pagina 106.
( 3.3.3 ) Al declarar un método, es posible que éste requiera que se le suministren datos para su funcionamiento, esto se realiza a través de...
La opción a elegir es "una la lista de parámetros" porque es el medio de pasar valores a un método para su funcionamiento. Deitel, Cap. 3, Pág.
83.
( 3.3.3 ) ¿Cuál de las siguientes afirmaciones es incorrecta?
Una superclase puede utilizar los métodos de una subclase. Lect. 4 Pág. 12.
( 3.3.3 ) ¿Cómo se denominan los métodos que únicamente permiten modificar los valores de los atributos de un objeto?
La opción correcta es: "Setters". El objetivo de estos métodos es poder modificar los valores de los atributos de un objeto. Para ello, estos
métodos deben recibir como parámetro el nuevo valor que será asignado en el atributo que se desea modificar. Los getters se utilizan para
leer atributos de un objeto. Los constructores para inicializar objetos y los destructores para eliminarlos de memoria. Interface es una
colección de métodos abstractos y propiedades, serán las clases que implementen estas interfaces las que describan la lógica del
comportamiento de los métodos.
( 3.3.3 ) ¿Qué definen los métodos de un objeto?
"La opción correcta es: "Definen el comportamiento de un objeto". Según el Paradigma Orientado a Objetos, la manipulación de un objeto
debe realizarse por medio de sus métodos. Estos métodos definen el comportamiento del objeto. Los métodos definidos en una clase
representan las operaciones que tendrán las instancias de la misma.
( 1.1.1 ) Según la bibliografía ¿En qué consiste la programación orientada a objetos?
La opcion correcta es: En utilizar objetos como bloque esencial de construcción. El diseño orientado a objetos (POO/DOO) proporciona una
manera natural e intuitiva de ver el proceso de diseño de software, a saber, modelando los objetos por sus atributos y comportamientos, de
igual forma que como describimos los objetos del mundo real. Ud. puede revisar su significado en la Bibliografía básica H. Deitel y P. Deitel,
¿Cómo Programar en Java¿ (7ma ed). Página 20 - Capítulo I.
( 1.1.1 ) Según el POO, cúal de éstas afirmaciones es la correcta:
La opción correcta es: Los objetos ocultan su implementación a través de una interfaz que evita que otros objetos conozcan sus detalles.
Bibliografía Lectura 1 de SAM, página 2, seccion 1.1.1
( 1.1.1 ) ¿Qué es la Programación Orientada a Objetos?
La opción correcta es: "Representa un modelo de desarrollo de resolución de problemas que se acerca al modelo utilizado por las personas
sobre cómo piensan y ven el mundo real."La opción correcta invalida o descarta a las restantes, debido a que las demás opciones hacen
referencia a los paradigmas utilizados antes de la aparición del Orientado a Objetos, ya que ellos hacían referencia a las tareas e instrucciones,
mientras que el orientado a objetos a representaciones de entidades del mundo real.
( 3.2.2 ) ¿Cuál de las siguientes no es una palabra reservada?
date es un sustantivo que no está reservado y puede ser usado por el usuario como identificador, el resto corresponden a tipos de datos
primitivos por lo tanto imposibles de ser usados como identificadores.
( 3.2.2 ) ¿Cuál de los siguientes es un nombre válido de identificador?
loop es un sustantivo común en Java y no tiene asignación específica a un contenido especial en el lenguaje, el resto por el contrario sí lo tiene,
como sentencia de bifurcación, denominación de clases, nombres erróneos de identificadores.
( 2.4.2 ) Dada la siguiente expresión int resultado = (4 + 20) / 2 - 5 % 2; ¿Cuál es el valor de resultado?
La opción correcta es: "11" La utilización de paréntesis modifica el orden de precedencia de la siguiente manera: 1. Primero se evalúa la suma
de 4 + 20, dando como resultado parcial el valor 24. 2. Luego se aplican las operaciones de división y módulo en ese orden, dando como
resultado parciales los valores 12 y 1 respectivamente. 3. Se aplica la operación resta. El resultado de la resta es 11. 4. El valor 11 es asignado a
la variable resultado. En cuanto las demás opciones se corresponden con las siguientes expresiones: resultado = 0: int resultado = (4 + 20) / (2 -
5) % 2; resultado = 13: int resultado = (4 + 20 / 2) - 5 % 2; resultado = 1: int resultado = (4 + 20 / 2 - 5) % 2; resultado = 5: int resultado = 4 + (20
/ 2 - 5) % 2; H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed)"
( 2.4.2 ) ¿Cuáles son los pasos del orden de ejecución de la siguiente expresión? z = p * r % 1 + w / x – y
Justificación: el orden de precedencia de cálculo marca la secuencia correcta que es la opción a elegir " *, %, /, +, - y = ". Deitel Anexo A Página
1340.
( 2.4.2 ) ¿Cuáles son los pasos del orden de ejecución de la siguiente expresión? z = p * r % 1 + w / x – y
Justificación: el orden de precedencia de cálculo marca la secuencia correcta que es la opción a elegir " *, %, /, +, - y = ". Deitel Anexo A Página
1340.
( 2.4.2 ) ¿Cuál de las siguientes opciones completa esta afirmación? "La regla de precedencia de operadores, indica que los Operadores ..."
Justificación: la opción correcta responde a la prioridad de los operadores *, / y % que se ejecutan primero, de izquierda a derecha. Deitel
Anexo A Página 1340.
( 2.4.2 ) ¿Cuáles son los pasos del orden de ejecución de la siguiente expresión? z = p * r % 1 + w / x – y
Justificación: el orden de precedencia de cálculo marca la secuencia correcta que es la opción a elegir " *, %, /, +, - y = ". Deitel Anexo A Página
1340.
( 2.4.2 ) ¿Cuáles son los pasos del orden de ejecución de la siguiente expresión? z = p * r % 1 + w / x – y
Justificación: el orden de precedencia de cálculo marca la secuencia correcta que es la opción a elegir " *, %, /, +, - y = ". Deitel Anexo A Página
1340.
( 2.4.2 ) ¿Cuáles son los pasos del orden de ejecución de la siguiente expresión? z = p * r % 1 + w / x – y
Justificación: el orden de precedencia de cálculo marca la secuencia correcta que es la opción a elegir " *, %, /, +, - y = ". Deitel Anexo A Página
1340.
( 3.3.1 ) ¿Cuál de las siguientes opciones indica la acción que cumple la palabra clave "new"?
Justificación: "new" convoca al constructor de la clase. Deitel, Cap. 4, Pág. 148.
( 3.3.1 ) ¿Qué restricción se aplica a esta declaración de clase: "public class Saludos {}"?
La respuesta correcta es: "Si es la única clase que está definida en el archivo, tiene que estar en un archivo que se llame "Saludos.java"" Que si
es la única clase que está definida en el archivo, tiene que estar en un archivo que se llame "Saludos.java".
( 3.3.1 ) Con la siguiente declaración "Globo rojo = new Globo();" estamos...
Con esta declaración "Globo rojo = new Globo();" estamos:creando una variable del tipo Globo y definiendo su inicialización. Lect. 4 Pág. 4.
( 3.3.1 ) Con la siguiente declaración "Globo rojo;" estamos...
La respuesta correcta es: "Creando un objeto llamado rojo del tipo Globo pero sin inicialización" Con la anterior declaración estamos creando
un objeto llamado rojo del tipo Globo pero sin inicialización
( 3.3.1 ) Con la siguiente declaración "ConsoleWindow c = new ConsoleWindow();" estamos...
Con la declaración "Creando un objeto c del tipo ConsoleWindow y lo estamos inicializando" estamos creando un objeto c del tipo
ConsoleWindow y lo estamos inicializando.
( 2.3 ) Indique la cantidad de bits que ocupa el almacenamiento en memoria del tipo de dato int:
La opción correcta es: 32 bits. Los tipos de datos char y short, representan 16 bits. Byte, 8 bits. Int y float 32 bits. Long y double 64 bits.
Boolean 1 bits. Bibliografía Lectura 3 de SAM, página 28.
( 2.3 ) Indique cuál de los siguientes tipos de datos primitivos, no corresponde a la categoría "Númericos integrales":
La opción correcta es: float. Debido a que éste pertenece a la categoría "Númericos de punto flotante". Mientras que byte, short, int, long, sí
pertenecen a la categoría "Númericos integrales". Bibliografía Lectura 3 de SAM, página 27.
( 2.3 ) ¿Cuál de las siguientes opciones completa la siguiente afirmación? "El tipo de dato que utiliza 7 dígitos significativos es..."
Justificación: float es el tipo de dato numérico que soporta esa precisión. Deitel, Cap. 6, Pág. 236.
( 2.3 ) Indique la cantidad de bits que ocupa el almacenamiento en memoria del tipo de dato short:
La opción correcta es: 16 bits. Los tipos de datos char y short, representan 16 bits. Byte, 8 bits. Int y float 32 bits. Long y double 64 bits.
Boolean 1 bits.
( 2.3 ) Indique la cantidad de bits que ocupa el almacenamiento en memoria del tipo de dato boolean:
La opción correcta es: 1 bit. Los tipos de datos char y short, representan 16 bits. Byte, 8 bits. Int y float 32 bits. Long y double 64 bits.
( 2.3 ) ¿Cuál de los siguientes tipos de datos, no corresponde a un tipo primitivo de Java?
La respuesta correcta es: "String" En java existen dos conjuntos de tipos de datos: 1-Tipos primitivos: se utilizan para declarar variables que se
almacenen en forma directa en memoria. No son objetos. 2-Tipos por referencia: se utilizan para manipular objetos. Su concepto es similar a lo
que en otros lenguajes se denominan punteros. Las clases son tipos por referencia, por eso la clase String no es un tipo primitivo. Bibliografía
H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed), capítulo 3
( 2.3 ) ¿Cuál de las siguientes opciones completa la siguiente afirmación? "El tipo de dato que utiliza 15 dígitos significativos es..."
Justificación: double es el tipo de dato numérico que soporta esa precisión. Deitel, Cap. 8, Pág. 236.
( 2.3 ) En Java, los tipos primitivos se pueden dividir en cuántas categorías:
La opción correcta es: 4. En Java, los tipos primitivos se pueden dividir en cuatro categorías: numéricos integrales, numéricos de punto
flotante, valores lógicos y caracteres simples.
( 2.3 ) Indique la cantidad de bits que ocupa el almacenamiento en memoria del tipo de dato double:
La opción correcta es: "64 bits". Los tipos de datos char y short, representan 16 bits. Byte, 8 bits. Int y float 32 bits. Long y double 64 bits.
Boolean 1 bits.
( 1.4.2 ) El siguiente propósito "Separar la implementación (detalles internos) de un objeto de su interfaz o protocolo (métodos)" ¿A qué
propiedad corresponde?
La respuesta correcta es: "Al Encapsulamiento" Uno de los propósitos del encapsulamiento es Separar la implementación (detalles internos) de
un objeto de su interfaz o protocolo (métodos)
( 1.4.2 ) Según la bibliografía, ¿Cuál de las siguientes características NO pertenece a Abstracción?
La opción correcta es: Da como resultado una menor dependencia entre objetos.Es característica del Bajo acoplamiento que da como
resultado una menor dependencia entre objetos. Lo que valida que las demás opciones corresponden a Abstracción. Bibliografía: Lectura 2 del
SAM, página 16, sección 1.4.2: "Abstracción vs. Encapsulamiento"
( 1.4.2 ) ¿A qué característica de la Programación Orientada a Objetos pertenece la siguiente definición? "Característica que indica la habilidad
de los objetos de comportarse de distintas maneras ante un mismo mensaje."
La opción correcta es: Polimorfismo. Según Lectura 2 del Sam - Características del Paradigma Orientado a Objetos. Página 2. Lo que invalida las
demás opciones.
( 1.4.2 ) ¿Cómo está determinada la dependencia entre el objeto Emisor y el objeto receptor?
La respuesta correcta es: "Por la interfaz del objeto receptor" La dependencia entre el objeto emisor y el objeto receptor está determinada por
la interfaz del objeto receptor
( 1.4.2 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? "Los objetos tienen la propiedad de ocultar
información, que se denomina..."
La opción correcta "Encapsulamiento" es el nombre de la propiedad mencionada, las restantes corresponden a otras características y ventajas
de la Programación Orientada a Objetos. Deitel Cap. 1, Pág. 2
( 1.4.2 ) El siguiente propósito, "Mantener los datos (atributos) y el comportamiento (métodos) en una unidad (objeto)" ¿A qué propiedad
corresponde?
La respuesta correcta es: "Al Encapsulamiento" Uno de los propósitos del encapsulamiento es mantener los datos (atributos) y el
comportamiento (métodos) en una unidad (objeto).
( 1.4.2 ) ¿Cómo se denomina el conjunto de métodos que pueden ser ejecutados y debe ser la única parte visible de un objeto?
La respuesta correcta es: "Interfaz" La interfaz de un objeto está conformada por el conjunto de métodos que pueden ser ejecutados y debe
ser la única parte visible de un objeto entre sí."
( 1.4.2 ) "¿Cómo se denomina a la combinación o agrupamiento de atributos y métodos en una unidad de forma tal que la manipulación de los
datos se produce solamente por medio de los métodos?"
La respuesta correcta es: "Encapsulamiento" La combinación o agrupamiento de atributos y métodos en una unidad de forma tal que la
manipulación de los datos se produce solamente por medio de los métodos, se denomina Encapsulamiento
( 1.4.2 ) ¿Qué opción completa la frase? "La implementación de un objeto hace referencia por un lado a los atributos de un objeto y por otro
lado a la ..."
La respuesta correcta es: "La lógica interna aplicada en cada método" La implementación de un objeto hace referencia por un lado a los
atributos de un objeto y por otro lado a la lógica interna aplicada en cada método.
( 1.4.2 ) ¿Por cuál de las propiedades de la programación orientada a objetos, éstos cuentan con una capa de seguridad sobre los datos?
La respuesta correcta es: "Encapsulamiento" Por medio del Encapsulamiento, los objetos cuentan con una capa de seguridad sobre los datos
( 1.4.2 ) Según la POO, ¿Qué propósitos NO persigue el Encapsulamiento?
La opción correcta es: Construir objetos a partir de otros objetos. Ésta corresponde a Herencia, lo que valida que todas las demás opciones
corresponden a Encapsulamiento. Lectura 2 del SAM, sección 1.4.2
( 1.4.2 ) ¿Cómo es posible prohibir el acceso a los atributos de un objeto?
La respuesta correcta es: "Definiendo los atributos como privados" Se puede lograr marcando los atributos en la definición de la clase como
privados
( 1.4.2 ) Las ventajas de mejorar la seguridad y mantenimeinto de un sistema son propias de utilizar:
La opción correcta es: Encapsulamiento. Bibliografía Lectura 2 del SAM, página 16, sección 1.4.2: Ventajas del encapsulamiento: Mejora la
seguridad de un sistema ya que los detalles internos de la implementación de un objeto permanecen ocultos para el resto de los objetos. La
separación entre la interfaz de un objeto y su implementación permite un mejor entendimiento y organización del sistema. Facilita el
mantenimiento del sistema ya que podemos modificar la implementación de una clase sin alterar la interfaz de la misma.
( 2.5 ) "Dada la siguiente línea de código: System.out.println( ""Hola\nMundo\nJava!"" ); ¿Cuál es su salida?"
"La opción correcta es: "Hola Mundo Java!" La que corresponde con la secuencia de escape: \n Nueva línea. Coloca el cursor de la pantalla al
inicio de la siguiente línea. Bibliografía H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed), capítulo 2
( 2.5 ) ¿Cuál de las siguientes afirmaciones es falsa?
la única opción falsa es la que afirma que las sentencias de selección repetirán un proceso dependiendo de una condición. Deitel, Cap. 6, Pág.
251.
( 2.5 ) "Indique el resultado de la siguiente instrucción: int c = 8; if ( c < 7 ); System.out.println( ""c es menor que 7"" );"
"La opción correcta es: c es menor que 7. Hay un punto y coma después del paréntesis derecho de la condición (c < 7 ) en la instrucción if,
como resultado, la instrucción de salida se ejecutará, sin importar que la condición en la instrucción if sea verdadera o falsa. Por tal motivo
invalida a todas las demás opciones a que sean correctas. Bibliografía H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed), capítulo 2,
página 69."
( 2.5 ) Indique cuál de las siguientes no es una buena práctica de programación:
La opción correcta es: "Para mejorar la legibilidad de los programas, agregar un comentario antes de la llave derecha de cierre (}), para indicar
a qué método o clase pertenece." Lo que valida que todas las demás opciones son correctas a la hora de considerar buenas prácticas de
programación en Java. La buena práctica de programación que invalida a la opción correcta es: Para mejorar la legibilidad de los programas,
agregar un comentario de fin de línea después de la llave derecha de cierre (}), indicando a qué método o clase pertenece. Bibliografía H.
Deitel y P. Deitel, Cómo Programar en Java (7ma ed), capítulo 2
( 2.5 ) "Indique el resultado de las siguientes líneas de código: int numero1, numero2 = 28; if ( numero1 = = numero2 ){ System.out.printf( %d
== %d\n, numero1, numero2 );}"
La opción correcta es: "Error de sintaxis". Dado que los operadores ==, contienen espacios entre sus símbolos se produce un error de sintaxis.
Es un error de sintaxis si los operadores ==, !=, > = y <= contienen espacios entre sus símbolos, como en = =, ! =, > = y < =, respectivamente.
Bibliografía H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed), capítulo 2
( 2.5 ) "Indique cuál de las siguientes reglas de precedencia de operadores, es la incorrecta en una expresión aritmética:
La opción correcta es: "Los operadores de multiplicación, división y módulo tienen diferente nivel de precedencia." Lo que valida que todas las
demás opciones son correctas, la regla que verifica que la invalidez de la opción correcta es la siguiente: Los operadores de multiplicación,
división y residuo tienen el mismo nivel de precedencia. Bibliografía H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed),capítulo 2
( 2.5 ) ¿Cuál de las siguientes opciones corresponde al valor de x en esta expresión java? "y=a*x*x*x+7"
Por la regla de precedencia la opción correcta es la que indica "x al cubo". Deitel, Cap. 2, Pág. 72.
( 2.5 ) ¿Qué caracteres tiene la secuencia de escape que hace a System.out.println() imprimir literalmente "in quotes" (comilla doble)?
La opción correcta \"in quotes \" es la sintaxis que imprime lo solicitado, las restantes no cumplen con los símbolos ni con el orden correcto.
Deitel Cap. 2 Pág. 35.
( 2.5 ) "¿Cuál de las siguientes instrucciones es la correcta para realizar la siguiente tarea? Mostrar el mensaje ""El producto es"", seguido del
valor de la variable resultado."
La opción correcta es: System.out.printf( "El producto es %d\n", resultado ); lo que hace que todas las demás opciones sean incorrectas. Ya
que no hay concatenación del string "El producto es" con la variable resultado. Bibliografía H. Deitel y P. Deitel, Cómo Programar en Java (7ma
ed), capítulo 2
( 2.5 ) Cuál de las siguientes instrucciones realiza la siguiente acción: Recibir un entero como entrada y asignar el resultado a la variable int
valor. Suponga que se puede utilizar la variable entrada tipo Scanner para recibir un valor del teclado.
La opción correcta es: "valor = entrada.nextInt();" Lo que invalida a las demás opciones que no se corresponden con la acción solicitada. Crea
un objeto Scanner que lee valores de la entrada estándar: Scanner entrada = new Scanner (System.in); El valor de la variable entrada, se asigna
a valor: valor = entrada; Muestra por consola el resultado de la variable valor: System.out.print( valor ); Lee el valor ingresado por consola, y lo
asigna en la variable entera valor, previa creación del objeto BufferedReader: int valor = Integer.parseInt(br.readLine());Bibliografía H. Deitel y
P. Deitel, Cómo Programar en Java (7ma ed), capítulo 2
( 2.5 ) "Indique el resultado de la siguiente instrucción: int c = 8; if ( c => 7 ) System.out.println( ""c es igual o mayor que 7"" );"
La opción correcta es: Error de compilación. Ya que en la instrucción, el operador relacional => es incorrecto. Lo que ocasiona un error de
compilación, su corrección debería ser >=. Bibliografía H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed), capítulo 2
( 1.1.2 ) ¿Cómo fueron evolucionando los paradigmas de programación?
La opción correcta es: Como consecuencia de la evolución de la programación imperativa, surge la programación desestructurada, luego la
programación estructurada y por último la POO. Lo que invalida todas las demás opciones establecidas. Bibliografía Lectura 1 de SAM, página
6, seccion 1.1.1
( 1.1.2 ) Una vez que hemos identificado el modelo de resolución...
Una vez que hemos identificado el modelo de resolución es necesario convertirlo en instrucciones escritas en un lenguaje de programación
Lec. 1 pág. 6.
( 1.1.2 ) La denominada crisis del software se caracteriza por...
La denominada crisis del software se caracteriza por la inhabilidad de desarrollar proyectos que cumplan los requerimientos planteados.
( 1.1.2 ) ¿A qué se llama paradigma?
Un paradigma es un modelo o patronLecc. 1 pag 6
( 1.1.2 ) ¿Entre qué años surge la famosa crisis del software?
La opción correcta es: Entre los años 1970 y 1980. Lo que invalida a todas las demás opciones. "Entre los años 1970 y 1980 hubo un espacio
vacío en cuanto al desarrollo de nuevos paradigmas de programación. Sin embargo, hubo un creciente desarrollo de lenguajes de
programación pero la industria del software no lograba satisfacer sus requerimientos. Fue en este momento en el que surge lo que se
denominaría la crisis del software.".
( 1.1.2 ) ¿Cuál fue el primer modelo de programación que dio origen a la programación orientado a objetos?
La opción correcta es: Programación imperativa. Invalida a todas las demás opciones porque el primer modelo de programación que dio origen
a las programaciones desestructurada, procedimental y modular y estructurada (son lo mismo) respectivamente, fue la Imperativa.
( 1.1.2 ) ¿Qué lenguaje de programación se lo considera híbrido, ya que proporciona características de la programación estructurada y
orientada a objetos a la vez?
"La opción correcta es: C++. A principios de la década de los ochenta, Bjarne Stroustrup desarrolló una extensión de C en los laboratorios Bell:
C++. Este lenguaje proporciona un conjunto de características que pulen al lenguaje C pero, lo más importante es que proporciona la
capacidad de una programación orientada a objetos. C++ es un lenguaje híbrido: es posible programar en un estilo parecido a C, en un estilo
orientado a objetos, o en ambos. Ud. Puede revisar la respuesta de la bibliografía básica H. Deitel y P. Deitel, Cómo Programar en Java (7ma
ed). Página 8 - Capítulo I: Introducción a las computadoras, Internet y Web. "
( 1.1.2 ) Según el paradigma modular, cuál de las siguientes afirmaciones es incorrecta:
La opción correcta es: Los problemas son resueltos a través de una descomposición de clases. Las demás opciones corresponden todas a
carácter¿siticas del paradigma modular. Bibliografía Lectura 1 de SAM, página 9, sección 1..1.2.
( 1.1.2 ) ¿Cuál de éstos motivos no dio origen a la crisis del software?
La opción correcta es: Abundancia de metodologías de desarrollo de software adecuadas. Lo que invalida a todas las demás opciones ya que sí
corresponden con los desencadenantes de la crisis del software, que surgió en la década de 1970 y 1980. La respuesta que hace inválida la
opción correcta de la pregunta es la siguiente: falta de metodologías de desarrollo de software adecuadas. Bibliografía lectura 1 de SAM,
página 12.
( 1.1.2 ) ¿A qué nivel de resolución de problemas a través de una computadora, pertenecen las expresiones literarias y algebraicas?
La opción correcta es: Lenguaje de alto nivel. Haciendo referencia a la Lectura 1 de SAM, página 5, sección 1.1.2. Esta opción invalida a todas
las demás, ya que el lenguaje de alto nivel utiliza algoritmos o modelos para resolución de problemas, mediante expresiones literarias y
algebraicas. Los modelos de resolución para problemas complejos se utiliza el paradigma orientado a objetos. Los lenguajes de bajo nivel,
utilizan secuencias de instrucciones.
( 1.1.2 ) ¿Cuál de éstas afirmaciones NO corresponde al Paradigma Desestructurado?
La opción correcta es: Cada procedimiento cuenta con sus propios datos y algoritmos. Esta característica se corresponde con el Paradigma
modular. Bibliografía Lectura 1 de SAM. Pág. 7, sección 1.1.2
( 1.1.2 ) ¿Cuál de éstas afirmaciones corresponden al paradigma desestructurado?
La opción correcta es: Utiliza lenguajes de programación que no siguen una metodología definida. Esta opción invalida a todas las demás ya
que las otras son características al paradigma por procedimientos. Bibliografía lectura 1 SAM, página 7.
( 4.3.3 ) Una clase de Java tiene su comportamiento definido en los...
el comportamiento de un objeto esta expresado en los distintos métodos que contiene la clase que lo define
( 4.3.4 ) El hecho que se recomiende modificar los atributos de estado de una clase, declarados como privados, a través de métodos, es debido
a que se aplica el concepto de ...
modificar el estado de un objeto a través de sus propios métodos y no directamente es correspondiente a la definición de encapsulamiento.
( 4.3.4 ) Es recomendado que un método "set" de una clase sea declarado como ...
para cumplir con el encapsulamiento las variables de instancia deben ser declaradas como private y ser modificadas por los métodos set de la
clase y para realizar esto los métodos deben ser puestos accesibles con public.
( 2.3.6 ) Si utilizo un operador unario de conversión o cast, para lograr que se haga una copia transitoria de su operando en formato entero,
debo usar...
Justificación: el operador que realiza lo solicitado es (int). Deitel, Cap. 6, Pág. 251.
( 2.3.6 ) Si utilizo un operador unario de conversión o cast, para lograr que se haga una copia transitoria de su operando en formato doble
flotante, debo usar...
Justificación: el operador que realiza lo solicitado es (double). Deitel, Cap. 6, Pág. 251.
( 2.3.6 ) Indique la opción que corresponde a una conversión explícita de tipos de datos primitivos, si se tienen las variables y sus tipos, double
promedio_compra; int total, cantidad:
La opción correcta es: promedio_compra = (double) total / cantidad; Para realizar un cálculo de punto flotante con valores enteros, se debe
convertir uno de los enteros al tipo double. El uso de un operador de conversión de tipos de esta forma se denomina conversión explícita. Lo
que hace que se invalide las demás opciones como correctas. Error de compilación: (double) promedio = (double) total / cant; (double)
promedio_compra = total / cantidad; promedio (double) = total / cant; Conversión implícita: promedio_compra = total / cantidad; Bibliografía
H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed), capítulo 4, página 133. "
( 3.2.5 ) ¿Qué caracteres tiene la secuencia de escape que hace a System.out.println() realizar un fin de línea y sigue imprimiendo en la
siguiente línea, en la primera posición?
Es la sintaxis correcta. Las restantes no cumplen con los símbolos ni con el orden correcto.
( 3.2.5 ) ¿Qué caracteres tiene la secuencia de escape que hace a System.out.println() volver al comienzo de la misma línea (retorno de carro)?
Es la sintaxis correcta, las restantes no cumplen con los símbolos ni con el orden correcto.
( 3.2.5 ) ¿Qué caracteres tiene la secuencia de escape que hace a System.out.println() imprimir el carácter "\"?
"\"\\\""es la sintaxis correcta, las restantes no cumplen con los símbolos ni con el orden correcto.
( 1.3.3 ) ¿Cuál de éstos enunciados hace referencia a la definición de una Clase?
La opción correcta es: Un modelo o prototipo que define los atributos y métodos comunes a todos los objetos de ciertas características
similares, Bibliografía Lectura 1 del SAM, página 29, sección 1.3.3 - Lo que invalida todas las demás opciones ya que son definiciones que
pertenecen a Objeto y no a una Clase.
( 1.3.3 ) ¿Cómo se denomina a una instancia de una clase?
La opción correcta es: Objeto. Lo que invalida todas lsa demás opciones. Bibliografía Lectura 1 del SAM, página 29, sección 1.3.3: "Todo objeto
es una instancia de una clase"
( 1.3.2 ) Según el POO ¿cómo interactúan los objetos entre sí?
La opción correcta es: A través de mensajes. Lectura 1 del SAM- Página 26, Sección 1.3.2 - "la Programación Orientada a Objetos permite la
interacción entre objetos a través de mensajes y de esta forma se pueden lograr programas que soporten mayor funcionalidad y complejidad."
Lo que invalida todas las demás opciones.
( 1.3.2 ) ¿Cuál de éstas afirmaciones no corresponde con la información que debemos tener en cuenta en la estructura de comunicación entre
objetos?
La opción correcta es: Métodos sin parámetros. Lectura 1 del SAM, página 28, sección 1.3.2. Las demás opciones es todo lo que tenemos que
tener en cuenta, según la POO, en la estructura de comunicación entre objetos.
( 1.3.2 ) Según la POO ¿cuáles de los siguientes componentes de un mensaje entre objetos es opcional?
La opción correcta es: Parámetros. Lectura 1 del SAM- Página 28, Sección 1.3.2 : "...Hay algunos casos en donde no se envía ningún parámetro
en el mensaje. Por ejemplo, si se ejecutara el método frenar que tiene como efecto la detención total del vehículo, el objeto vehículo no
necesita de ninguna información adicional para ejecutar este método. Simplemente sabe que debe reducir la velocidad actual a 0 km/h y para
ello no necesita de ningún parámetro..." El método, objeto receptor y tipo de información a devolver son todos requeridos en un mensaje
entre objetos.
( 1.3.2 ) Según la POO ¿cuáles son los componentes de un mensaje estándar entre objetos?
La opción correcta es: Objeto receptor, método y parámetros. Éstos últimos pueden ser opcionales, pero corresponden a un componente
básico de todo método estándar. Lectura 1 del SAM- Página 27, Sección 1.3.2 - "componentes de un mensaje: El objeto receptor a quien está
dirigido el mensaje. El método que se desea ejecutar. El/los parámetro/s que contiene/n la información necesaria para ejecutar el método." Lo
que invalida todas las demás opciones.
( 1.3.2 ) Complete con una de las opciones la frase: "La Programación Orientada a Objetos permite la interacción entre objetos a través de ..."
La respuesta correcta es: "Los mensajes" La Programación Orientada a Objetos permite la interacción entre objetos a través de mensajes.
( 1.3.2 ) "En la programación orientado a objetos, ¿cómo se da la comunicación entre objetos?"
La opción correcta es: "Por medio de mensajes.". Lo que invalida a todas las demás opciones que no se corresponden con dicho concepto.
( 1.3.2 ) Complete con una opcion la frase: "Cuando un objeto A desea que otro objeto B ejecute alguna de sus funciones o métodos de B,
entonces el objeto A ..."
La respuesta correcta es: "Manda un mensaje al objeto B" Cuando un objeto A desea que otro objeto B ejecute alguna de sus funciones o
métodos de B, entonces el objeto A manda un mensaje al objeto B"
( 2.3.5 ) ¿Cuál de las siguientes opciones es la que completa correctamente la siguiente afirmación? "El método que devuelve el contenido del
propio objeto, en forma de String se llama..."
La opción a elegir es la que nombra el método toString que ejecutado por defecto para realizar la definición del objeto en caracteres. Deitel
Cap. 6 Pág. 219
( 2.2 ) ¿Cuál de las siguientes opciones responde a la pregunta? ¿Qué rol cumple el símbolo "==" en la siguiente sentencia? numero1 ==
input.nextInt();
La opción "Operador de comparación de igualdad" es la opción correcta ya que "==" se usa para comparar la igualdad entre dos expresiones, el
resto son diferentes operadores. Deitel Cap. 2 Pág. 52
( 2.2 ) ¿Qué rol cumple el símbolo "=" en la siguiente sentencia? numero1 = input.nextInt();
La opción "Operador de asignación" es la opción correcta, ya que se refiere a la asignación de valores a una variable que usa el símbolo "=". El
resto son diferentes operadores. Deitel Cap. 2, Pág. 47.
( 1.4.5 ) ¿Cómo afecta a los métodos, el hecho de que se debe construir las soluciones a los problemas aplicando el principio de dividir y
conquistar?
Justificación: la programación orientada a objetos aplica la idea de resolver una sola vez los problemas, dividiéndolos en las porciones más
simples posibles y a cada una de esas partes dedicarles un método que lo resuelva. Deitel, Cap. 6, Pág. 212.
( 1.4.5 ) ¿Cuál de las siguientes afirmaciones no corresponde con la POO?
La opción correcta es: Permite variables para valores intermedios, pero no actualizar su estado. Corresponde al paradigma declarativo.
Bibliografía Floyd, 1979. Las demás respuestas corresponden a la POO. Bibliografía Lectura 2 de SAM, página 36, sección 1.4.5
( 1.4.5 ) Uno de las siguientes opciones no es un beneficio de la Modularidad, indique cuál:
La opción correcta es es corresponde a reutilización, otro beneficio del POO. Lo que hace que todas las demás respuestas correspondan con los
beneficios de la Modularidad. Bibliografía Lectura 2 del SAM, página 34, sección 1.4.5.
( 1.4.5 ) ¿Cuál de las siguientes NO es una ventaja de la POO?
La opción correcta es: Comprobación de axiomas. Bibliografía Lectura 2 del SAM, página 34, sección 1.4.5. La comprobación de axiomas
corresponde al Paradigma lógico.
( 1.4.5 ) La resolución de problemas utilizando el Paradigma Orientado a Objetos, ¿qué tipos de modelos define?
La opción correcta es: Modelos más naturales y cercanos a la forma de pensar del hombre que cualquier otro paradigma. Bibliografía Lectura 2
del SAM, página 36, sección 1.4.5.
( 1.4.5 ) ¿Cuál de las siguientes opciones corresponden a una ventaja del uso de la Herencia en el Paradigma Orientado a objetos?
La respuesta correcta es: "Reutilización de código" La reutilización de código es una de las principales ventajas de la programación orientada a
objetos
( 1.4.5 ) ¿Mediante la reutilización de módulos qué no podemos asegurar?
La opción correcta es: La complejidad del problema a resolver. Bibliografía Lectura 2 del SAM, página , sección . La complejidad del problema a
resolver no depende de la POO, es un entorno que debemos modelar, es independiente del paradigma a utilizar.
( 1.4.1 ) Según las siguientes opciones, Abstracción NO es:
La opción correcta es: Ocultamiento de datos. Ésta característica se corresponde con Encapsulamiento. Todas las demás pertenece a
Abstracción. Bibliografía Lectura 2 del SAM, página 6.
( 1.4.1 ) En los gráficos de Objetos ¿Qué se encuentra en el núcleo y que representan a los datos?
La respuesta correcta es: "Atributos" en el núcleo del objeto se encuentran los atributos (datos) que manipula el objeto.
( 1.4.1 ) ¿A qué se denomina Abstracción de datos?
La opción correcta es: A la característica que permite determinar la funcionalidad que ofrecen los objetos de una clase, pero no acerca de
cómo se implementa esa funcionalidad. Las demás opciones no corresponden con la abstacción.
( 4.3 ) Declarar más de una clase public en un archivo .java, resultará en...
no puede haber en un archivo java más de una clase pública
( 4.3 ) Indique la definición correcta de Polimorfismo:
La opción correcta es: "Propiedad que permite obtener distintas respuestas ante un mismo mensaje dependiendo de quién reciba el mensaje."
Lo que invalida a todas las demás opciones, las cuales no corresponden con conceptos o definiciones sobre polimorfismo. Ya que sin herencia
no existe Polimorfismo y promueve la extensibilidad. Encapsulamiento: Es la capacidad para encapsular y aislar la información de diseño y
ejecución. Calse: Es un modelo que se utiliza para describir uno o más objetos del mismo tipo.
( 3.3.2 ) El siguiente código: "class MiClase {int n1; String n2; // . . . }" contiene la declaración de elementos importantes de la clase y esto se
hace así debido a una propiedad de la POO, ¿por cuál de ellas?
La respuesta correcta es: "Abstracción" Con la abstracción se trata de distinguir las características esenciales de un objeto y para ello
declaramos los atributos de clase.
( 3.3.2 ) Es recomendado que una variable de instancia de una clase sea declarada como ...
Justificación: para cumplir con el encapsulamiento las variables de instancia deben ser declaradas como private y ser modificadas por los
métodos set de la clase. Deitel, Cap. 3, Pág. 106.
( 3.3.2 ) Con la siguiente declaración de una variable de clase "public static int p = 0;" indicar la afirmación correcta:
La opción a elegir es "p es una variable inicializada que será accesible en toda la clase." Deitel Cap. 6 Pág. 212.
( 3.3.2 ) El siguiente código: "final int FI = 10;". ¿Qué tipo de identificador declara?
La respuesta correcta es: "Una constante" Es la declaración de una constante.
( 3.3.2 ) El siguiente código: "void método(){ int a = 0;}" ¿Qué tipo de identificador declara?
Dentro de método() se declara una variable local. Lect. 4 Pág. 8.
( 3.3.2 ) Una variable local se denomina así, porque
La opción correcta es: Solamente puede ser utilizada dentro del método en el que fue declarada. Lo que invalida todas las demás opciones.
( 2.2.5 ) De las siguientes caracterísiticas del separador () de Java, ¿cuál es la incorrecta?
La opción correcta es: "Delimita bloques de código". Ésta característica se corresponde al separador {}. Todas las demás opciones son válidas
para el separador ().
( 2.2.5 ) De las siguientes características ¿cuál corresponde al separador ":" de Java?
La opción correcta es: Es usado en declaraciones abreviadas de if y for. Lo que invalida las demás opciones: Separador "":"" selecciona un
método o atributo de un objeto y separa paquetes, subpaquetes y clases. Separador "";"" finaliza una sentencia. Separador "","" separa la
declaración de varios identificadores del mismo tipo.
( 2.2.1 ) Identifica la recomendación inválida para definir a un identificador:
La opción correcta es:Los identificadores no pueden tener cualquier longitud. Lo que hace válida a todas las demás opciones sobre cómo
escribir correctamente un identificador. Recordar que un identificador puede tener cualquier longitud.
( 2.2.1 ) Indique de las siguientes la que no es palabra clave en Java:
La respuesta correcta es: keyWords . Éste es un identificador, y la utilización de un identificador como palabra clave, produce un error de
compilación. Lo que hace que todas las demás opciones sean palabras claves y keyWords es sólo un identificador.
( 2.2.1 ) Indique el indentificador válido en Java:
La opción correcta es: apellido_nombre. Debido a que los identificadores deben comenzar con una letra, el símbolo de moneda ($), o un
carácter de subrayado _ y nunca con números o cualquier otro símbolo distintos a los ya mencionamos, tampoco pueden contener espacios en
blanco.
( 2.2.1 ) ¿Cuál de las siguientes opciones es un nombre válido de identificador?
La opción correcta es la palabra hola por ser la única del conjunto, apta como identificador, ya que empieza con una letra y no es palabra
reservada. Deitel Anexo C Pág. 1343
( 2.2.1 ) ¿A qué concepto corresponde la siguiente definición? "Corresponde a ubicaciones en la memoria de la computadora y tienen un
nombre, un tipo, un tamaño y, a veces, un valor"
Justificación: es la forma de identificar las posiciones de memoria donde se almacenaran los valores que intervienen en el funcionamiento del
programa. Deitel, Cap. 2, Pág. 66.
( 4.8.4 ) ¿En qué categoría/s clasifica Java las excepciones?
La opción correcta es: "Verificadas y no verificadas." Lo que invalida a las demás opciones ya que ésas son subclases de Object y no son
categorías de excepciones sino que corresponden a la jerarquía de herencia de excepciones. Bibliografía H. Deitel y P. Deitel, Cómo Programar
en Java (7ma ed), capítulo 13
( 4.8.4 ) Indique cuál de las siguientes opciones no corresponde con una excepción no verificada:
La opción correcta es: "SQLException" Debido que ésta excepción pertenece al grupo de las verificadas; las únicas que pertenecen al grupo de
no verificadas son las del tipo RuntimeException, como es el caso de las demás opciones disponibles en la pregunta.
( 4.8.4 ) Indique cuál de las siguientes opciones sobre jerarquía de excepciones es incorrecta:
La opción correcta es: "La clase Throwable tiene tres subclases: Object, Exception y Error". Esto es totalmente falso, debido a que la clase
Throwable tiene dos subclases: Exception y Error, y éstas heredan de Object, por lo que Throwable, exception y Error son subclases de Object.
Haciendo válidas todas las demás opciones sobre jerarquía de excepciones. Bibliografía H. Deitel y P. Deitel, Cómo Programar en Java (7ma ed)
( 4.8.3 ) Indique de las siguientes opciones la que no corresponde con la instrucción throw:
La opción correcta es: "Especifica las excepciones que lanza el método y aparece después de la lista de parámetros del método, pero antes de
su cuerpo." Ésta definición corresponde a la cláusula throws. Lo que hace válidas a todas las demás opciones que corresponden con la
instrucción throw, debido a que la palabra clave throws es utilizada en la declaración de un método para indicar las excepciones que pueden
ser arrojadas por dicho método; mientras que la palabra clave throw es utilizada para lanzar en forma explícita una excepción. Bibliografía H.
Deitel y P. Deitel, Cómo Programar en Java (7ma ed), capítulo 13
( 4.8.3 ) Los objetos tienen la propiedad de ocultar información, que se denomina:
la opción correcta es el nombre de la propiedad mencionada y las restantes corresponden a otras características y ventajas de la Programación
Orientada a Objetos.
( 3.1.3 ) Los paquetes del API de java se dividen en básicos y opcionales, ¿con qué palabra empiezan los opcionales?
la palabra de inicio correcta es la que referencia a los paquetes opcionales, las restantes son erróneas o referidas a otro concepto.
( 3.2.4 ) ¿A qué concepto corresponde la siguiente definición? "Corresponde a ubicaciones en la memoria de la computadora y tiene un
nombre, un tipo, un tamaño y, a veces, un valor"
es la forma de identificar las posiciones de memoria donde se almacenaran los valores que intervienen en el funcionamiento del programa.
( 4.3.1 ) Las variables declaradas dentro de una clase, pero fuera de los bloques de los métodos que la componen, se llaman... :
las variables declaradas de esta manera tienen visibilidad en todos los objetos y cada objeto creado puede tener un valor diferente.
( 4.4 ) Los argumentos de un método pueden ser una constante, ...
las alternativas posibles son una constante, una variable y una expresión que contempla a todas las opciones siguientes, es la opción más
amplia y correcta