// PascalABC.NET 3.2, сборка 1387 от 20.02.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк/столбцов в матрице:'); Writeln('*** Матрица А ***'); var a:=MatrRandom(n,n,-50,50); a.Println(4); Writeln('*** Матрица B ***'); var b:=MatrRandom(n,n,-50,50); b.Println(4); Writeln('*** Матрица C ***'); var c:=MatrRandom(n,n,-50,50); c.Println(4); Writeln(4*a.ColCount*'-'); Writeln('*** (|A|+|B|)x|C| ***'); var t:=new integer[n,n]; // временная иатрица для суммы for var i:=0 to n-1 do for var j:=0 to n-1 do t[i,j]:=a[i,j]+b[i,j]; // сумма матриц var r:=new integer[n,n]; // матрица-результат for var i:=0 to n-1 do for var j:=0 to n-1 do begin var s:=0; for var k:=0 to n-1 do s+=t[i,k]*c[k,j]; r[i,j]:=s end; r.Println(8) end.
Алгебра логики — это один из основных разделов символической логики, в основе которого лежит применение алгебраических методов к логике (см. Логика). Алгебра логики — исторически первая форма символической логики (см. Символическая логика), возникшая в середине XIX века в трудах Дж. Буля. К её созданию привела аналогия между решением алгебраических уравнений и выводом следствий из посылок, а также то, что алгебраические уравнения применимы при решении задач из различных областей знания. Поначалу алгебра логики имела своим предметом классы (как объёмы понятий), соотношения между классиками по объёму и связанные с этим операции над ними. Позднее, в связи с появлением в 70-х годах XIX века теории множеств, взявшей на себя часть этих задач, предмет алгебры логики значительно изменился. Основным её предметом стали высказывания (суждения, предложения), рассматриваемые со стороны их логических значений (истина, ложь, бессмыслица и другие), и логические операции над ними.
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк/столбцов в матрице:');
Writeln('*** Матрица А ***');
var a:=MatrRandom(n,n,-50,50); a.Println(4);
Writeln('*** Матрица B ***');
var b:=MatrRandom(n,n,-50,50); b.Println(4);
Writeln('*** Матрица C ***');
var c:=MatrRandom(n,n,-50,50); c.Println(4);
Writeln(4*a.ColCount*'-');
Writeln('*** (|A|+|B|)x|C| ***');
var t:=new integer[n,n]; // временная иатрица для суммы
for var i:=0 to n-1 do
for var j:=0 to n-1 do
t[i,j]:=a[i,j]+b[i,j]; // сумма матриц
var r:=new integer[n,n]; // матрица-результат
for var i:=0 to n-1 do
for var j:=0 to n-1 do begin
var s:=0;
for var k:=0 to n-1 do s+=t[i,k]*c[k,j];
r[i,j]:=s
end;
r.Println(8)
end.
Пример
Количество строк/столбцов в матрице: 6
*** Матрица А ***
32 -26 27 -45 -48 38
-40 -5 -20 -26 23 27
0 33 1 -38 -42 14
11 1 33 43 -43 -30
-11 15 -8 -19 14 36
16 24 -34 -33 33 22
*** Матрица B ***
-20 42 -10 10 -38 27
-30 18 -17 -43 22 12
-8 -45 17 -45 34 45
-12 39 -34 6 17 -12
-5 30 31 -5 8 49
10 -17 -50 29 32 -34
*** Матрица C ***
-26 -49 -12 -45 23 -10
38 -19 43 31 39 9
-32 10 41 -29 29 44
6 24 -25 -49 -36 -18
47 25 -41 -16 -3 -11
12 13 -27 1 31 33
*** (|A|+|B|)x|C| ***
-3720 -2867 3887 2619 4926 4493
5667 2789 -1291 7326 1382 1223
-990 -625 1128 3720 4711 4293
146 -741 2666 -713 -1480 -1656
3300 1238 473 2357 5487 4572
5165 -874 -5696 627 -1988 -4932