SlideShare una empresa de Scribd logo
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

PPTX
Capítulo 7 sincronización de procesos 09 01-2012
PDF
INFOSAN Delphi 151- 302 PAGINAS
PPTX
Java básico
PDF
Fundamentos de Analisi y Diseño de Algoritmos FADA
PDF
Usando Twisted para hacer aplicaciones de escritorio no bloqueantes
PPT
Mule Librerias en Java
PDF
Programación orientada a objetos con c++
PPTX
Sentenciasenvisualbasicnet2019
Capítulo 7 sincronización de procesos 09 01-2012
INFOSAN Delphi 151- 302 PAGINAS
Java básico
Fundamentos de Analisi y Diseño de Algoritmos FADA
Usando Twisted para hacer aplicaciones de escritorio no bloqueantes
Mule Librerias en Java
Programación orientada a objetos con c++
Sentenciasenvisualbasicnet2019

La actualidad más candente (19)

PDF
Semana 1 Estructuras de Datos en Java
PDF
Herencia
PDF
Dotnetmania 9 pag_21_29
PDF
Introducción a la programación y la informática. Tema 5
PPT
Semana9b Vbr
PDF
Ejercicios de evaluación de fundametnos de programacion en JAva
PPT
Polimorfismo
PPTX
Metodos 2
PDF
2) introduccion al lenguaje java
PDF
Greenfoot 9
PDF
Practica Cuatro Delphi
PDF
Semana 1 Estructuras de Control en Java
DOCX
Recursividad Con C#
KEY
Introducción a Scala
PPTX
Polimorfismo
 
PDF
Semana 5 Java Swing
PPT
Introduccion
ODP
02 python Programación orientada a objetos y funcional
PPT
Polimorfismo en Java
Semana 1 Estructuras de Datos en Java
Herencia
Dotnetmania 9 pag_21_29
Introducción a la programación y la informática. Tema 5
Semana9b Vbr
Ejercicios de evaluación de fundametnos de programacion en JAva
Polimorfismo
Metodos 2
2) introduccion al lenguaje java
Greenfoot 9
Practica Cuatro Delphi
Semana 1 Estructuras de Control en Java
Recursividad Con C#
Introducción a Scala
Polimorfismo
 
Semana 5 Java Swing
Introduccion
02 python Programación orientada a objetos y funcional
Polimorfismo en Java
Publicidad

Similar a Examen de Turbo C (20)

DOCX
Parcial 3 informatica i
PDF
Cuestionario
DOCX
Nombre de la_escuela
DOCX
Cuestionario
DOCX
Preguntas de programacion
PDF
Parcial II de Sistema de Operación – Semestre 201415
DOCX
Cuestionario
DOCX
DOCX
Cuestionario 2° unidad
DOCX
A1 u1-16230227
PDF
Banco de preguntas_modulo_iv
PDF
Parcial II de Sistema de Operación – Semestre 201322
PDF
Lenguaje c ++ guía para programadores
PDF
Programación modular en Introducción a la Programación
DOCX
Taller introduccion a c++
DOCX
CUESTIONARIO SEGUNDA UNIDAD
DOCX
CUESTIONARIO SEGUNDA UNIDAD
DOCX
Preguntas sobre lenguaje java
Parcial 3 informatica i
Cuestionario
Nombre de la_escuela
Cuestionario
Preguntas de programacion
Parcial II de Sistema de Operación – Semestre 201415
Cuestionario
Cuestionario 2° unidad
A1 u1-16230227
Banco de preguntas_modulo_iv
Parcial II de Sistema de Operación – Semestre 201322
Lenguaje c ++ guía para programadores
Programación modular en Introducción a la Programación
Taller introduccion a c++
CUESTIONARIO SEGUNDA UNIDAD
CUESTIONARIO SEGUNDA UNIDAD
Preguntas sobre lenguaje java
Publicidad

Más de tacubomx (17)

PPTX
Cuadro sinoptico lenguaje de programacion
DOCX
Cuestionario
DOCX
Como se instala java y turbo c 3.0
PPTX
Expocicion de Arreglos
PPTX
Exposicion Arreglos
PDF
Algoritmica
PDF
Arreglos Turbo C
PPTX
Ciclos C++
PDF
Clase de turbo C
PDF
Turbo c
DOC
La estructura if
DOC
La estructura if en turbo C
PDF
Arreglos En C ++
PDF
Arreglos en c ++
PDF
Curso de Lenguaje C
PPT
Lenguajec diapositivas
DOCX
Historia de la programacion
Cuadro sinoptico lenguaje de programacion
Cuestionario
Como se instala java y turbo c 3.0
Expocicion de Arreglos
Exposicion Arreglos
Algoritmica
Arreglos Turbo C
Ciclos C++
Clase de turbo C
Turbo c
La estructura if
La estructura if en turbo C
Arreglos En C ++
Arreglos en c ++
Curso de Lenguaje C
Lenguajec diapositivas
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