2)
var i:integer;
begin
writeln('Введите цифру означающюю день недели, например 2-вторник');
readln(i);
case i of
1:writeln('Понедельник: Алгебра,Геометрия,Русский,Физ-ра');
2:writeln('Вторник Информатика,История,Изо');
3:writeln('Среда,Английский,Искусство');
else writeln('ERROR');
readln;
end;
3)
var a:integer;
begin
writeln('Введите ваш возраст');
readln(a);
if (a<7) then writeln('Дошкольник') else
if (a>7) and (a<18) writeln('Ученик') else
if (a>18) and (a<60) writeln('Рабтник') else
if (a>65) writeln('Пенсионер');
readln;
end.
Объяснение:
Никогда такое не решал, но попробую
На выходе F=1
Идем с конца
До него & (конъюнктор) - это логическое AND
По таблице истинности находим, что На выходе 1, только если на входе 1 и 1, значит А=1
Теперь идем от А. Сначала инверсия, получаем 0
Далее 0 AND B и мы должны получить 1. И тут у меня ломается мозг.
0 AND что угодно - получим 0, а если так, то и F=0 станет.
Вот и логическая бомба.
Решения не вижу у этой задачи, если F=1
Еще функцию надо
F=(A)AND((NOT(A))AND(B))
1=1AND1, значит A=1 и
(NOT(A))AND(B)=1
тогда B=1 и NOT(A)=1.
но NOT(A)=1 и А=1 не может быть. Мы пришли к противоречию.
Утерян "лучший ответ". Нашедшему вернуть.