ループを使った XY+Z の真理値表を表示する

C++C++Beginner
今すぐ練習

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

はじめに

この実験では、ループを使って論理式 XY + Z の真理値表を表示する C++ プログラムを書く方法を学びます。このプログラムは、論理演算子を使って X、Y、Z の値と XY + Z の結果を表示します。

新しい C++ ファイルを作成する

~/project ディレクトリに移動し、 main.cpp という名前の新しい C++ ファイルを作成します。

cd ~/project
touch main.cpp

ライブラリをインクルードする

このステップでは、プログラムに必要なライブラリをインクルードします。iostream ライブラリは、C++ プログラムに基本的な入出力サービスを提供します。

#include <iostream>
using namespace std;

変数を宣言する

このステップでは、X、Y、および Z の値を保持するための必要な整数型の変数を宣言します。

int X, Y, Z;

真理値表のヘッダーを表示する

このステップでは、真理値表のヘッダーを表示します。タブ区切りで XYZ、および XY+Z を表示します。

printf("X \t Y \t \Z \t XY+Z\n");

ネストされたループを作成する

このステップでは、X、Y、および Z のすべての可能な組み合わせを反復処理するための 3 段階のネストされたループを作成します。最も外側のループは X の値を表し、2 番目のループは Y の値を表し、最も内側のループは Z の値を表します。

//X value range 0 to 1
for (X = 0; X <= 1; X++)
{
    //Y value range 0 to1
    for (Y = 0; Y <= 1; Y++)
    {
        //Z value range 0 to1
        for (Z = 0; Z <= 1; Z++)
        {
            //check for the XY+Z True values
            if ((X && Y) || Z)
            {
                //print 1 for the true value
                cout << ("%d \t %d \t %d \t 1\n", X, Y, Z);
            }
            else
            {
                //print 0 for the false value
                cout << ("%d \t %d \t %d \t 0\n", X, Y, Z);
            }
        }
    }
}

上記の翻訳では、一部のコードのコメントはそのまま英語のまま残しています。これは、コメントがコードの理解に直接的な役割を果たさない場合が多いためです。もしコメントがコードの理解に役立つ場合は、それを日本語に翻訳することもできます。例えば、最初のコメント //X value range 0 to 1//Xの値の範囲は0から1まで のように翻訳できます。

プログラムをコンパイルして実行する

端末で g++ main.cpp -o main &&./main コマンドを使用して main.cpp ファイルをコンパイルすることができます。その後、以下に示すように真理値表の出力を得ることができます。

X    Y    Z    XY+Z
0    0    0    0
0    0    1    1
0    1    0    0
0    1    1    1
1    0    0    0
1    0    1    1
1    1    0    1
1    1    1    1

完全なコード

以下は、main.cpp ファイルの完全なコードです。

#include <iostream>
using namespace std;

int main()
{
    int X, Y, Z;
    printf("X \t Y \t \Z \t XY+Z\n");

    //X value range 0 to 1
    for (X = 0; X <= 1; X++)
    {
        //Y value range 0 to1
        for (Y = 0; Y <= 1; Y++)
        {
            //Z value range 0 to1
            for (Z = 0; Z <= 1; Z++)
            {
                //check for the XY+Z True values
                if ((X && Y) || Z)
                {
                    //print 1 for the true value
                    cout << ("%d \t %d \t %d \t 1\n", X, Y, Z);
                }
                else
                {
                    //print 0 for the false value
                    cout << ("%d \t %d \t %d \t 0\n", X, Y, Z);
                }
            }
        }
    }

    return 0;
}

まとめ

この実験では、ループを使用して論理式 XY+Z の真理値表を表示する C++ プログラムを書く方法を学びました。X、Y、および Z のすべての可能な組み合わせを反復処理するために 3 段階のネストされたループを使用し、論理演算子を使って結果を計算しました。この実験を完了することで、C++ プログラミング言語の基本的なプログラミング概念をより深く理解することができました。