L2. Составление логических выражений

Напишите в комментарии к этой записи консольные приложения для решения этих задач, указав код задачи.
Решены задачи: 1-3,5-7 Не решены: 4

Задачи

L2.1. Записать логические выражения, которые имеют значение «Истина» только при выполнении указанных условий:
а) x < 2 и у < 3;
б) неверно, что x < 2;
в) x < 1 или y < 2;
г) неверно, что x < 0 и x < 5;
д) x < 0 и у > 5;
е) 10 < x < 20;
ж) x > 3 или x < 1;
з) 0 < y < 4 и x < 5;
и) х > 3  и x < 10.

L2.2. Записать условие, которое является истинным, когда:
а) каждое из чисел А и В больше 100;
б) только одно из чисел А и В четное;
в) хотя бы одно из чисел А и В положительно;
г) каждое из чисел А, В, С кратно трем;
д) только одно из чисел А, В и С меньше 50;
е) хотя бы одно из чисел А, В, С отрицательно.

L2.3. Записать условие, которое является истинным, когда:
а) каждое из чисел X и Y нечетное;
б) только одно из чисел X и Y меньше 20;
в) хотя бы одно из чисел X и Y равно нулю;
г) каждое из чисел X, Y, Z отрицательное;
д) только одно из чисел X, Y и Z кратно пяти;
е) хотя бы одно из чисел X, Y, Z  больше 100.

L2.4. Записать условие, которое является истинным, когда:
а) целое А кратно двум или трем;
б) целое А не кратно трем и оканчивается нулем.

L2.5. Записать условие, которое является истинным, когда:
а) целое N кратно пяти или семи;
б) целое N кратно четырем и не оканчивается нулем.

L2.6. Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8: первое число — номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). Даны натуральные числа a, b, c, d, каждое из которых не превосходит 8.
а) На поле (a, b) расположена ладья. Записать условие, при котором она угрожает полю (c, d).
б) На поле (a, b) расположен слон. Записать условие, при котором он угрожает полю (c, d).
в) На поле (a, b) расположен король. Записать условие, при котором он может одним ходом попасть на поле (c, d).
г) На поле (a, b) расположен ферзь. Записать условие, при котором он угрожает полю (c, d).
д) На поле (a, b) расположена белая пешка. Записать условие, при котором она может одним ходом попасть на поле (c, d):
— при обычном ходе;
— когда она «бьет» фигуру или пешку соперника.
Примечание. Белые пешки перемещаются на доске снизу вверх.
е) На поле (a, b) расположена черная пешка. Записать условие, при котором она может одним ходом попасть на поле (c, d):
— при обычном ходе;
— когда она «бьет» фигуру или пешку соперника.
Примечание. Черные пешки перемещаются на доске сверху вниз.
ж) На поле (a, b) расположен конь. Записать условие, при котором он угрожает полю (c, d).

L2.7. Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8: первое число — номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). Даны натуральные числа a, b, c, d, e, f, каждое из которых не превосходит 8. Записать условие, при котором белая фигура, расположенная на поле (a, b), может одним ходом пойти на поле (e, f), не попав при этом под удар черной фигуры, находящейся на поле (c, d). Рассмотреть следующие варианты сочетаний белой и черной фигур:
а) ладья и ладья;
б) ладья и ферзь;
в) ладья и конь;
г) ладья и слон;
д) ферзь и ферзь;
е) ферзь и ладья;
ж) ферзь и конь;
з) ферзь и слон;
и) конь и конь;
к) конь и ладья;
л) конь и ферзь;
м) конь и слон;
н) слон и слон;
о) слон и ферзь;
п) слон и конь;
р) слон и ладья;
с) король и слон;
т) король и ферзь;
у) король и конь;
ф) король и ладья.


NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.


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

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

L2.6. С визуализацией небольшой)   

private static char[,] ReadMap(string path)
  {
    string[] file = File.ReadAllLines(«map.txt»);

    char[,] map = new char[GetMaxLengthOfLine(file), file.Length];

    for (int x = 0; x < map.GetLength(0); x++)
      for (int y = 0; y < map.GetLength(1); y++)
        map[x, y] = file[y][x];

    return map;
  }
  private static int GetMaxLengthOfLine(string[] lines)
  {
    int maxLength = lines[0].Length;

    foreach (var line in lines)
      if (line.Length > maxLength)
        maxLength = line.Length;

    return maxLength;

  }
  private static void DrawMap(char[,] map)
  {
    for (int y = 0; y < map.GetLength(1); y++)
    {
      for (int x = 0; x < map.GetLength(0); x++)
      {
        Console.Write(map[x, y]);
      }

      Console.Write(«\n»);
    }

  }

  private static void ChessBoard(int x, int y, char[,] map)

  {
    char nextCell = map[x, y — 1];

    if (y == 1) y = 7;
    else if (y == 2) y = 6;
    else if (y == 3) y = 5;
    else if (y == 4) y = 4;
    else if (y == 5) y = 3;
    else if (y == 6) y = 2;
    else if (y == 7) y = 1;
    else if (y == 8) y = 0;

    if (x == 1) x = 1;
    else if (x == 2) x = 4;
    else if (x == 3) x = 7;
    else if (x == 4) x = 10;
    else if (x == 5) x = 13;
    else if (x == 6) x = 16;
    else if (x == 7) x = 19;
    else if (x == 8) x = 22;

    Console.SetCursorPosition(x, y);
  }

  static void Main(string[] args)
  {

    int a, b, c, d, e = 1;
    Random random = new Random();
    a = random.Next(1, 9);
    b = random.Next(1, 9);
    c = random.Next(1, 9);
    d = random.Next(1, 9);
    bool result = false;
     
    Console.CursorVisible = false;

    char[,] map = ReadMap(«map.txt»);
    DrawMap(map);
    ChessBoard(a, b, map);
    Console.Write(‘#’);
    ChessBoard(c, d, map);
    Console.Write(‘@’);

    Console.SetCursorPosition(30, 0);
    Console.Write($»# — Белая фигура на {a}, {b}»);
    Console.SetCursorPosition(30, 1);
    Console.Write($»@ — Чёрная фигура на {c}, {d}»);

    Console.SetCursorPosition(0, 10);
    Console.WriteLine($»На поле {a}, {b} расположена ладья.»);
    if (a == c || b == d)
    {
      Console.WriteLine($»Ладья на {a}, {b}. Чёрная фигура под ударом.»);
    }
    else
    {
      Console.WriteLine(«Угрозы чёрной фигуре нет.»);
    }

    Console.WriteLine($»\nНа поле {a}, {b} расположен слон.»);

    for (int i = 1; i <= 8; i++)
    {
      if (a + i == c && b + i == d || Math.Abs(a — i) == c && Math.Abs(b — i) == d || a + i == c && Math.Abs(b — i) == d ||
        Math.Abs(a — i) == c && b + i == d)
      {
        Console.WriteLine($»Слон на {a}, {b}. Чёрная фигура под ударом.»);
        result = false;
        break;
      }
      else result = true;
    }

    if (result)
    {
      Console.WriteLine(«Угрозы чёрной фигуре нет.»);
    }

    Console.WriteLine($»\nНа поле {a}, {b} расположен Король.»);
    if (Math.Abs(a — c) <= 1 && Math.Abs(b — d) <= 1)
    {
      Console.WriteLine($»Король может сходить на {c}, {d}.»);
    }
    else { Console.WriteLine($»Король НЕ может сходить на {c}, {d}.»); }

    Console.WriteLine($»\nНа поле {a}, {b} расположен Ферзь.»);
    for (int i = 0; i <= 8; i++)
    {
      if (a == c || b == d || a + i == c && b + i == d || Math.Abs(a — i) == c && Math.Abs(b — i) == d
        || a + i == c && Math.Abs(b — i) == d || Math.Abs(a — i) == c && b + i == d)
      {
        Console.WriteLine($»Ферзь на {a}, {b}. Чёрная фигура под ударом.»);
        result = false;
        break;
      }
      else result = true;
    }

    if (result)
    {
      Console.WriteLine(«Угрозы чёрной фигуре нет.»);
    }

    Console.WriteLine($»\nНа поле {a}, {b} расположена Белая пешка.»);
    if (a == c && b + e == d || b == 8)
    {
      Console.WriteLine($»Белая Пешка НЕ может сходить на {c}, {d}.»);
    }
    else if (a != c || a == c && b + e != d)
    {
      Console.WriteLine($»Белая Пешка может сходить на {a}, {b + 1}.»);
    }
    else if (Math.Abs(a — c) == 1 && b + e == d)
    {
      Console.WriteLine($»Белая Пешка может ходит на {c}, {b}. Забирая при этом Чёрную фигуру»);
    }

    Console.WriteLine($»\nНа поле {a}, {b} расположена Чёрная пешка.»);
    if (a == c && b — e == d || b == 1)
    {
      Console.WriteLine($»Чёрная Пешка НЕ может сходить на {c}, {d}.»);
    }
    else if (a != c || a == c && b — e != d)
    {
      Console.WriteLine($»Чёрная Пешка может сходить на {a}, {b — 1}.»);
    }
    else if (Math.Abs(a — c) == 1 && b — e == d)
    {
      Console.WriteLine($»Чёрная Пешка может ходит на {c}, {b}. Забирая при этом Белую фигуру»);
    }

    Console.WriteLine($»\nНа поле {a}, {b} расположен Конь.»);
    if (a + e * 2 == c && b + e == d || a + e == c && b + e * 2 == d || a — e == c && b + e * 2 == d || a — e * 2 == c && b + e == d
      || a + e == c && b — e * 2 == d || a + e * 2 == c && b — e == d || a — e * 2 == c && b — e == d || a — e == c && b — e * 2 == d)
    {
      Console.WriteLine($»Конь угрожает фигуре на {c}, {d}.»);
    }
    else
    {
      Console.WriteLine($»Фигуре на {c}, {d}. Ни чего не угрожает»);
    }

  }

L2.4. Записать условие, которое является истинным, когда:
а) целое А кратно двум или трем;
б) целое А не кратно трем и оканчивается нулем.

int A = int.Parse(Console.ReadLine());

bool a = A % 2 == 0 | A % 3 == 0;
bool b = A % 3 != 0 & A % 10 == 0;// т.к. только числа заканчивающиеся на 0 могут дать при делении на 10 остаток 0.

Console.WriteLine($»a){a}\nb){b}»);
Console.ReadKey();

Последний раз редактировалось 1 год назад Егорчик) ем

L2.6в) На поле (a, b) расположен король. Записать условие, при котором он может одним ходом попасть на поле (c, d).
           Console.WriteLine(«Vvedite a b c d cherez enter «);
           int a = Convert.ToInt32(Console.ReadLine());
           int b = Convert.ToInt32(Console.ReadLine());
           int c = Convert.ToInt32(Console.ReadLine());
           int d = Convert.ToInt32(Console.ReadLine());

           if (1 <= a && a <= 8 && 1 <= b && b <= 8 && 1 <= c && c <= 8 && 1 <= d && d <= 8)
           { Console.WriteLine(«Verno! vashi kletki : (» + a + «, » + b + » ) i (» + c + » ,» + d + «) » ); }
           else {Console.WriteLine(«NE Verno»); }

           if ((a + 1 == c && b + 1 == d)||(a + 1 == c && b == d)|| (a — 1 == c && b == d) || (a + 1 == c && b == d) ||
               (a == c && b + 1 == d) || (a == c && b — 1 == d)|| (a + 1 == c && b -1 == d) || (a — 1 == c && b+1 == d))

           {
               Console.WriteLine(«угрожает полю c, d»);
           }
           else
           {
               Console.WriteLine(» на своем поле»);
           }

if ((a — c) == 1 || (b — d) == 1)

да
можно было так…………………………………
гениальные мысли преследовали меня, но я была быстрее

б) На поле (a, b) расположен слон. Записать условие, при котором он угрожает полю (c, d).

 Console.WriteLine(«Vvedite a b c d cherez enter «);
           int a = Convert.ToInt32(Console.ReadLine());
           int b = Convert.ToInt32(Console.ReadLine());
           int c = Convert.ToInt32(Console.ReadLine());
           int d = Convert.ToInt32(Console.ReadLine());
           int i = Convert.ToInt32(Console.ReadLine());

           if (1<=a && a<=8 && 1<=b && b<=8 && 1<=c && c<=8 && 1<=d && d<=8)
           {
               Console.WriteLine(«Verno! vashi kletki : (» + a + «, » + b + » ) i (» + c + » ,» + d + «) I kolvo kletok peremeshenija » +i);  
           }
           else
           {
               Console.WriteLine(«NE Verno»);
           }

           if (a + i >= c && b + i >= d)
           {
               Console.WriteLine(«Ладья угрожает полю c, d»);
           }
           else
           {
               Console.WriteLine(«Ладья на своем поле»);
           }

L2.6.a)На поле (a, b) расположена ладья. Записать условие, при котором она угрожает полю (c, d).

Console.WriteLine(«Vvedite a b c d cherez enter «);
           int a = Convert.ToInt32(Console.ReadLine());
           int b = Convert.ToInt32(Console.ReadLine());
           int c = Convert.ToInt32(Console.ReadLine());
           int d = Convert.ToInt32(Console.ReadLine());

           if (1<=a && a<=8 && 1<=b && b<=8 && 1<=c && c<=8 && 1<=d && d<=8)
           {
               Console.WriteLine(«Verno » + a + » » + b + » » + c + » » + d);
           }
           else
           {
               Console.WriteLine(«NE Verno»);
           }

           if (a == c || b == d)
           {
               Console.WriteLine(«Ладья угрожает полю c, d»);
           }
           else
           {
               Console.WriteLine(«Ладья на своем поле»);
           }
       

L2.4.

{
           //   Записать условие, которое является истинным, когда:
           //а) целое А кратно двум или трем;
          // б) целое А не кратно трем и оканчивается нулем.

           bool a = false, b = false;
           int A = Convert.ToInt32(Console.ReadLine());

           Console.WriteLine(«vvashi dannie » + A + » » + a + » » + b );

           if (A % 2 == 0 || A % 3 == 0)
               a = true;
           if (A % 3 != 0 && A % 10 == 0)
               b = true;

           Console.WriteLine(«vvashi NEW dannie » + A + » » + a + » » + b );

       }

L2.2{
           //   Записать условие, которое является истинным, когда:
           //) каждое из чисел А и В больше 100;
           //) только одно из чисел А и В четное;
           //) хотя бы одно из чисел А и В положительно;
           //) каждое из чисел А, В, С кратно трем;
           //) только одно из чисел А, В и С меньше 50;
           // f) хотя бы одно из чисел А, В, С отрицательно.

           bool a = false, b = false, c = false, d = false, e = false, f = false;
           int A = Convert.ToInt32(Console.ReadLine());
           int B = Convert.ToInt32(Console.ReadLine());
           int C = Convert.ToInt32(Console.ReadLine());

           Console.WriteLine(«vvashi dannie» + A + B + C + a + b + c + d + e + f);

           if (A > 100 && B > 100)
               a = true;
           if ( (A%2) ==0 ||(B%2)==0)
               b = true;
           if ((A > 0) || (B > 0))
               c = true;
           if ((A % 3) == 0 && (B % 3) == 0 && (C % 3) == 0)
               d = true;
           if ((A <50) || (B <50) || ( C <50))
               e = true;
           if ((A < 0) || (B < 0) || (C < 0) )
               f = true;

           Console.WriteLine(«vvashi NEW dannie » + A + » «+ B + » » +C + » » + a + » » + b + » » + c + » » + d + » » + e + » » + f);

       }

//L2.3.Записать условие, которое является истинным, когда:
      //а) каждое из чисел X и Y нечетное;
      //б) только одно из чисел X и Y меньше 20;
      //в) хотя бы одно из чисел X и Y равно нулю;
      //г) каждое из чисел X, Y, Z отрицательное;
      //д) только одно из чисел X, Y и Z кратно пяти;
      //е) хотя бы одно из чисел X, Y, Z больше 100.
      double X, Y, Z;
      double[] variables = new double[3];
      bool result = true;
      for (int i = 0; i < 3; i++)
      {  
        if (i == 0)
        Console.Write(«Введите значение числа X = «);
        else if (i == 1)
        Console.Write(«Введите значение числа Y = «);
        else if (i == 2)
        Console.Write(«Введите значение числа Z = «);
        variables[i] = double.Parse(Console.ReadLine());  
      }
      X = variables[0];
      Y = variables[1];
      Z = variables[2];
      Console.WriteLine();
      Console.WriteLine(«Выбирете одно из условий:» +
        «\nа) каждое из чисел X и Y нечетное;» +
        «\nб) только одно из чисел X и Y меньше 20;» +
        «\nв) хотя бы одно из чисел X и Y равно нулю;» +
        «\nг) каждое из чисел X, Y, Z отрицательное;» +
        «\nд) только одно из чисел X, Y и Z кратно пяти;» +
        «\nе) хотя бы одно из чисел X, Y, Z больше 100.»);
      string s = Console.ReadLine();
      Console.WriteLine();
      
        switch (s)
        {
          case «а)»:
            result = (X % 2 != 0) & (Y % 2 != 0);
            break;
          case «б)»:
            result = (X < 20) ^ (Y < 20);
            break;
          case «в)»:
            result = (X == 0) | (Y == 0);
            break;
          case «г)»:
            result = (X < 0) & (Y < 0) & (Z < 0);
            break;
          case «д)»:
            result = (X % 5 == 0) ^ (Y % 5 == 0) ^ (Z % 5 == 0);
            break;
          case «е)»:
            result = (X > 100) | (Y > 100) | (Z > 100);
            break;
          default:
            Console.WriteLine(«Неизвестное значение!»);
            break;
        }
        Console.WriteLine(result);
        Console.ReadLine();

 //L2.3.Записать условие, которое является истинным, когда:
      //а) каждое из чисел X и Y нечетное;
      //б) только одно из чисел X и Y меньше 20;
      //в) хотя бы одно из чисел X и Y равно нулю;
      //г) каждое из чисел X, Y, Z отрицательное;
      //д) только одно из чисел X, Y и Z кратно пяти;
      //е) хотя бы одно из чисел X, Y, Z больше 100.
      double X, Y, Z;
      double[] variables = new double[3];
      bool[] XYZ = { true, false };
      bool result = true;
      for (int i = 0; i < 3; i++)
      {  
        if (i == 0)
        Console.Write(«Введите значение числа X = «);
        else if (i == 1)
        Console.Write(«Введите значение числа Y = «);
        else if (i == 2)
        Console.Write(«Введите значение числа Z = «);
        variables[i] = double.Parse(Console.ReadLine());  
      }
      X = variables[0];
      Y = variables[1];
      Z = variables[2];
      Console.WriteLine(«Выбирете одно из условий:» +
        «\nа) каждое из чисел X и Y нечетное;» +
        «\nб) только одно из чисел X и Y меньше 20;» +
        «\nв) хотя бы одно из чисел X и Y равно нулю;» +
        «\nг) каждое из чисел X, Y, Z отрицательное;» +
        «\nд) только одно из чисел X, Y и Z кратно пяти;» +
        «\nе) хотя бы одно из чисел X, Y, Z больше 100.»);
      string s = Console.ReadLine();
      foreach (bool x in XYZ)
      foreach (bool y in XYZ)
      foreach (bool z in XYZ)
      switch (s)
      {
        case «a)»:
          result = ((X % 2 != 0) && (Y % 2 != 0));
          break;
        case «б)»:
          result = ((X < 0) ^ (Y < 0));
          break;
        case «в)»:
          result = ((X == 0) || (Y == 0));
          break;
        case «г)»:
          result = ((X < 0) && (Y < 0) && (Z < 0));
          break;
        case «д)»:
          result = ((X % 5 == 0) ^ (Y % 5 == 50) ^ (Z % 5 == 0));
          break;
        case «е)»:
          result = ((X > 100) || (Y > 100) || (Z > 100));
          break;
        default:
          Console.WriteLine(«Неизвестное значение!»);
          break;
      }
      Console.WriteLine(result);
      Console.ReadLine();

L2.1 — L2.5 Вот такие решения

        static void Main()
        {
            string[] Exp = new string[25]
            { "1) x < 2 и у< 3",
            "2) неверно, что x< 2",
            "3) x < 1 или y< 2",
            "4) неверно, что x< 0 и x< 5",
            "5) x < 0 и у > 5",
            "6) 10 < x < 20",
            "7) x > 3 или x< 1",
            "8) 0 < y < 4 и x< 5",
            "9) х > 3  и x< 10",
            "10) каждое из чисел А и В больше 100",
            "11) только одно из чисел А и В четное",
            "12) хотя бы одно из чисел А и В положительно",
            "13) каждое из чисел А, В, С кратно трем",
            "14) только одно из чисел А, В и С меньше 50",
            "15) хотя бы одно из чисел А, В, С отрицательно",
            "16) каждое из чисел X и Y нечетное",
            "17) только одно из чисел X и Y меньше 20",
            "18) хотя бы одно из чисел X и Y равно нулю",
            "19) каждое из чисел X, Y, Z отрицательное",
            "20) только одно из чисел X, Y и Z кратно пяти",
            "21) хотя бы одно из чисел X, Y, Z  больше 100",
            "22) целое А кратно двум или трем",
            "23) целое А не кратно трем и оканчивается нулем",
            "24) целое N кратно пяти или семи",
            "25) целое N кратно четырем и не оканчивается нулем"};
            int[] Num = new int[25];
            for (int n=0; n< Num.Length;n++) Num[n] = n + 1 ;
            int X, Y, Z, A, B, C, N;
            bool Res=false;
            for (int t = 0; t < Num.Length; t++)
            {
                switch (Num[t])
                {
                    case 1: X = 1; Y = 2; Res = X < 2 & Y < 3; break;
                    case 2: X = 3; Res = !(X < 2); break;
                    case 3: X = 1; Y = 1; Res = (X < 1) | (Y < 2); break;
                    case 4: X = 4; Res = !((X < 0) & (X < 5)); break;
                    case 5: X = -5; Y = 6; Res = (X < 0) & (Y > 5); break;
                    case 6: X = 14; Res = (10 < X) & (X < 20); break;
                    case 7: X = 4; Res = (X > 3) | (X < 1); break;
                    case 8: Y = 3; X = 4; Res = (Y > 0) & (Y < 4) & (X < 5); break;
                    case 9: X = 6; Res = (X > 3) & (X < 10); break;
                    case 10: A = 105; B = 110; Res = (A > 100) & (B > 100); break;
                    case 11: A = 15; B = 18; Res = A % 2 == 0 ^ B % 2 == 0; break;
                    case 12: A = 14; B = -28; Res = A > 0 | B > 0; break;
                    case 13: A = 3; B = 6; C = 27; Res = (A % 3 == 0) & (B % 3 == 0) & (C % 3 == 0); break;
                    case 14: A = 456; B = 789; C = 45; Res = (A < 50) ^ (B < 50) ^ (C < 50); break;
                    case 15: A = -42;B = -2;C = 24;Res = (A < 0) | (B < 0) | (C < 0); break;
                    case 16: X = 13;Y = 15; Res = (X % 2 != 0) & (Y % 2 != 0); break;
                    case 17: X = 32; Y = 13; Res = (X < 20) ^ (Y < 20); break;
                    case 18: X = 0;Y = 1; Res = (X == 0) | (Y == 0); break;
                    case 19: X = -1;Y = -2;Z = -3;Res = (X < 0) & (Y < 0) & (Z < 0); break;
                    case 20: X = 234; Y = 3241; Z = 3235; Res = (X % 5 == 0) ^ (Y % 10 == 5) ^ (Z % 5 == 0); break;
                    case 21: X = 26; Y = 98;Z = 126; Res = (X > 100) | (Y > 100) | (Z > 100); break;
                    case 22: A = 9; Res = (A % 2 == 0) | (A % 3 == 0); break;
                    case 23: A = 130; Res = (A % 3 != 0) & (A % 10 == 0); break;
                    case 24: N = 49; Res = (N % 5 == 0) | (N % 7 == 0); break;
                    case 25: N = 24; Res = (N % 4 == 0) & (N % 10 != 0); break;
                }
                Console.WriteLine($"{Exp[t]} = {Res}");
            }
        }


