<em>// PascalABC.NET 3.2, сборка 1415 от 25.03.2017</em> <em>// Внимание! Если программа не работает, обновите версию!</em>
function MatRead(var n:integer):array[,] of integer; // функция создает и возвращает квадратную матрицу n*n, // элементы которой вводятся к склавиатуры. // Она фактически не нужна в этой версии Паскаля, // потому что уже встроена, но раз просят... begin Result:=ReadMatrInteger(n,n) end;
function MatSum(a,b:array[,] of integer):array[,] of integer; begin var n:=a.RowCount-1; SetLength(Result,n+1,n+1); for var i:=0 to n do for var j:=0 to n do Result[i,j]:=a[i,j]+b[i,j] end;
procedure MatPrint(a:array[,] of integer; p:integer); // вывод матрицы a в p позициях // И эта процедура фактически не нужна, но присутствует // из-за требований задачи. begin a.Println(p) end;
begin var n:=ReadInteger('n='); Writeln('Введите элементы матрицы А'); var a:=MatRead(n); Writeln('Введите элементы матрицы B'); var b:=MatRead(n); MatPrint(MatSum(Transpose(a),b),4); Writeln; MatPrint(MatSum(Transpose(b),a),4) end.
<u>Пример</u> n= 3 Введите элементы матрицы А 1 2 3 4 5 6 7 8 9 Введите элементы матрицы B 18 17 16 15 14 13 12 11 10 19 21 23 17 19 21 15 17 19
256 = 2⁸, поэтому пикселей 2⁸×2⁸ = 2¹⁶ пикселей 3 Кбайта = 3×2¹⁰ байт = 3×2¹⁰×2³ бит = 3×2¹³ бит. На 1 пиксель приходится 3×2¹³/2¹⁶ бит = 3/2³ =3/8 бита. Это и есть размер палитры. Но под пиксель нельзя отвести меньше бита, поэтому задача НЕКОРРЕКТНА.
var sum, i, s: integer; //обыявляем необходимые переменные
//sum - сумма, i - кол-во слогаемых, s - само слогаемое
begin //начало sum := 0; i := 1; s := 5; //первое слогаемое = 5 repeat sum := sum + s; //к сумме прибавляем слагаемое s := s + 4; //увеличиваем слогаемое i := i + 1; //увеличиваем кол-во слогаемых until (sum = 324); //выход когда сумма равна 324 writeln ('Слогаемых: '); // выводим кол-во слогаемых write (i); end. //конец