かながわグローバルIT研究所コンピュータとコンピュータサイエンスの楽しさを伝えます。【制御文】プログラムの流れを操る3つのパターン【制御文】プログラムの流れを操る3つのパターンプロセッサが担う情報加工作業は様々ですが、その作業の流れの基本パターンはたった3つ。満たされるまで作業を繰り返す「反復」です。どんな情報加工作業でも、これら3つの組み合わせで表現できます。【制御文】プログラムの流れを操る3つのパターン制御文とは処理の流れを指示するために用いるプログラム文のことで、多くのプログラミング言語では条件分岐と反復のための複数の制御文が用意されています。これらを組み合わせてプログラムを設計していくところはプログラマーの腕の見せ所ですが、バグの源にもなりやすいところなので注意が必要です。プログラム実行を制御しているハードウェアは制御装置です。命令単位で処理の流れをコントロールできますが、プログラマーにはそれは煩雑すぎます。ある処理を実行し、次の処理に続くという何の変哲もないパターンです。3人の平均身長の計算は2つのステップの順次実行として表現できます。条件の真偽値を求め、それがtrueとなったときのみ処理を行います。例:赤組と白組の得点を比較し結果判定します。2つの条件分岐を組み合わせます。プログラミング言語では、if-else文という制御文を使います。一律の方法で処理できる案件が複数ある場合には、案件処理方法を1回だけプログラムに書いて、それを各案件に反復して適用するのが効率的です。案件数Nが反復回数になります。プログラミング時点でNが確定しているならばfor文が使えます。プログラムを実行時点でないとNが確定しない場合や、入力データによって反復回数が変わる場合はwhile文を使います。案件0、案件1、案件2、というように処理を進めて、案件Nが完了するまで反復を続けるのに適した制御文です。カウンタ変数を使います。カウンタ変数が0のときは案件0、1の時は案件1、というように、カウンタ変数を増やしながら処理を進めていきます。kなどを使うことが多いです。図の説明カウンタ変数で次の案件を特定します。今はi==1なので案件1を処理中です。何番目の案件かを意識せず、「次の案件がある」という条件がtrueである限り反復を続けます。次の案件がなくなったときに反復完了です。「次の案件」という概念をプログラムで表現するのはプログラマーの責任です。同じ案件を繰り返すミスをすると無限ループに陥ります。処理すべき案件を飛ばしてしまうと、抜け盛れとなってしまいます。処理中の案件が終わると、次の案件に移ります。次の案件が無いときに、反復を終了します。紅組と白組、どっちの得票が多い?年に一度の盛大な歌番組も大詰め、視聴者によるデジタルテレビ経由での投票が終わりました。あとは開票して、各組の得票数を出すだけです。そのためのプログラムのコア部分を示します。for文を使うプログラムfor文を使うプログラム視聴者からの投票はtouhyou[0]~touhyou[100000]という配列に入っています。touhyou[]は文字列型配列で、各要素には’R’または’W’が入っています。while文を使うプログラムwhile文を使うプログラム視聴者からの投票を取得し、文字列型変数のnextTouhyouに格納する処理がある想定です。nextTouhyouには’R’、’W’、または’E’が入ります。technology.。