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);
}
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
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;
}
}
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