Ir ao conteúdo
  • Cadastre-se
lupinsk05

Ajuda algoritmo Impares

Recommended Posts

Olá pessoal estou com uma cadeira de algoritmo e estamos utilizando o visualg e estou com 1 problema que não consigo resolver.

em um intervalo qualquer tenho que efetuar a soma somente dos números impares, esta funcionando, mas somente se x=1 dae ele soma certo, mas se eu mudo o x pra qualquer outro numero ele retorna 0

abaixo o algoritmo.

var
x,y:inteiro //variaveis de entrada
si:numerico //acumulador da soma
i:inteiro // variavel de controle
inicio
escreval ("Entre com valor de X:")
leia (x) // recebe intervalo
escreval ("Entre com Valor de Y:")
leia (y)
para i de x ate y passo 2 faca // laço
se i mod 2=1 então
escreval(" ")
si <- si + i
fimse
fimpara
escreval (" a soma dos impares é: ",si)
fimalgoritmo

agradeço se alguém puder testar..:confused:

Compartilhar este post


Link para o post
Compartilhar em outros sites

lupinsk05,

O problema é que você já considera que o primeiro elemento digitado será ímpar (para depois incrementá-lo em 2). Seria melhor testar toda a faixa de valores mesmo:

var

x,y: inteiro //variaveis de entrada
si: numerico //acumulador da soma
i: inteiro // variavel de controle

inicio
si <- 0
escreval ("Entre com valor de X:")
leia (x) // recebe intervalo
escreval ("Entre com Valor de Y:")
leia (y)
para i de x ate y faca
se i mod 2=1 então
si <- si + i
fimse
fimpara
escreval (" a soma dos impares é: ",si)
fimalgoritmo

Não esqueça também de inicializar variáveis, principalmente as que servirão para acumular valores (si <- 0).

OBS: ao copiar o código, remova a acentuação do então, já que o corretor do fórum insiste em corrigir.

[]'s

LNW

Compartilhar este post


Link para o post
Compartilhar em outros sites
lupinsk05,

O problema é que você já considera que o primeiro elemento digitado será ímpar (para depois incrementá-lo em 2). Seria melhor testar toda a faixa de valores mesmo:

var

x,y: inteiro //variaveis de entrada
si: numerico //acumulador da soma
i: inteiro // variavel de controle

inicio
si <- 0
escreval ("Entre com valor de X:")
leia (x) // recebe intervalo
escreval ("Entre com Valor de Y:")
leia (y)
para i de x ate y faca
se i mod 2=1 então
si <- si + i
fimse
fimpara
escreval (" a soma dos impares é: ",si)
fimalgoritmo

Não esqueça também de inicializar variáveis, principalmente as que servirão para acumular valores (si <- 0).

OBS: ao copiar o código, remova a acentuação do então, já que o corretor do fórum insiste em corrigir.

[]'s

LNW

Ola LNW

Claro entendi!! muito obrigado pela força :D valeu mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×