6.22
Implemente los siguientes métodos enteros:
a)
El
método
centigrados
que devuelve la equivalencia en grados centígrados de una temperatura en grados
fahrenheit, utilizando el cálculo
centigrados
=
5.0
/
9.0
* ( fahrenheit –
32
);
b)
El
método
fahrenheit
que devuelve la equivalencia en grados fahrenheit de una temperatura en grados
centígrados, utilizando el cálculo
fahrenheit
=
9.0
/
5.0
* centigrados +
32
;
c) Utilice los métodos de las partes (a) y (b) para escribir una aplicación que permita al usuario, ya sea escribir
una temperatura en grados fahrenheit y mostrar su equivalente en grados centígrados, o escribir una tem-
peratura en grados centígrados y mostrar su equivalente en grados fahrenheit.
6.23
Escriba un método llamado
minimo3
que devuelva el menor de tres números de punto fl otante. Use el método
Math.min
para implementar
minimo3
. Incorpore el método en una aplicación que reciba como entrada tres valores por
parte del usuario, determine el valor menor y muestre el resultado.
6.24
Se dice que un número entero es un
número perfecto si sus factores, incluyendo 1 (pero no el número entero),
al sumarse dan como resultado el número entero. Por ejemplo, 6 es un número perfecto ya que 6
=
1
+
2
+
3. Escriba
un método llamado
perfecto
que determine si el parámetro
numero
es un número perfecto. Use este método en una
aplicación que determine y muestre todos los números perfectos entre 1 y 1000. Imprima los factores de cada número
perfecto para confi rmar que el número sea realmente perfecto. Ponga a prueba el poder de su computadora, evaluando
números más grandes que 1000. Muestre los resultados.
6.25
Se dice que un entero es
primo si puede dividirse solamente por 1 y por sí mismo. Por ejemplo, 2, 3, 5 y 7 son
primos, pero 4, 6, 8 y 9 no.
a) Escriba un método que determine si un número es primo.
b) Use este método en una aplicación que determine e imprima todos los números primos menores que
10,000. ¿Cuántos números hasta 10,000 tiene que probar para asegurarse de encontrar todos los números
primos?
c) Al principio podría pensarse que
n/2 es el límite superior para evaluar si un número es primo, pero lo máxi-
mo que se necesita es ir hasta la raíz cuadrada de
n. ¿Por qué? Vuelva a escribir el programa y ejecútelo de
ambas formas.
6.26
Escriba un método que tome un valor entero y devuelva el número con sus dígitos invertidos. Por ejemplo,
para el número 7631, el método debe regresar 1367. Incorpore el método en una aplicación que reciba como entrada
un valor del usuario y muestre el resultado.
6.27
El
máximo común divisor (MCD) de dos enteros es el entero más grande que puede dividir uniformemente a
cada uno de los dos números. Escriba un método llamado
mcd
que devuelva el máximo común divisor de dos enteros.
[
Sugerencia: tal vez sea conveniente que utilice el algoritmo de Euclides. Puede encontrar información acerca de este
algoritmo en
es.wikipedia.org/wiki/Algoritmo_de_Euclides
]. Incorpore el método en una aplicación que reciba
como entrada dos valores del usuario y muestre el resultado.
6.28
Escriba un método llamado
puntosCalidad
que reciba como entrada el promedio de un estudiante y devuelva
4
si el promedio se encuentra entre 90 y 100,
3
si el promedio se encuentra entre80 y 89,
2
si el promedio se encuentra
entre 70 y 79,
1
si el promedio se encuentra entre 60 y 69, y 0 si el promedio es menor de 60. Incorpore el método en
una aplicación que reciba como entrada un valor del usuario y muestre el resultado.
6.29
Escriba una aplicación que simule el lanzamiento de monedas. Deje que el programa lance una moneda cada
vez que el usuario seleccione la opción del menú “
Lanzar moneda
”. Cuente el número de veces que aparezca cada uno
de los lados de la moneda. Muestre los resultados. El programa debe llamar a un método separado, llamado
tirar
, que
no tome argumentos y devuelva
false
en caso de cara, y
true
en caso de cruz. [
Nota: si el programa simula en forma
realista el lanzamiento de monedas, cada lado de la moneda debe aparecer aproximadamente la mitad del tiempo.]
6.30
Las computadoras están tomando un papel cada vez más importante en la educación. Escriba un programa que
ayude a un estudiante de escuela primaria, para que aprenda a multiplicar. Use un objeto
Random
para producir dos
enteros positivos de un dígito. El programa debe entonces mostrar una pregunta al usuario, como:
¿Cuánto es 6 por 7?
Ejercicios
257
06_MAQ_CAP_06.indd257
4/19/081:22:30AM