一.概要
帳票ツールとして、帆軟は展開表示する際に、配列の知識を使うことがよくあります。帆軟の帳票内の展開可能な各セルを1つの配列として考えて計算します。展開されたセルのリストを表示する場合、コンマ(「,」)で分割して配列の各要素を表示したことになります。
多くの初心者は配列の演算に対していくつかの間違いがありますが、ここで簡単に説明します。
二.配列の定義
配列とは、同じデータ型の要素を一定の順序で並べたものです。
同じ型の有限個の変数の集まりに名前が付けられている場合、その名前が配列の名前となります。
配列を構成する各変数は、配列の成分と呼ばれ、配列の要素とも呼ばれ、下付き変数と呼ばれることもあります。
配列の要素を区別するための数字の番号は下付きと呼ばれます。
配列とは、プログラミングにおいて、処理を容易にするために、同じ型を持ついくつかの変数を順番に並べたものです。同じ種類のデータ要素の集合を順番に並べたものを配列と呼びます。
三.配列の分類
配列とは、要素の集まりを行や列に並べることです。配列は一次元配列と多次元配列に分けられます。
1つの行や列の配列を一次元配列と呼びます。
複数の行と列(2行2列を含む)を持つ配列は多次元配列または二次元配列です。
四.配列の演算
一次元配列と二次元配列の演算法則
1)単一値 x と配列 arrayの演算。 xとarryの各要素の演算をそれぞれ実行して結果を返します。つまり、arry自身と同じ行列、同じサイズの結果を返します。例えば、2*{1,2;3,4;5,6} は、2*1、2*2、2*3、2*4、2*5、2*6 演算を実行し、3行2列の二次元配列の結果 {2,4; 6,8; 10,12} を返します。次の図に示すように:
配列の行と列は、それぞれコンマとセミコロンで区切られています。コンマは、行と行の間の関係が比較的緊密であることを示し、コンマで分割します。列と列の間の関係は比較的疎遠で、セミコロンで区切られています。
例えば、"A"&{"B","C"}は{"AB","AC"}を返し、"A"={"B","A","C"}は{FALSE,TRUE,FALSE}を返します。
つまり、配列は個々の文字や数値と比較、結合、演算などの処理ができます。
2)同方向の一次元配列演算。arry1とarry2に対応する位置にある要素に対して演算をそれぞれ行い、結果を返します。arry1とarry2が同じサイズであることが必要で、そうでない場合は余分な部分が #N/A エラーを返します。
例えば、{1; 2; 3} * {4; 5; 6}は{4; 10; 18}を返し、{1,2,3,4} * {4,5,6}は{4,10,18,#N/A}を返します。次の図に示すように:
3)異方向一次元配列演算。arry1の各要素とarry2の各要素をそれぞれ演算して結果を返し、2つの配列の行数*列数個の要素を得て、つまりM行の配列とN列の配列の演算結果はM*Nのマトリックス配列になります。
例えば、{1;2;3}*{4,5,6,7,8}は、1*4、1*5、1*6、1*7、1*8、2*4、2*5、2*6、2*7、2*8、3*4、3*5、3*6、3*7、3*8を実行し、{4,5,6,7,8;8,10,12,14,16;12,15,18,21,24}を返します。
4)一次元配列と二次元配列演算。二次元の配列のうちの一つの方向は一次元の配列と同方向、同サイズです。例えば、M*Nの二次元配列とM行またはN列の配列演算、同方向の演算では、同方向の一次元の配列の間の位置に対応するように;異方向の演算では、単一値と配列の間の一対一の演算に似ています。サイズ範囲を超えたらエラー値を返します。
例えば、{1,2,3,4}*{1,2,3,4,5;6,7,8,9,10} 、すなわち4列の一次元配列と2行5列の二次元配列演算、列方向の2つの配列演算は位置によって一つずつ対応し、足りない部分は #N/A で補完し、行方向は一対多の演算です。つまり、1*1,2*2,3*3,4*4,#N/A *5;1*6,2*7,3*8,4*9,#N/A *10は、{1,4,9,16,#N/A;6,14,24,36,#N/A}を返します。
5)二次元配列間の演算。同じサイズであることが要求され、同じ位置にある要素に対して一対一対応の演算を実行し、サイズを超えた部分はエラーを返します。
例えば、{1,2;3,4}*{1,2,3;4,5,6;7,8,9}は1*1,2*2,3*4,4*5を実行し、残りは #N/Aで補完し、
={1,4,#N/A;12,20,#N/A;#N/A,#N/A,#N/A}を返します。