プログラムの構造

計算式などの実際の処理を行う文を実行文と呼びます。実行文は以下の3つの文に分類されます。

  • 単純文は1つの命令文です。1行に複数存在する場合は;(セミコロン)で終了する1つの命令文です。
  • 複合文はブロックと呼ばれ、同じインデントで定義された文の列で構成されます。
  • 構造文はif文、for文などの制御構造で、条件式などが書かれた:の直後の文には1つの実行文を含めることができます。

ある実行文の中に別のを"入れ子構造"で含めることができます。たとえば、if文の中にさらにif文やfor文などを含めたり、for文の中にさらにif文やwhile文などを含めることができます。

アルゴリズム(問題を解く手順)を組み立てることを考えると、プログラムは以下の構造を持つブロックで構成されます。

  1. 連結. 順番に実行される文やメソッドの並び
  2. 選択. 条件によって異なる処理を行う分岐構造(if文など)
  3. 反復. 条件によって処理を反復する繰返し構造(for文など)
  4. 1. 2. 3. の組み合わせと入れ子構造

たとえば、次のプログラムはfor文による2重ループにより九九の表を出力します。

for i in range(1, 10):
    for j in range(1, 10):        # i の段を横1列に出力する
        val = i * j
        if val < 10:              # 1桁の場合は空白入れて調整
            print(' ', end='')
        print(' ', val, end='')
    print()                       # iの段の出力を終えて改行

出力結果:

  1  2  3  4  5  6  7  8  9
  2  4  6  8 10 12 14 16 18
  3  6  9 12 15 18 21 24 27
  4  8 12 16 20 24 28 32 36
  5 10 15 20 25 30 35 40 45
  6 12 18 24 30 36 42 48 54
  7 14 21 28 35 42 49 56 63
  8 16 24 32 40 48 56 64 72
  9 18 27 36 45 54 63 72 81

Reference

 

オンラインジャッジではじめるC/C++プログラミング入門 (マイナビ)

AIZU ONLINE JUDGE のコース問題を題材にした解説書です。各トピックごとに C/C++ 言語の基礎的な内容を学習し、Introduction to Programming の演習問題にチャレンジしていきます。内容は敷居の高いものではなく、プログラミング初学者が取り組む例題からスタートしています。