Ir ao conteúdo
  • Cadastre-se
jehssyk

VisualG Criar um algoritmo decrescente

Recommended Posts

OBS. no visualG (portugol)

 

Crie um algoritmo que leia os limites inferior e superior de um intervalo e imprimir todos os números pares no intervalo aberto e seu somatório (UTILIZE O PARA). Suponha que os dados digitados são para um intervalo DECRECENTE

exemplo

Limite inferior: 5 Saída: 12 10 8 6

Limite superior: 14 Soma: 36

 

O QUE FIZ ATE AGORA.

var

su, in, i, soma: inteiro


inicio

// Seção de Comandos


escreval("Digite o valor inferior ")

leia(in)


escreval("Digite o valor superior ")

leia(su)


soma <- 0


se (i mod 2 = 0) então

in <- in + 1

senao

in <- in + 2


fimse


para i de in ate su passo 2 faca

soma <- soma + 1

escreva ("", i)

fimpara


fimalgoritmo

 

Não sei o que está errado, porq não soma, e como coloco na ordem decrescente!

 

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@jehssyk    seu código está bom só precisa uma melhor organização , e para ser na ordem decrescente você coloca o maior número primeiro no para e para ir ate o menor número e o passo é de dois em dois pois são pares e menos dois para ir de cima para baixo , então seu código com algumas modificações ficaria assim :

Algoritmo "ordem decrescente"
var
  su,in,i,soma,aux : inteiro
inicio
  escreva("Digite o valor inferior ")
  leia(in)
  escreva("Digite o valor superior ")
  leia(su)
  soma <- 0
  se in > su ENTÃO // se inferior maior que superior
    aux:=in        // organiza os números na ordem certa
    in:=su
    su:=aux
  fimse
  se (su mod 2 <> 0) ENTÃO  // posiciona no último par do intervalo
    su := su - 1
  fimse
  para i de su ate in passo -2 faca
    soma <- soma + i  // i é o número par então soma + i
    escreval(i)       // imprime o número
  fimpara
  escreval("a soma é ",soma)
fimalgoritmo

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

 

Só um adendo

 

Foquemos no enunciado

17 horas atrás, jehssyk disse:

Crie um algoritmo que leia os limites inferior e superior de um intervalo e imprimir todos os números pares no intervalo aberto e seu somatório (UTILIZE O PARA). Suponha que os dados digitados são para um intervalo

 

O que significa intervalo aberto?

 

Então, o resultado não está batendo com o enunciado.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

estava rodando so que não consegui colocar do maior para o menor, e a soma estar errado, esta dando 50, o meu estar dando certo, só que ao invés de imprimir de forma decrescente, estar crescente. 

adicionado 30 minutos depois

Porque o meu não imprimir em ordem decrescente ?? 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, jehssyk disse:

Porque o meu não imprimir em ordem decrescente ?? 

Não imprime por que você implementou para imprimir em ordem crescente. Tem que configurar para imprimir da forma que deseja..

 

 

O @devair1010 já explicou... seria algo como:


Em vez de:

21 horas atrás, jehssyk disse:

para i de in ate su passo 2 faca


Use:

para i de su ate in passo -2 faca


Ou seja, indo do maior para o menor, diminuindo de 2 em 2... faça os ajustes e posta o código completo.

 

 

Obs.: para postar o código, favor pressionar o botão <> e colar o código dentro.

 

No aguardo.

  • Curtir 1

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

×