Zashchitin Denis
?>

У исполнителя Калькулятор две команды, которым присвоены номера: 1. прибавь 2 2. умножь на 2 Сколько есть программ, которые число 2 преобразуют в число 40?

Информатика

Ответы

zabava-83
Выполним упрощение:
f(x_1,x_2,x_3,x_4)=(x_2+x_4)\bar{x_3}\bar{x_1}\bar{x_4}+\bar{x_2}x_3+x_1x_4= \\ \bar{x_1}x_2\bar{x_3}\bar{x_4}+\bar{x_2}x_3+x_1x_4
Мы получили три конъюнкции, соединенные дизъюнкциями. Функция будет истинной при условии истинности хотя бы одной из дизъюнкций. Выписываем соответствующие комбинации (звездочки означаю, что допускается любое значение бита).
х1 х2 х3 х4
0   1   0   0
*    0   1   *
1    *    *  1
Заменяем строки со звездочками на набор строк со всем допустимыми комбинациями битов на месте звездочек.
х1 х2 х3 х4
0   1   0   0
0   0   1   0
0   0   1   1
1   0   1   0
1   0   1   1
1   0   0   1
1   0   1   1 - дубликат
1   1   0   1
1   1   1   1
И удаляем строки-дубликаты:
х1 х2 х3 х4
0   1   0   0
0   0   1   0
0   0   1   1
1   0   1   0
1   0   1   1
1   0   0   1
1   1   0   1
1   1   1   1
Павловна1750
Var
  c:array [1..10] of integer;
  i, even, positive, sumLessSix: integer;
begin
  randomize;
  writeln ('Рандомный массив');
  for i:=1 to 10 do begin
    c[i]:= random(20)-10;
    write (c[i],' ');
  end; {for}
  writeln;
  writeln('Произведение четных чисел');
  even:=1;
  for i:=1 to 10 do
    if c[i] mod 2 = 0  then
    even:= even*c[i];
  write(even,' ');
  writeln;
  writeln('Произведение положительных чисел');
  positive:=1;
  for i:=1 to 10 do
    if c[i] > 0 then
    positive:= positive*c[i];
  write(positive,' ');
    writeln;
  writeln('Сумма элементов меньших 6');
  positive:=1;
  for i:=1 to 10 do
    if c[i] < 6 then
    sumLessSix:= sumLessSix+c[i];
  write(sumLessSix,' ');
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

У исполнителя Калькулятор две команды, которым присвоены номера: 1. прибавь 2 2. умножь на 2 Сколько есть программ, которые число 2 преобразуют в число 40?
Ваше имя (никнейм)*
Email*
Комментарий*