Теория:

С помощью таблиц можно решать логические задачи.
Чтобы это стало возможным необходимо выполнить следующий алгоритм:
  1. определить классы объектов, которые взаимосвязаны между собой и состоят из одинакового количества объектов;
  2.  каждый объект из одного класса должен быть связан с объектом из другого класса только одним единственным свойством.
Таким образом, связь между объектами в таблице можно отобразить цифрой \(1\), а отсутствие связи \(0\). Этот факт помогает решать задачи на логику.
 
Рассмотрим пример задачи.
 
Летом в Орлёнке в одном отряде оказались пять мальчиков из Екатеринбурга, Краснодара, Тулы, Новосибирска и Тюмени: Дима, Ярослав, Артём, Паша и Вадим. На обед их посадили за один стол. Екатеринбуржец расположился между тюменцем и Вадимом, краснодарец — между Димой и Ярославом, а напротив оказались новосибирец и Артём. Паша не бывал в Краснодаре, а Дима никогда не был в Екатеринбурге и Тюмени, а тюменец с Ярославом общаются в социальных сетях. Кто из какого города приехал в Орлёнок?
Анализ этого текста позволяет выделить два класса объектов: «мальчик» и «город». Нужно установить взаимно однозначное соответствие (выявить пары) между объектами этих классов. Наличие свойства у пары объектов «мальчик живёт в городе» будем обозначать \(1\), а его отсутствие — \(0\).
Отметим в таблице свойства пар, следующие из условия задачи:
 

Мальчик

Город

Екатеринбург

Краснодар

Тула

Новосибирск

Тюмень

Дима

0

0

1

0

0

Ярослав

  

0

  

0

0

Артём

  

0

  

0

  

Паша

  

0

  

  

  

Вадим

0

  

  

  

0

 
 
После этого остаётся проследить, чтобы в каждой строке и каждой графе обязательно была одна и только одна единица:
 

Мальчик

Город

Екатеринбург

Краснодар

Тула

Новосибирск

Тюмень

Дима

0

0

1

0

0

Ярослав

1

0

0

0

0

Артём

0

0

0

0

1

Паша

0

0

0

1

0

Вадим

0

1

0

0

0

 
Таким образом, Дима живёт в Туле, Ярослав — в Екатеринбурге, Артём — в Тюмени, Паша — в Новосибирске, Вадим — в Краснодаре.