なでしこWEB > マニュアル > プログラミング基礎
なでしこ
プログラミング基礎編〜反復
反復とは・・・

配列変数の一要素ずつ、長い文章の一行ずつを一つずつ処理したいことがあります。そのときは、『反復』構文を使うと便利です。

反復
それでは『反復』命令を使った例を見ていきましょう。次のプログラムは配列変数の各要素を全部画面に表示するプログラムを作ってみます。
動物¥0=「イヌ」
動物¥1=「サル」
動物¥2=「キジ」
動物を反復
  それを表示。
これを実行すると・・・
イヌ
サル
キジ
・・・と表示されます。
反復構文では、各配列の数だけ繰り返し内容を実行します。そのとき、変数『それ』に各要素が代入されます。
(データ)反復
    (内容)
例えば、配列変数の各要素や文章の一行ずつを一つずつ【xx】とカッコをつけて表示したい場合に、『反復』構文を作ると簡単に表示できます。
動物は、「トラ
ゾウ
ウマ」


動物を反復
  「【 {それ} 】」を表示。
プログラムを実行すると以下のように表示されます。
-----
【 トラ 】
【 ゾウ 】
【 ウマ 】
『それ』の代わりに『対象』を使う
変数『それ』と同じように『対象』を使うことでも反復の要素の値を利用できます。
動物¥0=「カバ」
動物¥1=「サル」
動物¥2=「キジ」
動物を反復
  「【 {対象} 】」を表示。
このプログラムを実行すると以下のように表示されます。
---
【 カバ 】
【 サル 】
【 キジ 】
変数『それ』というのは、何か命令を使うとすぐに書き換えられてしまうものです。そこで、『対象』という変数を使って反復する対象を得ることができるようになっているのです。
反復を使って計算をしてみよう!
次に反復を使って計算をしてみようと思います。
うどん屋を想像してみてください。働き者のご主人がコツコツうどんを作るお店です。
ある日、突然うどんの仕入れ値段が100円高くになってしまいました。そこで止む無くメニューを全て100円高くする場合です。
値段表は「600
630
800
850
1200」

値段表を反復
  対象に100を足して表示。
これを実行すると以下のように値段表より100円高い金額が表示されます。
---
700
730
900
950
1300
二次元配列変数を反復する
さっきのは値段だけでしたが、普通値段表といったら、「料理名, 値段」と組になっているはずですね。今度は二次元配列変数を反復してみます。
# 値段表
値段表は「かけうどん,600
たぬきうどん,630
ざるそば,800
日替わり定食,850
天ぷらうどん,1200」
# CSVファイルを二次元配列変数に変換
値段表をCSV取得して値段表に代入。
# 反復
値段表を反復
  料理は対象¥0
  値段は対象¥1
  値段は値段+100
  「{料理}, {値段}」を表示。

これを実行すると100円高い値段になって表示されます。
---
かけうどん, 700
たぬきうどん, 730
ざるそば, 900
日替わり定食, 950
天ぷらうどん, 1300

ここで新しい命令が出てきました。『CSV取得』命令とは、カンマで区切られた文字列を強制的に二次元配列変数に変換する命令です。

これでうどん屋の値段表を二次元配列変数に変換しておき、二次元配列変数を『反復』構文で繰り返しています。

するとどうでしょう!二次元を一要素ずつ実行すると、一次元の配列として取り出すことができるんです。それで『対象¥0』で料理の名前、『対象¥1』で値段を取得することができます。

次のページ→反復+ハッシュ
前のページ←ハッシュを使う
なでしこWEB > マニュアル > プログラミング基礎