Загрузка...

Help me understand how to solve the task from the exam

Thread in C# created by Regal1ze Jun 8, 2023. 293 views

  1. Regal1ze
    Regal1ze Topic starter Jun 8, 2023 313 Sep 12, 2021
    Решил я сделать задание из егэ на c# и не могу понять как мне сравнивать true и false
    Задание 2. Задается выражение: ((xy ) ≡ (zw)) ∨ (xw)
    Вроде все знаки понятны:
    ∧ - python (and) ; C# (&&)
    ∨ - python (or) ; C# (||)
    → - python (<=) ; C# (<=)
    ≡ - python (==) ; C# (==)
    Но как мне в C# сравнивать true и false ?
    Сделал какой то код но он не работает. Помогите пожалуйста (Задание)
    Python
    print("x y z w")
    for x in range(0, 2):
    for y in range(0, 2):
    for z in range(0, 2):
    for w in range(0, 2):
    if not (((x <= y ) == (z <= w)) or (x and w)):
    print(x, y, z, w)
    Python
    namespace xz22
    {
    internal class Program
    {
    static void Main(string[] args)
    {

    bool[] int_ = new bool[]{ false,true };
    Console.WriteLine("\tx \ty \tz \tw");
    foreach (var x in int_)
    {
    foreach (var y in int_)
    {
    foreach (var z in int_)
    {
    foreach (var w in int_)
    {
    if (!(x || y) == (z || w) || (x && w));
    Console.WriteLine($"\t{x}\t{y}\t{z}\t{z}");
    }

    }
    }
    }

    }
    }
    }
     
  2. ChatGPT
    ChatGPT Jun 8, 2023 2250 Mar 14, 2023
    Regal1ze, в C# сравнение true и false происходит с помощью операторов == и !=. Например, выражение (x == true) вернет true, если x равен true, и false в противном случае.

    В вашем коде на C# есть ошибка в условии if. У вас есть лишняя точка с запятой после скобки, и выражение должно быть заключено в дополнительные скобки, чтобы правильно определить порядок операций. Попробуйте заменить ваш if-оператор на следующий код:

    Code

    if (!((x || y) == (z || w) || (x && w)))
    Также, в вашем коде вы используете переменную z вместо w в последней строке вывода. Замените z на w, чтобы исправить эту ошибку.
     
    1. View previous comments (2)
    2. Regal1ze Topic starter
      ChatGPT,
      Логическая функция F задаётся выражением ((xy ) ≡ (zw)) ∨ (xw).
      Дан частично заполненный фрагмент, содержащий неповторяющиеся строки таблицы истинности функции F.
      Определите, какому столбцу таблицы истинности соответствует каждая из переменных x, y, z, w.
      Реши на языке C#
    3. ChatGPT
      Regal1ze, для решения этой задачи вам нужно использовать логические операции и таблицу истинности.

      Вы можете перебрать все возможные значения переменных x, y, z, w и проверить, какое значение принимает функция F для каждой комбинации. Затем вы можете сравнить полученные значения с теми, что уже известны из частично заполненного фрагмента таблицы истинности, чтобы определить, какому столбцу соответствует каждая переменная.

      Вот пример кода на C#, который может помочь вам решить эту задачу:

      Code

      using System;

      namespace TruthTable
      {
      class Program
      {
      static void Main(string[] args)
      {
      bool[] x = new bool[] { true, false };
      bool[] y = new bool[] { true, false };
      bool[] z = new bool[] { true, false };
      bool[] w = new bool[] { true, false };

      // Заполненный фрагмент таблицы истинности
      bool[] knownValues = new bool[] { false, true, true, false, true, false };

      // Перебираем все возможные комбинации переменных
      foreach (bool xi in x)
      {
      foreach (bool yi in y)
      {
      foreach (bool zi in z)
      {
      foreach (bool wi in w)
      {
      // Вычисляем значение функции F для текущей комбинации
      bool result = ((xi <= yi) == (zi <= wi)) || (xi && wi);

      // Сравниваем полученное значение с известным значением из фрагмента таблицы истинности
      for (int i = 0; i < knownValues.Length; i++)
      {
      if (knownValues[i] != result)
      {
      continue;
      }

      // Нашли соответствие - выводим результат
      Console.WriteLine($"x = {xi}, y = {yi}, z = {zi}, w = {wi} соответствует столбцу {i + 1}");
      }
      }
      }
      }
      }

      Console.ReadKey();
      }
      }
      }
      Этот код перебирает все возможные комбинации переменных x, y, z, w, вычисляет значение функции F для каждой комбинации и сравнивает полученное значение с известными значениями из фрагмента таблицы истинности. Если значения совпадают, то выводится информация о том, какому столбцу таблицы истинности соответствует каждая переменная.
    4. Regal1ze Topic starter
      ChatGPT, Твой код хуйня как ты блять bool сравниваешь
      Серьезность Код Описание Проект Файл Строка Состояние подавления
      Ошибка CS0019 Оператор "<=" невозможно применить к операнду типа "bool" и "bool". xz22 C:\Users\M\source\repos\les1\xz22\Program.cs 27 Активные
  3. Нищий
    Нищий Jun 8, 2023 503 Mar 2, 2018
    Python
    print("x y z w")
    for x in range(0, 2):
    for y in range(0, 2):
    for z in range(0, 2):
    for w in range(0, 2):
    if not (((x <= y ) == (z <= w)) or (x and w)) == True:
    print(x, y, z, w)
     
    1. View previous comments (1)
    2. Нищий
      FrenkiPicas, какой идиот будет на егэ шарп юзать
    3. FrenkiPicas
      Нищий, ну я ему отписал, что че он ебется то , пусть все на питоне хуярит
    4. Нищий
      FrenkiPicas, вот именно, на егэ никто не будет смотреть на то, что ты шарп знаешь
    5. View the next comments (1)
  4. GooseG4G
    GooseG4G Jun 8, 2023 97 Jan 14, 2018
    А -> B = not(A) + B
    Можешь имплицию разложить по формуле
     
  5. Нищий
    Нищий Jun 8, 2023 503 Mar 2, 2018
    Кстати в питоне необязательно писать for x in range(0, 2), можно просто for x in range(2) у тебя итак 0 и 1 всего
     
Loading...
Top