Введение
В этом лабораторном задании мы научимся писать программу на 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++.



