Ir ao conteúdo
  • Cadastre-se
brunord2014

VisualG Achar o menor número

Recommended Posts

Não consigo achar o menor número usando o repita.

algoritmo "TP901.alg"
// Função :
// Autor :
// Data : 07/11/2018
// Seção de Declarações
var
   vln: inteiro
   vlm: inteiro
   vls: inteiro
   vlme: inteiro
   qtd:  inteiro
   vlmd: real
inicio
   vln  <- 0
   vlm  <- 0
   vlme <- 0
   vls  <- 0
   qtd  <- 0
   vlmd <- 0

   escreva ("Digite o primeiro número ou 0 para finalizar: ")
   leia (vln)
   vlm  <- vln
   vlme <- vlme
   se (vln = 0) entao
      escreva ("Algoritmo finalizado sem calculos...")
   senao

      repita
         qtd <- qtd + 1
         vls <- (vls + vln)
         escreva ("Digite o próximo número ou 0 para finalizar: ")
         leia (vln)
         se (vln > vlm) entao
            vlm <- vln
         fimse
         se (vln < vlme)  entao
            vlme <- vln
         fimse
      ate (vln = 0)
   fimse
   escreval ("Seu algoritmo foi finalizado, veja as conclusões: ")
   vlmd <- vls/qtd
   escreval ("O maior valor é: ",vlm,"")
   escreval ("O menor valor é: ",vlme: 2:2,"")
   escreval ("A soma dos valores foi de: ",vls)
   escreval ("Quantidade de números digitados: ",qtd)
   escreval ("O menor valor digitado foi:" ,vlme,)
   vlmd <- vls/qtd
   escreval ("A média foi: ",vlmd)
fimalgoritmo
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha fiz um algoritmo para voce entender como se pega o menor e maior esqueci de colocar os fims , mas você deve entrar com um numero antes de entrara no laço para que ele posa atribuir a maior e menor e depois entrar no laço e fazer comparaçoes

var
   N,MA,ME,cont:inteiro
inicio
   leia (N)
   ME <- N
   MA <- N
   para cont de 1 ate 3 faca
      Leia (N)
      se N < ME entao
         ME <- N
      fimse
      se N > MA entao
         MA <- N
      fimse
   fimpara
   escreval ("MAIOR:",MA)
   escreval ("MENOR:",ME)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

 

Sobre:

13 horas atrás, CARRETA PCZAO disse:

var
   vln: inteiro
   vlm: inteiro
   vls: inteiro
   vlme: inteiro
   qtd:  inteiro
   vlmd: real

 

O que significa cada uma dessas variáveis? tem como passa uma legenda?

Compartilhar este post


Link para o post
Compartilhar em outros sites
vln  //valor a ser digitado pelo usuário
vlm  //valor maior
vlme //valor menor
vls  //valor da soma
qtd  //quantidade
vlmd //valor médio

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 14/11/2018 às 06:04, brunord2014 disse:

Não consigo achar o menor número usando o repita.

 

1#

Você está inicializando a variável vlme com o valor errado. Assim como vlm, o vlme deve receber o primeiro valor.

 

 

 

2#

Dentro do repita, você está considerando o 0 como um valor digitado (está considerando ele na conta), mas não deveria. O 0 deve ser ignorado.

 

O código do @CARRETA PCZAO é um algoritmo para encontrar o menor e maior valores... mas no seu código, você também implementou uma opção para parar quando o usuário quiser, daí tem que adequar corretamente... pois o mesmo valor que é verificado nos cálculos, é também usado para sair... Para ficar mais claro, experimente digitar apenas números negativos no teu código e veja o que acontece.

 

 

***

 

No aguardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 15/11/2018 às 12:46, Simon Viegas disse:

 

1#

Você está inicializando a variável vlme com o valor errado. Assim como vlm, o vlme deve receber o primeiro valor.

 

 

 

2#

Dentro do repita, você está considerando o 0 como um valor digitado (está considerando ele na conta), mas não deveria. O 0 deve ser ignorado.

 

O código do @CARRETA PCZAO é um algoritmo para encontrar o menor e maior valores... mas no seu código, você também implementou uma opção para parar quando o usuário quiser, daí tem que adequar corretamente... pois o mesmo valor que é verificado nos cálculos, é também usado para sair... Para ficar mais claro, experimente digitar apenas números negativos no teu código e veja o que acontece.

 

 

***

 

No aguardo.

 

adicionado 2 minutos depois

@Simon Viegas Cara valeu!  Deu certo me ajudou muito, usando o repita o erro estava na inicialização, inicializei com valor 1 e deu certo. 

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 minutos atrás, brunord2014 disse:

 

adicionado 2 minutos depois

@Simon Viegas Cara valeu!  Deu certo me ajudou muito, usando o repita o erro estava na inicialização, inicializei com valor 1 e deu certo. 

 

Posta o código para analisarmos.

 

No aguardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Simon Viegas

algoritmo "TP901.alg"

   // Função :
   // Autor :
   // Data : 
   // Seção de Declarações
   
var

   // vln: valor a ser digitado pelo usuário, vlm: valor maior,
   // vlme: valor menor, vls: soma dos valores, qtd: quantidade de valores informados
   // vlmd: média dos valores


   vln, vlm, vlme, vls, qtd: inteiro
   vlmd: real

inicio

   // Inicialização das variáveis
   
   vln  <- 0
   vlm  <- 1
   vlme <- 1
   vls  <- 0
   qtd  <- 0
   vlmd <- 0
   
   Escreva ("Digite o primeiro número ou 0 para finalizar: ")
   Leia (vln)
   vlme <- vln
   vlm <- vln
   
   //Validação com elemento finalizador
   
   Se (vln = 0) Entao
      Escreva ("Algoritmo finalizado sem calculos...")
   Senao
   
      Repita
      qtd <- qtd + 1
      vls <- (vls + vln)
      Se vln > vlm Entao
      vlm <- vln
      Fimse
      Se vln < vlme Entao
      vlme <- vln
      Fimse
      Escreva ("Digite o próximo número ou 0 para finalizar: ")
      Leia (vln)
      Ate (vln = 0)
      
   Fimse
      
      Escreval ("Seu algoritmo foi finalizado, veja as conclusões: ")
      Escreval ("O maior valor é: ",vlm)
      Escreval ("O menor valor é: ",vlme)
      Escreval ("A soma dos valores foi de: ",vls)
      Escreval ("Quantidade de números digitados: ",qtd)
      
      // Encontrar valor médio
      
      vlmd <- vls/qtd
      
      Escreval ("A média foi: ",vlmd:2:1)
      
Fimalgoritmo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

 

1#
Sobre:

4 horas atrás, brunord2014 disse:

   Escreva ("Digite o primeiro número ou 0 para finalizar: ")
   Leia (vln)
   vlme <- vln
   vlm  <- vln

Essa inicialização do vlme e vlm fica dentro do senao.

 

 

 

2#

Sobre:

4 horas atrás, brunord2014 disse:

      Escreval ("Seu algoritmo foi finalizado, veja as conclusões: ")
      Escreval ("O maior valor é: ",vlm)
      Escreval ("O menor valor é: ",vlme)
      Escreval ("A soma dos valores foi de: ",vls)
      Escreval ("Quantidade de números digitados: ",qtd)
      vlmd <- vls/qtd
      Escreval ("A média foi: ",vlmd:2:1)

 

Esse trecho também fica dentro do senao. Logo após o ate.

 

 

 

***

 

No aguardo.

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

×