URGENTE ! Soma dos 30 primeiros termos!

3 respostas
J

Boa tarde !

Estou cursando Tecnologo em redes de computadores, e tenho uma materia chamada algoritimo !
na aula passa meu prof passou um exercicio pra resolver em casa que eu nao estou conseguindo me ajudem ai por favor.

5-) Desenvolva um algoritimo em java que calcule e mostre o valor da somatória dos trinta primeiros termos da seguinte série:
Série = 5/1000 - 10/980 + 5/960 - 10/940

eu to começando e nao manjo absolutamente nada e começei por aqui.

public class Exercicio5 {

public static void main (String [] args) {

double a=5, b=1000, s=0;

int i;
for(i=1;i<=30;i++) {
		s = (a/b) + s;
		
		if ( a == 5) {
			a = -10;
		}
		b -= 30;		
	}
	
	System.out.println(s);
}

}

3 Respostas

Javabuntu

é urgente?

então liga pra polícia, bombeiros, defesa civil, eles tratam coisas urgentes ok.

p.s. já tentou resolver? já quebrou muito a cabeça? tá começando a chorar de raiva pq não consegue resolver?

J

Fala ae cara,

O problema do seu código é que o b -= 30; deve ser b -= 20;
E você se esqueceu de quando o numerador for igual a -10 ele tem que receber o 5 de novo :smiley:

public class Exercicio5 {

	/*
	 * Criação das constantes
	 * Caso você queira alterar algum parâmetro, só precisará mexer aqui.
	 * */
	private static final int NUM_TERMOS = 30;
	private static final int DENOMINADOR = 1000;
	private static final int PRIMEIRO_NUMERADOR = 5;
	private static final int SEGUNDO_NUMERADOR = 10;

	public static void main(String[] args) {
		System.out.println("Resultado na forma 1 : " + calculo1());
		System.out.println("Resultado na forma 2 : " + calculo2());
	} 


	private static double calculo1 (){

		double soma = 0;
		double subtracao = 0;

		//Soma todos com o numerador 5 
		for (int i = 0 , j = DENOMINADOR ; i < NUM_TERMOS/2 ; i++ , j -= 40) {
			soma += (double)PRIMEIRO_NUMERADOR/j;
		}
		
		//Soma todos com o numerador 10
		for (int i = 0 , j = DENOMINADOR - 20 ; i < NUM_TERMOS/2 ; i++ , j -= 40) {
			subtracao += (double)SEGUNDO_NUMERADOR/j;
		}
		
		//Retorna o valor da 'soma' dos números positivos com os números negativos
		return soma - subtracao;
	}

	//Esse método é praticamente o que você tinha feito, mas com os ajustes
	private static double calculo2(){
		
		double soma = 0;
		int numerador = PRIMEIRO_NUMERADOR;
		int denominador = DENOMINADOR;
		for (int i = 0; i < NUM_TERMOS; i++ , denominador -= 20) {
			soma += (double)numerador/denominador;
			
			/*
			 * A linha abaixo é a mesma coisa que 
			 * if(numerador == PRIMEIRO_NUMERADOR) 
			 *    numerador = - (SEGUNDO_NUMERADOR)
			 *  else
			 *  	numerador = PRIMEIRO_NUMERADOR
			 * 
			 * */
			
			numerador = (numerador == PRIMEIRO_NUMERADOR) ? - (SEGUNDO_NUMERADOR) : PRIMEIRO_NUMERADOR;
		}
		return soma;
	}
}
J

opaaa
obrigado cara eu refiz aki antes de ler o post e tinha dado esse resultado so q tinha usado if…e assim eh bem mais simples porem mais dificil mas obrigado por me ajudar ao contrario desse desgraçado ai de cima

flww

Criado 16 de março de 2008
Ultima resposta 17 de mar. de 2008
Respostas 3
Participantes 3