Как разобраться в импликации - C#

Формулировка задачи:

Читаю Шилтда. Глава Операторы. Очень трудно мне даются коды с применением цикла for Помогите разобрать как и в какой последовательности работает следующий код :
using System;
 
class Woow
{
    public static void Main()
    {
        bool p = false, q = false;
        int i, j;
 
        for (i = 0; i < 2; i++) 
        {
            for (j = 0; j < 2; j++) 
            {
                if (i == 0) p = true;
                if (i == 1) p = false;
                if (j == 0) q = true;
                if (j == 1) q = false;
 
                Console.WriteLine(i);
                Console.WriteLine(j);
                Console.WriteLine("p равно " + p + ", q равно " + q);
 
                if (!p | q)
                    
                Console.WriteLine("Результат импликации " + p + " и " + q + " равен " + true);
                Console.WriteLine();
            }
        }
    }
}
В самой книге описано только то, что Импликация - Это логическая операция, результат которой будет ложной только в случае, когда левый операнд имеет, значение ИСТИНА, а правый – ЛОЖЬ. (Операция импликации отражает идею о том, что истина не может подразумевать ложь.) - Это понятно! и что импликацию можно вызвать использую комбинацию " !p | q " - это не понятно. Как понять вообще ? @_@

Код к задаче: «Как разобраться в импликации - C#»

textual
Console.WriteLine("Результат импликации " + p + " и " + q + " равен " + (!p | q));

9   голосов, оценка 3.889 из 5


СОХРАНИТЬ ССЫЛКУ