Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Laços - Faça um programa para calcular o valor das seguintes expressões - Desafio de Programação Resolvido em JavaQuantidade de visualizações: 1952 vezes |
Exercício Resolvido de Java - Laços - Faça um programa para calcular o valor das seguintes expressões Pergunta/Tarefa: Faça um programa para calcular o valor das seguintes expressões: 1) __$S_1 = \frac{1}{1} + \frac{3}{2} + \frac{5}{3} + \frac{7}{4} + \text{...} + \frac{99}{50} __$ 2) __$S_2 = \frac{2^1}{50} + \frac{2^2}{49} + \frac{2^3}{48} + \text{...} + \frac{2^\text{50}}{1} __$ 3) __$S_3 = \frac{1}{1} - \frac{2}{4} + \frac{3}{9} - \frac{4}{16} + \frac{5}{25} - \text{...} - \frac{10}{100} __$ Resposta/Solução: Em ambas as expressões nós temos o último termo nos informando os valores limites. Dessa forma, basta fixarmos um laço for ou laço while com estes limites. Veja a resolução deste exercício em código Java console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; public class Estudos{ public static void main(String[] args){ // primeira expressão int numerador = 1; int denominador = 1; double resultado = 0.0; // laço while para montar os termos e fazer a somatória while(numerador <= 99){ resultado = resultado + ((numerador * 1.0) / denominador); numerador = numerador + 2; denominador++; } // agora mostramos o resultado System.out.println("Primeira expressão: " + resultado); // segunda expressão int expoente = 1; denominador = 50; resultado = 0.0; // laço while para montar os termos e fazer a somatória while(denominador >= 1){ resultado = resultado + ((Math.pow(2, expoente) * 1.0) / denominador); expoente++; denominador--; } // agora mostramos o resultado System.out.println("Segunda expressão: " + resultado); // terceira expressão numerador = 1; denominador = 1; resultado = 0.0; int sinal = 1; // laço while para montar os termos e fazer a somatória while(numerador <= 10){ if(sinal > 0){ // somar resultado = resultado + ((numerador * 1.0) / denominador); } else{ // subtrair resultado = resultado - ((numerador * 1.0) / denominador); } numerador++; denominador = numerador * numerador; sinal = sinal * -1; } // agora mostramos o resultado System.out.println("Terceira expressão: " + resultado); } } Ao executar este código Java nós teremos o seguinte resultado: Primeira expressão: 95.5007946616706 Segunda expressão: 1.5608286920413398E15 Terceira expressão: 0.6456349206349207 |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Como corrigir o erro ArrayIndexOutOfBoundsException ao usar um laço for para percorrer os elementos de um arrayQuantidade de visualizações: 12277 vezes |
Pergunta/Tarefa: Observe o seguinte trecho de código: public static void main(String[] args){ // um vetor de inteiros contendo cinco elementos int valores[] = {5, 32, 9, 10, 6}; // vamos usar um laço for para exibir os valores dos elementos // do vetorz for(int i = 0; i <= 5; i++){ System.out.println("O valor do " + (i + 1) + "º elemento é " + valores[i]); } } O valor do 1º elemento é 5 O valor do 2º elemento é 32 O valor do 3º elemento é 9 O valor do 4º elemento é 10 O valor do 5º elemento é 6 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at javaapplication1.Main.main(Main.java:14) Java Result: 1 Resposta/Solução: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- O erro no código é de lógica. Como temos cinco elementos no vetor e o índice do último elemento é 4 (o índice do primeiro elemento é 0), o valor da variável de controle do laço for não pode ultrapassar 4. No código acima o valor da variável i vai até 5, o que provoca um erro ao tentar acessar um elemento do vetor que não existe. Para corrigir o erro, basta alterar a linha: for(int i = 0; i <= 5; i++){ para: for(int i = 0; i < 5; i++){ |
Java ::: Java para Engenharia ::: Unidades de Medida |
Como converter Centímetros Cúbicos em Metros Cúbicos em Java - Java para Física e EngenhariaQuantidade de visualizações: 320 vezes |
Em muitas situações nós temos uma medida de volume em cm3 e queremos transformá-la em m3, que é a medida de volume do Sistema Internacional (SI). Para isso só precisamos dividir os centímetros cúbicos por 1.000.000. Veja a fórmula: \[\text{Metros Cúbicos} = \frac{\text{Centímetros Cúbidos}}{1.000.000} \] Agora veja o código Java que pede para o usuário informar a medida de volume em centímetros cúbicos e a converte para metros cúbicos. Note que mostrei como exibir o resultado em notação científica e sem notação científica: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 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 ler a medida em centímetros cúbicos System.out.print("Informe os centímetros cúbicos: "); double cent_cubicos = Double.parseDouble(entrada.nextLine()); // agora calculamos os metros cúbicos double met_cubicos = cent_cubicos / 1000000.00; // e mostramos o resultado System.out.println("Você informou " + cent_cubicos + " centímetros cúbicos."); System.out.println("Isso equivale a " + met_cubicos + " metros cúbicos."); System.out.printf("Sem notação científica: %f\n", met_cubicos); } } Ao executar este código Java nós teremos o seguinte resultado: Informe os centímetros cúbicos: 35 Você informou 35.0 centímetros cúbicos. Isso equivale a 3.5E-5 metros cúbicos. Sem notação científica: 0,000035 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercício Resolvido de Java - Usando o laço while para pedir ao usuário que tente acertar um número aleatório entre 0 e 10 (incluindo) e mostrar a quantidade de tentativas feitasQuantidade de visualizações: 2303 vezes |
Pergunta/Tarefa: Escreva um programa Java que gera um número aleatório (randômico) entre 0 e 10 (incluindo estes dois valores) e peça ao usuário para adivinhá-lo. Use um laço while para registrar as tentativas feitas e, a cada tentativa, dê dicas informando se o número gerado é maior ou menor que a tentativa feita. Finalmente mostre a quantidade de tentativas feitas até que o número fosse acertado. Sua saída deverá ser parecida com a mostrada abaixo: Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package exercicios; import java.util.Scanner; public class Exercicios { public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // declaração das variáveis int tentativas = 0, numeroLido; boolean acertou = false; // vamos gerar um número aleatório entre 0 e 10 int numero = (int)(Math.random() * 11); // um laço while que repetirá até que o número seja acertado while(!acertou){ System.out.print("Informe um número de 0 a 10: "); numeroLido = Integer.parseInt(entrada.nextLine()); tentativas++; if(numeroLido == numero){ // acertou? System.out.println("Parabéns! Você acertou em " + tentativas + " tentativas."); acertou = true; } else if(numeroLido < numero){ // o número informado é menor que o número gerado System.out.println("Errou! Tente um número maior."); } else{ // o número informado é maior que o número gerado System.out.println("Errou! Tente um número menor."); } } } } |
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 |
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 |