奇数または偶数の判定

CBeginner
オンラインで実践に進む

はじめに

この実験では、ビット演算子を使って実装されたプログラムを通じて、数値が奇数か偶数かを判断する方法を学生に理解してもらうことを目的としています。また、剰余演算子を使わずに数値が奇数か偶数かをチェックする方法も提供します。

ビット演算子

  1. まず、学生にビット演算子とは何かを説明します。
  2. ビット演算子を使ってプログラムが奇数と偶数をチェックする方法を説明します。
    • 数値が奇数の場合、最下位ビット(LSB)に 1 があります。
    • 数値が偶数の場合、最下位ビット(LSB)に 0 があります。
  3. コードの実装例を学生に提供し、~/project/ ディレクトリ内の main.c ファイルにコードをコピーするように依頼します。
  4. コードの実装例は以下の通りです。
#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;
}

剰余演算子を使用せずに奇数または偶数を見つける

  1. 学生に対して、剰余演算子を使わずに数値が奇数か偶数かを判定することができることを説明します。
  2. それがどのように達成されるかを簡単に説明します。
    • 数値が偶数の場合、それを 2 で割り、再度 2 を掛けると元の数値になるはずです。
    • 数値が奇数の場合、それを 2 で割り、再度 2 を掛けると元の数値にはならないはずです。
  3. コードの実装例を学生に提供し、~/project/ ディレクトリ内の main.c ファイルにコピーするように依頼します。
  4. コードの実装例は以下の通りです。
#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;
}

テスト

  1. 学生に両方のコードの実装をテストするよう依頼します。
  2. コードを実行し、出力が期待通りであるかどうかを確認します。

まとめ

学生たちは今、数値が奇数か偶数かをチェックする 2 つの方法に慣れ親しんでいます。彼らはこれらの技術を任意の C プログラムに実装して、望む機能を達成することができます。