Ir ao conteúdo
  • Cadastre-se

VisualG Visual G Função (enquanto) dificuldade


Posts recomendados

Algoritmo "semnome"

Var
// Seção de Declarações das variáveis 
numero: real
Inicio
// Seção de Comandos, procedimento, funções, operadores, etc...
escreva("Digite o numero:")
leia(numero)
enquanto (numero < 20) ou (numero > 30) faca
escreval("Erro! O numero deve ser entre 20 e 30")
escreva("Digite novamente: ")
leia(numero)
fimenquanto
escreval("Numero aprovado!")

fimalgoritmo

nao sei se esta certo intende ... 

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

  • Membro VIP

1#

Sobre:

17 horas atrás, rafaeddd disse:

sim e entre 20 e 30 vou tentar usa r <= >= obrigado 

 

Inicialmente uma crítica construtiva: mesmo em um ambiente não tão rígido e formal, tente prezar por uma linguagem menos coloquial. Por exemplo:

"Sim! É entre 20 e 30. Vou tentar usar o "<=" e ">=". Obrigado."

 

Veja como a frase fica mais objetiva e com menos margem à interpretação... :)

 

 

 

2#

Como você, nem ninguém respondeu, eu mesmo vou me corrigir... então, eu me confundi na explicação lá na postagem anterior :oops:... Já editei e corrigi!!!. No caso, se o 20 e o 30 estão inclusos na faixa, o seu código já está certo, ou seja, usará "<" e ">" mesmo. O enquanto está verificando se ESTÁ FORA FAIXA, logo, tem que usar a sentença para verificar isso... se usar o "<=" e ">=", o 20 e 30 seria considerado, erroneamente, como fora da faixa...

 

 

 

3#

Sobre o uso ou não do "=", não tem mistério. Se o 20 e 30 não valessem, ou seja, só de 21 a 29, seria algo assim:

algoritmo "Ler número de 20 a 30"
var
   numero: real
inicio
   escreva ("Digite o numero: ")
   leia(numero)
   enquanto (numero <= 20) ou (numero >= 30) faca
      escreval("Erro! O numero deve ser entre 20 e 30 (não inclusos)")
      escreva ("Digite novamente: ")
      leia(numero)
   fimenquanto
   escreval("Número aprovado!")
fimAlgoritmo

No caso, esse código NÃO inclui o 20 e o 30 como sendo válidos.

 

 

 

4#

Outra forma de implementar seria verificando se NÃO ESTÁ NA FAIXA.

algoritmo "Ler número de 20 a 30"
var
   numero: real
inicio
   escreva ("Digite o numero: ")
   leia(numero)
   enquanto nao ((numero >= 20) E (numero <= 30)) faca
      escreval("Erro! O numero deve ser entre 20 e 30 (não inclusos)")
      escreva ("Digite novamente: ")
      leia(numero)
   fimenquanto
   escreval("Número aprovado!")
fimAlgoritmo

No caso, esse código também NÃO inclui o 20 e o 30 como sendo válidos.

 

Esse código acima é análogo ao código do 3#.

Veja:

ESTÁ FORA FAIXA é uma coisa.

NÃO ESTÁ NA FAIXA é outra coisa.

Entretanto, resultam na mesma coisa, ou seja, são EQUIVALENTES. É como dizer "eu estou fora da Bahia" e dizer "eu não estou na Bahia".

 

 

 

5#

Outra forma seria utilizando o conceito de flags.

algoritmo "Ler número de 20 a 30"
var
   numero :real
   ok     :logico //flag para indicar que foi lido com sucesso (para entrar no enquanto)
inicio
   OK <- FALSO //inicializa como não estando OK
   enquanto nao OK faca //verificar o estado da flag
      escreva ("Digite o numero: ")
      leia(numero)
      se (numero >= 20) E (numero <= 30) entao
         OK <- VERDADEIRO //marca como OK
      senao
         escreval("Erro! O numero deve ser entre 20 e 30 (inclusos)")
      fimSe
   fimEnquanto
   escreval("Número aprovado!")
fimAlgoritmo

Nesse caso o 20 e 30 estão sendo considerados como válidos.... e estou utilizando o conceito do NÃO ESTÁ NA FAIXA, mas poderia ser também no ESTÁ FORA FAIXA.

 

Como sugestão, ajuste este código acima para verificar se está fora faixa ou não.

 

 

***

 

Qualquer dúvida sobre qualquer parte é só postar.

 

No aguardo.

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