L.2.2

bool z;
Console.Write(«Введите число А: «);
int A = Convert.ToInt32(Console.ReadLine());
Console.Write(«Введите число B: «);
int B = Convert.ToInt32(Console.ReadLine());
Console.Write(«Введите число C: «);
int C = Convert.ToInt32(Console.ReadLine());

if (A > 100 && B > 100)
{
  z = true;
  Console.WriteLine($»{z} — а»);
}
if ((A % 2 == 0) ^ (B % 2 == 0))
{
  z = true;
  Console.WriteLine($»{z} — б»);

}
if ((A > 0) || (B > 0))
{
  z = true;
  Console.WriteLine($»{z} — в»);

}
if ((A % 3 == 0) && (B % 3 == 0) && (C % 3 == 0))
{
  z = true;
  Console.WriteLine($»{z} — г»);

}
if ((A < 50) ^ (B < 50) ^ (C < 50))
{
  z = true;
  Console.WriteLine($»{z} — д»);

}
if ((A < 0) || (B < 0) || (C < 0))
{
  z = true;
  Console.WriteLine($»{z} — е»);

}

L.2.6.

int a = 4;
int b = 7;
int c =6;
int d = 5;


Console.WriteLine("Фигура расположена на a={0} b={1}", a, b);
Console.WriteLine("Поле c={0} d={1}\n", c, d);
if (d == b || a == c)
    Console.WriteLine("Ладья угрожает слону");
else Console.WriteLine("Слон в безопасности");


if (Math.Abs(a-c)== Math.Abs(b-d))
        Console.WriteLine("Слон угрожает ладье");
else Console.WriteLine("Ладья в безопасности");


if (((Math.Abs(a-c) <= 1) && (Math.Abs(a-c) >= 0)) && ((Math.Abs(b-d)<=1)&&Math.Abs(b-d)>=0))
    Console.WriteLine("Король в 1 ходе от c={2} d={3} ",a,b,c,d);
else Console.WriteLine("Король далеко");


if ((d == b || a == c) || (Math.Abs(a - c) == Math.Abs(b - d)))
    Console.WriteLine("Ферзь угрожает");
else Console.WriteLine("Ферзь не угрожает");


if (d-b == 1 && a==c)
    Console.WriteLine("Белая пешка в 1 ходе от поля c d");
else Console.WriteLine("Белая пешка далеко");


if ((a != c) && (d - b) == 1)
    Console.WriteLine("Белая пешка может съесть");
else Console.WriteLine("Белая пешка не ест");


if (b - d == 1 && a==c)
    Console.WriteLine("Черная пешка в 1 ходе от поля c d");
else Console.WriteLine("Черная пешка далеко");


if ((a != c) && (b - d) == 1)
    Console.WriteLine("Черная пешка может съесть");
else Console.WriteLine("Черная пешка не ест");


if ((Math.Abs(c - a) == 1 && Math.Abs(d - b) == 2) || (Math.Abs(c - a) == 2 && Math.Abs(d - b) == 1))
    Console.WriteLine("Конь бьет");
else Console.WriteLine("Конь не бьет");
Последний раз редактировалось 2 лет назад Рафаиль ем

L2.4. Записать условие, которое является истинным, когда:
а) целое А кратно двум или трем;
б) целое А не кратно трем и оканчивается нулем.

int A = 40;
Console.WriteLine("A={0}",A);
if (A % 2 == 0 && A % 3 == 0)
    Console.WriteLine("а) А кратно 2 или 3");
else Console.WriteLine("а) Условие не выполнено");


if (!(A % 3 == 0) && A % 10 == 0)
    Console.WriteLine("б) целое А не кратно трем и оканчивается нулем");
else Console.WriteLine("б) Условие не выполнено");

L2.2. Записать условие, которое является истинным, когда:
а) каждое из чисел А и В больше 100;
б) только одно из чисел А и В четное;
в) хотя бы одно из чисел А и В положительно;
г) каждое из чисел А, В, С кратно трем;
д) только одно из чисел А, В и С меньше 50;
е) хотя бы одно из чисел А, В, С отрицательно.

 bool a = false, b = false, c = false, d = false, e = false, f = false;
            int A, B, C;
            Console.Write("A=");
            A = Convert.ToInt32(Console.ReadLine());
            Console.Write("B=");
            B = Convert.ToInt32(Console.ReadLine());
            Console.Write("C=");
            C = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine($"A={A} B={B} C={C}");
            if(A>100 && B>100)
                a = true;
            if(A%2==0 ^ B%2==0)
                b = true;
            if (A > 0 || B > 0)
                c = true;
            if (A % 3 == 0 && B % 3 == 0 && C % 3 == 0)
                d = true;
            if (A < 50 ^ B < 50 ^ C < 50)
                e = true;
            if (A < 0 || B < 0 || C < 0)
                f = true;
            Console.WriteLine($"a={a} b={b} c={c} d={d} e={e} f={f}");
Важно: Вы можете поддержать проект и автора.

L2.6. б) На поле (a, b) расположен слон. Записать условие, при котором он угрожает полю (c, d).

решение:

static void Main(string[] args)
{
int a = 0, b = 0, c = 0, d = 0;

a = Convert.ToInt32(Console.ReadLine());
b = Convert.ToInt32(Console.ReadLine());
c = Convert.ToInt32(Console.ReadLine());
d = Convert.ToInt32(Console.ReadLine());

if ((a > 8 || b > 8 || c > 8 || d > 8) || (a < 1 || b < 1 || c < 1 || d = 1; i—, q—)
True_Method(c, d, i, q);

Console.WriteLine(«»);

for (int i = a, q = b; q = 1; i—, q++)
True_Method(c, d, i, q);

Console.WriteLine(«»);

for (int i = a, q = b; i <= 8; i++, q—)
True_Method(c, d, i, q);
}

private static void True_Method(int c, int d, int i, int q)
{
if (i == c & q == d)
Console.Write("есть угроза!");
}

верно?

L2.6. Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8: первое число — номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). Даны натуральные числа a, b, c, d, каждое из которых не превосходит 8.
б) На поле (a, b) расположен слон. Записать условие, при котором он угрожает полю (c, d).

