Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,66 @@
|
|||
begin
|
||||
% initialises m to an upper Pascal matrix of size n %
|
||||
% the bounds of m must be at least 1 :: n, 1 :: n %
|
||||
procedure upperPascalMatrix ( integer array m( *, * )
|
||||
; integer value n
|
||||
) ;
|
||||
begin
|
||||
for j := 1 until n do m( 1, j ) := 1;
|
||||
for i := 2 until n do begin
|
||||
m( i, 1 ) := 0;
|
||||
for j := 2 until 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 ( integer array m( *, * )
|
||||
; integer value n
|
||||
) ;
|
||||
begin
|
||||
for i := 1 until n do m( i, 1 ) := 1;
|
||||
for j := 2 until n do begin
|
||||
m( 1, j ) := 0;
|
||||
for i := 2 until 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 ( integer array m( *, * )
|
||||
; integer value n
|
||||
) ;
|
||||
begin
|
||||
for i := 1 until n do begin
|
||||
m( i, 1 ) := 1;
|
||||
m( 1, i ) := 1
|
||||
end for_i;
|
||||
for j := 2 until n do for i := 2 until n do m( i, j ) := m( i, j - 1 ) + m( i - 1, j )
|
||||
end symmetricPascalMatrix ;
|
||||
|
||||
begin % 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 ( integer array m( *, * )
|
||||
; integer value n
|
||||
; integer value fieldWidth
|
||||
) ;
|
||||
begin
|
||||
for i := 1 until n do begin
|
||||
write( i_w := fieldWidth, s_w := 0, " ", m( i, 1 ) );
|
||||
for j := 2 until n do writeon( i_w := fieldWidth, s_w := 0, " ", m( i, j ) )
|
||||
end for_i
|
||||
end printMatrix ;
|
||||
|
||||
integer array m( 1 :: 10, 1 :: 10 );
|
||||
integer n, w;
|
||||
|
||||
n := 5; w := 2;
|
||||
upperPascalMatrix( m, n ); write( "upper:" ); printMatrix( m, n, w );
|
||||
lowerPascalMatrix( m, n ); write( "lower:" ); printMatrix( m, n, w );
|
||||
symmetricPascalMatrix( m, n ); write( "symmetric:" ); printMatrix( m, n, w )
|
||||
|
||||
end
|
||||
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue