Soma dos termos de uma progressão geométrica

23/12/2019

0

Meus caros, boa tarde!
Estou iniciando meus estudos em desenvolvimento java e tenho encontrado certa dificuldade de resolver alguns exercícios, razão pela qual desejo contar com a ajuda de alguém do fórum.
Exercício:
Escreva um programa para determinar a soma de n termos da progressão geométrica Ui = ari, ou seja: somatório de n-1 e i=0 para (ar elevado a i).
Eu comecei com o básico, mas não sei incluir a instrução que faz a soma dos termos da PG.
//Problema 5 da Atividade 5.1 - Aluno: João Medeiros
//Escreva um programa para determinar a soma de n termos da progressão geométrica Ui = ari.
package tema5_1_5;
import java.util.Scanner;
public class Tema5_1_5 {
public static void main(String[] args) {
int termo_1, razao, soma = 0, termo_n, contador = 1;
Scanner entrada = new Scanner(System.in);
System.out.println("Digite o primeiro termo da PG: ");
termo_1 = entrada.nextInt();
System.out.println("Digite a razão da PG: " );
razao = entrada.nextInt();
System.out.println("Digite a quantidade de termos da PG: ");
termo_n = entrada.nextInt();
entrada.close();
while(contador < termo_n) {
termo_1 = termo_1 * razao;
contador = contador + 1;
}
soma = ??????;
System.out.println("A soma dos " + termo_n + " termos da PG é: " + soma);
}
}

Obrigado!
João Medeiros

João Medeiros

Responder

Post mais votado

23/12/2019

Na verdade, basta você fazer uma potenciação, ou seja, pegar o valor da razão, elevado ao index do termo e multiplicar isso pelo próprio termo, utilizando o método pow de Math, em seguida é só ir somando o resultado de cada conta dessas numa variável de valor inicial 0, observe o meu exemplo:

import java.util.Scanner;

public class Main
{
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int razao, primeiroTermo, numeroDeTermos, resultado;
		resultado = 0;
		System.out.println("Digite a razão da PG:");
		razao = scan.nextInt();
		System.out.println("Digite o primeiro termo da PG:");
		primeiroTermo = scan.nextInt();
		System.out.println("Digite o número de termos da PG:");
		numeroDeTermos = scan.nextInt();
		for(int i = 1; i <= numeroDeTermos; i++){
		    resultado += primeiroTermo*(Math.pow(razao,i));
		}
		System.out.println("O resultado foi: " + resultado);
	}
}

Sadasd

Sadasd
Responder

Mais Posts

23/12/2019

João Medeiros

Prezado Daniel, boa noite!
Agradeço a sua atenção e disposição em me ajudar. Eu não se expliquei mal o exercício, mas o que é pedido é a soma dos n termos de uma PG. Dando um exemplo prático:
razão: 2
primeiro termo : 2
número de termos: 4
então, teríamos: 2 + 4 + 8 + 12
isto daria 26 como resultado

Utilizei o teu código e obtive o seguinte resultado:

Digite a razão da PG:
2
Digite o primeiro termo da PG:
2
Digite o número de termos da PG:
4
A soma dos 4 termos da PG foi: 60

Grato,
João Medeiros
Responder

23/12/2019

Sadasd

Prezado Daniel, boa noite!
Agradeço a sua atenção e disposição em me ajudar. Eu não se expliquei mal o exercício, mas o que é pedido é a soma dos n termos de uma PG. Dando um exemplo prático:
razão: 2
primeiro termo : 2
número de termos: 4
então, teríamos: 2 + 4 + 8 + 12
isto daria 26 como resultado

Utilizei o teu código e obtive o seguinte resultado:

Digite a razão da PG:
2
Digite o primeiro termo da PG:
2
Digite o número de termos da PG:
4
A soma dos 4 termos da PG foi: 60

Grato,
João Medeiros


Ok, entendi o que você quis dizer, então o primeiro termo não é multiplicado certo?

É só trocar essa linha aqui:
for(int i = 1; i <= numeroDeTermos; i++){


Para isso:
for(int i = 0; i < numeroDeTermos; i++){
Responder

23/12/2019

Sadasd

Prezado Daniel, boa noite!
Agradeço a sua atenção e disposição em me ajudar. Eu não se expliquei mal o exercício, mas o que é pedido é a soma dos n termos de uma PG. Dando um exemplo prático:
razão: 2
primeiro termo : 2
número de termos: 4
então, teríamos: 2 + 4 + 8 + 12
isto daria 26 como resultado

Utilizei o teu código e obtive o seguinte resultado:

Digite a razão da PG:
2
Digite o primeiro termo da PG:
2
Digite o número de termos da PG:
4
A soma dos 4 termos da PG foi: 60

Grato,
João Medeiros


Ok, entendi o que você quis dizer, então o primeiro termo não é multiplicado certo?

É só trocar essa linha aqui:
for(int i = 1; i <= numeroDeTermos; i++){


Para isso:
for(int i = 0; i < numeroDeTermos; i++){


E nessa pg ai não seria 30 o resultado? digo, 2 + 4 + 8 + 16, o dobro de 8 seria 16 e não 12.
Responder

23/12/2019

João Medeiros

Prezado Daniel, boa noite!
Agradeço a sua atenção e disposição em me ajudar. Eu não se expliquei mal o exercício, mas o que é pedido é a soma dos n termos de uma PG. Dando um exemplo prático:
razão: 2
primeiro termo : 2
número de termos: 4
então, teríamos: 2 + 4 + 8 + 12
isto daria 26 como resultado

Utilizei o teu código e obtive o seguinte resultado:

Digite a razão da PG:
2
Digite o primeiro termo da PG:
2
Digite o número de termos da PG:
4
A soma dos 4 termos da PG foi: 60

Grato,
João Medeiros


Ok, entendi o que você quis dizer, então o primeiro termo não é multiplicado certo?

É só trocar essa linha aqui:
for(int i = 1; i <= numeroDeTermos; i++){


Para isso:
for(int i = 0; i < numeroDeTermos; i++){


E nessa pg ai não seria 30 o resultado? digo, 2 + 4 + 8 + 16, o dobro de 8 seria 16 e não 12.


Verdade, Daniel!
Falha minha.
Vou testar com a nova instrução.
Muito Obrigado!
Responder

23/12/2019

João Medeiros

Prezado Daniel, boa noite!
Agradeço a sua atenção e disposição em me ajudar. Eu não se expliquei mal o exercício, mas o que é pedido é a soma dos n termos de uma PG. Dando um exemplo prático:
razão: 2
primeiro termo : 2
número de termos: 4
então, teríamos: 2 + 4 + 8 + 12
isto daria 26 como resultado

Utilizei o teu código e obtive o seguinte resultado:

Digite a razão da PG:
2
Digite o primeiro termo da PG:
2
Digite o número de termos da PG:
4
A soma dos 4 termos da PG foi: 60

Grato,
João Medeiros


Ok, entendi o que você quis dizer, então o primeiro termo não é multiplicado certo?

É só trocar essa linha aqui:
for(int i = 1; i <= numeroDeTermos; i++){


Para isso:
for(int i = 0; i < numeroDeTermos; i++){


E nessa pg ai não seria 30 o resultado? digo, 2 + 4 + 8 + 16, o dobro de 8 seria 16 e não 12.


Verdade, Daniel!
Falha minha.
Vou testar com a nova instrução.
Muito Obrigado!


Daniel, agora funcionou corretamente.
Valeu mesmo!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar