Ir ao conteúdo
  • Cadastre-se

Ajuda algoritmo Impares


lupinsk05

Posts recomendados

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:

Link para o comentário
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

Link para o comentário
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

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...