Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Informática 06 2016, Exámenes de Informática

examen programacion junio 2016

Tipo: Exámenes

2015/2016

Subido el 31/05/2016

paula_lopezdiaz
paula_lopezdiaz 🇪🇸

1 documento

1 / 2

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Departamento de Inform´
atica
Universidad Carlos III de Madrid
Grado en Ingenier´ıa en
Inform´atica
Programaci´on
Examen Extraordinario
Junio 2016
Normas generales del examen
El tiempo para realizar el examen es de 3 horas
Si se sale del aula, no se podr´a volver a entrar durante el examen
No se puede presentar el examen escrito a apiz
No olvides poner tu nombre, NIA y grupo
No utilizar esta hoja para las respuestas
Problema 1 (5 puntos)
Se desea realizar una simulaci´on para determinar si realmente el generador de umeros aleatorios de Java
est´a produciendo una secuencia de umeros que no presenta ning´un tipo de patr´on o regularidad aparente. Para
ello, se quiere determinar en qu´e posici´on aparece el umero as peque˜no en un array con umeros aleatorios entre
0 y 19; y si las posiciones de aparici´on se distribuyen de manera uniforme.
Se pide desarrollar un programa Java en una ´unica clase que haga lo siguiente:
1. Pida al usuario el tama˜no del array para las simulaciones y el umero de veces que una misma posici´on puede
contener el valor as peque˜no del array aleatorio.
2. Ejecute las simulaciones hasta que ocurra que una misma posici´on se repita (es decir, contenga el valor
m´ınimo) el n´umero de veces especificado en el apartado anterior o que el umero de simulaciones alcance un
l´ımite de 100. Dado que el array puede contener umeros repetidos, hay que considerar que el m´ınimo puede
aparecer en as de una posici´on.
3. Imprima en cada iteraci´on el array aleatorio generado, encerrando entre (( )) las posiciones donde se encuentra
el valor m´ınimo.
4. Imprima al final de las simulaciones el umero de ocurrencias de cada posici´on. Es decir, el n´umero de veces
que cada posici´on contuvo el valor m´ınimo.
5. Imprima “SECUENCIA DUDOSA” si la posici´on con as ocurrencias es as del doble de la frecuencia
esperada, calculada como el tama˜no del array dividido entre umero de iteraciones.
Se penalizar´a realizar el ejercicio en un ´unico etodo main. Se debe organizar el odigo en distintos etodos
static. Un ejemplo de ejecuci´on es el siguiente:
Tama~no Array
6
umero de ocurrencias
3
10 10 <<5>> 10 15 8
<<0>> 15 14 18 1 17
13 11 <<3>> 8 18 6
17 11 18 8 <<7>> 19
11 19 5 5 <<0>> 7
8 <<2>> 4 3 <<2>> 14
Veces ınimo
Pos 0:1
Pos 1:1
Pos 2:2
Pos 3:0
Pos 4:3
Pos 5:0
SECUENCIA DUDOSA
pf2

Vista previa parcial del texto

¡Descarga Informática 06 2016 y más Exámenes en PDF de Informática solo en Docsity!

Departamento de Inform´atica Universidad Carlos III de Madrid

Grado en Ingenier´ıa en

Inform´atica

Programaci´on

Examen Extraordinario

Junio 2016

Normas generales del examen

  • El tiempo para realizar el examen es de 3 horas
  • Si se sale del aula, no se podr´a volver a entrar durante el examen
  • No se puede presentar el examen escrito a l´apiz
  • No olvides poner tu nombre, NIA y grupo
  • No utilizar esta hoja para las respuestas

Problema 1 (5 puntos)

Se desea realizar una simulaci´on para determinar si realmente el generador de n´umeros aleatorios de Java est´a produciendo una secuencia de n´umeros que no presenta ning´un tipo de patr´on o regularidad aparente. Para ello, se quiere determinar en qu´e posici´on aparece el n´umero m´as peque˜no en un array con n´umeros aleatorios entre 0 y 19; y si las posiciones de aparici´on se distribuyen de manera uniforme. Se pide desarrollar un programa Java en una ´unica clase que haga lo siguiente:

  1. Pida al usuario el tama˜no del array para las simulaciones y el n´umero de veces que una misma posici´on puede contener el valor m´as peque˜no del array aleatorio.
  2. Ejecute las simulaciones hasta que ocurra que una misma posici´on se repita (es decir, contenga el valor m´ınimo) el n´umero de veces especificado en el apartado anterior o que el n´umero de simulaciones alcance un l´ımite de 100. Dado que el array puede contener n´umeros repetidos, hay que considerar que el m´ınimo puede aparecer en m´as de una posici´on.
  3. Imprima en cada iteraci´on el array aleatorio generado, encerrando entre “(( ))” las posiciones donde se encuentra el valor m´ınimo.
  4. Imprima al final de las simulaciones el n´umero de ocurrencias de cada posici´on. Es decir, el n´umero de veces que cada posici´on contuvo el valor m´ınimo.
  5. Imprima “SECUENCIA DUDOSA” si la posici´on con m´as ocurrencias es m´as del doble de la frecuencia esperada, calculada como el tama˜no del array dividido entre n´umero de iteraciones. Se penalizar´a realizar el ejercicio en un ´unico m´etodo main. Se debe organizar el c´odigo en distintos m´etodos static. Un ejemplo de ejecuci´on es el siguiente:

