// PascalABC.NET 3.1, сборка 1200 от 13.03.2016 begin var a:=MatrixRandom(7,7,0,9); var k:=0; for var i:=0 to 6 do begin for var j:=0 to 6 do begin Write(a[i,j]:3); if a[i,j] in [1..5] then Inc(k) end; Writeln end; Writeln('Кол-во элементов на [1,5]: ',k) end.
const n=7; var a:array[1..n,1..n] of integer; i,j,k:integer; begin Randomize; k:=0; for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=Random(10); Write(a[i,j]:3); if a[i,j] in [1..5] then Inc(k) end; Writeln end; Writeln('Кол-во элементов на [1,5]: ',k) end.
Объяснение:1) Определить число логических переменных.
2) Определить количество базовых логических операций и их порядок.
3) Изобразить для каждой логической операции соответствующий ей вентиль.
4) Соединить вентили в порядке выполнения логических операций.
Пример 10
Составить логическую схему для логического выражения: F=¬XvY&X.
1) Две переменные – X и Y.
2) Две логические операции: 1 3 2
¬XvY&X.
3) Строим схему, соединяя вентили в порядке выполнения логических операций:
Пример 11
Постройте логическую схему, соответствующую логическому выражению F=X&Yv¬(YvX).
Вычислить значения выражения для X=1, Y=0.
1) Переменных две: X и Y.
2) Логических операций четыре: конъюнкция, две дизъюнкции и отрицание. Определяем порядок выполнения операций:
1 4 3 2
X&Yv ¬(YvX).
3) Схему строим слева направо в соответствии с порядком выполнения логических операций:
4) Вычислим значение выражения: F=1&0v¬(0v1)=0.