루프를 사용하여 XY+Z 진리표 출력하기

C++Beginner
지금 연습하기

소개

이 랩에서는 루프를 사용하여 논리식 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;

진리표 헤더 출력

이 단계에서는 진리표의 헤더를 출력합니다. 탭 공간을 사용하여 X, Y, Z, 그리고 XY+Z를 출력합니다.

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

중첩 루프 생성

이 단계에서는 X, Y, Z 의 모든 가능한 조합을 반복하기 위해 중첩된 3 단계 루프를 생성합니다. 가장 바깥쪽 루프는 X 값을 나타내고, 두 번째 루프는 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);
            }
        }
    }
}

프로그램 컴파일 및 실행

터미널에서 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++ 프로그램을 작성하는 방법을 배웠습니다. 중첩된 3 단계 루프를 사용하여 X, Y, Z 의 모든 가능한 조합을 반복하고 논리 연산자를 사용하여 결과를 계산했습니다. 이 랩을 완료함으로써 C++ 프로그래밍 언어의 기본적인 프로그래밍 개념을 더 잘 이해하게 되었습니다.