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