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++ - Exercícios Resolvidos de C++Quantidade de visualizações: 600 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 <string> #include <iostream> #include <math.h> using namespace std; // 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); int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema int largura, altura, raio; // vamos pedir para o usuário informar as medidas // do retângulo cout << "Largura do retângulo: "; cin >> largura; cout << "Altura do retângulo: "; cin >> altura; // agora vamos pedir o raio do círculo cout << "Raio do círculo: "; cin >> 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)){ cout << "O retângulo cabe no círculo.\n" << endl; } else{ cout << "O retângulo não cabe no círculo.\n" << endl; } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } // 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; } |
Link para compartilhar na Internet ou com seus amigos: |
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como acessar os caracteres de uma string C++ individualmente usando um iteradorQuantidade de visualizações: 11058 vezes |
Nesta dica mostrarei como podemos usar um iterador para percorrer todos os caracteres de uma palavra, frase ou texto em C++. Para isso nós vamos combinar um iterator e as funções begin() e end(). Veja o código C++ completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <string> #include <iostream> using namespace std; // função principal do programa C++ int main(int argc, char *argv[]){ // vamos declarar um objeto da classe string string palavra("FACULDADE"); // agora criamos um iterador para a string string::iterator it; // e usamos um laço for para percorrer o iterador // do início ao fim for(it = palavra.begin(); it < palavra.end(); it++){ // e mostramos os caracteres individuais cout << *it << "\n"; } cout << "\n" << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: F A C U L D A D E |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: C++ Básico |
Exercício Resolvido de C++ - Como ler um número inteiro e imprimir seu sucessor e seu antecessor em C++Quantidade de visualizações: 1473 vezes |
Pergunta/Tarefa: Escreva um programa C++ para ler um número inteiro e imprimir seu sucessor e seu antecessor. O usuário poderá informar um valor positivo ou negativo. Sua saída deverá ser parecida com: Informe um número inteiro: 16 O número informado foi: 16 O antecessor é 15 O sucessor é: 17 Veja a resolução comentada deste exercício usando C++: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema int numero, sucessor, antecessor; // vamos pedir para o usuário informar um número inteiro cout << "Informe um número inteiro: "; cin >> numero; // vamos calcular o sucessor do número informado sucessor = numero + 1; // vamos calcular o antecessor do número informado antecessor = numero - 1; // e agora mostramos os resultados cout << "O número informado foi: " << numero << endl; cout << "O antecessor é " << antecessor << endl; cout << "O sucessor é: " << sucessor << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
C++ ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular juros compostos e montante usando C++Quantidade de visualizações: 16992 vezes |
O regime de juros compostos é o mais comum no sistema financeiro e portanto, o mais útil para cálculos de problemas do dia-a-dia. Os juros gerados a cada período são incorporados ao principal para o cálculo dos juros do período seguinte. Chamamos de capitalização o momento em que os juros são incorporados ao principal. Após três meses de capitalização, temos: 1º mês: M = P .(1 + i) 2º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) 3º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) x (1 + i) Simplificando, obtemos a fórmula: M = P . (1 + i)^n Importante: a taxa i tem que ser expressa na mesma medida de tempo de n, ou seja, taxa de juros ao mês para n meses. Para calcularmos apenas os juros basta diminuir o principal do montante ao final do período: J = M - P Vejamos um exemplo: Considerando que uma pessoa empresta a outra a quantia de R$ 2.000,00, a juros compostos, pelo prazo de 3 meses, à taxa de 3% ao mês. Quanto deverá ser pago de juros? Veja o código C++ para a resolução: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> using namespace std; int main(int argc, char *argv[]) { float principal = 2000.00; float taxa = 0.03; // 3% int meses = 3; float montante = principal * pow((1 + taxa), meses); float juros = montante - principal; cout << "O total de juros a ser pago é: " << juros << "\n"; cout << "O montante a ser pago é: " << montante << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Um outra aplicação interessante é mostrar mês a mês a evolução dos juros. Veja o código a seguir: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> using namespace std; int main(int argc, char *argv[]) { float principal = 2000.00; float taxa = 0.03; // 3% int meses = 3; float anterior = 0.0; float montante; float juros; for(int i = 1; i <= meses; i++){ montante = principal * pow((1 + taxa), i); juros = montante - principal - anterior; anterior += juros; cout << "Mês: " << i << " - Montante: " << montante << " - Juros " << juros << "\n"; } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Número de Reynolds O número de Reynolds (abreviado como Re) é utilizado para o cálculo do regime de escoamento de um fluido no interior de um tubo ou de um duto. Considere que um sistema hidráulico opera com óleo SAE 10W, de densidade igual a 920kg/m3 e viscosidade dinâmica de 0,018kg/(m.s), à temperatura de 55°C. Sabendo que o fluido escoa a uma velocidade média de 0,147m/s, e que o tubo tem 1m de diâmetro, qual é o número de Reynolds para o escoamento? A) 7.513,33. B) 2.300. C) 112,65. D) 715,33. E) 1.126,50. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual a sintaxe correta para mostrar o tipo de uma variável em Python?a = 45 print("O tipo da variável é: {0}".format(______________)) A) typeOf(a) B) Type(a) C) typeof(a) D) type(a) E) type a Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Cisalhamento e detalhamento de vigas Conforme a NBR 6118 (ABNT, 2014), a armadura transversal mínima deve ser colocada nas vigas de modo a garantir a estabilidade das estruturas, mesmo na eventualidade de serem aplicados carregamentos não previstos no cálculo, evitando a ruptura abrupta logo após o surgimento das primeiras fissuras inclinadas. Nesse contexto, qual a armadura transversal mínima necessária por metro de viga, tendo em vista que ela tem seção de 30 x 80cm e altura útil de 77cm? Adote concreto C35 e aço CA-50. A) 2,43cm2/m. B) 2,84cm2/m. C) 3,12cm2/m. D) 3,54cm2/m. E) 3,85cm2/m. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
Alinhamentos no AutoCAD Civil 3D Qual dos objetos abaixo é constituido de uma série de linhas e curvas que representam mudanças na elevação ao longo de um alinhamento? A) Assembly (Montagem) B) Profile (Perfil) C) Corridor (Corredor) D) Surface (Superfície) Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Estrutura e propriedade dos materiais A determinação e o conhecimento dos materiais são muito importantes para a escolha do material para determinada aplicação. Essa escolha é a partir: A) de um banco de dados obtidos por meio de ensaios laboratoriais. B) da análise do agrupamento e da organização dos átomos. C) da estrutura interna do material. D) da análise das características físicas do material. E) da avaliação da composição química dos materiais. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
C++ - Como obter o diretório atual usando a função GetCurrentDirectory() da API do Windows - C++ e WinAPI |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |