Печать таблицы истинности XY+Z с использованием цикла

C++Beginner
Практиковаться сейчас

Введение

В этом лабораторном задании мы научимся писать программу на C++, которая выводит таблицу истинности для логического выражения XY+Z с использованием циклов. Программа покажет значения X, Y, Z и результат выражения XY+Z с использованием логических операторов.

Создайте новый файл на C++

Перейдите в каталог ~/project и создайте новый файл на C++ с именем main.cpp.

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. Наиболее внешний цикл представляет значение 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);
            }
        }
    }
}

Компилировать и запустить программу

Мы можем скомпилировать файл main.cpp с помощью команды g++ main.cpp -o main &&./main в терминале. После этого мы получим вывод таблицы истинности, как показано ниже.

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;
}

Резюме

В этом практическом занятии мы научились писать программу на C++, которая выводит таблицу истинности для логики XY+Z с использованием циклов. Мы использовали вложенный трехуровневый цикл для перебора всех возможных комбинаций X, Y и Z и логические операторы для вычисления результата. Завершив это практическое занятие, мы лучше поняли основные концепции программирования на языке C++.