Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,60 @@
|
|||
\Initialises M to an upper Pascal matrix of size N
|
||||
\The bounds of M must be at least 1 :: N, 1 :: N
|
||||
procedure UpperPascalMatrix ( M, N );
|
||||
integer M, N, J, I;
|
||||
begin
|
||||
for J := 1 to N do M( 1, J ) := 1;
|
||||
for I := 2 to N do begin
|
||||
M( I, 1 ) := 0;
|
||||
for J := 2 to N do M( I, J ) := M( I - 1, J - 1 ) + M( I, J - 1 )
|
||||
end \for_I
|
||||
end; \UpperPascalMatrix
|
||||
|
||||
\Initialises M to a lower Pascal matrix of size N
|
||||
\The bounds of M must be at least 1 :: N, 1 :: N
|
||||
procedure LowerPascalMatrix ( M, N );
|
||||
integer M, N, I, J;
|
||||
begin
|
||||
for I := 1 to N do M( I, 1 ) := 1;
|
||||
for J := 2 to N do begin
|
||||
M( 1, J ) := 0;
|
||||
for I := 2 to N do M( I, J ) := M( I - 1, J - 1 ) + M( I - 1, J )
|
||||
end \for_J
|
||||
end; \LowerPascalMatrix
|
||||
|
||||
\Initialises M to a symmetric Pascal matrix of size N
|
||||
\The bounds of M must be at least 1 :: N, 1 :: N
|
||||
procedure SymmetricPascalMatrix ( M, N );
|
||||
integer M, N, I, J;
|
||||
begin
|
||||
for I := 1 to N do begin
|
||||
M( I, 1 ) := 1;
|
||||
M( 1, I ) := 1
|
||||
end; \for_I
|
||||
for J := 2 to N do for I := 2 to N do M( I, J ) := M( I, J - 1 ) + M( I - 1, J )
|
||||
end; \SymmetricPascalMatrix
|
||||
|
||||
\Test the Pascal matrix procedures
|
||||
\Print the matrix M with the specified field width
|
||||
\The bounds of M must be at least 1 :: N, 1 :: N
|
||||
procedure PrintMatrix ( M, N, FieldWidth );
|
||||
integer M, N, I, J;
|
||||
begin
|
||||
Format(3, 0);
|
||||
for I := 1 to N do begin
|
||||
for J := 1 to N do RlOut(0, float( M( I, J ) ) );
|
||||
CrLf(0)
|
||||
end; \for_I
|
||||
end; \PrintMatrix
|
||||
|
||||
integer M( 1+10, 1+10 );
|
||||
integer N, W;
|
||||
begin
|
||||
N := 5; W := 2;
|
||||
UpperPascalMatrix( M, N );
|
||||
Text(0, "upper:^m^j" ); PrintMatrix( M, N, W );
|
||||
LowerPascalMatrix( M, N );
|
||||
Text(0, "lower:^m^j" ); PrintMatrix( M, N, W );
|
||||
SymmetricPascalMatrix( M, N );
|
||||
Text(0, "symmetric:^m^j" ); PrintMatrix( M, N, W )
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue