Ir ao conteúdo

Posts recomendados

Postado

Alguém poderia me dizer o que está errado?

Algoritmo "semnome"

Var
 num: inteiro

Inicio
 escreval ("Verifique se um numero é perfeito !")
   repita
         escreval ("Informe o numero : ")
         leia (num)
              se (num < 6) e (num <> 0) então
                 escreval ("Este numero não é perfeito !")
              senao

              fimse
   ate num = 0
   fimrepita

Fimalgoritmo 

 

 

 

Postado

Debora, o erro pode ser devido ao senão ali, se o número for menor que 6 e diferente a 0 ele  escreve que não é perfeito e se não for ele faz o que? 

Tente remover o "senao" ou colocar algo após ele.

Postado

@Debora_Amaral Tenta executar esse

 

Algoritmo "semnome"

Var
 num: inteiro

Inicio
 escreval ("Verifique se um numero é perfeito !")
   repita
         escreval ("Informe o numero : ")
         leia (num)
              se (num < 6) e (num <> 0) entao
                 escreval ("Este numero não é perfeito !")

              fimse
   ate num = 0
   fimrepita

Fimalgoritmo 

 

Eu removi o acento do então, se não me engano em portugol não tem ele

  • Membro VIP
Postado

@Debora_Amaral, tem 2 problemas aí..

 

1. Erros de sintaxe;

2. Erros de lógica.

 

O primeiro é referente a regras das estruturas do VisualG. Cada comando funciona com determinadas estruturas estabelecidas. Por exemplo:

 

No primeiro momento você postou:

 

Em 04/01/2020 às 21:10, Debora_Amaral disse:

Alguém poderia me dizer o que está errado?

 

Para facilitar a ajuda, você precisaria informar o que estava ocorrendo de inesperado... ou seja: o que está acontecendo para você está perguntando "o que está errado"?

 

Analisando e testando o código, provavelmente ocorreu o mesmo da imagem que você postou:

 

Em 04/01/2020 às 21:54, Debora_Amaral disse:

image.jpg

 

OU poderia ser que estaria ocorrendo outro erro, mas como não foi informando, não temos como saber precisamente...

 

Então, nesse contexto acima, o VisualG está informando que em determinado momento ele estava esperando o comando então (sem o "~"), mas não o encontrou.. No caso, como tem o comando se, o "compilador" vai necessariamente relacionar com um entao (sem o "~") correspondente (e também com  o seu fimse), como não achou, dá erro. Observe ali que você colocou o comando com acento.. (não tem!). Para corrigir, bastaria reescrever o comando corretamente. Pronto. Isso foi um erro de sintaxe.

 

Testando novamente, veria que iria dar erro no "fimrepita", pois esse comando não existe no VisualG, ou seja: seria mais um errinho de sintaxe... o repita está relacionado com o ate (sem o acento). O que você fez tem até sentido, mas o VisualG não tem esse fimrepita. (não foi estruturado para funcionar assim)

 

Corrigido os erros de sintaxe, teu código ficaria mais ou menos assim:

algoritmo "semnome"
var
   num: inteiro
inicio
   escreval("Verifique se um numero é perfeito !")
   repita
      escreval("Informe o numero : ")
      leia(num)
      se (num < 6) e (num <> 0) entao
         escreval("Este numero não é perfeito !")
      senao

      fimse
   ate (num = 0)
fimalgoritmo

 

Então, nesse caso não existirá mais erros de sintaxes... todas os comando estão estruturados corretamente... (obs.: só o detalhe do senao, que está sem nenhum comando dentro, o que fica meio estranho, mas não seria um erro de sintaxe, apenas erro de lógica - ou seja: se não tem comando relacionado, não precisaria existir este senao).

 

Daí entra a questão da lógica! Pelo que está escrito na código:

 

Em 04/01/2020 às 23:17, MatheusINF disse:

escreval ("Verifique se um numero é perfeito !")

 

O objeto do programa é meio que retornar se um determinado número, que foi informado pelo usuário, é perfeito ou não... certo? Aí vem a pergunta: "O que é um número perfeito?"

 

O enunciado define o que é essa tal de número perfeito? você já entendeu o que é um "número perfeito"?

 

Primeiro você precisa entender o problema. O que o autor do enunciado quer! Não da para fazer algo do que não se sabe do que trata...

 

Primeiro entenda o problema, depois parte para a codificação de um programa... veja, o programa meio que serviria apenas uma ferramenta para "automatizar" o processo... mas o foco do exercício em si é aprender a aprender... (como aprender o que é um "número perfeito" e aprender como traduzir isso para uma linguagem de programação).

 

Sugiro que poste o enunciado completo e o que você entendeu do que é um "número perfeito". Após, dê 3 exemplos de números perfeitos e 3 exemplos de números que não são perfeitos. Depois parte para codificação do programa.

 

 

  • Amei 1

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!