You are on page 1of 24

Exmenes Fundamentos de Informtica hasta curso 09-10 Estructuras de Control EC1

Alberto Ruiz

EC2 Cundo se utilizara la estructura de repeticin do-while? a. Cuando se desea ejecutar el bloque de cdigo que est en esa estructura al menos una vez aunque no se cumplan las condiciones. b. Cuando se desea ejecutar el bloque de cdigo slo si se cumplen unas condiciones. c. Cuando se desea ejecutar un bloque una vez al menos pero slo si las condiciones se cumplen. d. Ninguna de las anteriores. EC3 Dado el siguiente programa, indicar qu resultado dara por pantalla: for (int i=1;i<5;i++) { System.out.print(i); if ((i + 1) = = 3) continue; if ( i = = 3) break; System.out.print(i+1); } a. 12234 b. 1223 c. 12233445 d. 122

Exmenes Fundamentos de Informtica hasta curso 09-10 EC4 Que secuencia de valores imprimira el siguiente cdigo? for (int i=1;i<3;i++){ for (int j=1;j<3;j++){ System.out.println(i); System.out.println(j); } } a. 1,1,2,1,1,2,2,2 b. 1,1,2,2,2,1,1,2 c. 1,1,1,2,2,1,2,2 d. 1,2,1,2

Alberto Ruiz

EC5 Qu se imprime al ejecutarse el siguiente cdigo? int resultado = 0; int suma = 1; while (suma < 5) resultado+= suma; System.out.print (resultado); a. 0 b. 5 c. 1234 d. No imprimira nada EC6

EC7 Indica cul de las siguientes afirmaciones es correcta: a. En Java, un bloque try{...} slo puede tener asociado un bloque catch{...}, cuyo cdigo se ejecutar siempre que salte una excepcin en el try{...}. b. En Java, un bloque try{...} puede tener asociados varios bloques catch{...} y, en caso de que salte una excepcin en el try{...}, se ejecutar primero, y mientras sea posible, el cdigo del bloque catch{...} secuencialmente ms cercano. c. En Java, un bloque try{...} puede tener asociados varios bloques catch{...} y, en caso de que salte una excepcin en el try{...}, se ejecutar el cdigo del bloque catch que capture dicha excepcin. d. En Java, un bloque try{...} puede tener asociados varios bloques catch{...} y, en caso de que salte una excepcin en el try{...}, se ejecutarn todos los cdigos de los bloques catch asociados a dicho bloque.

Exmenes Fundamentos de Informtica hasta curso 09-10

Alberto Ruiz

EC8 Qu resultado da la siguiente estructura de control? El operador % es el operador resto. int x = 2; do { try { if (x%2 == 0) throw new Exception(); x++; } catch(Exception e){x--;} finally { x=x+2; System.out.print(x + " "); } } while (x < 10); A 3 6 7 10 B 4 6 8 10 C3579 D 3 6 8 10 EC9 Qu valores imprime el siguiente cdigo? i=1; do{ for (int j=1; j<3; j++) { System.out.println(j); } System.out.println(i); i++; } while (i<3) A 112212 B 121212 C 121122 D 1122 11 EC10 Qu valores imprime el siguiente cdigo? for (int i=1; i<3; i++) { for (int j=1; j<3; j++) { System.out.println(j); } System.out.println(i); } A 112212 B 121212 C 121122 D 112111

Exmenes Fundamentos de Informtica hasta curso 09-10 EC11 Qu se imprimira?

Alberto Ruiz

A 0,2,4,6,8 B 0,2 C 4,6,8 D 4,6,8,10 EC12 Qu se imprimira?

NOTA: Hay dos erratas en este enunciado: primero, ninguna de las cuatro soluciones es la correcta, y segundo, es j=j+3, y no int j=j+3 EC13 Qu se imprimira?

EC14

Exmenes Fundamentos de Informtica hasta curso 09-10 EC15

Alberto Ruiz

EC16

EC17

Exmenes Fundamentos de Informtica hasta curso 09-10

Alberto Ruiz

EC18 Qu se imprimir?

EC19 Qu se imprimir?

Exmenes Fundamentos de Informtica hasta curso 09-10 Clases y Objetos CO1 Sea la clase: Persona persona1 = new Persona(); Persona persona2; persona1.setNombre(Pepe); persona2 = persona1; System.out.print(persona1.getNombre()); System.out.print(persona2.getNombre()); persona2.setNombre(Juan); System.out.print(persona1.getNombre()); System.out.print(persona2.getNombre()); Indicar lo que se imprimira en pantalla: a. PepePepePepePepe b. PepePepePepeJuan c. PepePepeJuanPepe d. PepePepeJuanJuan

Alberto Ruiz

CO2 Es correcta la siguiente sentencia? System.out.println(Math.sqrt(25)); a. No es correcta ya que no se puede llamar a un mtodo de una clase sin crearse previamente un objeto. b. No es correcta ya que la clase Math se tiene que importar previamente. c Es correcta porque la clase Math es una clase predefinida. c. No es correcta ya que la clase Math carece del mtodo sqrt(int). CO3

CO4

Exmenes Fundamentos de Informtica hasta curso 09-10 CO5

Alberto Ruiz

CO6

CO7

CO8

CO9

CO10

Exmenes Fundamentos de Informtica hasta curso 09-10 CO11

Alberto Ruiz

Exmenes Fundamentos de Informtica hasta curso 09-10 Tipos, Atributos

Alberto Ruiz

TA1 Si tenemos el siguiente programa: public class Arit{ public int sumar2(int sum){ return sum + 2; } public String sumar2(String sum){ return sum + 2; } public static void main (String[] args){ Arit x = new Arit(); System.out.println(x.sumar2("2")); } } Qu mostrara el siguiente cdigo? a. Un error de compilacin por sobrecarga. b. 4 c. 22 d. Un error de ejecucin por no poder sumar un tipo string con el literal 2. TA2 Cul de los siguientes tipos no es primitivo? A 1.32 B false C b D mundo TA3 Qu tipos de acceso puede tener el atributo de una clase? a. public, private, protected, package b. public, private, associated c. public, private, protected d. public, private, protected, associated TA4

TA5 Para qu sirve definir un atributo como privado (private)? a. Para que slo se pueda modificar a travs de los mtodos de la clase. b. Para que sea heredado por las clases hijas. c. Para que no pueda modificarse desde ningn mtodo pblico de la clase. d. Para indicar el propietario de la clase.

10

Exmenes Fundamentos de Informtica hasta curso 09-10 TA6 Dada una clase alumno: public class Alumno{ private int edad; public int darEdad(){ return this.edad; } public Alumno(int edad){ this.edad=edad; } }

Alberto Ruiz

Cul sera la forma correcta de acceder a la edad de un objeto a de tipo Alumno desde otra clase? a. int x=Alumno.edad; b. int x= a.edad; c. int x=Alumno.darEdad(a); d. int x=a.darEdad(); TA7

TA8

TA9

11

Exmenes Fundamentos de Informtica hasta curso 09-10 TA10

Alberto Ruiz

TA11

TA12

12

Exmenes Fundamentos de Informtica hasta curso 09-10 Mtodos, Constructores

Alberto Ruiz

MC1 Qu ocurre cuando en un mtodo se pasa un parmetro por valor? a. Que los cambios que se producen sobre el parmetro dentro del mtodo permanecen cuando se termina su ejecucin. b. Que los cambios que se producen sobre el parmetro dentro del mtodo no permanecen cuando se termina su ejecucin. c. Que sea cual sea el tipo del parmetro se convierte en un valor entero. d. Que la variable de salida debe ser del mismo tipo que el parmetro. MC2 En qu punto comienza la ejecucin de un programa en Java? a. En un mtodo esttico cualquiera, que hay que definir previamente. b. En el constructor de una de las clases. c. En el mtodo esttico main. d. En el mtodo esttico begin. MC3 Un mtodo de clase (static), se podra llamar sin instanciarse un objeto de la clase? a. No, siempre hay que declarar el objeto y luego llamar al mtodo. b. No, siempre hay que declarar el objeto, crearlo y a continuacin llamar al mtodo. c. S, se podra llamar al mtodo desde la misma clase. d. S, se podra llamar al mtodo pero slo si la clase es abstracta. MC4 Es correcta la implementacin de la siguiente clase? public class A { private int x; private int y; public A(int x){this.x=x;} public A(int x, int y){this.x=x;this.y=y;} } a No, ya que dentro de una clase slo se puede implementar un constructor. b No, ya que no se ha implementado el constructor por defecto. c Si, es correcta. d No, porque los parmetros d entrada a los constructores no se pueden llamar de la misma forma que los atributos de la clase. MC5

