Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
tiagofraco

Erro com o comando mod do pascal

Recommended Posts

<font color='#348781'>Qual é o problema desse progrma? eu fiz ele todo certinho mas quando vai na parte do MOD fica dando erro! :/ O que sera que eu to fazendo de errado..? deem uma olhadinha aí

------------------

program q3;

uses crt;

var

 num:array [1..50] of real;

 ax:integer; {já atribui como real também e não funcionou}

 i,contimp,contpar:integer;

begin

 contimp:=0;

 contpar:=0;

 for i:=1 to 50 do

  begin

   write('Digite o ',i,'º numero: ');

   readln(num);

   ax:= nummod 2;

   if ax=1 then

    contimp:=contimp+1;

   if ax=0 then

    contpar:=contipar+1;

   clr scr;

  end;

 writeln('Foram digitados ',contimp,' numero(s) impares');

 write('Foram digitados ',contpar,'numero(s) pares');

end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<font color='#000080'>Você está tentando tirar o módulo de uma divisão de um número real por um inteiro. O operador MOD só pode devolver o resto de divisões de inteiros. Para corrigir isso, troque o tipo do array:

num:array [1..50] of real;

ou transforme o valor do array em um inteiro no momento da divisão:


ax := round(num[i]) mod 2;   { arredondando }
ax := trunc(num[i]) mod 2;   { truncando }
ax := integer(num[i]) mod 2; { usando type-casting (não recomandado) }

Compartilhar este post


Link para o post
Compartilhar em outros sites

mod não é o módulo (esse é o abs, valor absoluto).

mod é o resto ou resíduo da divisão, como você explicou corretamente.

5 mod 3 = 2  que é igual a (5 - 3*(5 div 3))

Já vi em vários lugares as pessoas se referindo como módulo.  O Delphi chama de Remainder.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<font color='#000080'>Hehe... descuido meu... foi a mania de usar "estrangeirismos"...  :laugh:

O operador se chama "Modulus". O correto seria dizer que "está tentando calcular o resto de uma divisão", mas eu disse "módulo" inconscientemente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×