Ir ao conteúdo
  • Cadastre-se

VisualG Menor número digitado no Visualg


Posts recomendados

Boa noite alguém pode me ajudar com este algoritmo, onde está o erro

Algoritmo "O menor número digitado"

Var
   ContaNumero, NumeroDigitado, SomaNumero, MenorNumero: inteiro

Inicio
      ContaNumero <- 1
      Somanumero <- 0

      Enquanto ContaNumero <= 2 Faca
      Escreva("Digite o", ContaNumero,"º número: ")

      Leia(NumeroDigitado)

      Se ( NumeroDigitado < MenorNumero) então
     
      MenorNumero <- NumeroDigitado

      FimSe

      ContaNumero <- ContaNumero + 1
     
      SomaNumero <- SomaNumero + NumeroDigitado

      FimEnquanto

      EscrevaL("O menor número digitado foi ", MenorNumero)
      Escreva("Resultado da soma de todos os números é de ",SomaNumero)

Fimalgoritmo

 

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

Achei a solução, muito grato
 

Algoritmo "O menor número"

Var
   ContaNumero, NumeroDigitado, SomaNumero, MenorNumero: inteiro

Inicio
      ContaNumero <- 1
      MenorNumero <- 100000
      Enquanto ContaNumero <= 5 Faca
      Escreva("Digite o", ContaNumero,"º número: ")
      Leia(NumeroDigitado)
      Se ( NumeroDigitado < MenorNumero) então
      MenorNumero <- NumeroDigitado
      FimSe
      ContaNumero <- ContaNumero + 1
      SomaNumero <- SomaNumero + NumeroDigitado
      FimEnquanto
      EscrevaL("O menor número digitado foi ", MenorNumero)
      Escreva("Resultado da soma de todos os números é de ",SomaNumero)
Fimalgoritmo
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá @George Rogner.

 

Certinho! . Essa solução é justamente o @Math.Pi sugeriu...

 

Apenas uns adendos:


1) SOBRE "SOLUÇÕES"

Em 09/09/2017 às 14:36, George Rogner disse:

Achei a solução

Na verdade seria "uma" solução... tecnicamente existem infinitas.

 

 


2) ESTRUTURAS DE REPETIÇÕES
A princípio o seu código está certo, mas levando pelas características do seu código e dos laços de repetições disponíveis na linguagem, talvez seja mais interessante trocar o enquanto por para, pois este último poderia controlar a variável ContaNumero automaticamente, ou seja, na própria estrutura do para.

 

 

3) INDENTAÇÃO

Um ponto importante na programação a indentação. Os códigos devem sempre está bem indentados. Ex.:

Algoritmo "O menor número"
Var
   ContaNumero, NumeroDigitado, SomaNumero, MenorNumero: inteiro

Inicio
ContaNumero <- 1
MenorNumero <- 100000
Enquanto ContaNumero <= 5 Faca
   Escreva("Digite o", ContaNumero,"º número: ")
   Leia(NumeroDigitado)
   Se (NumeroDigitado < MenorNumero) ENTÃO
      MenorNumero <- NumeroDigitado
   FimSe
   ContaNumero <- ContaNumero + 1
   SomaNumero <- SomaNumero + NumeroDigitado
FimEnquanto
EscrevaL("O menor número digitado foi ", MenorNumero)
Escreva("Resultado da soma de todos os números é de ",SomaNumero)
Fimalgoritmo

Perceba que o quê está dentro do Enquanto fica um dente pra dentro, assim como o quê está dentro do se, vai um dente também...

Link para o comentário
Compartilhar em outros sites

  • 3 anos depois...

@Simon Viegas

 

Algoritmo "O menor e maior valor"
Var
   soma,n,contador,maior,menor:inteiro
Inicio
   contador <-1
   Menor<-10000
   maior<-1
   Enquanto (contador <= 4) faca
      Escreval("Digite um valor: ",contador,"o.valor: " )
      Leia (n)
      Se (n < menor ) entao
         menor <-n
      FimSe
      Se (n > maior) entao
         maior<-n
      FimSe
      contador <- contador + 1
      soma <- soma + n
   FimEnquanto
   Escreval("O Resultado da soma é: " ,soma)
   Escreval("O maior valor digitado foi:",n)
   Escreval("O menor valor foi: ",menor)
Fimalgoritmo

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Sobre:

6 horas atrás, k2010493 disse:

maior<-1

 

Faria mais sentido inicializar o maior com o menor valor possível. Talvez inicializar com 0 já seja suficiente.

 

 

Sobre:

6 horas atrás, k2010493 disse:

   Escreval("O Resultado da soma é: " ,soma)
   Escreval("O maior valor digitado foi:",n)
   Escreval("O menor valor foi: ",menor)

 

Ali na segunda linha, no lugar de n, não seria maior?

 

Outros pontos:

  1. prefira deixar a virgula sem espaço a esquerda e com um espaço à direita, assim como usamos no Português;
  2. os números no VisualG já são impressos com um espaço a esquerda, dessa forma, não precisa deixar um espaço lá o texto. (Caso contrário ficará com 2 espaço - fica esteticamente estranho.)

 

Segue um exemplo:

 

Como está atualmente:
image.png

 

Removendo os espaço:

   escreval("O resultado da soma é:", soma)
   escreval("O maior valor digitado foi:", maior)
   escreval("O menor valor foi:", menor)

 

image.png

 

Outra forma é utilizando um comando para formatação:

   escreval("O resultado da soma é: ", soma:1)
   escreval("O maior valor digitado foi: ", maior:1)
   escreval("O menor valor foi: ", menor:1)

 

Neste caso, esse ":x" após a variável está configurando para o VisualG reservar x espaços a esquerda, ou seja: ao colocar 1, apenas estaria indicando para o número não reservar espaços, já que todo número ocupa pelo menos 1 espaço... daí, o espaço original da esquerda some...

 

Perceba que nesse caso o espaço foi colocado lá no texto. Caso contrário ficaria colado com os ":".

 

Eu prefiro dessa forma acima...

 

 

Uma outra forma seria alinhar:

   escreval("O resultado da soma é     :", soma:1)
   escreval("O maior valor digitado foi:", maior:1)
   escreval("O menor valor foi         :", menor:1)


Vai da necessidade e/ou gosto.

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
6 horas atrás, k2010493 disse:

@Simon Viegas O n é do numero digitado 

 

Sobre:

11 horas atrás, Simon Viegas disse:

Ali na segunda linha, no lugar de n, não seria maior?

 

De certo modo foi uma pergunta retórica... :)

 

Veja:

18 horas atrás, k2010493 disse:

Escreval("O maior valor digitado foi:",n)
data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 

O texto está indicado o "maior" valor. Logo, seria para utilizar a variável que tem esse dado... que no caso é a variável maior.

 

Observe que o n é "um" número digitado (não "o").

 

18 horas atrás, k2010493 disse:

   Enquanto (contador <= 4) faca
      Escreval("Digite um valor: ",contador,"o.valor: " )
      Leia (n)
data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 

Utilizando essa variável lá no final, como está, vai sempre mostrar o último valor digitado.

 

Experimente ir executando o código pressionando F8... aí vai acompanhando os valores das variáveis lá na Áreas das variáveis de memória (Globais e Locais) que fica no canto direito do VisualG.

 

 

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

Meus amigos, isso é simples. Ao invés de setarmos o "menor número" manualmente como:
 

menor <- 10000


ou algo do tipo, fica muito mais fácil modificarmos a estrutura "Se", mudando o "e" por "ou".
 

Ex:

algoritmo "somadorNumerico_maior_e_menor"
var
   cont, N, S, maior, menor: Inteiro
inicio
   cont <- 1
   S <- 0
   Enquanto (cont <= 5) faca
      Escreva ("Digite o ", cont, "o. valor : ")
      Leia (N)

      Se (N > maior) entao
         maior <- N
      FimSe
      
      //* o uso do "ou" só precisa que uma das expressões seja verdadeira para assim, considerar como aprovada a substituição *//
      
      Se (menor = 0) ou (n < menor ) entao
         menor <- N
      FimSe

      S <- S + N
      cont <- cont + 1
   FimEnquanto
   
   //* veja que o menor número irá continuar normalmente em seu posto, sem precisarmos setar a variável "menor" *//
   
   Escreval("A soma de todos os valores foi ", S)
   EscrevaL("O maior valor digitado foi ", maior)
   EscrevaL("O menor valor digitado foi ", menor)
fimalgoritmo

 

tmj menozada

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