Ir ao conteúdo

VisualG Algoritmo que leia valores inteiros e encontre o maior e o menor deles


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado

Escreva um algoritmo que leia valores inteiros e encontre o maior e o menor deles.

Termine a leitura se o usuário digitar zero (0);

 

Fiz algum progresso na construção, mas ainda sim há erros no algoritmo. Não sei como fazer com que o antigo número maior seja comparado com o número digitado

 

Var:
   num, maior, menor, comp1, comp2 : inteiro

Inicio:
   repita
      escreval ("digite o numero: ")
      leia (num)
      se(num > maior) então
         comp1 := maior
         maior:= num
      senao
         comp2 := num
      fimse
      se (comp1 < comp2) então
         menor := comp1
      senao
         menor := comp2
      fimse

   ate (num = 5)
   escreval ("", maior)
   escreval ("", menor)

 

  • Obrigado 1
Postado

@rafa amateur    a condução de saída do programa é quando digitar zero , e você colocou 5 para terminar , e creio que só precisa mesmo é de três variáveis ,  e mais uma para controlar a inicialização no início  ,  e usando o Botão code "<>" ,  seu código ficou assim  :

Algoritmo "maior e menor_211"
Var
  num , maior, menor  : inteiro
  comp1 , comp2 , flg : inteiro
Inicio
  repita
    escreval ("digite o numero: ")
    leia (num)
    se flg = 0 então  // não pode ter til 
      maior := num
      menor := num
        flg := 1
    fimse
    se num <> 0 então // o corretor ortografico do forum
      se(num > maior) então // inseriu errado
        maior := num
      senao
        se menor > num então
          menor := num
        fimse
      fimse
    senao
      escreval( "Maior -> ", maior)
      escreval( "Menor -> ", menor)
    fimse
  ate num = 0
fimalgoritmo

 

  • Solução
Postado

@rafa amateur    essa flg serve para pegar o primeiro valor inserido e armazenar nas variáveis "maior" e "menor"  pois a variável menor foi criada e preenchida com valor zero lá antes do início e então para que ela  modificasse esse valor só poderia ser um número negativo , e alí ao guardar o primeiro valor nessas variáveis , a flg é modificada e assim não permite pegar outro valor , e assim essa parte do programa não interfere nas comparações seguintes .

  • Membro VIP
Postado

Um outro exemplo:

 

algoritmo "maior e menor"
var
   num, maior, menor : inteiro
   primeiro : logico
inicio
   primeiro <- VERDADEIRO

   repita
      escreva ("Digite o numero: ")
      leia(num)

      se num <> 0 então
         se primeiro então
            maior <- num
            menor <- num
            primeiro <- FALSO
         senao
            se(num > maior) então
               maior <- num
            senao
               se menor > num então
                  menor <- num
               fimSe
            fimSe
         fimSe
      fimSe
   ate num = 0

   se maior <> 0 então
      escrevaL( "Maior -> ", maior:1)
      escrevaL( "Menor -> ", menor:1)
   senao
      escrevaL("Nenhum valor diferente de 0 foi informado")
   fimSe
fimalgoritmo

 

  • Obrigado 1
  • 2 anos depois...

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!