Ir ao conteúdo
  • Cadastre-se

VisualG Exercício de repetição com mostra de valores.


Posts recomendados

Olá. Eu tenho um exercício que é o seguinte: Eu fiz uma repetição, que ele te pergunta números, no final ele soma esses números, e mostra o maior valor. Porém eu preciso criar uma variável que me mostre o MENOR valor digitado. E nisso eu realmente empaquei.

 

(E se alguém me explicar a parte de >como< ele "acha" o maior valor, eu ficaria agradecido porque eu entendi mais ou menos.

 

algoritmo "semnome"
var
 N, V, S, MV, NV : Real //MV - Maior valor, NV - Menor Valor
inicio
   N <- 1
   S <- 0
   Enquanto (N <= 5) faca
   Escreva ("Digite o", N ,"º valor: ")
   Leia (V)
   Se (V > MV) então
      MV <- V
   FimSe
   Se (N = 1) então
         NV <- N
   SeNao
      Se (N = NV) então
         NV <- N
      FimSe
   FimSe
      S <- S + V
      N <- N + 1
   FimEnquanto
   Escreval ("O total dos valores digitados é:", S)
   Escreval ("O maior valor digitado foi:", MV)
   Escreva ("O menor valor digitado foi:", NV)
fimalgoritmo

Eu suponho que seja algum erro relacionado a essa parte, sempre que ele "mostra" o menor valor, ele sempre o coloca como sendo 1.

 Se (N = 1) então
         NV <- N
   SeNao
      Se (N = NV) então
         NV <- N
      FimSe
   FimSe

Se alguém puder me dar uma luz, eu agradeço. ._.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá @Kaio Lukas. Seja bem vindo ao Fórum do Clube do Hardware.

 

10 horas atrás, Kaio Lukas disse:

E se alguém me explicar a parte de >como< ele "acha" o maior valor, eu ficaria agradecido porque eu entendi mais ou menos.

 

A lógica para o maior e menor são análogas... pode funcionar mais ou menos assim:

- Inicializa as variáveis MV e NV... OU com o primeiro valor; OU com o menor e maior valor respectivamente.

- Para cada novo número analisado, compara com o MV e NV, caso seja maior ou menor respectivamente, atualiza a variável correspondente.

 

Ao final, MV vai está com o maior valor, e NV vai está com o menor valor.

 

 

Sobre:

10 horas atrás, Kaio Lukas disse:

Eu suponho que seja algum erro relacionado a essa parte, sempre que ele "mostra" o menor valor, ele sempre o coloca como sendo 1.

Eu parte sim (não analisei o restante), primeiro porque o número a ser comparado é o "V", não o "N"; segundo que você está comparando com "=", onde na verdade deveria ser "<".

 

No aguardo.

Link para o comentário
Compartilhar em outros sites

Se (N = 1) então // Se for a primeira vez que o loop estiver passando, ele atribui o valor assumindo como o menor.
  NV <- V
SeNao
  Se (V < NV) então  // Se o valor for menor do que o último menor valor armazenado, ele é assumido como o menor valor.
    NV <- V
  FimSe
FimSe

Não sei se a sintaxe do VisualG é exatamente essa, mas analisando a lógica acredito que ficaria assim cara.

 

E a explicação do armazenamento foi o que o Simon disse, você cria duas variaveis auxiliares para armazenar os valores e toda vez que o loop passa, verifica se o novo valor é maior/menor que o último analisado, caso seja, atribui ele a variavel e ele fica com o "posto" de maior/menor valor até o momento.

 

Abraço.

Link para o comentário
Compartilhar em outros sites

Citação

algoritmo "semnome"
var
 N, V, S, MV, NV : Real
inicio
   N <- 1
   S <- 0
   Enquanto (N <= 5) faca
   Escreva ("Digite o", N ,"º valor: ")
   Leia (V)
   Se (V > MV) então
      MV <- V
   FimSe
   Se (N = 1) então
         NV <- V
   SeNao
      Se (NV > V) então
         NV <- V
      FimSe
   FimSe
      S <- S + V
      N <- N + 1
   FimEnquanto
   Escreval ("O total dos valores digitados é:", S)
   Escreval ("O maior valor digitado foi:", MV)
   Escreva ("O menor valor digitado foi:", NV)
fimalgoritmo

 

Ficou assim! E funcionou certinho! :D

 

Dúvida: Se eu tiver questionamentos sobre outros exercícios, crio outro tópico ou posso postar nesse mesmo?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

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