Olá desenvolvedores, bora direto ao ponto? Os mais observadores notaram que em “INSTRUÇÕES BREAK E CONTINUE” utilizamos um operador diferente para encontrarmos os múltiplos de três. Trata-se do OPERADOR ARITMÉTICO, módulo (mod) representado pelo símbolo (%). Este operador tem a função de retornar o resto de uma divisão.
Assim, retomando o conceito de operadores aritméticos, eles representam as quatro operações fundamentais da matemática. A saber, adição, subtração, multiplicação e divisão. E também o módulo através do qual podemos no lugar de obter o resultado da divisão, obter o resto da mesma.
OPERADOR MOD NA PRÁTICA
Ah, mas em quê isso é útil? Você pode estar se perguntando, no tutorial anterior, se você ainda não leu é só clicar aqui. No referido tutorial imprimimos a sequência de 1 a 12. No entanto, determinamos que a instrução continue seria chamada sempre que encontrasse um número múltiplo de três.
Portanto, inserimos a estrutura de seleção if para fazer esta verificação e quando o resultado fosse true, chamar a instrução continue.
Vamos entender primeiramente este conceito matemático de múltiplos e divisores. Por exemplo, sabemos que 12 é múltiplo de 3, porque 12 é igual a 3 multiplicado pelo número inteiro 4.
No caso do algoritmo, não estávamos tentando encontrar os múltiplos de três exatamente, para isso bastava multiplicar qualquer número por três. Mas sim parar momentaneamente a execução do programa, para imprimir uma mensagem sempre que fosse encontrado um múltiplo de três. E claro, dentro de uma sequência pré-estabelecida.
Para encontrar este número, bastava apenas uma simples “engenharia reversa”. Isto é, dentro da sequência de 1 a12, seria múltiplo de três o número cuja divisão por três resultasse em uma divisão exata. Ou seja, deixando o resto igual a zero (0). E o responsável por retornar o resto de uma divisão é o operador mod (módulo).
NOVA IMPLEMENTAÇÃO
Ok, façamos um exemplo diferente, onde vamos mostrar na tela o resto da divisão. Aproveitaremos a estrutura do exercício anterior, porém, inicializaremos a variável “num” com o valor 10. A condição de continuação do loop é, “enquanto a variável ‘num’ for menor que 25”.
E para que você possa visualizar o operador mod em ação, imprimemos na tela o resto da divisão de todos números dentro do intervalo 10 a 25. Todos os números cujo resto da divisão seja diferente de zero, o resultado é mostrado na imagem abaixo:
E se trocássemos o três por cinco, que resultado obteríamos?
E se quiséssemos encontrar todos os números pares dentro de uma sequência? Ou ainda, chamar alguma instrução ou função, sempre que um número ímpar fosse encontrado? Como procederíamos? Fica este desafio de implementação para você. Mas em ambos os casos, você deverá utilizar o operador módulo.
REGRAS DE PRECEDÊNCIA
Lembre-se que em dadas situações o uso do símbolo de interposição de uma expressão, o parêntese, será necessário. Tal como no mundo real o parêntese é útil junto as regras de precedência para assegurar a exatidão do resultado. Isto é, quando em uma mesma expressão combinamos mais de um operador.
Na situação em que combinamos mais de um operador entra em cena as regras de precedência. Elas são importantes pois sem esta regra seria impossível precisar o resultado de uma simples operação. Por exemplo, 3 + 5 * 7. Não saberíamos se o resultado desejado é: 56 = ((3 + 5) * 7) ou 38 = (3 + (5 *7)). Obviamente esta organização, 3 + 5 * 7, retornaria como resultado, 38.
Quando não há uma especificação, sempre serão executados primeiro os operadores de maior precedência. Em suma, os operadores de multiplicação e divisão possuem maior precedência sobre os operadores de soma e subtração respectivamente.
Entretanto, quando as prioridades dos operadores são as mesmas, a regra diz para considerarmos a sequência de aparecimento dos operadores. Assim, da esquerda para a direita (7 – 5 + 10) = 12 e (7 + 5 – 10) = 2. Embora este seja um conceito básico da matemática, ainda há pessoas que se confundem com todas essas regras.
OPERADORES DE ATRIBUIÇÃO CUMULATIVA
E por fim, além dos operadores matemáticos, do módulo, temos os operadores de atribuição cumulativa. Onde os operadores matemáticos ( * ) ( / ) ( + ) ( – ) poderão ser utilizados em conjunto com o operador de atribuição ( = ).
EM POUCAS PALAVRAS
Então é isso, caros desenvolvedores fico por aqui. Espero que tenham gostado. Falamos sobre o operador mod (módulo) e aproveitamos pata bater um papo sobre regras de precedência operadores cumulativos.