SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
Representación de Datos y Aplicaciones                                           15 de diciembre de 2005
1º de Ing. Téc. de Telecomunicación esp. Sonido e Imagen

Apellidos y nombre:....................................................................................................

             PRUEBA ESCRITA
             Duración: 1 hora 50 minutos
             Nota: Se permite el uso de la hoja con los programas java.
             Puntuación: 10 puntos (1 punto sobre la nota final)

             Nota: Marca tus respuestas en la hoja adjunta utilizando un lápiz.

             Cada pregunta tiene una única respuesta correcta. Cada respuesta correcta sumará 1 punto a
             la nota del examen. Cada respuesta errónea restará 0,33 puntos a la nota del examen. Una
             respuesta en blanco vale 0 puntos.


             1) ¿Qué diferencia existe entre un lenguaje de bajo y nivel y otro de alto nivel?

                  a) El de bajo nivel está más próximo a lo que entiende el ser humano y el de alto nivel más
                     próximo a lo que entiende la máquina
                  b) El de bajo nivel está más próximo a lo que entiende la máquina y el de alto
                     nivel más próximo a lo que entiende el ser humano
                  c) El de bajo nivel es código máquina incomprensible y el de alto nivel es lenguaje natural
                  d) El de bajo nivel permite una gestión menos eficiente de la máquina y el de alto nivel una
                     gestión más eficiente de la máquina

             2) ¿Cuál es el fallo en la siguiente implementación del método dameGrupo()?

                 public String dameGrupo() {
                    String sGrupo = this.grupo;
                    return sGrupo;
                    sGrupo = “”;
                 }

                  a)    La variable sGrupo es local y no se puede devolver
                  b)    No se puede acceder al atributo grupo de la clase en el cuerpo del método
                  c)    La última línea del método no se ejecuta nunca
                  d)    La asignación de la variable sGrupo no se puede hacer en el instante de su declaración

             3) De acuerdo a la sintaxis del bucle for

                 for (inicialización ; condición ; actualización) {
                    sentencias
                 }

             Señalar cuál es la afirmación FALSA:

                  a)    La inicialización se realiza cada vez antes de entrar al bucle
                  b)    La condición se comprueba cada vez antes de entrar al bucle
                  c)    La actualización se realiza siempre al terminar de ejecutar la iteración
                  d)    La inicialización, condición y actualización son elementos "opcionales”



                                                                             1
Representación de Datos y Aplicaciones                               15 de diciembre de 2005


      4) Sean las siguientes sentencias:

         String[] sa;
         sa = new String[4];

         ¿Cuál de estas respuestas es INCORRECTA?

         a)   Tras la primera sentencia, sa vale null
         b)   Los elementos del array son sa[0], sa[1], sa[2] y sa[3]
         c)   Tras la segunda sentencia, sa[1] vale “”
         d)   Las dos sentencias anteriores podrían unirse en una sentencia

      5) Supón que existe definida una clase Persona con un atributo público llamado edad de tipo
          int, y sean las siguientes sentencias:

         Persona[] pa = new Persona[4];
         pa[0].edad = 19;

         ¿Cuál de estas respuestas es correcta?

         a) El código es incorrecto porque pa[0] está fuera del rango del array
         b) El código es incorrecto porque pa[0] no tiene ningún objeto asignado
         c) El código es incorrecto porque intenta asignar directamente un valor al atributo edad, sin
            usar un método de acceso
         d) El código es incorrecto. La primera línea debería ser:
            Persona[] pa = new Persona(4);

Programa 1. Cálculo de raíces

      6) ¿Qué habría que hacer para cambiar el bucle do-while del método main() por el bucle
          while equivalente?:

         a)   No habría que hacer nada
         b)   Habría que inicializar el objeto linea dentro del bucle while
         c)   Habría que inicializar el objeto linea antes de entrar en el bucle while
         d)   Habría que declarar el objeto linea como estático (static)

      7) De la siguiente línea de código, ¿cuál de las siguientes afirmaciones es correcta?

         a = Float.parseFloat(linea);

         a)   Float es un nombre de clase y parseFloat es un método estático
         b)   Float es un objeto y parseFloat es un método estático
         c)   En la variable a almacenamos el String que está contenido en la variable linea
         d)   En la variable a almacenamos el float que está contenido en la variable linea

      8) ¿Qué aseguramos con la sentencia?



                                                   2
Representación de Datos y Aplicaciones                                15 de diciembre de 2005


         discriminante = (float)(Math.pow(b,2)-4*a*c);

         a) Que antes de evaluar la expresión Math.pow(b,2)-4*a*c tenemos un tipo float
         b) Que el resultado de evaluar la expresión Math.pow(b,2)-4*a*c se interpreta
            como un float
         c) Que discriminante se convertirá en tipo float después de ejecutar la sentencia
         d) Asegura que Math.pow(b,2) sea de tipo float

Programa 2. Adivinanzas

      9) Indica en cuál de las siguientes situaciones se ejecutaría el código que aparece en el interior
          del while

         while(!acertado && intentos<totalIntentos)

         a)   acertado    =   false;           intentos   =   3   ;   totalIntentos   =   3
         b)   acertado    =   true;            intentos   =   3   ;   totalIntentos   =   5
         c)   acertado    =   true;            intentos   =   5   ;   totalIntentos   =   3
         d)   acertado    =   false;           intentos   =   3   ;   totalIntentos   =   5

      10) ¿Cuáles son los atributos de la clase Adivinanza?

         a)   java.io.* y java.math.*
         b)   El único atributo es main(..)
         c)   La clase no tiene atributos
         d)   teclado, superior, inferior, totalIntentos, secreto, numero,
              intentos, acertado y linea


Programa 3. Alarma de temperatura (versión 1)

      11) ¿Por qué se han programado dos constructores en la clase?

         a)   Para crear de la misma forma los posibles objetos de la clase
         b)   Para permitir la eliminación correcta de la memoria reservada
         c)   Para obligar a introducir la temperatura actual cuando creamos el objeto
         d)   Para permitir la inicialización del estado del objeto de dos formas diferentes

Programa 4. Alarma de temperatura (versión 2)

      12) Indica cuál de las siguientes afirmaciones es correcta:

         a) El atributo timbreAlarma toma el valor null cuando invocamos al constructor por
            defecto
         b) El atributo timbreAlarma nunca toma el valor null porque se inicializa en
            todos los constructores y cambia de estado cada vez que se comprueba la
            temperatura



                                                    3
Representación de Datos y Aplicaciones                               15 de diciembre de 2005


         c) timbreAlarma es un objeto de la clase Timbre y cada vez que cambia de estado es
            necesario crear un nuevo objeto de dicha clase
         d) activar() y desactivar() son atributos de la clase Timbre

      13) Supón que creamos un objeto AlarmaDeTemperatura para medir la fiebre de un enfermo
          e inicializamos la temperatua a 37º. Imagina que el sensor de temperatura conectado al
          enfermo modifica la temperatura actual a 39º utilizando para ello el método
          cambiaTemperaturaActual. ¿Cuál de las siguientes afirmaciones es cierta?

         a) Tendríamos que cambiar el código, tal y como está escrito el timbre suena si la
            temperatura es inferior a un valor dado y no si es superior
         b) El timbre no sonaría al invocar a cambiaTemperaturaActual(39) porque no hemos
            invocado al método comprobarTemperatura()
         c) El timbre sonaría al invocar a cambiaTemperaturaActual(39), no es necesario
            hacer una llamada adicional a comprobarTemperatura()
         d) No se puede cambiar la temperatura de la alarma porque está almacenada en un atributo
            declarado como private

      14) ¿Por qué motivo la clase Timbre no tiene constructor?

         a)   No le hace falta constructor puesto que no tiene atributos
         b)   Si tiene constructor, el constructor por defecto que ofrece Java
         c)   No se implementa el constructor porque los métodos no hacen nada
         d)   Sólo hay que implementar el constructor cuando hay métodos de acceso pon/dame

Programa 5. Cesta de la compra (versión 1)

      15) Sea la implementación del método añadeProducto():

        public void añadeProducto(String producto) {
            cesta.añadeElemento(producto);
        }

         ¿Qué argumento se le pasa al método añadeElemento() del objeto cesta?

         a)   Una copia del objeto del argumento producto
         b)   Una copia de la referencia del argumento producto
         c)   La referencia a una copia del argumento producto
         d)   El mismo objeto del argumento producto

      16) Si moviésemos el método main al principio de la declaración de la clase índica cual de las
          siguientes afirmaciones es correcta:

         a) El programa no funcionaría porque el método main invoca al método
            imprimeCestaCompra que se declara justo después




                                                   4
Representación de Datos y Aplicaciones                                15 de diciembre de 2005


         b) No importa en qué orden estén declarados los métodos de la clase
            CestaCompra. El intérprete de java comenzará siempre a ejecutar el programa
            por el método main
         c) El orden en el que se declaran los métodos debe ser el mismo orden en el que se invocan
            en el main y el main debe aparecer en primer lugar ya que es el primero que se ejecuta
         d) El orden en el que se declaran los métodos debe ser el mismo orden en el que se invocan
            en el main y el main debe aparecer en último lugar ya que en el momento de ejecutarse
            deben conocerse ya los métodos anteriores

Programa 6. Cesta de la compra (versión 2)

      17) ¿Cuántos objetos de la clase Producto se crean en el método main?
          (NOTA: ESTA PREGUNTA SE CANCELÓ POR ESTAR NUMERADAS LAS RESPUESTAS CON
          LETRAS INCORRECTAS QUE PODÍAN INDUCIR RESPUESTAS FALSAS SI EL ALUMNO NO SE
          DABA CUENTA. SE SUMÓ UN PUNTO A TODOS LOS ALUMNOS).

         a) Ninguno porque en el main no hay ninguna invocación directa al constructor de la clase
            Producto
         a) Una porque el método main invoca a otros métodos de la clase CestaCompra y en la
            clase CestaCompra aparece una única invocación al constructor
         b) Cinco veces porque en el main se hacen cinco invocaciones al constructor de
            forma indirecta a través de otros métodos.
         c) Seis veces una en la declaración de uno de los métodos de la clase CestaCompra y
            otras cinco cuando se invoca dicho método

      18) ¿Se podría implementar un método dameNombrePrecio() en la clase Producto que
          devolviese a la vez en nombre y el precio del producto?

         a)   No porque el método sólo puede devolver un valor
         d)   No porque los parámetros son por valor
         e)   Sí, devolviendo un objeto con los resultados
         f)   Sí puesto que los parámetros son por referencia

Programa 7. Cálculo estadístico

      19) ¿Cuál de las siguientes afirmaciones sobre la variable cuentaDatos es cierta?

         a) Su valor se inicializa a 0 al invocar al constructor por defecto y se modifica al
            invocar al método entrarDatos
         b) Su valor se inicializa a 0.0 al invocar al constructor por defecto y se modifica al invocar al
            método entrarDatos
         c) Su valor se inicializa a 0 al invocar al constructor por defecto y se modifica al invocar a los
            métodos entrarDatos dameMedia y dameDesviacionTipica
         d) Su valor se inicializa a 0.0 al invocar al constructor por defecto y se modifica al invocar a
            los métodos entrarDatos dameMedia y dameDesviacionTipica

      20) ¿A qué es equivalente sum += num?


                                                    5
Representación de Datos y Aplicaciones       15 de diciembre de 2005



   a)   num   =   sum   +   num;
   b)   num   +   sum   =   sum;
   c)   sum   =   sum   +   num;
   d)   sum   +   num   =   num;




                                         6

Más contenido relacionado

La actualidad más candente

Introducción a la programación y la informática. Tema 5
Introducción a la programación y la informática. Tema 5Introducción a la programación y la informática. Tema 5
Introducción a la programación y la informática. Tema 5Andres Garcia Garcia
 
Ejercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaEjercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaMartha Beatriz Coronado Rosales
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje javaMargarita Romero
 
Practica Cuatro Delphi
Practica Cuatro  DelphiPractica Cuatro  Delphi
Practica Cuatro DelphiJose Ponce
 
Recursividad Con C#
Recursividad Con C#Recursividad Con C#
Recursividad Con C#rezzaca
 
Introducción a Scala
Introducción a ScalaIntroducción a Scala
Introducción a Scaladhaat
 
Polimorfismo
PolimorfismoPolimorfismo
PolimorfismoUVM
 
Introduccion
IntroduccionIntroduccion
Introduccionreivax
 
02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcionalJuan Rodríguez
 
Polimorfismo en Java
Polimorfismo en JavaPolimorfismo en Java
Polimorfismo en Javaricardomore94
 

La actualidad más candente (19)

Semana 1 Estructuras de Datos en Java
Semana 1   Estructuras de Datos en JavaSemana 1   Estructuras de Datos en Java
Semana 1 Estructuras de Datos en Java
 
Herencia
HerenciaHerencia
Herencia
 
Dotnetmania 9 pag_21_29
Dotnetmania 9 pag_21_29Dotnetmania 9 pag_21_29
Dotnetmania 9 pag_21_29
 
Introducción a la programación y la informática. Tema 5
Introducción a la programación y la informática. Tema 5Introducción a la programación y la informática. Tema 5
Introducción a la programación y la informática. Tema 5
 
Semana9b Vbr
Semana9b VbrSemana9b Vbr
Semana9b Vbr
 
Ejercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaEjercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAva
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Metodos 2
Metodos 2Metodos 2
Metodos 2
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 
Greenfoot 9
Greenfoot 9Greenfoot 9
Greenfoot 9
 
Practica Cuatro Delphi
Practica Cuatro  DelphiPractica Cuatro  Delphi
Practica Cuatro Delphi
 
Semana 1 Estructuras de Control en Java
Semana 1   Estructuras de Control en JavaSemana 1   Estructuras de Control en Java
Semana 1 Estructuras de Control en Java
 
Recursividad Con C#
Recursividad Con C#Recursividad Con C#
Recursividad Con C#
 
Introducción a Scala
Introducción a ScalaIntroducción a Scala
Introducción a Scala
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Semana 5 Java Swing
Semana 5   Java SwingSemana 5   Java Swing
Semana 5 Java Swing
 
Introduccion
IntroduccionIntroduccion
Introduccion
 
02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional
 
Polimorfismo en Java
Polimorfismo en JavaPolimorfismo en Java
Polimorfismo en Java
 

Similar a Examen de Turbo C

Similar a Examen de Turbo C (20)

Parcial 3 informatica i
Parcial 3 informatica iParcial 3 informatica i
Parcial 3 informatica i
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Nombre de la_escuela
Nombre de la_escuelaNombre de la_escuela
Nombre de la_escuela
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Preguntas de programacion
Preguntas de programacionPreguntas de programacion
Preguntas de programacion
 
Parcial II de Sistema de Operación – Semestre 201415
Parcial II de Sistema de Operación – Semestre 201415Parcial II de Sistema de Operación – Semestre 201415
Parcial II de Sistema de Operación – Semestre 201415
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Cuestionario 2° unidad
Cuestionario 2° unidadCuestionario 2° unidad
Cuestionario 2° unidad
 
A1 u1-16230227
A1 u1-16230227A1 u1-16230227
A1 u1-16230227
 
Banco de preguntas_modulo_iv
Banco de preguntas_modulo_ivBanco de preguntas_modulo_iv
Banco de preguntas_modulo_iv
 
Parcial II de Sistema de Operación – Semestre 201322
Parcial II de Sistema de Operación – Semestre 201322Parcial II de Sistema de Operación – Semestre 201322
Parcial II de Sistema de Operación – Semestre 201322
 
Lenguaje c ++ guía para programadores
Lenguaje c ++  guía para programadoresLenguaje c ++  guía para programadores
Lenguaje c ++ guía para programadores
 
Programación modular en Introducción a la Programación
Programación modular en Introducción a la ProgramaciónProgramación modular en Introducción a la Programación
Programación modular en Introducción a la Programación
 
Reactivos
ReactivosReactivos
Reactivos
 
Taller introduccion a c++
Taller introduccion a c++Taller introduccion a c++
Taller introduccion a c++
 
C sharp intro1
C sharp intro1C sharp intro1
C sharp intro1
 
CUESTIONARIO SEGUNDA UNIDAD
CUESTIONARIO SEGUNDA UNIDADCUESTIONARIO SEGUNDA UNIDAD
CUESTIONARIO SEGUNDA UNIDAD
 
CUESTIONARIO SEGUNDA UNIDAD
CUESTIONARIO SEGUNDA UNIDADCUESTIONARIO SEGUNDA UNIDAD
CUESTIONARIO SEGUNDA UNIDAD
 
Preguntas sobre lenguaje java
Preguntas sobre lenguaje javaPreguntas sobre lenguaje java
Preguntas sobre lenguaje java
 

Más de tacubomx

Cuadro sinoptico lenguaje de programacion
Cuadro sinoptico lenguaje de programacionCuadro sinoptico lenguaje de programacion
Cuadro sinoptico lenguaje de programaciontacubomx
 
Cuestionario
CuestionarioCuestionario
Cuestionariotacubomx
 
Como se instala java y turbo c 3.0
Como se instala java y turbo c 3.0Como se instala java y turbo c 3.0
Como se instala java y turbo c 3.0tacubomx
 
Expocicion de Arreglos
Expocicion de ArreglosExpocicion de Arreglos
Expocicion de Arreglostacubomx
 
Exposicion Arreglos
Exposicion ArreglosExposicion Arreglos
Exposicion Arreglostacubomx
 
Algoritmica
AlgoritmicaAlgoritmica
Algoritmicatacubomx
 
Arreglos Turbo C
Arreglos Turbo CArreglos Turbo C
Arreglos Turbo Ctacubomx
 
Ciclos C++
Ciclos C++Ciclos C++
Ciclos C++tacubomx
 
Clase de turbo C
Clase de turbo CClase de turbo C
Clase de turbo Ctacubomx
 
La estructura if
La estructura ifLa estructura if
La estructura iftacubomx
 
La estructura if en turbo C
La estructura if en turbo CLa estructura if en turbo C
La estructura if en turbo Ctacubomx
 
Arreglos En C ++
Arreglos En C ++Arreglos En C ++
Arreglos En C ++tacubomx
 
Arreglos en c ++
Arreglos en c ++Arreglos en c ++
Arreglos en c ++tacubomx
 
Curso de Lenguaje C
Curso de Lenguaje CCurso de Lenguaje C
Curso de Lenguaje Ctacubomx
 
Lenguajec diapositivas
Lenguajec diapositivasLenguajec diapositivas
Lenguajec diapositivastacubomx
 
Historia de la programacion
Historia de la programacionHistoria de la programacion
Historia de la programaciontacubomx
 

Más de tacubomx (17)

Cuadro sinoptico lenguaje de programacion
Cuadro sinoptico lenguaje de programacionCuadro sinoptico lenguaje de programacion
Cuadro sinoptico lenguaje de programacion
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Como se instala java y turbo c 3.0
Como se instala java y turbo c 3.0Como se instala java y turbo c 3.0
Como se instala java y turbo c 3.0
 
Expocicion de Arreglos
Expocicion de ArreglosExpocicion de Arreglos
Expocicion de Arreglos
 
Exposicion Arreglos
Exposicion ArreglosExposicion Arreglos
Exposicion Arreglos
 
Algoritmica
AlgoritmicaAlgoritmica
Algoritmica
 
Arreglos Turbo C
Arreglos Turbo CArreglos Turbo C
Arreglos Turbo C
 
Ciclos C++
Ciclos C++Ciclos C++
Ciclos C++
 
Clase de turbo C
Clase de turbo CClase de turbo C
Clase de turbo C
 
Turbo c
Turbo cTurbo c
Turbo c
 
La estructura if
La estructura ifLa estructura if
La estructura if
 
La estructura if en turbo C
La estructura if en turbo CLa estructura if en turbo C
La estructura if en turbo C
 
Arreglos En C ++
Arreglos En C ++Arreglos En C ++
Arreglos En C ++
 
Arreglos en c ++
Arreglos en c ++Arreglos en c ++
Arreglos en c ++
 
Curso de Lenguaje C
Curso de Lenguaje CCurso de Lenguaje C
Curso de Lenguaje C
 
Lenguajec diapositivas
Lenguajec diapositivasLenguajec diapositivas
Lenguajec diapositivas
 
Historia de la programacion
Historia de la programacionHistoria de la programacion
Historia de la programacion
 

Examen de Turbo C

  • 1. Representación de Datos y Aplicaciones 15 de diciembre de 2005 1º de Ing. Téc. de Telecomunicación esp. Sonido e Imagen Apellidos y nombre:.................................................................................................... PRUEBA ESCRITA Duración: 1 hora 50 minutos Nota: Se permite el uso de la hoja con los programas java. Puntuación: 10 puntos (1 punto sobre la nota final) Nota: Marca tus respuestas en la hoja adjunta utilizando un lápiz. Cada pregunta tiene una única respuesta correcta. Cada respuesta correcta sumará 1 punto a la nota del examen. Cada respuesta errónea restará 0,33 puntos a la nota del examen. Una respuesta en blanco vale 0 puntos. 1) ¿Qué diferencia existe entre un lenguaje de bajo y nivel y otro de alto nivel? a) El de bajo nivel está más próximo a lo que entiende el ser humano y el de alto nivel más próximo a lo que entiende la máquina b) El de bajo nivel está más próximo a lo que entiende la máquina y el de alto nivel más próximo a lo que entiende el ser humano c) El de bajo nivel es código máquina incomprensible y el de alto nivel es lenguaje natural d) El de bajo nivel permite una gestión menos eficiente de la máquina y el de alto nivel una gestión más eficiente de la máquina 2) ¿Cuál es el fallo en la siguiente implementación del método dameGrupo()? public String dameGrupo() { String sGrupo = this.grupo; return sGrupo; sGrupo = “”; } a) La variable sGrupo es local y no se puede devolver b) No se puede acceder al atributo grupo de la clase en el cuerpo del método c) La última línea del método no se ejecuta nunca d) La asignación de la variable sGrupo no se puede hacer en el instante de su declaración 3) De acuerdo a la sintaxis del bucle for for (inicialización ; condición ; actualización) { sentencias } Señalar cuál es la afirmación FALSA: a) La inicialización se realiza cada vez antes de entrar al bucle b) La condición se comprueba cada vez antes de entrar al bucle c) La actualización se realiza siempre al terminar de ejecutar la iteración d) La inicialización, condición y actualización son elementos "opcionales” 1
  • 2. Representación de Datos y Aplicaciones 15 de diciembre de 2005 4) Sean las siguientes sentencias: String[] sa; sa = new String[4]; ¿Cuál de estas respuestas es INCORRECTA? a) Tras la primera sentencia, sa vale null b) Los elementos del array son sa[0], sa[1], sa[2] y sa[3] c) Tras la segunda sentencia, sa[1] vale “” d) Las dos sentencias anteriores podrían unirse en una sentencia 5) Supón que existe definida una clase Persona con un atributo público llamado edad de tipo int, y sean las siguientes sentencias: Persona[] pa = new Persona[4]; pa[0].edad = 19; ¿Cuál de estas respuestas es correcta? a) El código es incorrecto porque pa[0] está fuera del rango del array b) El código es incorrecto porque pa[0] no tiene ningún objeto asignado c) El código es incorrecto porque intenta asignar directamente un valor al atributo edad, sin usar un método de acceso d) El código es incorrecto. La primera línea debería ser: Persona[] pa = new Persona(4); Programa 1. Cálculo de raíces 6) ¿Qué habría que hacer para cambiar el bucle do-while del método main() por el bucle while equivalente?: a) No habría que hacer nada b) Habría que inicializar el objeto linea dentro del bucle while c) Habría que inicializar el objeto linea antes de entrar en el bucle while d) Habría que declarar el objeto linea como estático (static) 7) De la siguiente línea de código, ¿cuál de las siguientes afirmaciones es correcta? a = Float.parseFloat(linea); a) Float es un nombre de clase y parseFloat es un método estático b) Float es un objeto y parseFloat es un método estático c) En la variable a almacenamos el String que está contenido en la variable linea d) En la variable a almacenamos el float que está contenido en la variable linea 8) ¿Qué aseguramos con la sentencia? 2
  • 3. Representación de Datos y Aplicaciones 15 de diciembre de 2005 discriminante = (float)(Math.pow(b,2)-4*a*c); a) Que antes de evaluar la expresión Math.pow(b,2)-4*a*c tenemos un tipo float b) Que el resultado de evaluar la expresión Math.pow(b,2)-4*a*c se interpreta como un float c) Que discriminante se convertirá en tipo float después de ejecutar la sentencia d) Asegura que Math.pow(b,2) sea de tipo float Programa 2. Adivinanzas 9) Indica en cuál de las siguientes situaciones se ejecutaría el código que aparece en el interior del while while(!acertado && intentos<totalIntentos) a) acertado = false; intentos = 3 ; totalIntentos = 3 b) acertado = true; intentos = 3 ; totalIntentos = 5 c) acertado = true; intentos = 5 ; totalIntentos = 3 d) acertado = false; intentos = 3 ; totalIntentos = 5 10) ¿Cuáles son los atributos de la clase Adivinanza? a) java.io.* y java.math.* b) El único atributo es main(..) c) La clase no tiene atributos d) teclado, superior, inferior, totalIntentos, secreto, numero, intentos, acertado y linea Programa 3. Alarma de temperatura (versión 1) 11) ¿Por qué se han programado dos constructores en la clase? a) Para crear de la misma forma los posibles objetos de la clase b) Para permitir la eliminación correcta de la memoria reservada c) Para obligar a introducir la temperatura actual cuando creamos el objeto d) Para permitir la inicialización del estado del objeto de dos formas diferentes Programa 4. Alarma de temperatura (versión 2) 12) Indica cuál de las siguientes afirmaciones es correcta: a) El atributo timbreAlarma toma el valor null cuando invocamos al constructor por defecto b) El atributo timbreAlarma nunca toma el valor null porque se inicializa en todos los constructores y cambia de estado cada vez que se comprueba la temperatura 3
  • 4. Representación de Datos y Aplicaciones 15 de diciembre de 2005 c) timbreAlarma es un objeto de la clase Timbre y cada vez que cambia de estado es necesario crear un nuevo objeto de dicha clase d) activar() y desactivar() son atributos de la clase Timbre 13) Supón que creamos un objeto AlarmaDeTemperatura para medir la fiebre de un enfermo e inicializamos la temperatua a 37º. Imagina que el sensor de temperatura conectado al enfermo modifica la temperatura actual a 39º utilizando para ello el método cambiaTemperaturaActual. ¿Cuál de las siguientes afirmaciones es cierta? a) Tendríamos que cambiar el código, tal y como está escrito el timbre suena si la temperatura es inferior a un valor dado y no si es superior b) El timbre no sonaría al invocar a cambiaTemperaturaActual(39) porque no hemos invocado al método comprobarTemperatura() c) El timbre sonaría al invocar a cambiaTemperaturaActual(39), no es necesario hacer una llamada adicional a comprobarTemperatura() d) No se puede cambiar la temperatura de la alarma porque está almacenada en un atributo declarado como private 14) ¿Por qué motivo la clase Timbre no tiene constructor? a) No le hace falta constructor puesto que no tiene atributos b) Si tiene constructor, el constructor por defecto que ofrece Java c) No se implementa el constructor porque los métodos no hacen nada d) Sólo hay que implementar el constructor cuando hay métodos de acceso pon/dame Programa 5. Cesta de la compra (versión 1) 15) Sea la implementación del método añadeProducto(): public void añadeProducto(String producto) { cesta.añadeElemento(producto); } ¿Qué argumento se le pasa al método añadeElemento() del objeto cesta? a) Una copia del objeto del argumento producto b) Una copia de la referencia del argumento producto c) La referencia a una copia del argumento producto d) El mismo objeto del argumento producto 16) Si moviésemos el método main al principio de la declaración de la clase índica cual de las siguientes afirmaciones es correcta: a) El programa no funcionaría porque el método main invoca al método imprimeCestaCompra que se declara justo después 4
  • 5. Representación de Datos y Aplicaciones 15 de diciembre de 2005 b) No importa en qué orden estén declarados los métodos de la clase CestaCompra. El intérprete de java comenzará siempre a ejecutar el programa por el método main c) El orden en el que se declaran los métodos debe ser el mismo orden en el que se invocan en el main y el main debe aparecer en primer lugar ya que es el primero que se ejecuta d) El orden en el que se declaran los métodos debe ser el mismo orden en el que se invocan en el main y el main debe aparecer en último lugar ya que en el momento de ejecutarse deben conocerse ya los métodos anteriores Programa 6. Cesta de la compra (versión 2) 17) ¿Cuántos objetos de la clase Producto se crean en el método main? (NOTA: ESTA PREGUNTA SE CANCELÓ POR ESTAR NUMERADAS LAS RESPUESTAS CON LETRAS INCORRECTAS QUE PODÍAN INDUCIR RESPUESTAS FALSAS SI EL ALUMNO NO SE DABA CUENTA. SE SUMÓ UN PUNTO A TODOS LOS ALUMNOS). a) Ninguno porque en el main no hay ninguna invocación directa al constructor de la clase Producto a) Una porque el método main invoca a otros métodos de la clase CestaCompra y en la clase CestaCompra aparece una única invocación al constructor b) Cinco veces porque en el main se hacen cinco invocaciones al constructor de forma indirecta a través de otros métodos. c) Seis veces una en la declaración de uno de los métodos de la clase CestaCompra y otras cinco cuando se invoca dicho método 18) ¿Se podría implementar un método dameNombrePrecio() en la clase Producto que devolviese a la vez en nombre y el precio del producto? a) No porque el método sólo puede devolver un valor d) No porque los parámetros son por valor e) Sí, devolviendo un objeto con los resultados f) Sí puesto que los parámetros son por referencia Programa 7. Cálculo estadístico 19) ¿Cuál de las siguientes afirmaciones sobre la variable cuentaDatos es cierta? a) Su valor se inicializa a 0 al invocar al constructor por defecto y se modifica al invocar al método entrarDatos b) Su valor se inicializa a 0.0 al invocar al constructor por defecto y se modifica al invocar al método entrarDatos c) Su valor se inicializa a 0 al invocar al constructor por defecto y se modifica al invocar a los métodos entrarDatos dameMedia y dameDesviacionTipica d) Su valor se inicializa a 0.0 al invocar al constructor por defecto y se modifica al invocar a los métodos entrarDatos dameMedia y dameDesviacionTipica 20) ¿A qué es equivalente sum += num? 5
  • 6. Representación de Datos y Aplicaciones 15 de diciembre de 2005 a) num = sum + num; b) num + sum = sum; c) sum = sum + num; d) sum + num = num; 6