1) Тут в смысле надо тебе интеграл найти если да, то
Program Pr2;
uses crt;
procedure arifm(a,b:integer;var s:real);
begin
s:=(a+b)/2;
end;
procedure proiz(var a,b,c:integer);
var i,m1,m2:integer;
begin
m1:=1;m2:=1;
for i:=1 to a do m1:=m1*i;
for i:=1 to b do m2:=m2*i;
if m1>m2 then c:=m1
else c:=m2;
end;
var a,b,c:integer;
s:real;
Begin
clrscr;
readln(a,b);
arifm(a,b,s);
writeln(s);
proiz(a,b,c);
writeln(c);
end.
2)
Program Pr1;
uses crt;
procedure arifm(var a,b:integer;s:real);
begin
s:=(a+b)/2;
writeln(s:8:3);
end;
var a,b:integer;
s:real;
Begin
clrscr;
readln(a,b);
arifm(a,b,s);
end.
Все выражения можно упростить либо алгебраически, либо картами Карно, но в итоге получится одинаковое выражение. Затем просто строим таблицу истинности для упрощённого выражения и вуаля решено =)
~ - это отрицание, как чёрточка сверху на рисунке, просто не могу нормально тут написать. ~C - значит отрицание для С.
1. После упрощения получаем A~BC.
Если для этого выражения построим таблицу истинности, увидим, что оно положительно только при A=1, B=0, C=1. Для любого другого набора на выходе будет 0.
2. После упрощения получаем ~B. (Повторюсь, упрощаем алгебраически применяя законы поглощения и прочие, либо же карты Карно. Можно в лоб строить таблицу истинности, без упрощения, но она получится довольно большой и это геморно. Проще упростить и затем уже считать).
Соответственно, При B=1, на выходе будет 0,
при B=0, на выходе будет 1.
В данном случае A ни на что не влияет.
3. После упрощения получаем A~BB. С таким сочетанием у нас всегда будет 0. Какой бы набор A и B мы не брали, выражение на выходе всегда равно 0.
Объяснение: