ネスト(nest), 入れ子
命令の中に命令を、ブロックの中にブロックを入れること
例) 「マトリョーシカ人形」, 「ラッキョ」「タマネギ」, などなど
C言語の制御構造に関しても、ネスト構造が使われることがあります。
つまり、これまで学習した制御構造は、必要に応じて組み合わされて利用されます。
たとえば・・・
- for を用いたループの中で、if による判断を行う
→ プログラム設計の最大値・最小値を求めるアルゴリズムなど
- for を用いたループの中で、さらに for を用いた ループ文を使用する
→ 表形式(2次元)のデータを扱う場合など
・・・など組み合わせは無数にありえます。
Hint)
フローチャートが理解できる学生は、構造化の部品を用いてネスト構造を理解するようにしてみましょう。
Hint2)
字下げ(インデント)をしっかりと行い、各制御構造の処理の範囲を明確にするように心がけること。
練習) a, b, c 3つの値の中で、最大値を求めるプログラムを if
文のネストを用いて記述してみましょう。
練習) ネスト構造を「段階的詳細化」を用いて理解してみましょう。
問) 掛け算の九九表を表示するプログラムを作ってみましょう
ネスト(入れ子)の考え方
これまで学習してきた基本的な if文の構造だが・・・
実は、処理2(赤い部分)の中には別の if文が入っていました・・・というオチ
Kunihiro Egami <egami@egamix.com>