static void Main(string[] args)
{
int a = 0, b = 0, c = 0, d = 0;

a = Convert.ToInt32(Console.ReadLine());
b = Convert.ToInt32(Console.ReadLine());
c = Convert.ToInt32(Console.ReadLine());
d = Convert.ToInt32(Console.ReadLine());

if ((a > 8 || b > 8 || c > 8 || d > 8) || (a < 1 || b < 1 || c < 1 || d = 1; i—, q—)
True_Method(c, d, i, q);

Console.WriteLine(«»);

for (int i = a, q = b; q = 1; i—, q++)
True_Method(c, d, i, q);

Console.WriteLine(«»);

for (int i = a, q = b; i <= 8; i++, q—)
True_Method(c, d, i, q);
}

private static void True_Method(int c, int d, int i, int q)
{
if (i == c & q == d)
Console.Write("есть угроза!");
}
}

так верно?

L2.6. Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8: первое число — номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). Даны натуральные числа a, b, c, d, каждое из которых не превосходит 8.
б) На поле (a, b) расположен слон. Записать условие, при котором он угрожает полю (c, d).
using System;

class programm
{
static void Main(string[] args)
{
int a = 0, b = 0, c = 0, d = 0;

a = Convert.ToInt32(Console.ReadLine());
b = Convert.ToInt32(Console.ReadLine());
c = Convert.ToInt32(Console.ReadLine());
d = Convert.ToInt32(Console.ReadLine());

if ((a > 8 || b > 8 || c > 8 || d > 8) || (a < 1 || b < 1 || c < 1 || d = 1; i—, q—)
True_Method(c, d, i, q);

Console.WriteLine(«»);

for (int i = a, q = b; q = 1; i—, q++)
True_Method(c, d, i, q);

Console.WriteLine(«»);

for (int i = a, q = b; i <= 8; i++, q—)
True_Method(c, d, i, q);
}

private static void True_Method(int c, int d, int i, int q)
{
if (i == c & q == d)
Console.Write("есть угроза!");
}
}

так верно?

static void Main(string[] args)
{
// L2.1. Записати логічний вираз, котрі мають значення «істина» тільки при виконанні певних умов:

int x = int.Parse(Console.ReadLine());
int y = int.Parse(Console.ReadLine());
bool result;

// x < 2 и у< 3;
if (x < 2 && y < 3)
{
Console.WriteLine("a = "+(result = true));
}

// невірно, что x < 2;
if (!(x < 2))
{
Console.WriteLine("b = " + (result = true));
}

// x < 1 или y< 2;
if (x < 1 || y < 2)
{
Console.WriteLine("c = " + (result = true));
}

// неверно, что x< 0 и x< 5;
if (!(x < 0 && x < 5))
{
Console.WriteLine("d = " + (result = true));
}

// x 5;
if (x 5)
{
Console.WriteLine(«i = » + (result = true));
}

// 10 < x < 20;
if (10 < x && x 3 или x 3 || x < 1)
{
Console.WriteLine("g = " + (result = true));
}

// 0 < y < 4 и x < 5;
if ((0 < y && y < 4) && x 3 и x 3 && x < 10)
{
Console.WriteLine("k = " + (result = true));
}
}

Ну и налепил я тут каши :))
Записать условие, которое является истинным, когда:
а) каждое из чисел А и В больше 100;
б) только одно из чисел А и В четное;
в) хотя бы одно из чисел А и В положительно;
г) каждое из чисел А, В, С кратно трем;
д) только одно из чисел А, В и С меньше 50;
е) хотя бы одно из чисел А, В, С отрицательно.

int a = 0, b = 0, c = 0;
do
{
try
{
Console.Write(«ВВедите число a, не равное 0: «);
a = int.Parse(Console.ReadLine());
Console.Write(«ВВедите число b, не равное 0: «);
b = int.Parse(Console.ReadLine());
Console.Write(«ВВедите число c, не равное 0: «);
c = int.Parse(Console.ReadLine());
}
catch (FormatException ex)
{
Console.WriteLine(«Вы ввели не число. Попробуйте заново. {0} \n», ex.Message);
}
}
while (a == 0 || b == 0 || c == 0);

Console.WriteLine(«Значения переменных приняты.»);
// а) каждое из чисел А и В больше 100;
Console.Write(«Число а и b больше 100 — «);
string result1;
string t = «утверждение верно»;
string f = «утверждение ложно»;
result1 = (a > 100 && b > 100) ? t : f ;
Console.WriteLine(result1);
Console.ReadKey();

//б) только одно из чисел А и В четное;
Console.Write(«только одно из чисел А и В четное — «);
result1 = (a % 2 == 0 ^ ((b & 1) == 0)) ? t : f;
Console.WriteLine(result1);
Console.ReadKey();

//в) хотя бы одно из чисел А и В положительно
Console.Write(«хотя бы одно из чисел А и В положительно — «);
result1 = (a > 0 || b > 0) ? t : f;
Console.WriteLine(result1);
Console.ReadKey();

// г) каждое из чисел А, В, С кратно трем;
Console.Write(«каждое из чисел А, В, С кратно трем — «);
result1 = ((a%3 == 0) && (b%3 == 0) && (c%3 == 0)) ? t : f;
Console.WriteLine(result1);
Console.ReadKey();

// д) только одно из чисел А, В и С меньше 50;
Console.Write(«только одно из чисел А, В и С меньше 50 — «);
int i = 0;
/*if (a < 50)
++i;
*/
i = a < 50 ? ++i : i;
i = b < 50 ? ++i : i;
i = c < 50 ? ++i : i;
if (i == 1)
result1 = t;
else
result1 = f;
Console.WriteLine(result1);
Console.ReadKey();

// е) хотя бы одно из чисел А, В, С отрицательно.
Console.Write("хотя бы одно из чисел А, В, С отрицательно — ");
result1 = (((a < 0) || (b < 0)) || (c < 0)) ? t : f;
Console.WriteLine(result1);
Console.ReadKey();
}

}
}

L2.4. Записать условие, которое является истинным, когда:
а) целое А кратно двум или трем;
б) целое А не кратно трем и оканчивается нулем.

int A = int.Parse(Console.ReadLine());
Console.WriteLine(A % 2 == 0 || A % 3 == 0 ? true : false); // целое число кратно двум или трем
Console.WriteLine(A % 3 != 0 && A % 10 == 0 ? true : false); // целое число не кратно трем и оканчивается нулем.

._. вроде так

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

L2.4 Записать условие, которое является истинным, когда:
а) целое А кратно двум или трем;
б) целое А не кратно трем и оканчивается нулем.
Выношу на всеобщий суд

            int a = Convert.ToInt32(Console.ReadLine());
            if (a % 2 == 0 || a % 3 == 0) //условие для части а
            {
                Console.WriteLine("True");
            }
            else if (a % 10 == 0) //условие для части б
            {
                Console.WriteLine("True");

Программа выполнит первое условие даже при вводе значения 10 или 20, потому что десятки тоже кратные двум. До второго условия эта программа не дойдет.

Важно: Вы можете поддержать проект и автора.
int a = Convert.ToInt32(Console.ReadLine());
            if (a % 2 == 0 || a % 3 == 0) //условие для части а
            {
                if (a % 10 == 0 & a % 3 != 0)
                {                    
                    Console.WriteLine("Условие А и Б: True");
                }

                else 
                {
                    Console.WriteLine("Условие А: True");
                }
               
            }
            else
            {
                Console.WriteLine("Введенное число не подходит к условиям А и Б");
            } 
Важно: Вы можете поддержать проект и автора.

L2.3 Записать условие, которое является истинным, когда:
а) каждое из чисел X и Y нечетное;
б) только одно из чисел X и Y меньше 20;
в) хотя бы одно из чисел X и Y равно нулю;
г) каждое из чисел X, Y, Z отрицательное;
д) только одно из чисел X, Y и Z кратно пяти;
е) хотя бы одно из чисел X, Y, Z больше 100.

static void Main()
{
Console.WriteLine("Введите значение Х:");
int X = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите значение Y:");
int Y = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите значение Z:");
int Z = Convert.ToInt32(Console.ReadLine());
Console.Clear();
Console.WriteLine("Выберите вариант, под который водходят ваши значения: \n" +
   "а) каждое из чисел X и Y нечетное \n" +
   "б) только одно из чисел X и Y меньше 20 \n" +
   "в) хотя бы одно из чисел X и Y равно нулю \n" +
   "г) каждое из чисел X, Y, Z отрицательное \n" +
   "д) только одно из чисел X, Y и Z кратно пяти \n" +
   "е) хотя бы одно из чисел X, Y, Z больше 100.");
string option = Console.ReadLine();
switch (option)
{
case "а":
   if (X % 2 != 0 && Y % 2 != 0)
      Console.WriteLine("Верно! Оба числа нечетные");
   else
      Console.WriteLine("Ошибка!");
   break;
case "б":
   if ((X < 20) && (Y >= 20) || (Y < 20) && (X >= 20))
      Console.WriteLine("Верно! Только одно число меньше 20");
   else
      Console.WriteLine("Ошибка!");
   break;
case "в":
   if (X == 0 || Y == 0)
      Console.WriteLine("Верно! Хотя бы одно число равно 0");
   else
      Console.WriteLine("Ошибка!");
   break;
case "г":
   if (X < 0 && Y < 0 && Z < 0)
      Console.WriteLine("Верно! Все три числа - отрицательные");
   else
      Console.WriteLine("Ошибка!");
   break;
case "д":
   int k = 0;
   if (X % 5 == 0) k++;
   if (Y % 5 == 0) k++;
   if (Z % 5 == 0) k++;
   if (k == 1)
      Console.WriteLine("Верно! Только одно из чисел кратно 5");
   else
      Console.WriteLine("Ошибка!");
   break;
case "е":
   if (X > 100 || Y > 100 || Z > 100)
      Console.WriteLine("Верно! Как минимум одно из чисел > 100");
   else
      Console.WriteLine("Ошибка!");
   break;
default:
   Console.WriteLine("Выберите один из предложенных вариантов");
   break;
}
}
Важно: Вы можете поддержать проект и автора.

L2.7. Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8: первое число — номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). Даны натуральные числа a, b, c, d, e, f, каждое из которых не превосходит 8. Записать условие, при котором белая фигура, расположенная на поле (a, b), может одним ходом пойти на поле (e, f), не попав при этом под удар черной фигуры, находящейся на поле (c, d). Рассмотреть следующие варианты сочетаний белой и черной фигур:
а) ладья и ладья;
б) ладья и ферзь;
в) ладья и конь;
г) ладья и слон;
д) ферзь и ферзь;
е) ферзь и ладья;
ж) ферзь и конь;
з) ферзь и слон;
и) конь и конь;
к) конь и ладья;
л) конь и ферзь;
м) конь и слон;
н) слон и слон;
о) слон и ферзь;
п) слон и конь;
р) слон и ладья;
с) король и слон;
т) король и ферзь;
у) король и конь;
ф) король и ладья.

Первое решение от Эд: с использованием локальных функций (см. комментарий ниже):

using System;
namespace introfun
{
    class Program
    {
        static void Main(string[] args)
        {
            int A, B, C, D, E, F;
            char white, black;

            // Локальные функции
            // 1) угроза полю
            bool Is_Field_avail(char name, int a, int b, int c, int d) // возвращает true, если поле достижимо фигурой.
            {
                bool rezult;
                switch (name)
                {
                    case 'K':
                        if (a == c & Math.Abs(b - d) == 1 || b == d & Math.Abs(a - c) == 1
                            || Math.Abs(a - c) == Math.Abs(b - d) & Math.Abs(a - c) == 1)
                            // Console.WriteLine("Король({0},{1}) угрожает полю({2},{3})", a, b, c, d);
                            rezult = true;
                        else
                            rezult = false;
                        break;
                    case 'Q':
                        if (a == c || b == d || Math.Abs(a - c) == Math.Abs(b - d))
                            // Console.WriteLine("Ферзь({0},{1}) угрожает полю({2},{3})", a, b, c, d);
                            rezult = true;
                        else
                            rezult = false;
                        break;
                    case 'R':
                        if (a == c || b == d)
                            // Console.WriteLine("Ладья({0},{1}) угрожает полю({2},{3})", a, b, c, d);
                            rezult = true;
                        else
                            rezult = false;
                        break;
                    case 'N':
                        if (Math.Abs(a - c) == 2 & Math.Abs(d - b) == 1
                            || Math.Abs(a - c) == 1 & Math.Abs(d - b) == 2)
                            // Console.WriteLine("Конь({0},{1}) угрожает полю({2},{3})", a, b, c, d);
                            rezult = true;
                        else
                            rezult = false;
                        break;
                    case 'B':
                        if (Math.Abs(a - c) == Math.Abs(b - d))
                            // Console.WriteLine("Слон({0},{1}) угрожает полю({2},{3})", a, b, c, d);
                            rezult = true;
                        else
                            rezult = false;
                        break;
                    default:
                        rezult = false;
                        break;
                }
                return rezult;
            }

            // 2) совпадают ли два поля
            bool Is_Same_Point(int a, int b, int c, int d) 
            {
                if (a == c & b == d) return true;
                else return false;
            }

            // 3) на пути ли черная фигура
            bool Is_Figure_OnWay(int a, int b, int c, int d, int e, int f) 
            {
                if ((c - a) * (f - b) - (d - b) * (e - a) == 0
                    & (a - c) * (e - c) + (b - d) * (f - d) <= 0) return true;
                else return false;
            }

            // собственно Main()

            Console.WriteLine("Обозначения фигур латиницей в верхнем регистре.");
            Console.WriteLine("Король - K, Ферзь - Q, Ладья - R, Конь - N, Слон - B ");
            Console.Write("Введите белую фигуру: ");
            white = Convert.ToChar(Console.ReadLine());
            Console.Write("Введите a:");
            A = Vvod_Chisla_Int();
            Console.Write("Введите b:");
            B = Vvod_Chisla_Int();
            Console.Write("Введите черную фигуру: ");
            black = Convert.ToChar(Console.ReadLine());
            Console.Write("Введите c:");
            C = Vvod_Chisla_Int();
            Console.Write("Введите d:");
            D = Vvod_Chisla_Int();
            Console.Write("Введите e:");
            E = Vvod_Chisla_Int();
            Console.Write("Введите f:");
            F = Vvod_Chisla_Int();
            if (!Is_Field_avail(white, A, B, E, F))
                Console.WriteLine("Белая фигура {4} ({0},{1}) не может попасть на поле({2},{3})", A, B, E, F, white);
            else if (Is_Same_Point(C, D, E, F))
                Console.WriteLine("Белая фигура {4} ({0},{1}) может попасть на поле({2},{3}),\n " +
                     " и взять черную фигуру {5} ({6},{7})!", A, B, E, F, white, black, C, D);
            else if (Is_Figure_OnWay(A, B, C, D, E, F))
                Console.WriteLine("Белая фигура {4} ({0},{1})  не может попасть на поле({2},{3}),\n " +
                    " на пути черная фигура {5} ({6},{7})!", A, B, E, F, white, black, C, D);
            else if (Is_Field_avail(black, C, D, E, F))
                Console.WriteLine("Белая фигура {4} ({0},{1}) может попасть на поле({2},{3}),\n " +
                    " но окажется под ударом черной {5} ({6},{7})!", A, B, E, F, white, black, C, D);
            else
                Console.WriteLine("Белая фигура {4} ({0},{1}) может пойти на поле({2},{3}) и не окажется " +
                    " под ударом.", A, B, E, F, white);
            Console.ReadKey();
        }
        // метод класса
        static int Vvod_Chisla_Int()
        {
            int chislo;
            string vvod;
            vvod = Console.ReadLine();
            while (!Int32.TryParse(vvod, out chislo))
            {
                Console.WriteLine("Недопустимые символы в строке ввода.Ожидается целое число: ");
                vvod = Console.ReadLine();
            }
            return chislo;
        }
    }
}

Второе решение не использует локальные функции, а только функции класса:

using System;
namespace ConsoleApp
{
    class Program
    {
        static int Vvod_Chisla_Int()
        {
            int chislo;
            string vvod;
            vvod = Console.ReadLine();
            while (!Int32.TryParse(vvod, out chislo))
            {
                Console.WriteLine("Недопустимые символы в строке ввода. Ожидается целое число:");
                vvod = Console.ReadLine();
            }
            return chislo;
        }
      
        static bool Is_Field_avail(char name, int a, int b, int c, int d) // возвращает true, если поле достижимо фигурой.
            {
                bool rezult;
                switch (name)
                {
                    case 'K' :
                        if (a == c & Math.Abs(b - d) == 1 || b == d & Math.Abs(a - c) == 1
                            || Math.Abs(a - c) == Math.Abs(b - d) & Math.Abs(a - c) == 1)
                        // Console.WriteLine(«Король({0},{1}) угрожает полю({2},{3})», a, b, c, d);
                            rezult = true;
                        else
                            rezult = false;
                        break;
                    case 'Q' :
                        if (a == c || b == d || Math.Abs(a - c) == Math.Abs(b - d))
                            // Console.WriteLine(«Ферзь({0},{1}) угрожает полю({2},{3})», a, b, c, d);
                            rezult = true;
                        else
                            rezult = false;
                        break;
                    case 'R' :
                        if (a == c || b == d)
                        // Console.WriteLine(«Ладья({0},{1}) угрожает полю({2},{3})», a, b, c, d);
                            rezult = true;
                        else
                            rezult = false;
                        break;
                    case 'N' :
                        if (Math.Abs(a - c) == 2 & Math.Abs(d - b) == 1
                            || Math.Abs(a - c) == 1 & Math.Abs(d - b) == 2)
                        // Console.WriteLine(«Конь({0},{1}) угрожает полю({2},{3})», a, b, c, d);
                            rezult = true;
                        else
                            rezult = false;
                         break;
                    case 'B' :
                        if (Math.Abs(a - c) == Math.Abs(b - d))
                        // Console.WriteLine(«Слон({0},{1}) угрожает полю({2},{3})», a, b, c, d);
                            rezult = true;
                        else
                            rezult = false;
                        break;
                    default:
                        rezult = false;
                        break;
                }
                return rezult;
            }

            static bool Is_Same_Point(int a, int b, int c, int d) // совпадают ли два поля
            {
                if (a == c & b == d) 
                    return true;
                else 
                    return false;
            }
    
            static bool Is_Figure_OnWay(int a, int b, int c, int d, int e, int f) // на пути ли черная фигура
            {
                if ((c - a) * (f - b) - (d - b) * (e - a) == 0 & (a - c) * (e - c) + (b - d) *(f - d) <= 0) 
                    return true;
                else 
                    return false;
            }
        static void Main(string[] args)
        {
            //   L2.7
            int a, b, c, d, e, f;
            char white, black;
            Console.WriteLine("Обозначения фигур латиницей в верхнем регистре.");
            Console.WriteLine("Король — K, Ферзь — Q, Ладья — R, Конь — N, Слон — B");
            Console.Write("Введите белую фигуру:");
            white = Convert.ToChar(Console.ReadLine());
            Console.Write("Введите a:");
            a = Vvod_Chisla_Int();
            Console.Write("Введите b:");
            b = Vvod_Chisla_Int();
            Console.Write("Введите черную фигуру:");
            black = Convert.ToChar(Console.ReadLine());
            Console.Write("Введите c:");
            c = Vvod_Chisla_Int();
            Console.Write("Введите d:");
            d = Vvod_Chisla_Int();
            Console.Write("Введите e:");
            e = Vvod_Chisla_Int();
            Console.Write("Введите f:");
            f = Vvod_Chisla_Int();
            if (!Is_Field_avail(white, a, b, e, f)) 
                Console.WriteLine("Белая фигура {4}({0},{1}) не может попасть на поле ({2},{3})", a, b, e, f, white);
            else if (Is_Same_Point(c, d, e, f))
                Console.WriteLine("Белая фигура {4}({0},{1}) может попасть на поле ({2},{3}),\n" +
                    " и взять черную фигуру {5}({6},{7})!", a, b, e, f, white, black, c, d);
            else if (Is_Figure_OnWay(a, b, c, d, e, f))
                Console.WriteLine("Белая фигура {4}({0},{1}) не может попасть на поле ({2},{3}),\n" +
                    " на пути черная фигура {5}({6},{7})!", a, b, e, f, white, black, c, d);
            else if (Is_Field_avail(black, c, d, e, f))
                Console.WriteLine("Белая фигура {4}({0},{1}) может попасть на поле ({2},{3}),\n" +
                    " но окажется под ударом черной {5}({6},{7})!", a, b, e, f, white, black, c, d);
            else
                Console.WriteLine("Белая фигура {4}({0},{1}) может пойти на поле ({2},{3}) и не окажется " +
                    "под ударом", a, b, e, f, white);
            Console.ReadKey();
        }
    }
}
Важно: Вы можете поддержать проект и автора.

L2.6

static int Vvod_Chisla_Int()
{
   int chislo;
   string vvod;
   vvod = Console.ReadLine();
   while (!Int32.TryParse(vvod, out chislo))
   {
      Console.WriteLine("Недопустимые символы в строке ввода. Ожидается целое число:");
      vvod = Console.ReadLine();
   }
   return chislo;
}
static void Main(string[] args)
{
   int a, b, c, d;
// a)
   Console.Write("Введите a:");
   a = Vvod_Chisla_Int();
   Console.Write("Введите b:");
   b = Vvod_Chisla_Int();
   Console.Write("Введите c:");
   c = Vvod_Chisla_Int();
   Console.Write("Введите d:");
   d = Vvod_Chisla_Int();
   if (a == c || b == d)
      Console.WriteLine("Ладья({0},{1}) угрожает полю({2},{3})", a, b, c, d);
   else
      Console.WriteLine("Угрозы полю({2},{3}) от Ладьи({0},{1}) нет.", a, b, c, d);
   Console.WriteLine();
// б)
   if (Math.Abs(a - c) == Math.Abs(b - d))
      Console.WriteLine("Слон({0},{1}) угрожает полю({2},{3})", a, b, c, d);
   else
      Console.WriteLine("Угрозы полю({2},{3}) от Слона({0},{1}) нет.", a, b, c, d);
   Console.WriteLine();
// в)
   if (a == c && Math.Abs(b - d) == 1 || b == d &&  Math.Abs(a - c) == 1
          || Math.Abs(a - c) == Math.Abs(b - d) && Math.Abs(a - c) == 1)
      Console.WriteLine("Король({0},{1}) угрожает полю({2},{3})", a, b, c, d);
   else
      Console.WriteLine("Угрозы полю({2},{3}) от Короля({0},{1}) нет.", a, b, c, d);
   Console.WriteLine();
// г)
   if (a == c || b == d || Math.Abs(a - c) == Math.Abs(b - d))
      Console.WriteLine("Ферзь({0},{1}) угрожает полю({2},{3})", a, b, c, d);
   else
      Console.WriteLine("Угрозы полю({2},{3}) от Ферзя({0},{1}) нет.", a, b, c, d);
   Console.WriteLine();
// д)
  if (a == c &  b == 2 && d == 4 || a == c && d - b == 1)
     Console.WriteLine("Белая Пешка({0},{1}) может пойти на поле ({2},{3})", a, b, c, d);
  else if (Math.Abs(a - c) == 1 &&  d - b == 1)
     Console.WriteLine("Белая Пешка({0},{1}) может взять фигуру на поле ({2},{3})", a, b, c, d);
  else
     Console.WriteLine("Белая Пешка({0},{1}) не может попасть на поле ({2},{3})", a, b, c, d);
   Console.WriteLine();
// е)
   if (a == c && b == 7 &&  d == 5 || a == c &&  b - d == 1)
      Console.WriteLine("Черная Пешка({0},{1}) может пойти на поле ({2},{3})", a, b, c, d);
   else if (Math.Abs(a - c) == 1 && b - d == 1)
      Console.WriteLine("Черная Пешка({0},{1}) может взять фигуру на поле ({2},{3})", a, b, c, d);
   else
      Console.WriteLine("Черная Пешка({0},{1}) не может попасть на поле ({2},{3})", a, b, c, d);
   Console.WriteLine();
// ж)
   if (Math.Abs(a - c) == 2 && Math.Abs(d - b) == 1 || Math.Abs(a - c) == 1 &&  Math.Abs(d - b) == 2)
      Console.WriteLine("Конь({0},{1}) угрожает полю({2},{3})", a, b, c, d);
   else
      Console.WriteLine("Угрозы полю({2},{3}) от Коня({0},{1}) нет.", a, b, c, d);
   Console.WriteLine();
}
Важно: Вы можете поддержать проект и автора.

