Verificando Ímpar ou Par

CBeginner
Pratique Agora

Introdução

O laboratório visa auxiliar os alunos a compreender um programa implementado utilizando operadores bitwise para determinar se um número é ímpar ou par. Adicionalmente, também fornece um método para verificar se um número é ímpar ou par sem usar o operador módulo (modulus operator).

Operador Bit a Bit

  1. Comece explicando aos alunos o que é o operador bitwise.
  2. Explique como o programa verifica números ímpares e pares usando operadores bitwise.
    • Se um número é ímpar, ele tem um 1 no bit menos significativo (LSB - Least Significant Bit).
    • Se um número é par, ele tem um 0 no bit menos significativo (LSB).
  3. Forneça a implementação do código aos alunos e peça que copiem o código para o arquivo main.c no diretório ~/project/.
  4. A implementação do código deve ser a seguinte:
#include<stdio.h>

int main()
{
    printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
    int x;
    for(x = 0; x <= 10; x++)
    {
        if(x&1) // if number is odd
            printf("\t\t\t%d is odd\n",x);
        else if(!(x&1)) // ! is used inside if to reverse the boolean value
            printf("\t\t\t%d is even\n",x);
    }

    printf("\n\n\n\n\t\t\tCoding is Fun !\n\n\n");
    return 0;
}

Encontrando Ímpar ou Par sem usar o Operador Módulo

  1. Explique aos alunos que é possível descobrir se um número é ímpar ou par sem usar o operador módulo.
  2. Descreva brevemente como isso é alcançado.
    • Se um número é par, então dividi-lo por 2 e multiplicá-lo novamente por 2 deve resultar no número original.
    • Se um número é ímpar, então dividi-lo por 2 e multiplicá-lo novamente por 2 não deve resultar no número original.
  3. Forneça a implementação do código aos alunos e peça que o copiem para o arquivo main.c no diretório ~/project/.
  4. A implementação do código deve ser a seguinte:
#include<stdio.h>

int main()
{
    printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
    int n;
    printf("Enter a number:  ");
    scanf("%d",&n);

    if((n/2)*2 == n)
        printf("\n\n\t\t %d is Even\n", n);
    else
        printf("\n\n\t\t %d is Odd\n", n);

    printf("\n\n\n\n\t\t\tCoding is Fun !\n\n\n");
    return 0;
}

Teste

  1. Peça aos alunos para testarem ambas as implementações de código.
  2. Execute o código e verifique se a saída é como esperado.

Resumo

Os alunos agora estão familiarizados com dois métodos para verificar se um número é ímpar ou par. Eles podem implementar essas técnicas em qualquer programa C para alcançar a funcionalidade desejada.