Давайте разбираться на примере.
А ∨ А & В, тут мы видим знак логического умножения и знак логического сложения.
Составляем табличку со значениями переменных
A B
0 0
0 1
1 0
1 1
Теперь, можем по действиям сделать всё, A & B, если простым языком, то это тоже самое, что и A * B
A & B даст нам истину, когда оба элемента будут равны 1
Дополняем нашу табличку истинности.
A | B | A & B
0 | 0 | 0 (0*0=0)
0 | 1 | 0 (0*1 = 0)
1 | 0 | 0 (1*0=0)
1 | 1 | 1 (1*1=1)
Отлично, теперь нам осталось посчитать (A&B) v A, короче говоря, конечный вариант.
Нам нужно наш столбик "A&B" таблицы прибавлять к столбику "A"
A | B | A & B | А ∨ А & В
0 | 0 | 0 (0*0=0) | 0 (0+0=0)
0 | 1 | 0 (0*1 = 0) | 0 (0+0=0)
1 | 0 | 0 (1*0=0) | 1 (1+0=1)
1 | 1 | 1 (1*1=1)| 1 (1+1=1)
Вот и составили таблицу истинности, если что-то осталось непонятным - комментарии всегда открыты)
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
signed main() {
//объявляем переменные и вводим их с клавиатуры
int a, b, c;
float alpha, beta;
cin >> a >> b >> c >> alpha >> beta;
/* Высчитываем значения переменных J, J, L, для возведения в степень используем функцию pow()*/
float J = pow(10, -2) * a * b + ((2 * a) / (b * c)) + (3 * b * c) / a;
float K = pow(10, -2) / (a + b) * (2 / a + alpha / b - c / (b * beta));
float L = (a * b * c) / (1 + alpha) + (a * b * c) / (1 + beta) + 1 / 5;
/*Используя потоки закидываем в файле значения переменных J,K,L через пробел. Отлавливаем ошибки с try, ловим с catch*/
try {
ofstream inpF("f20_1.txt");
inpF << J << " " << K << " " << L;
}
catch (...) {
cout << "error";
return 0;
Давайте разбираться на примере.
А ∨ А & В, тут мы видим знак логического умножения и знак логического сложения.
Составляем табличку со значениями переменных
A B
0 0
0 1
1 0
1 1
Теперь, можем по действиям сделать всё, A & B, если простым языком, то это тоже самое, что и A * B
A & B даст нам истину, когда оба элемента будут равны 1
Дополняем нашу табличку истинности.
A | B | A & B
0 | 0 | 0 (0*0=0)
0 | 1 | 0 (0*1 = 0)
1 | 0 | 0 (1*0=0)
1 | 1 | 1 (1*1=1)
Отлично, теперь нам осталось посчитать (A&B) v A, короче говоря, конечный вариант.
Нам нужно наш столбик "A&B" таблицы прибавлять к столбику "A"
A | B | A & B | А ∨ А & В
0 | 0 | 0 (0*0=0) | 0 (0+0=0)
0 | 1 | 0 (0*1 = 0) | 0 (0+0=0)
1 | 0 | 0 (1*0=0) | 1 (1+0=1)
1 | 1 | 1 (1*1=1)| 1 (1+1=1)
Вот и составили таблицу истинности, если что-то осталось непонятным - комментарии всегда открыты)
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
signed main() {
//объявляем переменные и вводим их с клавиатуры
int a, b, c;
float alpha, beta;
cin >> a >> b >> c >> alpha >> beta;
/* Высчитываем значения переменных J, J, L, для возведения в степень используем функцию pow()*/
float J = pow(10, -2) * a * b + ((2 * a) / (b * c)) + (3 * b * c) / a;
float K = pow(10, -2) / (a + b) * (2 / a + alpha / b - c / (b * beta));
float L = (a * b * c) / (1 + alpha) + (a * b * c) / (1 + beta) + 1 / 5;
/*Используя потоки закидываем в файле значения переменных J,K,L через пробел. Отлавливаем ошибки с try, ловим с catch*/
try {
ofstream inpF("f20_1.txt");
inpF << J << " " << K << " " << L;
}
catch (...) {
cout << "error";
}
return 0;
}