L1. Вычисление логических выражений

New: Наш Чат

В чате вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.


Напишите в комментарии к этой записи консольные приложения для решения этих задач, указав код задачи.
Решены задачи: 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).

Помощь проекту:

Понравилась статья? Поделиться с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
20 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

      //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).*/

      while (true)
      {
        Console.WriteLine("Point follow values for X,Y,Z - false or true");
        bool X, Y, Z, L124a, L124b, L124v; string X1, Y1, Z1;
        Console.Write("Point X - ");
        X1 = Console.ReadLine();
        Console.Write("Point Y - ");
        Y1 = Console.ReadLine();
        Console.Write("Point Z - ");
        Z1 = Console.ReadLine();
        if (bool.TryParse(X1, out X)&&bool.TryParse(Y1,out Y)&&bool.TryParse(Z1,out Z))
        {
          L124a = !(X | Y) & (!X | !Z);
          L124b = !(!X & Y) | (X & !Z);
          L124v = X | !Y & !(X | !Z);
          Console.WriteLine($"\nне(X или Y) и(не X или не Z) = {L124a}" +
            $" \nне(не X и Y) или(X и не Z) = {L124b} " +
            $"\nX или не Y и не(X или не Z) = {L124v}");
          break;
        }
        else
        {
          Console.WriteLine("Point correct values ");
        }
      }

L1.11.Вычислить значение логического выражения при всех возможных значениях логических величин А и В: Решил сделать через TryParse
а) не(А и В);       б) не А или В;      в) А или не В. остальные аналогично

while (true)
            {
                Console.WriteLine("Point the logical values for A and B - true or false");
                Console.Write("logical value A - ");
                bool A, B, L11a, L11b, L11v;
                string A1 = Console.ReadLine();
                
                Console.Write("logical value B - ");
                string B1 = Console.ReadLine();


                if (bool.TryParse(A1, out A ) && (bool.TryParse(B1, out B)))
                {
                    L11a = !(A & B);
                    L11b = !A | B;
                    L11v = A | !B;
                    Console.WriteLine($" \n не(А и В) = {L11a} \n не А или В = {L11b} \n А или не В = {L11v}");
                    break;
                }
                else
                {
                    Console.WriteLine("Введи правилные параметры");
                }
            }

L1.10.Вычислить значение логического выражения при следующих значениях логических величин А, В и С: А = Ложь, В = Ложь, С = Истина:
а) (не А или не В) и не С;       б) (не А или не В) и(А или В);      в) А и В или А и С или не С.
А разве «&» имеет преимущество над «|»? Если в первом примере скобки не поставить то компилятор выдает true. — L110a = !A | !B & !C; // true

      bool L110a, L110b, L110v, A, B, C;
      A = false; B = false; C = true;
      L110a = (!A | !B) & !C;// false
      L110b = (!A | !B) & (A | B);//false
      L110v = A & B | A & C | !C;//false
      Console.WriteLine($"{L110a} + {L110b} + {L110v}");

Здравствуйте, я выполнил задание 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. Вычислить значение логического выражения при следующих значениях логических величин А, В и С: А = Истина, В = Ложь, С = Ложь:
а) А или В и не С; г) А и не В или С;
б) не А и не В; д) А и (не В или С);
в) не (А и С) или В; е) А или (не (В и С)).

bool A, B, C, Res;
A = true;
B = false;
C = false;
Res = A | B & !C;
Console.WriteLine($"А) {Res}");
Res = !A & !B;
Console.WriteLine($"Б) {Res}");
Res = !(A & C) | B;
Console.WriteLine($"В) {Res}");
Res = A & !B | C;
Console.WriteLine($"Г) {Res}");
Res = A & (!B | C);
Console.WriteLine($"Д) {Res}");
Res = A | !(B & C);
Console.WriteLine($"Е) {Res}");
Console.ReadKey();
Важно: Вы можете поддержать проект и автора.

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.
Решение:

            WriteLine("Введите логические значения для X, Y и Z(true или false)");
            Write("Логическое значение X: ");
            bool X = ToBoolean(ReadLine());
            Write("Логическое значение Y: ");
            bool Y = ToBoolean(ReadLine());
            Write("Логическое значение Z: ");
            bool Z = ToBoolean(ReadLine());

            bool a = !(X || Y) && (!X || !Z);
            bool b = !(!X && Y) || (X && !Z);
            bool c = X || !Y && !(X || !Z);

            WriteLine($"A: { a}");
            WriteLine($"Б: { b}"); ;
            WriteLine($"В: { c}"); ;
Важно: Вы можете поддержать проект и автора.

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)).

Решение:

bool X, Y, Z, a, b, v, g, d, e;
            X = false;
            Y = false;
            Z = true;
            a = X | Y & !Z;
            b = !X & !Y;
            v = !(X & Z) | Y;
            g = X & !Y | Z;
            d = X & (!Y | Z);
            e = X | (!(Y | Z));
            
            Console.WriteLine($"{a}, {b}, {v}, {g}, {d}, {e}");
Важно: Вы можете поддержать проект и автора.

L1.11. Вычислить значение логического выражения при всех возможных значениях логических величин А и В:
а) не (А и В);
б) не А или В;
в) А или не В.
Решение:

