Ir ao conteúdo
  • Cadastre-se

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


Ir à solução Resolvido por devair1010,

Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

@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

 

Link para o comentário
Compartilhar em outros sites

  • Solução

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

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!