Você está aqui: C ::: 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 C - Desafio de Programação Resolvido em CQuantidade de visualizações: 1032 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 C 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 uma função C 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 C: Antes de vermos o código C, 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 C completo para a resolução: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <math.h>
// cabeçalho da função 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
int retangulo_cabe_circulo(int largura, int altura, int raio);
// função principal do programa
int main(int argc, char *argv[]){
// variáveis usadas na resolução do problema
int largura, altura, raio;
setlocale(LC_ALL,""); // para acentos do português
// vamos pedir para o usuário informar as medidas
// do retângulo
printf("Largura do retângulo: ");
scanf("%d", &largura);
printf("Altura do retângulo: ");
scanf("%d", &altura);
// agora vamos pedir o raio do círculo
printf("Raio do círculo: ");
scanf("%d", &raio);
// vamos testar se o retângulo informado cabe no círculo
// gerado a partir do raio dado
if(retangulo_cabe_circulo(largura, altura, raio)){
printf("O retângulo cabe no círculo.");
}
else{
printf("O retângulo não cabe no círculo.");
}
printf("\n\n");
system("PAUSE");
return 0;
}
// função 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
int retangulo_cabe_circulo(int largura, int altura, int raio){
// vamos tratar metade da largura do retângulo como
// sendo o cateto adjacente
float cat_adjacente = pow((largura / 2.0), 2);
// vamos tratar metade da altura do retângulo como
// sendo o cateto oposto
float cat_oposto = 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
float hipotenusa = 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 C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |









