Operador módulo (Lógica de programação)

Ir em baixo

Operador módulo (Lógica de programação)

Mensagem por Giovana Martins em Qua 04 Jul 2018, 22:54

Dando uma pesquisada sobre operadores que resultam o resto de uma divisão eu acabei encontrando o operador "%", mas ele tem uma restrição, visto que o mesmo aceita apenas operandos inteiros. Há algum operador que possua a mesma função do operador "%" mas que aceita operandos reais, por exemplo?

Nota: eu estou falando de operadores compatíveis com o compilador Dev-C++.
avatar
Giovana Martins
Fera
Fera

Mensagens : 3680
Data de inscrição : 15/05/2015
Idade : 18
Localização : São Paulo

Voltar ao Topo Ir em baixo

Re: Operador módulo (Lógica de programação)

Mensagem por Giovana Martins em Sab 07 Jul 2018, 13:22

Up!
avatar
Giovana Martins
Fera
Fera

Mensagens : 3680
Data de inscrição : 15/05/2015
Idade : 18
Localização : São Paulo

Voltar ao Topo Ir em baixo

Re: Operador módulo (Lógica de programação)

Mensagem por CaiqueF em Dom 08 Jul 2018, 21:02

Acredito que você não vai achar porque não faz muito sentido. O operador módulo tem a ver com congruencia, e congruencia remete a inteiros.

Por exemplo, quando estamos falando de inteiros, podemos ter o resto.

5/2 = 2 e sobra 1
Mas se trabalharmos com os reais:
5/2 = 2,5 e não sobra nada
avatar
CaiqueF
Monitor
Monitor

Mensagens : 1190
Data de inscrição : 16/05/2012
Idade : 22
Localização : Salvador -> Fortaleza

Voltar ao Topo Ir em baixo

Re: Operador módulo (Lógica de programação)

Mensagem por Daedalus00 em Sex 05 Out 2018, 23:13

@Giovana Martins escreveu:Há algum operador que possua a mesma função do operador "%" mas que aceita operandos reais, por exemplo?
fmod, q usa a mesma logica de fabs

#include <*stdio.h*>
#include <*math.h*> \\

int main()
{
float a, b, c;
scanf ("%f%f", &a, &b);
c = fmod(a,b);
printf ("%.1f", c);

    return 0;
}


Última edição por Daedalus00 em Sab 06 Out 2018, 00:50, editado 1 vez(es)

Daedalus00
Recebeu o sabre de luz
Recebeu o sabre de luz

Mensagens : 145
Data de inscrição : 09/06/2016
Idade : 18
Localização : Minas Gerais

Voltar ao Topo Ir em baixo

Re: Operador módulo (Lógica de programação)

Mensagem por Giovana Martins em Sab 06 Out 2018, 00:05

Obrigada pela resposta, Daedalus. Eu estou sem o compilador Dev-C++ instalado, mas esse comando que você sugeriu funciona em linguagem C++?
avatar
Giovana Martins
Fera
Fera

Mensagens : 3680
Data de inscrição : 15/05/2015
Idade : 18
Localização : São Paulo

Voltar ao Topo Ir em baixo

Re: Operador módulo (Lógica de programação)

Mensagem por Daedalus00 em Sab 06 Out 2018, 00:43

@Giovana Martins escreveu:Obrigada pela resposta, Daedalus. Eu estou sem o compilador Dev-C++ instalado, mas esse comando que você sugeriu funciona em linguagem C++?
O comando vc diz a funcao fmod? Bem, acho q sim... Eu só programo em C, entáo nao posso afirmar, tenta fazer aqui ó https://www.onlinegdb.com/online_c++_compiler    compilador online, depois me diz se conseguiu...

Daedalus00
Recebeu o sabre de luz
Recebeu o sabre de luz

Mensagens : 145
Data de inscrição : 09/06/2016
Idade : 18
Localização : Minas Gerais

Voltar ao Topo Ir em baixo

Re: Operador módulo (Lógica de programação)

Mensagem por Daedalus00 em Sab 06 Out 2018, 00:55

pelo visto funcionou, testa ai... 
#include *math.h*
#include *iostream* // ao inves de * coloca > e < , tudo que eu coloco entre >< o forum apaga

using namespace std;

int main()
{
float a, b, c;
scanf ("%f%f", &a, &b);
c = fmod(a,b);
printf ("%.1f", c);

    return 0;
}

Daedalus00
Recebeu o sabre de luz
Recebeu o sabre de luz

Mensagens : 145
Data de inscrição : 09/06/2016
Idade : 18
Localização : Minas Gerais

Voltar ao Topo Ir em baixo

Re: Operador módulo (Lógica de programação)

Mensagem por PedroX em Sab 06 Out 2018, 02:27

@CaiqueF escreveu:Acredito que você não vai achar porque não faz muito sentido. O operador módulo tem a ver com congruencia, e congruencia remete a inteiros.

Por exemplo, quando estamos falando de inteiros, podemos ter o resto.

5/2 = 2 e sobra 1
Mas se trabalharmos com os reais:
5/2 = 2,5 e não sobra nada

Por curiosidade, o resto no caso dos reais é obtido como nos exemplos (*):

5.4 / 2 = 1.4, pois 2*2=4 e falta 1.4 para completar 5.4.
9.8 / 3.2 = 0.2, pois 3*3.2=9.6 e falta 0.2 para completar 9.8.

No primeiro caso, 2 é o inteiro que multiplica 2, se fosse 3, teríamos 6, que é maior que 5.4.
No segundo caso, 3 é o inteiro que multiplica 3.2, se fosse 4, teríamos 12.8, que é maior que 9.8.

* Usei ponto em vez de vírgula para separar a parte inteira das casas decimais.
avatar
PedroX
Administração
Administração

Mensagens : 875
Data de inscrição : 24/08/2011
Idade : 23
Localização : Campinas - Brasil

Voltar ao Topo Ir em baixo

Re: Operador módulo (Lógica de programação)

Mensagem por CaiqueF em Seg 29 Out 2018, 22:19

Valeu, Pedro. Não sabia
avatar
CaiqueF
Monitor
Monitor

Mensagens : 1190
Data de inscrição : 16/05/2012
Idade : 22
Localização : Salvador -> Fortaleza

Voltar ao Topo Ir em baixo

Re: Operador módulo (Lógica de programação)

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum