Manual

do

Maker

.

com

Desafio Maker 07: Descobrir se é par ou impar

Desafio Maker 07: Descobrir se é par ou impar

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.

Módulo de um número

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:

modulo-c.jpg

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(){

}

Descobrir se é par ou impar usando operação matemática

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:

division-c.jpg

Desafio Maker 07: Par ou impar, sem módulo e sem operações matemáticas explícitas

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.

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.