Publicidade

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Yure

[Resolvido] Multiplos de 5

Patrocínio:

Pessoal, estou com um BO aqui...

 

Tenho um exercicio de Pascal pra fazer, e uma parte do exercicio é fazer uma função que

saiba se o nº que o usuário digira é ou não multiplo de 5.

 

ele deve exibir a resposta "Sim" ou "Não"...

 

Alguém tem algum ideia ae ?...

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

num % 5 == 0

 

???

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza, tente fazer e poste suas dúvidas..

aki ninguem vai fazer sua lição de ksa ;D

 

[]s

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não quero que ninguém faça pra mim até porque essa é apenas uma parte do exercício.

 

A minha dúvida é se o pascal sabe diferenciar números inteiros (7), de números quebrados (7,5).

 

Apenas isso.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

+ pelo exercício amigo, isso importa saber?

poste pra gente o enunciado todo, ai sim podemos tirar melhor suas dúvidas.

 

[]s

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Program exemplo ;

var x,y,z:integer;

 

Begin

writeln ('Insira um número');

readln (x);

writeln('Insira outro número');

readln(y);

z:=x div y;

if z = integer then

writeln ('Sim')

else

writeln('Não');

End.

como saber se o resultado (z) da divisão (x/y) é um número inteiro ou quebrado ??

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso com ctz o resultado vai ser um inteiro, pois INTEIRO / INTEIRO = INTEIRO.

acho q da pra você tentar algo assim:

aux : integer;
resul: real;
resul := x / y;
aux := resul;
if ((aux/resul) = 0) writeln ('Inteiro')

teste e fala se deu certo.

 

[]s

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele deu erro..."aux:integer", não pode ser ":= resul:real"

 

"dados incompativeis" diz, o compilador.

 

vou te passar o que pede o exercício:

 

Fazer um programa em pascal que retorne funções para:

 

1 - ...

2 - ...

3 - Retornar se o número digitado é múltiplo de 5 (Sim/Não) - Tipo de retorno (String)

 

Ou seja, se você dividir qualquer número que não seja multiplo de 5 por 5 a resposta vai ser um número quebrado.

Mesmo sendo INTEIRO/INTEIRO (Ex. 11/5 = 2,2).

 

Preciso saber como diferenciar se o resultado da divisão é inteiro ou quebrado.

 

essa é a dúvida.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não mano..

não conheço muito o pascal, + acho que ele é igual tds outras linguagens..

divisão de inteiros sempre da inteiro..

 

e msm não compilando você entendeu minha idéia para saber se tem "quebrado" ?

 

[]s

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim eu intendi...

 

mas dessa maneira ele não deixa...vou continuar pesquisando aqui..

 

valeu...

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só utilizar a função MOD.

Program exemplo ;
var n:integer;

 Begin
        writeln ('Insira um número');
        readln (n);

			if ( ( n mod 5 ) = 0 ) then
				writeln('Inteiro');
			
 End.

 

PS: A função MOD retorno o resto de uma divisão.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi oq eu disse no meu primeiro post ;D

 

[]s

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ficou assim a função...

 

function multiplo (r:string):string;
  begin
  		z := n mod 5;
  		if z > 0 then
  			r:= 'Não'
  		else 
  			r:= 'Sim';  
  end;
;
0

Compartilhar este post


Link para o post
Compartilhar em outros sites