奇数または偶数の判定

CCBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c(("C")) -.-> c/BasicsGroup(["Basics"]) c/BasicsGroup -.-> c/variables("Variables") c/BasicsGroup -.-> c/operators("Operators") c/ControlFlowGroup -.-> c/if_else("If...Else") c/ControlFlowGroup -.-> c/for_loop("For Loop") c/UserInteractionGroup -.-> c/user_input("User Input") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-123219{{"奇数または偶数の判定"}} c/operators -.-> lab-123219{{"奇数または偶数の判定"}} c/if_else -.-> lab-123219{{"奇数または偶数の判定"}} c/for_loop -.-> lab-123219{{"奇数または偶数の判定"}} c/user_input -.-> lab-123219{{"奇数または偶数の判定"}} c/output -.-> lab-123219{{"奇数または偶数の判定"}} end

ビット演算子

  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プログラムに実装して、望む機能を達成することができます。