Ir ao conteúdo

Posts recomendados

Postado

alguém poderia me dizer se há algum erro nesse meu programa com série: S= 1/2 -10/4 + 100/10 -1000/28 + . . .

obs: o programa escreve e soma os 15 primeiros termos

 

#include <iostream>
#include <conio.h>
using namespace std;

int main(){

int numerador,denominador, sinal, nt;
float serie;
serie=0; numerador=1; denominador=2; sinal=1;
for(nt=1; nt<=15; nt++){
        serie=serie+numerador*sinal/denominador;
        numerador=( numerador*10 );
        denominador=denominador*3-2;
        sinal=(-1)*sinal;
}
      cout<< "\n soma=" <<serie;
      return 0;
}

 

Postado
agora, if. disse:

Que resultados obtiveste?

-24198

adicionado 14 minutos depois
13 minutos atrás, Ferna_do disse:

-24198

é esse o valor?

Postado

acredito que numerador e denominador devam ser do tipo float também:

float numerador,denominador, serie;
int sinal, nt;

A razão para isso é que, caso ambos sejam variáveis do tipo inteiro, as divisões serão truncadas.

Então, 1/2 dará 0, ao invés de 0,5.

10/4 será 2, ao invés de 2,5 e assim por diante.

  • Curtir 2
Postado
3 horas atrás, Ferna_do disse:

o valor esta dando agora 0.904063😕 f(fiz as mudanças do flot e int e coloquei essa linha no codigo)

No primeiro código que postou deixe apenas a variável nt como int e as outras como float que já resolve.

 

Postado

@if. na verdade deu 0,32..

#include <iostream>
#include <conio.h>
using namespace std;

int main(){

float numerador,denominador, serie;
int sinal, nt;
serie=0; numerador=1; denominador=2; sinal=1;
for(nt=1; nt<=15; nt++){
        serie=serie+((numerador*sinal)/denominador); 

denominador=(denominador*3)-2;
        sinal=(-1)*sinal;
}
      cout<< "\n soma=" <<serie;
      return 0;
}

adicionado 0 minutos depois

@Midori sério? muito obrigada

Postado
10 minutos atrás, Ferna_do disse:

@if. na verdade deu 0,32..

#include <iostream>
#include <conio.h>
using namespace std;

int main(){

float numerador,denominador, serie;
int sinal, nt;
serie=0; numerador=1; denominador=2; sinal=1;
for(nt=1; nt<=15; nt++){
        serie=serie+((numerador*sinal)/denominador); 

denominador=(denominador*3)-2;
        sinal=(-1)*sinal;
}
      cout<< "\n soma=" <<serie;
      return 0;
}

adicionado 0 minutos depois

@Midori sério? muito obrigada

Se esse é o código mais atual e comparando com o primeiro você esqueceu de elava o numerador a potencia de 10.

 

numerador = (numerador * 10);

Só isso!

Postado
1 minuto atrás, Ferna_do disse:

@Mauro Britivaldo você poderia me explicar o porque? fiz esse código com base em um outro que tinha uma outra série de números e o professor não colocou essa potência 😕

Esqueça a potencia de 10, foi uma forma 'errada' de de alerta você que neste código abaixo falta o comando que atualiza o valor na variável: numerador.

16 minutos atrás, Ferna_do disse:

@if. na verdade deu 0,32..

#include <iostream>
#include <conio.h>
using namespace std;

int main(){

float numerador,denominador, serie;
int sinal, nt;
serie=0; numerador=1; denominador=2; sinal=1;
for(nt=1; nt<=15; nt++){
        serie=serie+((numerador*sinal)/denominador); 

denominador=(denominador*3)-2;
        sinal=(-1)*sinal;
}
      cout<< "\n soma=" <<serie;
      return 0;
}

adicionado 0 minutos depois

@Midori sério? muito obrigada

 

Observe que os comandos que atualizam a variável 'numerador' não existem nesse código. Por essa razão esse código tem resultado errado.

 

 

Postado

Faça isso.

 

47 minutos atrás, Midori disse:

No primeiro código que postou deixe apenas a variável nt como int e as outras como float que já resolve.

 

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!