L2.5. Записать условие, которое является истинным, когда:
а) целое N кратно пяти или семи;

int N = Convert.ToDouble(Console.ReadLine());
 bool a = (N%5==0) || (N%7==0);
 Console.WriteLine(a);
Важно: Вы можете поддержать проект и автора.

L2.1. Записать логические выражения, которые имеют значение «Истина» только при выполнении указанных условий:
ж) x > 3 или x < 1

int x = Convert.ToInt32(Console.ReadLine());
bool a = (x > 3)||(x < 1);
Console.WriteLine(a);
Важно: Вы можете поддержать проект и автора.

L2.6. Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8: первое число — номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). Даны натуральные числа a, b, c, d, каждое из которых не превосходит 8.
д) На поле (a, b) расположена белая пешка. Записать условие, при котором она может одним ходом попасть на поле (c, d):
— при обычном ходе;
— когда она «бьет» фигуру или пешку соперника.
Примечание. Белые пешки перемещаются на доске снизу вверх.
е) На поле (a, b) расположена черная пешка. Записать условие, при котором она может одним ходом попасть на поле (c, d):
— при обычном ходе;
— когда она «бьет» фигуру или пешку соперника.
Примечание. Черные пешки перемещаются на доске сверху вниз.

int a, b, c, d;
a = int.Parse(Console.ReadLine());
b = int.Parse(Console.ReadLine());
c = int.Parse(Console.ReadLine());
d = int.Parse(Console.ReadLine());
if (a > 8 | a < 1 | b < 1 | b > 8 | c > 8 | c < 1 | d < 1 | d > 8)
   Console.WriteLine("введите число от 1 до 8");
else if (a == c & b - d == -1)
   Console.WriteLine($"Белая пешка с поля ({a},{b}) идет на поле ({c},{d})");
else if (b - d == -1 & a - c == -1)
   Console.WriteLine($"Белая пешка с поля ({a},{b}) бьет фигуру противника на поле ({c},{d})");
else if (c == a & b - d == 1)
   Console.WriteLine($"Черная пешка с поля ({c},{d}) идет на поле ({a},{b})");
else if (b - d == 1 & a - c == 1)
   Console.WriteLine($"Черная пешка с поля ({c},{d}) бьет фигуру противника на поле ({a},{b})");
else
   Console.WriteLine("Хода нет");
Важно: Вы можете поддержать проект и автора.

L2.6. Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8: первое число — номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). Даны натуральные числа a, b, c, d, каждое из которых не превосходит 8.
г) На поле (a, b) расположен ферзь. Записать условие, при котором он угрожает полю (c, d).

int a, b, c, d;
a = int.Parse(Console.ReadLine());
b = int.Parse(Console.ReadLine());
c = int.Parse(Console.ReadLine());
d = int.Parse(Console.ReadLine());
if ( (a > 8 | a < 1) | (b > 8 | b < 1) | (c > 8 | c < 1) | (d > 8 | d < 1))
   Console.WriteLine("введите число от 1 до 8");
else if ((Math.Abs(a - c) == Math.Abs(b - d)) | (a == c) | (b == d))
   Console.WriteLine($"Фигура на поле ({a},{b}) угрожает фигуре на поле ({c},{d})");
else
   Console.WriteLine("Угрозы нет");
Важно: Вы можете поддержать проект и автора.

L2.6. Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8: первое число — номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). Даны натуральные числа a, b, c, d, каждое из которых не превосходит 8.
а) На поле (a, b) расположена ладья. Записать условие, при котором она угрожает полю (c, d).

uint a, b, c, d;
a = uint.Parse(Console.ReadLine());
b = uint.Parse(Console.ReadLine());
if (a > 8 | b > 8)
   Console.WriteLine("Диапазон доски находится в пределах 8");
else
{
    d = 9 - b;
    c = 9 - a;
    Console.WriteLine($»Ладья угрожает полю {c} по вертикали и {d} по горизонтали»);
}
Важно: Вы можете поддержать проект и автора.

L2.2. Записать условие, которое является истинным, когда:
д) только одно из чисел А, В и С меньше 50;

bool A, B, C;
A = int.Parse(Console.ReadLine()) < 50;
B = int.Parse(Console.ReadLine()) < 50;
C = int.Parse(Console.ReadLine()) < 50;
if ( (A && !B && !C) || (!A && B && !C) || (!A && !B && C) )
   Console.WriteLine("Истина");
else
   Console.WriteLine("Ложь");
Важно: Вы можете поддержать проект и автора.

L2.2. Записать условие, которое является истинным, когда:
б) только одно из чисел А и В четное;

int A, B;
bool C, D;
A = int.Parse(Console.ReadLine());
B = int.Parse(Console.ReadLine());
bool result = true;
if (A % 2 == 0 & B % 2 == 1)
    Console.WriteLine(result);
else if (A % 2 == 1 & B % 2 == 0)
    Console.WriteLine(result);
else if (A % 2 == 1 & B % 2 == 1)
    Console.WriteLine("Введи другие числа, эти не подходят");
else if (A % 2 == 0 & B % 2 == 0)
    Console.WriteLine("Введи другие числа, эти не подходят");

Надеюсь правильно, а то тяжко даются bool-переменные.

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

int A, B, C;
A = int.Parse(Console.ReadLine());
B = int.Parse(Console.ReadLine());
C = int.Parse(Console.ReadLine());
Console.WriteLine(A > 100 && B > 100 ? true : «»); // Выводит тру если каждое из чисел больше 100.
if (A % 2 == 0 || B % 2 == 0)// выводит тру если хотя бы одно из чисел четное
{
Console.WriteLine(«True»);
}
else { }
Console.WriteLine(A >= 0 || B >= 0 ? true : «»);// выводит тру если хотя бы одно из чисел положительно.
if (A % 3 == 0 && B % 3 == 0 & C % 3 == 0) //выводит тру если все выражения кратны 3м.
{
Console.WriteLine(«True»);
}
else { }
if (A < 50 || B < 50 || C < 50)// выводит тру если хотя бы одно из выражений верно.
{
Console.WriteLine("True");
}
else { }
Console.WriteLine(A < 0 || B < 0 || C < 0 ? true : ""); //выводит тру если хотя бы одно из выражений верно

Можно в принципе все эти выражения через метод вызова и тернарного оператора проверить, нет? (сделал разными способами просто чтобы было)
Надеюсь верно. Тут сразу все решения.

49
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x