第6講 配列(添え字付き変数)の学習
第1話 配列とは?
学習が進むと、魔方陣自動生成ソフトや
数独(ナンプレ)自動生成アプリに挑戦する予定になっています。
これらのソフトやアプリでは、変数が非常にたくさん出てきます。
特に、魔方陣自動生成ソフトにおいては、
変数は数百個から数千個も出てきます。
変数が数千個も出てくるとしたら、
a,b,・・・,z,aa,ab,ac,・・・
と名前を考えるだけで大変です。
実は、配列を使うとこの問題が簡単に解決します。
配列とは、添え字付き変数で、
配列もx[1]のように使いますので、
x1とするのと大して変わらないとお思いになるかも知れませんが、
用意するのはとても簡単ですし、
なによりもfor文が使えるという大きなメリットがあります。
配列を使うには、
x=[0,0,0,0,0,0,0,0,0,0]
のように初期化
(最初の代入ですよ。Rubyの場合箱に0等を入れておかずに、
箱を使うとエラーしますので、普通は0に初期化しておきます。
)
しておきます。
これで10個の変数が用意できて0に初期化されたことになります。
x[0],x[1],x[3],x[4],x[5],x[6],x[7],x[8],x[9]
の10個です。
C言語などでは、
int x[10];
と宣言(添え字付きの箱を10個用意したと宣言)したときに、
x[10]=5;
とするとエラーします。
int x[10];
によって、10個の箱しか用意していないのに、
11個目の箱を使おうとしているからです。
0から始まりますので10は11個目になることに注意して下さい。
ところが、Rubyの場合
x=[0,0,0,0,0,0,0,0,0,0]
によって、10個の箱しか用意していないのに、
x[10]=5
としてもエラーしません。
#! ruby -Ks
x=[0,0,0,0,0,0,0,0,0,0]
x[10]=5
x[11]=8
print x[10],"\n"
print x[11],"\n"
参考ダウンロード添付ファイル
代入すると、自動的に箱を増やしてくれるのです。
ですから、配列をたくさん用意したいときは、
#! ruby -Ks
x=[0]
i=0
100.times do
x[i]=0
i+=1
end
i=0
100.times do
print x[i]," "
i+=1
end
参考ダウンロード添付ファイル
のピンクの部分のようにしておくと良いでしょう。
これで100個の箱が用意できて、
すべて0に初期化できたことになります。
100.times do
x[i]=0
i+=1
end
100を1000に変更すれば、1000個の箱が、
100000に変更すれば100000個の箱が用意できます。
配列ってとても便利でしょう。
では、皆さん 参考ダウンロード添付ファイルを改良して、
表示が
となるようにしてみましょう。
(コマンドプロンプト(黒い画面)は、
自由にドラッグによって自由に大きさが変更できますよ。
境界線(赤い線、この線は説明のための線)
のところにカーソルを合わせ、
左ボタンを押しながら左右に移動して手を放して下さい。)
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
vc++講義へ
vba 2013 2010 2007 入門へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
専門用語なしの C言語 C++ 入門(Visual C++ 2010で学ぶ C言語 C++ 入門)
専門用語なしの excel vba マクロ 入門 2013 2010 2007 対応講義 第1部
eclipse java 入門へ
excel 2016 vba 入門第1部へ
本サイトトップへ