SOMA = 1/1 + 3/2 + 5/3 + 7/4 + … + 99/50.
Desculpem, mas não consegui resolver mesmo e tenho prova amanhã. Se alguém puder resolver só para eu entender e fazer os demais exercícios que são parecidos sozinha, vai ser um anjo da guara para mim!
SOMA = 1/1 + 3/2 + 5/3 + 7/4 + … + 99/50.
Desculpem, mas não consegui resolver mesmo e tenho prova amanhã. Se alguém puder resolver só para eu entender e fazer os demais exercícios que são parecidos sozinha, vai ser um anjo da guara para mim!
Sabia que você pode criar algoritmos para facilitar a criação de programas como este?
O que você precisa não é saber como a soma funciona ou como isso vai ser implementado em C/C++, mas, entender como a lógica da questão deve operar.
Veja o que é coincidente na questão:
1/1 + 3/2 + 5/3 + 7/4 + ... + 99/50
1/1 -> 3/2 -> 5/3 -> 7/4
1 - 3 - 5 - 7
e 1 - 2 - 3 - 4
Percebe algo em comum a ambos? E a cada lado?
A lógica consiste em, para cada dividendo, somar-se 2 ao valor anterior e, cada divisor, somar-se 1.
Como você precisa somar o resultado da divisão, onde o primeiro divisor é 1 e úlrimo é 50, pode colocar o cálculo em um laço de repetição:
for(int i = 1; i <= 50; i++){}
Claro, declarando uma variável que possa receber o valor da divisão entre os números e que some aos valores anteriormente já processados. Como as divisões nem sempre serão exatas, ele deve ser capaz de armazenar valores com ponto flutuante (float, por exemplo).
Tenta aí, qualquer coisa, dá um grito
int numerador = -1;
float resposta = 0;
for (int denominador = 1; denominador <= 50; denominador++){
numerador = numerador + 2;
resposta = resposta + (numerado / denominador);
}
printf("%f", resposta);
Ver se resolve seu problema.
Fiquei curioso, este trecho faz o que?
Ops, erro de código.
o certo é
y = y + 2;
Este trecho pega o valor iniciar de y que declarei como -1 e a cada loop soma + 2 que inicialmente ficaria 1.
neste mesmo loop a resposta será igual a ela mesmo que no caso inicia-se em 0 + y que é o numerador e x é o denominador que vai de 1 a 50.
No segundo loop y que é o numerador é incrementador + 2, então y agora é igual a 3 e x que é o denominador é igual a 2, e assim sucessivamente.
Se não entender só falar.
include iostream
using namespace std;
int main(void){
float dividendo = 1, resultado = 0;
for (float divisor = 1; dividendo <= 50; dividendo++, divisor + 2){
resultado += dividendo/divisor;
}
printf("%f", resultado);
return 0;
}
float N = 1, D = 1, result;
String text = “”;
for (int cont = 1; cont <= 50; cont++) {
result = (N / D);
text += "\nS= " + N + " / " + D + " result = " + result + "\n";
D = D + 1;
N = N + 2;
}
JOptionPane.showMessageDialog(null, "Resultado sera " + text);
}