static void Main(string[] args)
{
    bool A, B;
    Console.WriteLine("Выберите номер вариант: \n а) не(А и В) \n " + "б) не А или В \n в) А или не В");
    string option = Console.ReadLine();
    if (option == "а")
    {
       Console.WriteLine("Выберите вариант значения из представленных" +
       " логических величин, для того, чтобы узнать ответ логического выражения: \n 1.A = true; B = true;" +
       "\n 2.A = true; B = false \n 3.A = false; B = true; \n 4.A = false; B = false\n ");
       int theAnswer = Convert.ToInt32(Console.ReadLine());
       switch (theAnswer)
       {
          case 1:
             A = true; B = true;
             Console.WriteLine(!(A && B));
             break;
          case 2:
             A = true; B = false;
             Console.WriteLine(!(A && B));
             break;
          case 3:
             A = false; B = true;
             Console.WriteLine(!(A && B));
             break;
          case 4:
             A = false; B = false;
             Console.WriteLine(!(A && B));
             break;
          default:
             Console.WriteLine("Выберите вариант от 1 до 4");
             break;
       }
   }
   else if (option == "б")
   {
      Console.WriteLine("Выберите вариант значения из представленных" +
      " логических величин, для того, чтобы узнать ответ логического выражения: \n 1.A = true; B = true;" +
      "\n 2.A = true; B = false \n 3.A = false; B = true; \n 4.A = false; B = false\n ");
      int theAnswer = Convert.ToInt32(Console.ReadLine());
      switch (theAnswer)
      {
         case 1:
            A = true; B = true;
            Console.WriteLine(!A || B);
            break;
         case 2:
            A = true; B = false;
            Console.WriteLine(!A || B);
            break;
         case 3:
            A = false; B = true;
            Console.WriteLine(!A || B);
            break;
         case 4:
            A = false; B = false;
            Console.WriteLine(!A || B);
            break;
         default:
            Console.WriteLine("Выберите вариант от 1 до 4");
            break;
      }
   }
   else if (option == "в")
   {
      Console.WriteLine("Выберите вариант значения из представленных" +
      " логических величин, для того, чтобы узнать ответ логического выражения: \n 1.A = true; B = true;" +
      "\n 2.A = true; B = false \n 3.A = false; B = true; \n 4.A = false; B = false\n ");
      int theAnswer = Convert.ToInt32(Console.ReadLine());
      switch (theAnswer)
      {
         case 1:
            A = true; B = true;
            Console.WriteLine(A || !B);
            break;
         case 2:
            A = true; B = false;
            Console.WriteLine(A || !B);
            break;
         case 3:
            A = false; B = true;
            Console.WriteLine(A || !B);
            break;
         case 4:
            A = false; B = false;
            Console.WriteLine(A || !B);
            break;
         default:
            Console.WriteLine("Выберите вариант от 1 до 4");
            break;
      }
   }    
}

Правильно ли я понял условие задачи?
Пытался сконвертировать вводимую пользователем переменную стринг в булевскую переменную (это бы позволило решить задачу одним свитчем) , но пока что не разобрался, как пользоваться Boolean.TryParse, который нагуглил в docs.microsoft

Важно: Вы можете поддержать проект и автора.

L1.1.Вычислить значение логического выражения при следующих значениях логических величин А, В и С: А = Истина, В = Ложь, С = Ложь:
а) А или В; б) А и В; в) В или С.

bool A, B, C, X, Y, Z, result_A, result_B, result_C;
A = true;
B = false;
C = false;
result_A = A || B;
result_B = A && B;
result_C = B || C;

L1.2.Вычислить значение логического выражения при следующих значениях логических величин X, Y и Z: X = Ложь, Y = Истина, Z = Ложь:
а) X или Z; б) X и Y; в) X и Z.

bool A, B, C, X, Y, Z, result_A, result_B, result_C;
X = false;
Y = true;
Z = false;
result_A = X || Z;
result_B = X && Y;
result_C = X && Z;

L1.3.Вычислить значение логического выражения при следующих значениях логических величин А, В и С: А = Истина, В = Ложь, С = Ложь:
а) не А и В; б) А или не В; в) А и В или С.

bool A, B, C, X, Y, Z, result_A, result_B, result_C;
A = true;
B = false;
C = false;
result_A = !A && B;
result_B = A || !B;
result_C = A && B || C;

L1.4.Вычислить значение логического выражения при следующих значениях логических величин X, Y и Z: X = Истина, Y = Истина, Z = Ложь:
а) не X и Y; б) X или не Y; в) X или Y и Z.

bool A, B, C, X, Y, Z, result_A, result_B, result_C;
X = true;
Y = true;
Z = false;
result_A = !X && Y;
result_B = X || !Y;
result_C = X || Y && Z;
Важно: Вы можете поддержать проект и автора.

L1.1. Вычислить значение логического выражения при следующих значениях логических величин А, В и С: А = Истина, В = Ложь, С = Ложь:
а) А или В; б) А и В; в) В или С.

bool A, B, C, X, Y, Z;
A = true;
B = false;
C = false;
X = A | B;
Y = A & B;
Z = B | C;
Console.WriteLine($"{X}, {Y}, {Z}");

Это так типа должно быть ?)

Важно: Вы можете поддержать проект и автора.

Андрей, как я понимаю, смысл в этих задачах узнать самому значение переменной. Выводить на экран, разве, что для проверки самого себя.

            bool A=true, B=false, C=false, a, b, v, g, d, e;
            a = A || B && !C; //true
            b = !A&&!B; //false
            v = !(A && C) || B; //true
            g = A&&!B||C; //true
            d = A && !(B || C); //true
            e = A || (!(B && C)); //true
20
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x