Напишите в комментарии к этой записи консольные приложения для решения этих задач, указав код задачи.
Решены задачи: 1-4 Не решены: 5-24.
Задачи
L1.1. Вычислить значение логического выражения при следующих значениях логических величин А, В и С: А = Истина, В = Ложь, С = Ложь:
а) А или В; б) А и В; в) В или С.
L1.2. Вычислить значение логического выражения при следующих значениях логических величин X, Y и Z: X = Ложь, Y = Истина, Z = Ложь:
а) X или Z; б) X и Y; в) X и Z.
L1.3. Вычислить значение логического выражения при следующих значениях логических величин А, В и С: А = Истина, В = Ложь, С = Ложь:
а) не А и В; б) А или не В; в) А и В или С.
L1.4. Вычислить значение логического выражения при следующих значениях логических величин X, Y и Z: X = Истина, Y = Истина, Z = Ложь:
а) не X и Y; б) X или не Y; в) X или Y и Z.
L1.5. Вычислить значение логического выражения при следующих значениях логических величин А, В и С: А = Истина, В = Ложь, С = Ложь:
а) А или В и не С; г) А и не В или С;
б) не А и не В; д) А и (не В или С);
в) не (А и С) или В; е) А или (не (В и С)).
L1.6. Вычислить значение логического выражения при следующих значениях логических величин X, Y и Z: X = Ложь, Y = Ложь, Z = Истина:
а) X или Y и не Z; г) X и не Y или Z;
б) не X и не Y; д) X и (не Y или Z);
в) не (X и Z) или Y; е) X или (не (Y или Z)).
L1.7. Вычислить значение логического выражения при следующих значениях логических величин А, В и С: А = Истина, В = Ложь, С = Ложь:
а) А или не (А и В) или С;
б) не А или А и (В или С);
в) (А или В и не С) и С.
L1.8. Вычислить значение логического выражения при следующих значениях логических величин X, Y и Z: X = Ложь, Y = Истина, Z = Ложь:
а) X и не (Z или Y) или не Z;
б) не X или X и (Y или Z);
в) (X или Y и не Z) и Z.
L1.9. Вычислить значение логического выражения при следующих значениях логических величин X, Y и Z: X = Истина, Y = Ложь, Z = Ложь:
а) не X или не Y или не Z;
б) (не X или не Y) и (X или Y);
в) X и Y или X и Z или не Z.
L1.10. Вычислить значение логического выражения при следующих значениях логических величин А, В и С: А = Ложь, В = Ложь, С = Истина:
а) (не А или не В) и не С;
б) (не А или не В) и (А или В);
в) А и В или А и С или не С.
Таблицы истинности:
L1.11. Вычислить значение логического выражения при всех возможных значениях логических величин А и В:
а) не (А и В);
б) не А или В;
в) А или не В.
L1.12. Вычислить значение логического выражения при всех возможных значениях логических величин X и Y:
а) не (X или Y);
б) не X и Y;
в) X и не Y.
L1.13. Вычислить значение логического выражения при всех возможных значениях логических величин А и В:
а) не А или не В;
б) А и (А или не В);
в) (не А или В) и В.
L1.14. Вычислить значение логического выражения при всех возможных значениях логических величин X и Y:
а) не X и не Y;
б) X или (не X и Y);
в) (не X и Y) или Y.
L1.15. Вычислить значение логического выражения при всех возможных значениях логических величин А и В:
а) не А и не В или А;
б) В или не А и не В;
в) В и не (А и не В).
L1.16. Вычислить значение логического выражения при всех возможных значениях логических величин X и Y:
а) не (X и не Y) или X;
б) Y и не X или не Y;
в) не Y и не X или Y.
L1.17. Вычислить значение логического выражения при всех возможных значениях логических величин А и В:
а) не (не А и не В) и А;
б) не (не А или не В) или А;
в) не (не А или не В) и В.
L1.18. Вычислить значение логического выражения при всех возможных значениях логических величин X и Y:
а) не (не X или Y) или не X;
б) не (не X и не Y) и X;
в) не (X или не Y) или не Y.
L1.19. Вычислить значение логического выражения при всех возможных значениях логических величин А, В и С:
а) не (А или не В и С);
б) А и не (В и или не С);
в) не (не А или В и С)
L1.20. Вычислить значение логического выражения при всех возможных значениях логических величин X, Y и Z:
а) не (X или не Y и Z);
б) Y или (X и не Y или Z);
в) не (не X и Y или Z).
L1.21. Вычислить значение логического выражения при всех возможных значениях логических величин А, В и С:
а) не (А или не В и С) или С;
б) не (А и не В или С) и В;
в) не (не А или В и С) или А.
L1.22. Вычислить значение логического выражения при всех возможных значениях логических величин X, Y и Z:
а) не (Y или не X и Z) или Z;
б) X и не (не Y или Z) или Y;
в) не (X или Y и Z) или не X.
L1.23. Вычислить значение логического выражения при всех возможных значениях логических величин А, В и С:
а) не (А и В) и (не А или не С);
б) не (А и не В) или (А или не С);
в) А и не В или не (А или не С).
L1.24. Вычислить значение логического выражения при всех возможных значениях логических величин X, Y и Z:
а) не (X или Y) и (не X или не Z);
б) не (не X и Y) или (X и не Z);
в) X или не Y и не (X или не Z).
NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.
// L1.24. Вычислить значение логического выражения при всех возможных значениях
// логических величин X, Y и Z:
// а) не (X или Y) и (не X или не Z);
// б) не (не X и Y) или (X и не Z);
// в) X или не Y и не (X или не Z).
// индексы элементов в трехмерном массиве
// 0,0,0 0,0,1 0,0,2 0,1,0 0,1,1 0,1,2 0,2,0 0,2,1 0,2,2 1,0,0 1,0,1 1,0,2 1,1,0 1,1,1 1,1,2 1,2,0 1,2,1 1,2,2 2,0,0 2,0,1 2,0,2 2,1,0 2,1,1 2,1,2 2,2,0 2,2,1 2,2,2
bool[,,] mas = { { { false, true, false }, { true, false, false }, { false, false, false } }, { { true, false, false }, { false, false, false, }, { false, false, false } }, { { false, false, false }, { false, false, false, }, { false, false, false } } };
System.Console.WriteLine();
System.Console.WriteLine(«Вариант А»);
FillArray1(mas);
PrintArray(mas);
System.Console.WriteLine();
System.Console.WriteLine(«Вариант Б»);
FillArray2(mas);
PrintArray(mas);
System.Console.WriteLine();
System.Console.WriteLine(«Вариант В»);
FillArray3(mas);
PrintArray(mas);
// ————Методы————
void PrintArray(bool[,,] array)
{
for (int i = 1; i < array.GetLength(0); i++)
{
for (int j = 1; j < array.GetLength(1); j++)
{
for (int k = 1; k < array.GetLength(2); k++)
{
System.Console.WriteLine($»При X = {array[i, 0, 0]}, Y = {array[0, j, 0]}, Z = {array[0, 0, k]}»);
System.Console.WriteLine($»{array[i, j, k]}»);
System.Console.WriteLine();
}
}
}
}
void FillArray1(bool[,,] array)
{
for (int i = 1; i < array.GetLength(0); i++)
{
for (int j = 1; j < array.GetLength(1); j++)
{
for (int k = 1; k < array.GetLength(2); k++)
{
array[i, j, k] = !(array[i, 0, 0] || array[0, j, 0]) && (!array[i, 0, 0] || !array[0, 0, k]);
}
}
}
}
void FillArray2(bool[,,] array)
{
for (int i = 1; i < array.GetLength(0); i++)
{
for (int j = 1; j < array.GetLength(1); j++)
{
for (int k = 1; k < array.GetLength(2); k++)
{
array[i, j, k] = !(!array[i, 0, 0] && array[0, j, 0]) || array[i, 0, 0] && !array[0, 0, k];
}
}
}
}
void FillArray3(bool[,,] array)
{
for (int i = 1; i < array.GetLength(0); i++)
{
for (int j = 1; j < array.GetLength(1); j++)
{
for (int k = 1; k < array.GetLength(2); k++)
{
array[i, j, k] = array[i, 0, 0] || !array[0, j, 0] && !(array[i, 0, 0] || !array[0, 0, k]);
}
}
}
}
namespace basic_tasks
{
internal class Program
{
static bool[] GetBool(bool X, bool Y, bool Z)
{
bool A = !(X || Y) && (!X || !Z);
bool B = !(!X && Y) || (X && !Z);
bool C = X || !Y && !(X || !Z);
bool[] result = new bool[3];
result[0] = A;
result[1] = B;
result[2] = C;
return result;
}
static void Main(string[] args)
{
bool x, y, z;
for (int i = 0; i < 2; i++)
{
if (i == 0)
x = false;
else x = true;
for (int j = 0; j < 2; j++)
{
if (j == 0)
y = false;
else y = true;
for (int k = 0; k < 2; k++)
{
bool[] OutputArray = new bool[3];
if (k == 0)
z = false;
else z = true;
OutputArray = GetBool(x, y, z);
for (int n = 0; n < OutputArray.Length; n++)
{
Console.Write(OutputArray[n] + «\t»);
}
Console.WriteLine();
}
Console.WriteLine();
}
}
}
}
}
namespace L1
{
class Program
{
static void Formulas(bool X, bool Y, bool Z)
{
Console.WriteLine($»X={X} Y={Y} Z={Z}»);
bool a = !(X | Y) & (!X | !Z);
bool b = !(!X & Y) | (X & !Z);
bool c = X | !Y & !(X | !Z);
Console.WriteLine($»\n{a}\n{b}\n{c}»);
}
static void Main(string[] args)
{
bool X, Y, Z;
X = true; Y = true; Z = true;
Formulas(X, Y, Z);
Console.WriteLine();
X = true; Y = false; Z = false;
Formulas(X, Y, Z);
Console.WriteLine();
X = false; Y = true; Z = false;
Formulas(X, Y, Z);
Console.WriteLine();
X = false; Y = false; Z = true;
Formulas(X, Y, Z);
Console.WriteLine();
X = false; Y = true; Z = true;
Formulas(X, Y, Z);
Console.WriteLine();
X = true; Y = false; Z = true;
Formulas(X, Y, Z);
Console.WriteLine();
X = true; Y = true; Z = false;
Formulas(X, Y, Z);
Console.WriteLine();
X = false; Y = false; Z = false;
Formulas(X, Y, Z);
Console.WriteLine();
Console.ReadLine();
}
}
}
Не получилось у меня додуматься как смену значений переменных в какой-нибудь цикл загнать. Задание № 24.
for(int i = 0; i < 2; i++)
{
if (i == 0)
X = true;
if (i == 1)
X = false;
for(int j = 0; j < 2; j++)
{
if (j == 0)
Y = true;
if (j == 1)
Y = false;
for( int k = 0; k < 2; k++)
{
if (k == 0)
Z = true;
if (k == 1)
Z = false;
Formulas(X,Y,Z);
}
}
}
простенький цикл, перебирает все значения X,Y,Z
L1.11. Вычислить значение логического выражения при всех возможных значениях логических величин А и В:
а) не (А и В);
б) не А или В;
в) А или не В.
В задании L1.19. б) А и не (В и или не С) — И ИЛИ идут друг за другом — как это вычисляется?
//L1.10.Вычислить значение логического выражения при следующих значениях логических величин А, В и С: А = Ложь, В = Ложь, С = Истина:
//а) (не А или не В) и не С;
//б) (не А или не В) и(А или В);
//в) А и В или А и С или не С.
bool A, B, C;
bool result_A, result_B, result_C;
A = false;
B = false;
C = true;
result_A = (!A || !B) && !C;
result_B = (!A || !B) && (A || B);
result_C = A && B || A && C || !C;
Console.WriteLine(«Вывести \n{0} \n{1} \n{2} «, result_A, result_B, result_C);
Console.ReadLine();
L1.24.Вычислить значение логического выражения при всех возможных значениях логических величин X, Y и Z:
а) не(X или Y) и(не X или не Z);
б) не(не X и Y) или(X и не Z);
в) X или не Y и не(X или не Z).*/
Интересно, но в этом случае вычисляется только тот вариант сочетания значений переменных, которые ввел пользователь. В задаче же требуется вычислить результаты при всех возможных значениях.
L1.11.Вычислить значение логического выражения при всех возможных значениях логических величин А и В: Решил сделать через TryParse
а) не(А и В); б) не А или В; в) А или не В. остальные аналогично
L1.10.Вычислить значение логического выражения при следующих значениях логических величин А, В и С: А = Ложь, В = Ложь, С = Истина:
а) (не А или не В) и не С; б) (не А или не В) и(А или В); в) А и В или А и С или не С.
А разве «&» имеет преимущество над «|»? Если в первом примере скобки не поставить то компилятор выдает true. — L110a = !A | !B & !C; // true
Здравствуйте, я выполнил задание l1.24 и хотел спросить правильно ли я все сделал? И если код не верен, то буду благодарен если скажете, что я не так сделал)
static void Main(string[] args)
{
bool x = true, y = false, z = true, _res1, _res2, _res3;
for (int i = 0; i <= 0; i++)
{
switch (i)
{
case 1:
z = false;
break;
case 2:
x = false;
break;
case 3:
y = true;
break;
case 4:
z = true;
break;
case 5:
x = true;
break;
}
_res1 = !(x || y) && (!x || !z);
_res2 = !(!x && y) || (x && !z);
_res3 = x || !y && !(x || !z);
Console.WriteLine($"{_res1}, {_res2}, {_res3}");
}
for (int i = 0; i <= 0; i++)
{
switch (i)
{
case 1:
z = false;
break;
case 2:
x = false;
break;
case 3:
y = true;
break;
case 4:
z = true;
break;
case 5:
x = true;
break;
} // это лишнее, без цикла и свитча всё работает!
L1.5. Вычислить значение логического выражения при следующих значениях логических величин А, В и С: А = Истина, В = Ложь, С = Ложь:
а) А или В и не С; г) А и не В или С;
б) не А и не В; д) А и (не В или С);
в) не (А и С) или В; е) А или (не (В и С)).
Денис, верно.
1.5 Верно?
static void Main(string[] args)
{
bool a, b, c;
a = true;
b = false;
c = false;
bool X = a | b &! c;
bool Y = !a &! b;
bool Z = !(a | c) | b;
bool H = a & !b | c;
bool G = a & (!b | c);
bool F = a | (!(b & c));
Console.WriteLine($»{X} {Y} {Z} {H} {G} {F}»);
Console.ReadKey();
}
L1.24. Вычислить значение логического выражения при всех возможных значениях логических величин X, Y и Z:
а) не (X или Y) и (не X или не Z);
б) не (не X и Y) или (X и не Z);
в) X или не Y и не (X или не Z).
Также думаю, решение этой задачи схоже с задачами L1.11. — L1.24.
Решение:
Евгений, верно.
L1.6. Вычислить значение логического выражения при следующих значениях логических величин X, Y и Z: X = Ложь, Y = Ложь, Z = Истина:
а) X или Y и не Z; г) X и не Y или Z;
б) не X и не Y; д) X и (не Y или Z);
в) не (X и Z) или Y; е) X или (не (Y или Z)).
Решение:
Герман! с отличным началом.
L1.11. Вычислить значение логического выражения при всех возможных значениях логических величин А и В:
а) не (А и В);
б) не А или В;
в) А или не В.
Решение:
Правильно ли я понял условие задачи?
Пытался сконвертировать вводимую пользователем переменную стринг в булевскую переменную (это бы позволило решить задачу одним свитчем) , но пока что не разобрался, как пользоваться Boolean.TryParse, который нагуглил в docs.microsoft
Максим! В целом понятное решение, хотя и длинноватое. Насчет понимания условия — можно толковать, как Вы, но можно понять и так: «для выбранной функции напечатать таблицу истинности». Тогда текст будет таким, например:
И ясно, куда добавлять другие функции.
L1.1.Вычислить значение логического выражения при следующих значениях логических величин А, В и С: А = Истина, В = Ложь, С = Ложь:
а) А или В; б) А и В; в) В или С.
L1.2.Вычислить значение логического выражения при следующих значениях логических величин X, Y и Z: X = Ложь, Y = Истина, Z = Ложь:
а) X или Z; б) X и Y; в) X и Z.
L1.3.Вычислить значение логического выражения при следующих значениях логических величин А, В и С: А = Истина, В = Ложь, С = Ложь:
а) не А и В; б) А или не В; в) А и В или С.
L1.4.Вычислить значение логического выражения при следующих значениях логических величин X, Y и Z: X = Истина, Y = Истина, Z = Ложь:
а) не X и Y; б) X или не Y; в) X или Y и Z.
Радмир, верно.
L1.1. Вычислить значение логического выражения при следующих значениях логических величин А, В и С: А = Истина, В = Ложь, С = Ложь:
а) А или В; б) А и В; в) В или С.
Это так типа должно быть ?)
Да. Именно так, Андрей.
Андрей, как я понимаю, смысл в этих задачах узнать самому значение переменной. Выводить на экран, разве, что для проверки самого себя.