Вывести таблицу истинности для логической функции - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Вообщем получил задание на зачет. Сделал по своему, преподователю не понравилось. Другово подхода к решению задания я не знаю(в программировании практически 0), а зачет получать надо. Язык С(Желательно)\С++ Все математические операции основываются на "Двоичной логике", то есть у нас есть 1-истина, 0-ложь(тоесть значение иксов и игриков могут быть либо 1 либо 0). Математические операции не много другие: 1+1=1, ну а остальное все как в математике. Задание: Написать программу, выводящую таблицу истинности для следующей логической функции y=((x1*x2)+(x1*x2))*(x3+x1*x2), где x1,x2 - инверсия соответственно x1,x2. (Тоесть при значении х1=1 => х1=0, х1=0 => х1=1). Преподователь дал потом "подсказку" (используя "это" нужно реализовать программу):
for(x1=0; x1<2; x1++)
    {
       for(x2=0; x2<2: x2++)
       {
          for(x3=0; x3<2; x3++)
- В таком виде перебираются значения иксов. И нужно с помощью цикла реализовать вывод "у" соответствующего значению логической функции. Вообщем на экране в результате должно выводитсь что-то в этом роде (Порядок строк не важет лишь бы соответствовали значения в строках): х1 х2 х3 у 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 1 1 0 Ну вот вроде все. Объяснил как смог. Буду очень благодарен за Вашу помощь. Просто обратиться больше не куда.

Решение задачи: «Вывести таблицу истинности для логической функции»

textual
Листинг программы
#include <stdlib.h>
#include <stdio.h>
 
int main ()
{
    int x1, x2, x3, y;
    
    printf("x1|x2|x3| y\n");
    printf("-----------\n");
    for(x1=0; x1<2; x1++)
    {
        for(x2=0; x2<2; x2++)
        {
             for(x3=0; x3<2; x3++)
             {
                 y = ( (!x1 && x2) || (x1 && !x2) ) && (x3 || x1 && x2);
                 printf(" %i| %i| %i| %i\n", x1, x2, x3, y);
             };
        };
    };
    
    system ("pause");
    return 0;
}

Объяснение кода листинга программы

В этом коде используется язык программирования C. Сначала объявляются переменные: x1, x2, x3 и y. Затем выводится шаблон таблицы истинности с использованием функции printf. Далее, с помощью трех вложенных циклов, перебираются все возможные значения переменных x1, x2 и x3 от 0 до 1. Для каждого набора значений переменных, вычисляется значение y согласно заданному условию (логическая функция). Полученное значение y выводится в таблицу истинности с помощью функции printf. В конце программы, с помощью функции system(pause), программа приостанавливается до нажатия клавиши, и только после этого возвращается 0, заканчивая работу программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.267 из 5
Похожие ответы