Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Geometria, Trigonometria e Figuras Geométricas |
Como testar se um retângulo cabe dentro de um círculo usando Java - Lista de Exercícios Resolvidos de JavaQuantidade de visualizações: 991 vezes |
|
Pergunta/Tarefa: Vamos começar este exercício analisando a imagem abaixo: ![]() Note que temos um círculo e, dentro dele, um retângulo (lembre-se: um quadrado é um retângulo também). Pela imagem podemos ver que o retângulo cabe perfeitamente dentro do círculo. Escreva um programa Java que pede para o usuário informar a altura e a largura do retângulo. Em seguida leia também o raio do círculo. Finalmente crie um método Java que receberá estes dados e informará se o retângulo cabe dentro do círculo, de acordo com as informações inseridas pelo usuário. Sua saída deverá ser parecida com: Largura do retângulo: 6 Altura do retângulo: 4 Raio do círculo: 5 O retângulo cabe no círculo. Veja a resolução comentada deste exercício em Java: Antes de vermos o código Java, dê uma olhada na imagem abaixo: ![]() Sabemos que o raio é a distância que vai do centro do círculo até a sua extremidade. Da mesma forma, podemos traçar uma distância a partir do centro do retângulo e tratar esta distância como a hipotenusa do nosso triângulo retângulo imaginário, que terá como cateto adjascente a largura do retângulo dividida por dois e como cateto oposto a altura do retângulo dividida por dois também. O retângulo vai caber no círculo se o raio do círculo for maior ou igual à hipotenusa que obtemos. Veja o código Java completo para a resolução:
package estudos;
import java.util.Scanner;
public class Estudos{
public static void main(String[] args) {
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos pedir para o usuário informar as medidas
// do retângulo
System.out.print("Largura do retângulo: ");
int largura = Integer.parseInt(entrada.nextLine());
System.out.print("Altura do retângulo: ");
int altura = Integer.parseInt(entrada.nextLine());
// agora vamos pedir o raio do círculo
System.out.print("Raio do círculo: ");
int raio = Integer.parseInt(entrada.nextLine());
// vamos testar se o retângulo informado cabe no círculo
// gerado a partir do raio dado
if(RetanguloCabeCirculo(largura, altura, raio)){
System.out.println("O retângulo cabe no círculo.");
}
else{
System.out.println("O retângulo não cabe no círculo.");
}
}
// método que recebe a largura e a altura do retângulo e o
// raio do círculo e retorna true se o retângulo couber no
// círculo e false em caso contrário
public static boolean RetanguloCabeCirculo(int largura,
int altura, int raio){
// vamos tratar metade da largura do retângulo como
// sendo o cateto adjacente
double cat_adjacente = Math.pow((largura / 2.0), 2);
// vamos tratar metade da altura do retângulo como
// sendo o cateto oposto
double cat_oposto = Math.pow((altura / 2.0), 2);
// obtemos a hipotenusa do triângulo retângulo que
// extraímos a partir do retângulo informado pelo
// usuário
double hipotenusa = Math.sqrt(cat_adjacente + cat_oposto);
// para que o retângulo caiba no círculo, a hipotenusa que
// obtemos não pode ser maior que o raio do círculo
return raio >= hipotenusa;
}
}
|
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






