【第3回】


『内容』

<分岐処理>

1. if 2. if-else 3. if-else if 4. switch

<繰り返し処理>

1. while 2. do-while 3. for 4. breakcontinue

不適切な処理で無限ループ(実行が永遠に終わらない)に陥ったときは,キーボードの「Ctrl」キーと「C」キーを同時に押して強制終了すること.


『演習』

4.分岐処理と繰り返し処理

4.1 分岐処理

 処理の分岐を行うものには,ifif-elseswitch文がある.

4.1.1 if

 if(条件式)の条件式としては,大小関係を比較する関係演算子が一般的であるが,複数の条件式を論理演算子で繋げることもできる(教科書p.33の「表4-1」を参照).if文の条件式が真とは,10進数では「0以外」を意味する.

 教科書p.33の「プログラム4-1」を実行し,その動作を確認せよ.(教科書p.32の「文法4-1」を参照)


4.1.2 if-else文とif-else if

 if文は条件式が真の時のみの分岐を行うが, if-else文は真と偽のときの2つの分岐を行うことができる.さらに,偽の場合であるelse以降に,if-else文を次々に追加していくことができる.これをif-else if文と呼ぶ.

 教科書p.34の「プログラム4-2」を実行し,その動作を確認せよ.(教科書p.33の「文法4-2」ならびにp.34の「文法4-3」を参照)


4.1.3 switch

 1つの変数の値によって,複数の分岐を行う.分岐先には,「case 値:」というラベルを付ける.ラベルは実行文ではないので,区別するために文の最後を「;(セミコロン)」ではなく「:(コロン)」にしている点に注意せよ.分岐先のcaseの最後にはbreakを一般には置く.breakによってswitch文の分岐処理から抜ける.

 教科書p.35の「プログラム4-3」を実行し,その動作を確認せよ.(教科書p.35の文法4-4を参照)

 caseの最後のbreakを省略すると,それ以降のcaseに書かれた文も実行される.

 教科書p.36の「プログラム4-4」を実行し,その動作を確認せよ.

 上記のことを確認してみよ.また,case文に「' '」を残した場合,どのような値を入力すれば分岐するかを考えよ.


4.2 繰り返し処理

 繰り返し処理を行うものには,while文,do-while文,for文がある.

4.2.1 while

 条件式が真である間,繰り返し処理を行う.条件式としては,if文と同じように記述する.

 教科書p.37の「プログラム4-5」を実行し,その動作を確認せよ.(教科書p.36の「文法4-5」を参照)

 繰り返し処理を強制的に抜けるコマンドがbreakである.繰り返し処理を行う場合,その繰り返し回数の上限を設定し,カウンタ値が上限値になったときに,繰り返し処理を終了させるようにしておけば,間違って無限ループに陥った場合にも安全である(教科書p.37の「プログラム4-6」を参照,繰り返し処理の上限回数を10とした例である).


4.2.2 do-while

 while文では,条件式が先頭にあったが,この条件式を最後に持ってきたのがdo-while文である.そのため,条件式が偽であった場合,while文では一度も{}内の処理は実行されないが,do-while文では1回だけ{}内の処理が行われる.while文のwhile(条件式)の後には「;」は要らないが,do-while文のwhile(条件式)の後には「;」が要る点にも注意せよ(教科書p.38の「文法4-6」を参照).

 教科書p.38の「プログラム4-7」を実行し,その動作を確認せよ.


4.2.3 for

 for文の()の中には,前処理式,条件式,後処理式が「;」で区切られて記述されている.この記述に従い,条件式が真である間,{}内の処理を繰り返し行う(教科書p.39の図を参照).

 教科書p.39の「プログラム4-8」を実行し,その動作を確認せよ.


4.2.4 繰り返し処理におけるbreakcontinue

 繰り返し処理中にbreakに当たると強制的に繰り返し処理を抜ける.一方,continueにあたるとその回の繰り返し処理を中断し,次の繰り返し処理へ進む.

 教科書p.40の「プログラム4-9」を実行し,その動作を確認せよ.


レポート課題3(授業終了後にアップロード)

 RePORTシステム(提出期限:5月1日(月)12:00)