Manual
do
Maker
.
com
Muita calma nessa hora, porque a solução é simples sim, mas não vamos usar operações matemáticas explícitas e nem módulo. Não conhece módulo? Então vamos experimentar um número e descobrir se é par ou impar com os dois métodos que "não" devem ser usados para cumprir o desafio.
O módulo de um número é a sobra de uma divisão. Se dividirmos 33 por 2, dá 16 e sobra 1, portanto o módulo de 33/2 é 1. Se dividirmos 22/2, o resultado será 11, com 0 de sobra. Nesse caso, o módulo de 22/2 é 0. Em C/C++ podemos fazer assim:
#include <stdio.h>
int main(){
int x = 33;
int y = 2;
int result = x % y;
printf("Result: %d\n",result);
return 0;
}
Um exemplo da execução:
Esse código é para placas que tem sistema operacional e computadores x86, por isso o uso do printf() invés do tradicional Serial.println(). Para Arduino, ESP e outras plaquinhas microcontroladas, seria:
void setup(){
Serial.begin(115200);
delay(5000); //tempo pra abrir o monitor serial e ver o resultado
int x = 33;
int y = 2;
int result = x % y;
Serial.print("Result: ");
Serial.println(result);
}
loop(){
}
Uma maneira de descobrir se é par ou impar é executando a divisão de um número inteiro por 2. Nesse caso, a diferença é descartada. Então, multiplicamos o resultado da divisão por 2 e, se for impar, o resultado será menor que o número original:
#include <stdio.h>
int main(){
int x = 33;
int y = 2;
int result = x / 2;
result = result * 2;
result = x - result;
printf("Result: %d\n",result);
return 0;
}
Para microcontroladas, basta adaptar como mostrado anteriormente. Um exemplo da execução:
Acredite, é extremamente fácil a resposta. No próximo artigo colocarei o procedimento e explicarei porque tive essa ideia para esse desafio. Apesar de ser tão fácil a resposta, é necessário ter um conceito, aliás, muito comum para sistemas embarcados. Porém, se você não tiver o conceito, não se decepcione. No próximo artigo deixarei as referências necessárias. Bora fazer?
Inscreva-se no nosso canal Manual do Maker no YouTube.
Também estamos no Instagram.
Autor do blog "Do bit Ao Byte / Manual do Maker".
Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.