• Codeby web-security - Курс "Тестирование Веб-Приложений на проникновение с нуля" от команды codeby. Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое. Подробнее ...

  • Мобильный клиент нашего форума для Android гаджетов доступен в Google Play Market по этой ссылке. Клиент можно скачать с нашего форума по этой ссылке. Последняя версия МК в нашем телеграм канале вот здесь. Мобильный клиент для IOS находится в itunes по этой ссылке

Булева алгебра

  • Автор темы novichok2
  • Дата начала
Статус
Закрыто для дальнейших ответов.
N

novichok2

#1
Задача:
Определите в программе 4 логических переменных, которые содержат следующую информацию о людях:
married-"истина", если человек женат(замужем),
blond-"истина", если у человека светлые волосы,
male-"истина", если человек - мужчина,
emp-"истина", если человек работает.
Составьте логические выражения, с помощью которых можно определить, является ли человек:
1) замужней женщиной;
2)неженатым мужчиной;
3)незамужней блондинкой;
4)безработной незамужней женщиной.

program K;
var married,blond,male,emp,rez:boolean;
begin
married:=true;
blond:=true;
male:=true;
emp:=true;
rez:=married and not male;
writeln('Замужняя женщина-',rez);
rez:=not married and male;
writeln('Неженатый мужчина-',rez);
rez:=not married and not male and blond;
writeln('Незамужняя блондинка-',rez);
rez:=not emp and not married and not male;
writeln('Безработная незамужняя женщина-',rez);
readln
end.



Вопрос:
почему получается везде FALSE, ведь если "married and not male", то"замужем и не(not) мужчина". Но true and false=false(что и получается в итоге).
Или я не понимаю смысла алгебры логики? Объясните пожалуйста в чём проблема? :unsure:
 
P

Pasha

#2
Для: novichok2
Код:
married and not male -> true and not true -> true and false -> false
not married and male -> not true and true -> false and true -> false
not married and not male and blond -> not true and not true and true -> false and false and true -> false
not emp and not married and not male -> not true and not true and not true -> false and false and false -> false.
А проблема в том, что эти 4 утверждения ложны для заданной у тебя "информации о человеке" - женатом работающем блондинистом мужике. Поменяй значения в 4-х строчках после begin, увидишь что результат изменится.
 
Статус
Закрыто для дальнейших ответов.
Вверх Снизу