М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Tomokl
Tomokl
16.08.2021 07:23 •  Информатика

Составьте таблицу истинности для логической функции x = (а → b) /\ (c ↔ ¬(b \/ a)) в которой столбец значений аргумента а представляет собой двоичную запись числа 226, столбец значений аргумента в – числа 154, столбец значений аргумента с – числа 75. число в столбце записывается сверху вниз от старшего разряда к младшему. переведите полученную двоичную запись значений функции x в десятичную систему счисления.

👇
Ответ:
SerezhaYakovle
SerezhaYakovle
16.08.2021
1. Упростим исходную логическую функцию
y=(A \to B) \land(C \equiv \lnot(B \lor A))
Для удобства записи будем использовать общепринятые сокращения. Операцию логического сложения (дизъюнкцию) "∨" будем обозначать знаком "+". Логическое умножение (конъюнкцию) "∧" будем обозначать знаком умножения (точкой) или опускать, как принято в алгебре. Вместо знака логического отрицания будем использовать надчеркивание.
y=(A \to B)(C \equiv \overline{B+A}); \\ y=(\bar A+B)(C \equiv 
\overline{B+A})=(\bar A+B)(\bar C(B+A)+C \overline{B+A})= \\ (\bar 
A+B)(\bar CB+\bar CA+C\bar B \bar A})=\bar AB\bar C+\bar AAC+\bar A\bar 
BC+B\bar C+AB\bar C+ \\ \bar AB\bar BC=\bar AB\bar C+0+\bar A\bar 
BC+B\bar C+AB\bar C+0= \\ \bar AB\bar C+\bar A\bar BC+B\bar C+AB\bar 
C=B\bar C(\bar A+1+A)+\bar A\bar BC=\bar A\bar BC+B\bar C
2. Переведем в двоичную систему счисления заданные значения A, B, C:
\begin {array} {rcl} A =226_{10} &=& 11100010_2; \\ B=154_{10} &=& 10011010_2; \\ C=075_{10} &=& 01001011_2 \end {array}
3. Построим таблицу истинности для функции у
\begin {array}{ccccccccc} A&B&C&\bar A&\bar B&\bar A\bar BC&\bar C&B\bar C&Y=\bar A\bar BC+B\bar C \\ 1&1&0&0&0&0&1&1&1 \\ 1&0&1&0&1&0&0&0&0 \\ 1&0&0&0&1&0&1&0&0 \\ 0&1&0&1&0&0&1&1&1 \\ 0&1&1&1&0&0&0&0&0 \\ 0&0&0&1&1&0&1&0&0 \\ 1&1&1&0&0&0&0&0&0 \\ 0&0&1&1&1&1&0&0&1 \end {array}
4. Переведем результат в десятичную систему счисления
10010001_2=145_{10}
4,4(63 оценок)
Открыть все ответы
Ответ:
vika2082
vika2082
16.08.2021
Program pr;
uses crt;

Var mas:array[1..1000, 1..1000] of integer;
N,M,i,j,k:integer;

Begin
Writeln('Введите размер матрицы N*M');
Write('N = ');
readln(N);
Write('M = ');
readln(M);

if (M>1000) or (N>1000) or (M<1) or (N<1)
then  
Writeln('Ошибка, указанные значения выходят за пределы матрицы')   else   
        Begin      
 Writeln('Введите элементы матрицы');      

k:=0; 
 for i:=1 to N do     
  for j:=1 to M do     
    Begin     
      readln(mas[i,j]);       
      if (mas[i,j] mod 2 = 0) then k:=k+1;     
    end; 
  
    Writeln();   
    Writeln('Исходная матрица');
   
   for i:=1 to N do   
     Begin     
       for j:=1 to M do     
          Begin     
             Write(mas[i,j], ' ')     
           end;     
      Writeln();   
     end;         

Writeln();   
Writeln('Количество четных элементов = ',k);      
 end;

readln;
end.
4,5(85 оценок)
Ответ:
Алгоритм на условном языке.

m:=0.  "количество отрицателных"
p:=0    "количество положительных"
i:=1.
пока i<>0 повторять
    i:=прочитать число, введенное с клавиатуры.
    если i>0 то p:=p+1.
    если i<0 то m:=m+1.
конец цикла пока.
вывести на экран('процент положительных = ', p/(p+m)).
вывести на экран('процент отрицательных = ', m/(p+m)).

Алгоритм будет верно работать, если введено хотя бы одно число, отличное от нуля. В противном случае возникнет ошибка деления на ноль. В нормальных программах подобные случаи отлавливаются и корректно обрабатываются.
4,6(76 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