Вывести таблицу истинности для логической функции - 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).
Преподователь дал потом "подсказку" (используя "это" нужно реализовать программу):
- В таком виде перебираются значения иксов. И нужно с помощью
цикла реализовать вывод "у" соответствующего значению логической функции.
Вообщем на экране в результате должно выводитсь что-то в этом роде (Порядок строк не важет лишь бы соответствовали значения в строках):
х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
Ну вот вроде все. Объяснил как смог. Буду очень благодарен за Вашу помощь. Просто обратиться больше не куда.
for(x1=0; x1<2; x1++) { for(x2=0; x2<2: x2++) { for(x3=0; x3<2; x3++)
Решение задачи: «Вывести таблицу истинности для логической функции»
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, заканчивая работу программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д