Алгебра высказываний на уроках информатики
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
ая лампочка.
Используя операции конъюнкции и дизъюнкции получим сложное высказывание удовлетворяющее условию задачи. Х= (A and B) OR (A and C) OR (B and C)
(4. bas)
CLS
FOR A=-1 TO 0
FOR B=-1 TO 0
FOR C=-1 TO 0
X= (A AND B) OR (A AND C) OR (B AND C)
PRINT - A; - B; - C,-X
NEXT
NEXT
NEXT
Решение задачи на Паскале: (4. pas)
uses crt;
var a,b,c,x: boolean;
Begin
clrscr;
WRITELN (a: 10,b: 10,c: 10,x: 10);
writeln;
for a: =false to true do begin
for b: =false to true do begin
x: = (A and B) or (A and c) or (B and C); writeln (a: 10,b: 10,c: 10,x: 10);
end;
end;
readkey;
end.
------ A ---- B ------
Схема выглядит так ------ A ---- C ------
------ B ---- C ------
Рассмотренные выше решения задач с помощью компьютера, призваны помочь учащимся использовать компьютер, при прохождении темы, связанной с рассмотрением основ алгебры логики. Цель, которая преследуется при использовании компьютера для рассмотрения основных понятий логики, правил построения логических выражений и логических схем, теорем алгебры логики и приемам упрощения логического выражения следующая - учащийся представляет себе компьютер как инструмент, который помогает ему решать задачи логического плана, таким образом, расширяется поле применения компьютера. При этом компьютер выступает теперь не только как объект изучения, но и как средство, которое может помочь при решении ряда задач. Развивая вышесказанное, хотелось бы рассмотреть еще одно применение компьютера при решении логических задач. Но сначала следует ознакомиться с действиями, которые необходимо предпринять для решения логической задачи на компьютере:
Изучить условие задачи.
Обозначить используемые высказывания символами.
Используя логические связи составить логическое выражение для всех требований задачи.
Вычислить все значения этого логического выражения.
Проверить полученное решение по условию задачи.
№5: в соревнованиях по гимнастике участвуют Алла, Валя, Сима, Даша. Болельщики высказали предположения о возможных победителях.
1) первой будет Сима, Валя второй,
2) второй будет Сима, Даша - третьей,
3) Алла будет второй, Даша - четвертой.
По окончании соревнований оказалось, что в каждом из предположений только одно из высказываний истинно, другое ложно. Какое место на соревнованиях заняла каждая из девушек, если все они оказались на разных местах?
Решение.
Обозначим высказывания буквами соответственно A, B, C, D, E, F.
Так как только одно из высказываний истинно, то имеем исключающую дизъюнкцию, которая будет истинна:
A XORB, C XOR D, E XOR F
Кроме того, ложными будут высказывания:
A AND C, B AND C, D AND F, B AND E, C AND E
а, следовательно, истинными
NOT (A AND C) NOT (B AND C) NOT (D AND F) NOT (B AND E) NOT (C AND E)
Соединяя первую группу истинных высказываний в Х1, а вторую в Х2 получим Х=Х1*Х2. Получив таблицу истинности, решим
Решение задачи на Паскале: (5. pas)
Uses crt;
Var a,b,c,d,e,f: boolean;
x1,x2,x: boolean;
Begin
clrscr;
writeln (a: 10,b: 10,c: 10,d: 10,e: 10,f: 10);
for a: =false to true do begin
for b: =false to true do begin
for c: =false to true do begin
for d: =false to true do begin
for e: =false to true do begin
for f: =false to true do begin
x1: = (a xor b) and (c xor d) and (e xor f);
x2: = (not (a and c)) and (not (b and c)) and (not (d and f))
and (not (b and e)) and (not (c and e));
x: =x1 and x2;
if x<>false then begin
writeln; write (a: 10,b: 10,c: 10,d: 10,e: 10,f: 10);
end;
end;
end;
end;
end;
end;
end;
readkey;
end.
Ответ: 1 0 0 1 1 0 (0 - false, 1 - true)
№6: Алеша, Боря и Гриша нашли в земле сосуд. Рассматривая удивительную находку, каждый высказал предположение:
Алеша: "Это сосуд греческий и изготовлен в 5 веке".
Борис: "Это сосуд финикийский и изготовлен в 3 веке".
Гриша: "Это сосуд не греческий и изготовлен в 4 веке".
Учитель истории сказал ребятам, что каждый из них прав только в одном предположении. Где и в каком веке изготовлен сосуд.
Решение:
Вданной задачи примем следующие обозначения:
G - это сосуд греческий.
F - это сосуд финикийский.
P - изготовлен в 5 веке.
T - изготовлен в 3 веке.
Q - изготовлен в 4 веке.
Со слов учителя следует, что каждый мальчик прав только в одном высказывании. Следовательно для Алеши либо G=-1 либо P=-1, т.е. G XOR P=-1Аналогично: F XOR T =-1
NOT G XOR Q =-1
Но это недостаточно, следует учесть, что ложными будут высказывания:
F*G=0 P*T=0 P*Q=0 T*Q=0
Или тоже самое:
NOT (F AND G) =-1, NOT (P AND T) =-1, NOT (P AND Q) =-1, NOT (T AND Q) =-1
Если все истинные высказывания логически перемножить, то получим сложное высказывание, в котором сведено все, что говориться о сосуде:
X1= (G XOR P) AND (F XOR T) AND (NOT G XOR Q)
X2=NOT (F AND G) AND NOT (P AND T) AND NOT (P AND Q) AND NOT (T AND Q)
X=X1 AND X2
Ответ: 0 1 1 0 0.
№7: На экзамене преподаватель предлагает студентам определить какие из пяти утверждений истинны, а какие ложны. Студент знает, что всегда преподаватель дает истинных утверждений больше, чем ложных, и никогда не задает подряд три вопроса, требующих одинакового ответа. Из содержания первого и последнего утверждения ему ясно, что ответы на них должны быть противоположными. Единственный вопрос на который он знает ответ - второй (лож, истинна?) Это уже гарантирует правильные ответы на все вопросы. Какими должны быть эти ответы?
Решение задачи на Паскале: (7. pas)
Uses crt;
Var a,b,c,d,e: boolean;
x1,x2,x3,x4,x5,x6,x7,x8,x: boolean;
Begin
clrscr;
writeln (a: 10,b: 10,c: 10,d: 10,e: 10);
for a: =false to true do begin
for b: =false to true do begin
for c: =false to true do begin
for d: =false to true do begin
for e: =false to true do begin
x1: = not (a AND b AND c) AND NOT (NOT a AND NOT b AND NOT c);
x2: = NOT (b AND c AND d) AND NOT (NOT b AND NOT c AND NOT d);
x3: = NOT (c AND d AND e) AND NOT (NOT c AND NOT d AND NOT e);
x4: = (a AND b AND c) OR (a AND b AND d) OR (a