Даны высказывания: a = идет дождь . b = прогулка отменяется. c = я вымокну. d = я останусь дома. запишите следующее сложное высказывание на языке логики: e = если идет дождь, но я останусь дома , то я не вымокну.
Перефразируем данное по условию высказывание, чтобы использовать слова-понятия, применяемые в алгебре логики: Не идет дождь ИЛИ прогулка отменяется И я останусь дома СЛЕДОВАТЕЛЬНО я не вымокну. Заменим части предложения на выражения, выданные нам по условию: НЕТ "идет дождь" ИЛИ ("прогулка отменяется" И "я останусь дома") СЛЕДОВАТЕЛЬНО НЕТ "я вымокну" Запишем полученную фразу, заменив выражения на символьное обозначение: not A or (B and D) → not C Запишем фразу символами алгебры логики ¬A ∨ (B∧D) → ¬C
Var s : String; n : Integer; Function IncS(a : String) : String; Begin a[Length(a)]:=Chr(Ord(a[Length(a)])+1); If a[Length(a)]>'D' then IncS:=IncS(Copy(a,1,Length(a)-1))+'A' else IncS:=a; end; Function Check(a : String) : Boolean; Begin Check:=False; If (Pos('A',a)>0) then Begin Delete(a,Pos('A',a),1); If (Pos('A',a)>0) then Check:=True; end; end; Begin s:=''; n:=0; While s<>'' do Begin { Writeln(s); } If Check(s) then Inc(n); s:=IncS(s); end; Writeln(n); end.
Var s : String; n : Integer; Function IncS(a : String) : String; Begin a[Length(a)]:=Chr(Ord(a[Length(a)])+1); If a[Length(a)]>'D' then IncS:=IncS(Copy(a,1,Length(a)-1))+'A' else IncS:=a; end; Function Check(a : String) : Boolean; Begin Check:=False; If (Pos('A',a)>0) then Begin Delete(a,Pos('A',a),1); If (Pos('A',a)>0) then Check:=True; end; end; Begin s:=''; n:=0; While s<>'' do Begin { Writeln(s); } If Check(s) then Inc(n); s:=IncS(s); end; Writeln(n); end.