Tama~no Array 6 N´umero de ocurrencias 3 10 10 <<5>> 10 15 8 <<0>> 15 14 18 1 17 13 11 <<3>> 8 18 6 17 11 18 8 <<7>> 19 11 19 5 5 <<0>> 7 8 <<2>> 4 3 <<2>> 14 Veces m´ınimo Pos 0: Pos 1: Pos 2: Pos 3: Pos 4: Pos 5: SECUENCIA DUDOSA

Problema 2 (5 puntos)

Para controlar el clima en Legan´es se van a instalar varios sensores que permiten registrar la temperatura y la humedad del aire. En particular, cada sensor tiene las siguientes caracter´ısticas:

un c´odigo de identificaci´on.

la direcci´on de localizaci´on.

un medidor de humedad relativa (de 0.0 a 100.0 %).

un term´ometro que es capaz de guardar las 24 ´ultimas temperaturas (para esto se utilizar´a un array donde la primera posici´on del array debe ser la temperatura m´as reciente, y cada nueva temperatura descarta la m´as antigua).

Partiendo de esta informaci´on, se pide lo siguiente:

  1. (0.5 puntos) Crear una clase Sensor que contenga los atributos necesarios considerando el tipo adecuado. Adem´as, a˜nadir un constructor por defecto y un constructor completo.
  2. (0.25) Los m´etodos get y set para el medidor de humedad y la direcci´on de localizaci´on. Se debe controlar la medici´on de humedad para que no se asignen valores fuera de rango. En estos casos se asignar´a el valor m´ınimo (0) o m´aximo (100) seg´un se sobrepase el rango.
  3. (1 punto) Un m´etodo grabarTemperatura que reciba un n´umero real y lo guarde en el array de temperaturas como si fuera la ´ultima temperatura le´ıda del ambiente. El resto de temperaturas deber´an actualizarse a su nueva posici´on correspondiente.
  4. (0.5 puntos) Un m´etodo temperaturaMedia que devuelva la temperatura media, considerando que el array de temperaturas no est´e ocupado por completo (por ejemplo el primer d´ıa de uso).
  5. (0.25 puntos) Hacer un m´etodo toString que devuelva la informaci´on del sensor. Por ejemplo: Sensor: SLEG Ubicacion: Av. Universidad 30 Ultima Temperatura: 30,0 grados Media 24H: 27,8 grados Humedad Relativa: 47 %
  6. (0.5 puntos) Un m´etodo calibrar que reciba como par´ametro otro objeto de tipo Sensor y actualice la informaci´on de temperatura y humedad copiando los datos contenidos en el objeto pasado por par´ametro.
  7. (1 punto) Un m´etodo hayAlarma que reciba una temperatura m´axima y una humedad m´ınima para determinar si es necesario dar una se˜nal de alarma. El m´etodo debe retornar true si la humedad es menor que el l´ımite de humedad o si en las ´ultimas 24 horas un tercio de las temperaturas ha superado el l´ımite de temperatura. Se debe retornar false en cualquier otro caso.
  8. (1 punto) Adem´as se debe crear una clase CentroControl con un m´etodo main que haga lo siguiente:

a) Crear un array de 20 sensores, asignando la direcci´on “Desconocida”, una humedad al 45 % y una temperatura aleatoria entre 30 y 40 grados. b) Crear un sensor extra con 25 % de humedad y temperatura de 32.3 grados, y utilizarlo para calibrar el ´ultimo sensor del array de sensores. c) Imprimir por pantalla la informaci´on de los sensores donde actualmente salta la alarma si la humedad m´ınima es del 30 % y la temperatura m´axima de 35.0 grados.