var a:array[1..3][1..3] of real;
のように定義し、 各成分は a[1][1] または a[1,1] のように表す。( sample5a )
type レコード型タイプ名 = record
フィールド名 : 型 ;
:
フィールド名 : 型
end;
で、レコード変数の各要素は <レコード変数>.<フィールド名> のように表す。 with 文を用いると <レコード変数>. の部分を省略できる。 ( sample5b )
program sample5a;
{ 5×5 の完全方陣:縦横斜め(対角線以外の斜めも)の和が全て 65 }
const
size=5;
key=12;
type
vector=array[1..size] of real;
matrix=array[1..size] of vector;
var
a,b,c:matrix;
i,j:integer;
begin
for i:=1 to size do
for j:=1 to size do
begin
a[i,j]:=(i+key*j) mod size;
b[i,j]:=(key*i+j) mod size;
c[i,j]:=a[i,j]+size*b[i,j]+1
end;
for i:=size downto 1 do
begin
for j:=size downto 1 do write(c[i][j]:5:0);
writeln
end;
writeln;
end.