Ответ:
Нужно просто делить на 2 и смотреть есть ли остаток, если есть, то 1, если нет то 0 и сравнивай с моим решением, всё будет понятно.
<span>А) (А и «Сканер является устройством ввода») = ИСТИНА
А =1 (истина)
</span>«Сканер является устройством ввода»=1 (истина)
<span>
Б) (С или «Высказывание может быть вопросительным предложением») = ИСТИНА
С =1 (истина)
</span>«Высказывание может быть вопросительным предложением»=0 (ложь)
<span>
В) (F или «Оперативная память ПК является энергонезависимой») = ЛОЖЬ
F=0 (ложь)
</span>«Оперативная память ПК является энергонезависимой»=0 (ложь)
Var s,tmp:string;
i,n:integer;
flag,word:boolean;
function letter (const let:char):boolean;
begin
if ((let>='a') and (let<='z')) or ((let>='A') and (let<='Z')) then letter:=true
else letter:=false;
end;
begin
readln (s);
s:=s+' ';
n:=length(s);
flag:=false;
for i:=1 to n do
begin
if (letter(s[i])) and (not flag) then
begin
flag:=true;
tmp:='';
word:=false;
end else if (not letter(s[i])) and (flag) then
begin
flag:=false;
if (word) and (not (tmp='')) then writeln (tmp);
end;
if (flag) then
begin
tmp:=tmp+s[i];
if (s[i]='k') then word:=true;
end;
end;
end.
Not(X) or not(X or Y) or not(Y and not(X and Y))
Not (X) or not (X or Y) or not(Y) or not(X and Y)
Not (X) or (not(X) and not(Y)) or (not(Y) or not(X and Y))
Not (X) or (not(X) and not(Y)) or (not(Y) or not(X) or not(Y))
not(Y) or not(X)