6.8
Un estacionamiento cobra una cuota mínima de $2.00 por estacionarse hasta tres horas. El estacionamiento
cobra $0.50 adicionales por cada hora o
fracción que se pase de tres horas. El cargo máximo para cualquier periodo dado
de 24 horas es de $10.00. Suponga que ningún automóvil se estaciona durante más de 24 horas a la vez. Escriba una
aplicación que calcule y muestre los cargos por estacionamiento para cada cliente que se haya estacionado ayer. Debe
introducir las horas de estacionamiento para cada cliente. El programa debe mostrar el cargo para el cliente actual y
debe calcular y mostrar el total corriente de los recibos de ayer. El programa debe utilizar el método
calcularCargos
para determinar el cargo para cada cliente.
6.9
Una aplicación del método
Math.floor
es redondear un valor al siguiente entero. La instrucción
y = Math.floor( x +
0.5
);
redondea el número
x
al entero más cercano y asigna el resultado a
y
. Escriba una aplicación que lea valores
double
y
que utilice la instrucción anterior para redondear cada uno de los números a su entero más cercano. Para cada número
procesado, muestre tanto el número original como el redondeado.
6.10
Math.floor
puede utilizarse para redondear un número hasta un lugar decimal específi co. La instrucción
y = Math.floor( x *
10
+
0.5
) /
10
;
redondea
x
en la posición de las décimas (es decir, la primera posición a la derecha del punto decimal). La instrucción
y = Math.floor( x *
100
+
0.5
) /
100
;
redondea
x
en la posición de las centésimas (es decir, la segunda posición a la derecha del punto decimal). Escriba una
aplicación que defi na cuatro métodos para redondear un número
x
en varias formas:
a)
redondearAInteger( numero )
b)
redondearADecimas( numero )
c)
redondearACentesimas( numero )
d)
redondearAMilesimas( numero )
Para cada valor leído, su programa debe mostrar el valor original, el número redondeado al entero más cercano, el
número redondeado a la décima más cercana, el número redondeado a la centésima más cercana y el número redon-
deado a la milésima más cercana.
6.11
Responda a cada una de las siguientes preguntas:
a)
¿Qué
signifi ca elegir números “al azar”?
b) ¿Por qué es el método
nextInt
de la clase
Random
útil para simular juegos al azar?
c) ¿Por qué es a menudo necesario escalar o desplazar los valores producidos por un objeto
Random
?
d) ¿Por qué es la simulación computarizada de las situaciones reales una técnica útil?
6.12
Escriba instrucciones que asignen enteros aleatorios a la variable
n en los siguientes rangos:
a)
1
≤
n ≤ 2.
b)
1
≤
n ≤ 100.
c)
0
≤
n ≤ 9.
d)
1000
≤
n ≤ 1112.
e)
–1
≤
n ≤ 1.
f)
–3
≤
n≤11.
6.13
Para cada uno de los siguientes conjuntos de enteros, escriba una sola instrucción que imprima un número al
azar del conjunto:
a) 2, 4, 6, 8, 10.
b) 3, 5, 7, 9, 11.
c) 6, 10, 14, 18, 22.
6.14
Escriba un método llamado
enteroPotencia( base, exponente )
que devuelva el valor de
base
exponente
Por ejemplo,
enteroPotencia( 3, 4 )
calcula
3
4
(o
3 * 3 * 3 * 3
). Suponga que
exponente
es un entero positivo
distinto de cero y que
base
es un entero. El método
enteroPotencia
debe utilizar un ciclo
for
o
while
para controlar
el cálculo. No utilice ningún método de la biblioteca de matemáticas. Incorpore este método en una aplicación que lea
valores enteros para
base
y
exponente
, y que realice el cálculo con el método
enteroPotencia
.
Ejercicios
255
06_MAQ_CAP_06.indd255
4/19/081:22:29AM