13

Exmenes Fundamentos de Informtica hasta curso 09-10 MC6

Alberto Ruiz

MC7

MC8

MC9

MC10

14

Exmenes Fundamentos de Informtica hasta curso 09-10

Alberto Ruiz

MC11

15

Exmenes Fundamentos de Informtica hasta curso 09-10 Ampliacin de clases AC1

Alberto Ruiz

AC2 La composicin entre clases sirve para: a. Establecer mecanismos de herencia entre clases. b. Implementar constructores por defecto. c. Definir atributos de una clase como instancias de otras clases. d. Implementar una lista de enteros (int). AC3 Dados estos esquemas de clases, en qu casos puede haber polimorfismo?

B
HERENCIA COMPOSICIN

a. En ambos. b. En ninguno, dado que la relacin de polimorfismo no est representada en los esquemas. c. En B puesto que existe una relacin de herencia. d. En A. Basta con una relacin de composicin para que se pueda dar el polimorfismo. AC4 En relacin al enunciado de la prctica, indicar cul de las siguientes cabeceras es la correcta: a. class Camion extends Vehiculo { b. class Vehiculo extends Camion { c. class Vehiculo (extends Camion) { d. extended class Camion { AC5 Dada una clase declarada con la palabra reservada extends, indicar de cuntas clases padre puede heredar directamente: a. De ninguna. b. De una. c. De menos de 5. d. De todas las que se necesiten. 16

Exmenes Fundamentos de Informtica hasta curso 09-10 AC6

Alberto Ruiz

AC7 Cmo diseara un sistema que gestione productos en un supermercado de forma que el vendedor pueda introducir nuevas marcas de productos en su sistema? a. Definiendo cada nueva marca como una nueva clase hija de producto. b. Definiendo marca como un valor (String) de un atributo de la clase producto. c. Definiendo cada nueva marca como un nuevo atributo (booleano) de la clase producto. d. No es posible que el usuario introduzca nuevas marcas sin implementar de nuevo el sistema. AC8

AC9 Sean Mamfero y Gato dos clases que mantienen una relacin de herencia padrehijo. Qu habra que modificar para que el siguiente cdigo sea correcto y por qu? Animal a; /*Lnea 1*/ Gato b; /*Lnea 2*/ a= new Animal(); /*Lnea 3*/ b=a; /*Lnea 4*/ a. Nada. Es correcto. b. No se puede asignar un objeto a otro de otra clase, luego cambiamos la lnea 2:Animal b; c. Es necesario explicitar el tipo cuando asignamos un objeto a otro objeto perteneciente a una clase hija, luego cambiamos la lnea 4: b = (Gato)a; d. Es necesario explicitar el tipo y crear una nueva instancia cuando asignamos un objeto a otro objeto perteneciente a una clase hija, luego cambiamos la lnea 4: b = new (Gato) a;

17

Exmenes Fundamentos de Informtica hasta curso 09-10 AC10

Alberto Ruiz

AC11 La herencia es un mecanismo muy til para: a. La reutilizacin de cdigo en la implementacin de nuevos sistemas. b. Implementar estructuras dinmicas de almacenamiento. c. Generar cdigo portable a otros sistemas operativos. d. La implementacin de bucles. AC12 Asumiendo que existe una relacin de herencia entre Alumno y Persona, qu error contiene este cdigo? Alumno a=new Alumno(); Persona p; p = a; a. Ninguno. b. Error, dado que a p no se le puede asignar una instancia de su clase hija. c. Error, dado que no se puede hacer una asignacin entre instancias de distinta clase. d. Error dado que a y p no han sido definidos correctamente como Alumno y Persona.

18

Exmenes Fundamentos de Informtica hasta curso 09-10 AC13 Es correcto el siguiente cdigo? public class B{private int b;} public class C extends B {private int c;} public class D extends B {private int d;} Dentro del mtodo main se realizan las siguientes sentencias: D oD = new D(); C oC = (C) oD;

Alberto Ruiz

A Si, ya que al ser C y D clases hijas de la clase padre B por polimorfismo se puede reconvertir un objeto de la clase D en otro de la clase C. B No, porque no se pueden crear dos clases hijas de una misma clase padre. C No, porque una clase hija no se puede reconvertir a otra clase hija por tanto hay incompatibilidad de tipos. D No, porque no se ha creado previamente el objeto oC con la sentencia C oC = new C();. Sin esta sentencia previa no se puede asignar otros objetos al objeto oC. AC14 Sea la clase A class A { void imprimir () {System.out.print(3);} } y la clase B que hereda de A. class B extends A { void imprimir () {super.imprimir();System.out.print(5);} public static void main (String [] args) { B varB = new B(); A varA = varB; varA.imprimir(); } } Qu se imprimira en pantalla? a. 3 b. 5 c. 35 d. Hay un error de compilacin ya que no se puede asignar un objeto de la clase hija a otro objeto de la clase padre. AC15

19

Exmenes Fundamentos de Informtica hasta curso 09-10 AC16

Alberto Ruiz

AC17

AC18

AC19

AC20 Dado el siguiente cdigo: public class A (public int getPrecio() {...} } public class B extends A { public String getDescripcion() {...} } public class C { public void main(String [] args) { A a = new B(); B b = new B(); } } Tras instanciar los objetos a y b, qu sentencia sera incorrecta? A a.getPrecio(); B b.getPrecio(); C a.getDescripcion(); D b.getDescripcion();

20

Exmenes Fundamentos de Informtica hasta curso 09-10

Alberto Ruiz

AC21

AC22

AC23

AC24

AC25

21

Exmenes Fundamentos de Informtica hasta curso 09-10 Colecciones V1

Alberto Ruiz

V2 Cul de estas afirmaciones es falsa: a. Un array puede estar constituido por objetos de cualquier clase. b. El valor inicial por defecto de un array es null. c. Es posible redimensionar el tamao de un array una vez instanciado. d. Un array puede ser creado en la misma lnea en la que se declara. V3

V4 Qu devolvera la siguiente secuencia de cdigo? int[] array=int[50]; array.length=20; int sum=0; for (int i=0;i<array.length ;i++){ sum=sum+1; } System.out.println(sum); a. 0 b. 49 c. 19 d. Error de compilacin. No es posible variar el tamao de un array en tiempo de ejecucin. V5

22

Exmenes Fundamentos de Informtica hasta curso 09-10 V6

Alberto Ruiz

V7

23

Exmenes Fundamentos de Informtica hasta curso 09-10 RESPUESTAS: EC1 C EC2 A EC3 B EC4 C EC5 D EC6 C EC7 C EC8 A EC9 C EC10 C EC11 C EC12: 3,6,9,12,15 EC13 B EC14 B EC15 A EC16 C EC17 C EC18 C EC19 A MC1 B MC2 C MC3 C MC4 C MC5 A MC6 C MC7 A MC8 A MC9 B MC10 B MC11 C AC1 B AC2 C AC3 C AC4 A AC5 B AC6 B AC7 B AC8 D AC9 C AC10 C AC11 A AC12 A AC13 C AC14 C AC15 C AC16 B AC17 D AC18 B AC19 A AC20 C AC21 A AC22 C AC23 A AC24 B AC25 C V1 B V2 C V3 D V4 D V5 D V6 C V7 B

Alberto Ruiz

CO1 D CO2 C CO3 C CO4 B CO5 A CO6 B CO7 A CO8 D CO9 A CO10 C TA1 C TA2 D TA3 A TA4 D TA5 A TA6 D TA7 C TA8 A TA9 C TA10 A TA11 B TA12 C

24

You might also like