312
Capítulo 7 Arreglos
7.15
Modifi que la fi gura 7.2, de manera que el tamaño del arreglo se especifi que mediante el primer argumento de
línea de comandos. Si no se suministra un argumento de línea de comandos, use 10 como el valor predeterminado del
arreglo.
7.16
Escriba una aplicación que utilice una instrucción
for
mejorada para sumar los valores
double
que se pasan
mediante los argumentos de línea de comandos. [
Sugerencia: use el método
static parseDouble
de la clase
Double
para convertir un
String
en un valor
double
].
7.17
(
Tiro de dados) Escriba una aplicación para simular el tiro de dos dados. La aplicación debe utilizar un objeto
de la clase
Random
una vez para tirar el primer dado, y de nuevo para tirar el segundo dado. Después debe calcularse la
suma de los dos valores. Cada dado puede mostrar un valor entero del 1 al 6, por lo que la suma de los valores variará
del 2 al 12, siendo 7 la suma más frecuente, mientras que 2 y 12 serán las sumas menos frecuentes. En la fi gura 7.30
se muestran las 36 posibles combinaciones de los dos dados. Su aplicación debe tirar los dados 36,000 veces. Utilice
un arreglo unidimensional para registrar el número de veces que aparezca cada una de las posibles sumas. Muestre los
resultados en formato tabular. Determine si los totales son razonables (es decir, hay seis formas de tirar un 7, por lo que
aproximadamente una sexta parte de los tiros deben ser 7).
7.18
(
Juego de craps) Escriba una aplicación que ejecute 1000 juegos de craps (fi gura 6.9) y responda a las siguientes
preguntas:
a) ¿Cuántos juegos se ganan en el primer tiro, en el segundo, …, en el vigésimo tiro y después de éste?
b) ¿Cuántos juegos se pierden en el primer tiro, en el segundo, …, en el vigésimo tiro y después de éste?
c) ¿Cuáles son las probabilidades de ganar en craps? [
Nota: debe descubrir que craps es uno de los juegos de
casino más justos. ¿Qué cree usted que signifi ca esto?].
d) ¿Cuál es la duración promedio de un juego de craps?
e) ¿Las probabilidades de ganar mejoran con la duración del juego?
7.19
(
Sistema de reservaciones de una aerolínea) Una pequeña aerolínea acaba de comprar una computadora para su
nuevo sistema de reservaciones automatizado. Se le ha pedido a usted que desarrolle el nuevo sistema. Usted escribirá
una aplicación para asignar asientos en cada vuelo del único avión de la aerolínea (capacidad: 10 asientos).
Su aplicación debe mostrar las siguientes alternativas:
Por favor escriba 1 para Primera Clase
y
Por favor
escriba 2 para Economico
. Si el usuario escribe
1
, su aplicación debe asignarle un asiento en la sección de primera
clase (asientos 1 a 5). Si el usuario escribe
2
, su aplicación debe asignarle un asiento en la sección económica (asientos
6 a 10). Su aplicación deberá entonces imprimir un pase de abordaje, indicando el número de asiento de la persona y
si se encuentra en la sección de primera clase o clase económica del avión.
Use un arreglo unidimensional del tipo primitivo
boolean
para representar la tabla de asientos del avión. Inicialice
todos los elementos del arreglo con
false
para indicar que todos los asientos están vacíos. A medida que se asigne cada
asiento, establezca los elementos correspondientes del arreglo en
true
para indicar que ese asiento ya no está disponible.
Su aplicación nunca deberá asignar un asiento que ya haya sido asignado. Cuando esté llena la sección económi-
ca, su programa deberá preguntar a la persona si acepta ser colocada en la sección de primera clase (y viceversa). Si la
persona acepta, haga la asignación de asiento apropiada. Si no acepta, imprima el mensaje
"El proximo vuelo sale
en 3 horas".
2
1
3
4
5
6
3
2
4
5
6
7
4
3
5
6
7
8
5
4
6
7
8
9
6
5
7
8
9
10
7
6
8
9
10
11
8
7
9
10
11
12
3
2
16
5
4
Figura 7.30
| Las 36 posibles sumas de dos dados.
07_MAQ_CAP_07.indd312
4/19/081:23:14AM