0 / 0 / 0
Регистрация: 18.10.2014
Сообщений: 72
1

Построить таблицу истинности по формуле

09.11.2015, 14:30. Показов 1826. Ответов 3
Метки нет (Все метки)

нужно построить таблицу истинности по формуле
подскажите как это реализовать
вот у меня есть уже часть кода
правда что дальше делать не очень понимаю
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <iostream>  
 
using namespace std;
int dis(int x, int y)
{
    if (x + y == 0)
        return 0;
    else
        return 1;
}
int kon(int x, int y)
{
    if (x*y == 1)
        return 1;
    else
        return 0;
}
int ekv(int x, int y)
{
    if (x == y)
        return 1;
    else
        return 0;
}
int imp(int x, int y)
{
    if (x == 1 && y == 0)
        return 0;
    else
        return 1;
}
int otr(int x)
{
    return !x;
}
int function(int x, int y, char* formula, int counter)
{
    switch (formula[counter])
    {
    case '~': return ekv(x, y);
    case '^': return kon(x, y);
    case 'v': return dis(x, y);
    case '>': return imp(x, y);
    }
}
 
void BIN(int a){
 
    char binary[4]; 
 
    for (int i = 3; i >= 0; i--){       
        if (a % 2 == 0){ binary[i] = '0'; }
        else{ binary[i] = '1'; }
        a = a / 2;
    }
 
    for (int i = 0; i<4; i++){            //Печатаем массив
        cout << binary[i] << "   ";
    }
    cout << endl;
}
 
 
int main()  
{
    char mass[4];
    cout << "x^4 x^2 x^1 x^0 y" << endl;
 
    for (int i = 0; i<2 * 2 * 2 * 2; i++){
        BIN(i);
    }
 
    system("PAUSE");
    return 0;
}
Добавлено через 7 минут
забыл написать формулу
вот
:A*(!B*!C)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2015, 14:30
Ответы с готовыми решениями:

Построить таблицу истинности
Здравствуйте! В принципе задача фигня, единственное с чем у меня загвоздка, это в том что в...

Построить таблицу истинности для формул
Пользователь вводит одну из формул вида (A*((!)B*C))*D или A*((!)B*(C*D)) или (A*(!)B)*(C*D) , где...

Нужно построить таблицу истинности по заданном логическому выражению.
Нужно построить таблицу истинности по заданном логическому выражению. Но суть не в этом, а в том,...

Построить таблицу истинности и определить выполнимость формулы: Значения Х1,Х2,Х3 одинаковы для всех вариантов
X1 X2 X3 0 0 0 0 0 1 Вот моё задание 7) Х1*Х2*Х3 + Х1*Х2*Х3 + Х1*Х2*Х3...

3
473 / 425 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
09.11.2015, 15:00 2
Название: A4EHcBa.png
Просмотров: 36

Размер: 1.9 Кб
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "iostream"
 
using namespace std;
 
int main()
{
    cout << "A B C F" << endl;
    for (int i = 0; i < 2; i++)
        for (int j = 0; j < 2; j++)
            for (int k = 0; k < 2; k++)
                cout << i << " " << j << " " << k << " " << (i && (!j && !k)) << endl;
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 18.10.2014
Сообщений: 72
09.11.2015, 15:19  [ТС] 3
так а как допустим сделать операцию следования
или эквивалентность ?
0
473 / 425 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
09.11.2015, 15:29 4
Лучший ответ Сообщение было отмечено jerom1234 как решение

Решение

jerom1234,
Конъюнкция (логическое умножение / "И"): && (a&&b)
Дизъюнкция (логическое сложение /"Или"): || (a||b)
Эквивалентность (равнозначность): == (a==b)
Логическое отрицание ("Не"): ! (!a)
Импликация: <= (a<=b)

Хз, вроде стандартные все
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2015, 15:29
Помогаю со студенческими работами здесь

Используя таблицу истинности, установить эквивалентность функций в формуле
Используя таблицу истинности, установить эквивалентность функций в формуле.

Построить таблицу истинности
Построить таблицу истинности для формулы: \left({\bar x}_{3} \ \sim \ {x}_{2} \right) \...

Построить таблицу истинности
здравствуйте! помогите решить задания.

Построить таблицу истинности
f(x, y, z, t) = 1 на наборах 1, 3, 5, 7, 8, 10, 12, 14, 15 Построить таблицу истинности. Если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru