Ir ao conteúdo
  • Cadastre-se

VisualG Creio que está tudo certo porém dá erro


Posts recomendados

O código creio que está certo porém dá erro não sei porque esse erro aqui image.png.36128088d8311d25bc307fa7f59966cd.png e também quando executa o próximo comando ele imprime os números como se fosse par porém não é primo, não sei porque preciso de resposta segue o código

Algoritmo "semnome"
// Disciplina   : [Linguagem e Lógica de Programação]
// Professor    : Antonio Carlos Nicolodi
// Descrição   : Aqui você descreve o que o programa faz! (função)
// Autor(a)    : Nome do(a) aluno(a)
// Data atual  : 07/04/2017
Var
   // Seção de Declarações das variáveis
   num:vetor [1..3] de real
   cont:inteiro


Inicio
   // Seção de Comandos, procedimento, funções, operadores, etc...
   para cont de 1 ate 3 faca
      escreval("Digite um número")
      leia(num[cont])
   fimpara
   para cont de 1 ate 3 faca
      se(num[cont] mod 2 = 0) entao
         escreval("O número par",num[cont])
      senao
         se (num[cont] mod 2 <> 0) entao
            escreval("O número é ímpar",num[cont])
         fimse
      fimse
   fimpara
Fimalgoritmo

 

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

  • Membro VIP

@Irwing Seiji Ato, o operador MOD serve para "retornar o resto da divisão inteira", ou seja, ele NÃO foi feito para ser utilizado com números real. Daí, quando o Visualg tentou executar a conta, ele retornou o código de erro -1, que corresponde a "os parâmetro do MOD devem ser do tipo inteiro, e não do tipo real".

 

Resumindo: você não pode utilizar o MOD para obter o resto de uma divisão onde tem números reais envolvidos. Use o MOD apenas com número inteiros. (obs.: No Visualg 3.6.0.X não dá erro, mas conceitualmente estaria errado da mesma forma... não dar erro é um bug do Visuagl, pois deveria dar mesmo).

 

Aí entra outra questão: a paridade é verificável apenas em números inteiros... e acontece que nem todo número real é também inteiro... logo, de uma forma ou de outra, o vetor deveria ser do tipo inteiro, e não do tipo real.

 

Observação: todo número (inteiro) que não é par, é automaticamente ímpar, logo, não precisa do segundo se.

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