Решение смотри во вложении.
<span>Program Pr1;
uses crt;
var stroka:string;
i,k,x:integer;
mas:array[byte] of integer;
Begin
clrscr;
readln(stroka);</span><span>i:=1;
repeat</span><span>val(stroka[i],k,x);
mas[i]:=k;
i:=i+1;</span><span>until i=length(stroka);
x:=0;
for i:=1 to length(stroka) do x:=x+mas[i];
if x=10 then writeln('TRUE')
else writeln('ELSE');
end.</span>
Program task;
var x,i,sum:integer;
begin
readln(x);
sum := 0;
for i := 1 to 4 do
begin
sum := x mod 10 + sum;
x := x div 10;
end;
writeln(sum);
readln;
<span>end. </span>
1) F и G зависят от 5-ти переменных, поэтому
в их таблицах истинности будет по 2^5=32 строки
2) в таблицах истинности в 5-ти строках FиG имеют одинаковые значения:
в 4-х строках: F=1 и G=1 -----> F∪G=1
в 1-й строке F=0 и G=0 ------> F∪G=0
в остальных строках разные значения
(F=0 и G=1) или (F=1 и G=0) ----> F∪G=1
3) 32-1=31 - общее количество строк, которые дают F∪G=1
ответ 31
<span>11001 -----------------------------------</span>