VBAの試験に「配列の添え字が0から始まるか1から始まるか」というのがある。
ベーシック言語が元になっているから「0から始まる」が正解だが、そういうことを気にしなくていいように、必要な配列数を1つ多く取っておくのがプログラミングの常識なのである。この問題を作った人はプログラミングの常識がないということだ。
まともなプログラミング教育を受けたプログラムの設計者は、何語で書かれるかを意識するが、途中で開発言語が変わる可能性を考えて、仕様書には、100個の配列が要るなら「A(101)」と書いておくのである。それと、「Iを1から100に代えながら」と書き、決して 「Iを0から99」とは書かないのである。一般に、多くのお客さんにとって、数は0から始まるものではなく、1から始まるものだからだ。仕様書は客も見るからである。
ちなみに、VBAの場合 A(100)と書くと101個の配列となる。
ベーシック言語が元になっているから「0から始まる」が正解だが、そういうことを気にしなくていいように、必要な配列数を1つ多く取っておくのがプログラミングの常識なのである。この問題を作った人はプログラミングの常識がないということだ。
まともなプログラミング教育を受けたプログラムの設計者は、何語で書かれるかを意識するが、途中で開発言語が変わる可能性を考えて、仕様書には、100個の配列が要るなら「A(101)」と書いておくのである。それと、「Iを1から100に代えながら」と書き、決して 「Iを0から99」とは書かないのである。一般に、多くのお客さんにとって、数は0から始まるものではなく、1から始まるものだからだ。仕様書は客も見るからである。
ちなみに、VBAの場合 A(100)と書くと101個の配列となる。