Для удобства построения таблицы истинности введем логические переменные.
Обозначим 2*2=4 через a, 3*3=9 - через b.
Тогда высказывание примет вид:
Для этого выражения и построим таблицу истинности.
2. Для доказательства равносильности указанных выражений можно построить таблицы истинности и сравнить их.
Как видно, НЕСОВПАДЕНИЕ полное, т.е. ни при каком сочетании a и b выражения не равносильны. Это подтверждается теорией - имеются законы де-Моргана, в которых еще присутствует общее отрицание или в правой. или в левой части.
{вот правильное решение я там забыл то чтобы подсчитывать число букв a}
<span>var </span><span><span> s</span>: string;</span><span><span>
i</span>, id, len, max, count,q: byte;</span>
begin
<span>
q:=0;
readln(s);</span><span><span>
len </span>:= length(s);</span><span><span>
max </span>:= 0;</span><span><span>
id </span>:= 0;</span>
<span><span> count </span>:= 0;</span><span>
for i:=1 to len do </span><span>
if s[i] <> ' ' then</span><span><span> count </span>:= count + 1</span><span>
else begin</span><span>
if count > max then begin</span><span><span>
max
</span>:= count;</span><span><span>
id </span>:= i - count;</span><span>
end;</span><span><span>
count </span>:= 0</span><span>
end;</span>
<span>
if count > max then begin </span><span><span>
max </span>:= count;</span><span><span>
id </span>:= i - count;</span><span>
end<span>;
</span></span>
<span> for i:=id to id+max do</span><span>
if s[i] = 'a' then begin</span><span><span> q:=q+1; s</span>[i] := 'b';</span>
<span>
writeln(s,' ' , q);</span>
end;
<span>end<span>.
</span></span>
<em>// PascalABC.NET 3.3, сборка 1625 от 17.01.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var n:=ReadInteger('n=');
var k,s:BigInteger;
(k,s):=(2,2); // две травинки и всего две
for var d:=2 to n do begin k:=2*k+1; s+=k end;
Writeln('В день ',n,' принесено травинок: ',k,', всего: ',s)
end.
<u>Примеры</u>
n= 5
В день 5 принесено травинок: 47, всего: 88
n= 30
В день 30 принесено травинок: 1610612735, всего: 3221225439
n= 365
В день 365 принесено травинок: 112730043973143994938695068645888177314032762347599353793949966633546033205501205286257551922468897745532878847, всего: 225460087946287989877390137291776354628065524695198707587899933267092066411002410572515103844937795491065757328
обозначим счетчики переменными kp(+) и km(-), так же возьмем переменную j:integer для осуществления цикла, так же необходим сам массив пусть будет a:array[1..20] of integer, содержит 20 элементов целого типа, приступим к набору программы.
var
j,km,kp:integer;
a:array[1..20] of integer;
begin
km:=0;kp:=0; {обнулим счетчики}
randomize; {запустим службу генерирования случайных чисел}
for j:=1 to 20 do
begin
a[j]:=random(100)-50; {заполним массив случайными числами}
writeln(' a[',j,']= ',a[j]); {напечатаем его}
end;
{далее перейдем к поиску элементов}
for j := 1 to 20 do
begin
if a[j]<0 then km:=km+1;
if a[j]>0 then kp:=kp+1;
end;
write('pologitel''nix: ',kp,'otricatel''nix: ',km);
readln;
end.