ファーストイヤー・セミナーⅡ 第11回 while文による繰り返し while文 while文はfor文などと同様に、特定の処理を繰り返した いときに使用する ただしfor文と違って、書式の中に「初期化」「再設定」部 分がないことに注意 条件判定(処理を繰り返すかどうかの判断)は繰り返し 処理の前に行われる while文の書式 while文の処理の流れ while文の流れは以下のようになる while文による繰り返し(1) while文を用いて、1~10の整数を順に表示するプログ ラム xの値の初期化 x<=10のあいだ繰り返し xの再設定 練習 while文を用いて、10~1の整数を順に表示するプログ ラムを作成してください(カウントダウン) xを10に初期化 x>=1のあいだ繰り返し xの再設定 (ディクリメント) インクリメント演算子・ディクリメント演算子 条件設定、再設定の部分などで使用される演算子 インクリメント演算子・ディクリメント演算子には前置型と後 置型がある 後置型 a++ b-前置型 ++a --b ←処理の後にaを1増やす ←処理の後にbを1減らす ←処理の前にaを1増やす ←処理の前にbを1減らす インクリメント、ディクリメント演算子の利用 インクリメント、ディクリメント演算子を利用することで記述を単 純化できる 「いつ」加算、減算がおこなわれているかをちゃんと考えて判 定条件、初期値を設定すること 条件判定部分に利用 本文内で利用 練習 以下の2つのプログラムを作成し、結果がどう異なるか確認し てください 右側のプログラムの結果を左と同じにするにはどうすればよ いか考えてください 練習のプログラム例 以下のような書き換えの方法があります 左:初期値を11とし、条件判定を x-- > 1 とする 右:初期値を11とし、条件判定を --x >= 1 とする 無限ループ while文で再設定を忘れたり、意図的に再設定をしなかった場 合には「常に処理を繰り返す」無限ループになることがある 意図的に無限ループにしたい場合には条件判定式のところに 「1」を入れておくと良い 無限ループからの脱出には「break文」などが使える rand() 関数を使用する ために必要 この部分を削除すると 無限ループになる while文のネスト for文やif文と同じように、while文もネスト(入れ子)して使用す ることができる 例:四角形を描くプログラム for文と違って初期化の部分がない ため、ループに使用する変数の 初期化をおこなう部分に注意! do while 文 while文と異なり、「文を実行した後に」条件判定をおこなう書式 そのため最低1回は文が必ず実行される do while 文(2) 0~100までの偶数を表示するプログラム x=0 から開始して x を表示し x を 2 ずつ増やして100以下 なら繰り返し 繰り返し部分 x<=100ならもう一度実行 第11回のレポート 以下のプログラムを作成し、どちらか1つを教員までメー ルで提出してください 宛先: (1)0より大きい整数を入力し、0から入力した整数まで順に 表示するプログラムを、while文を用いて作成してください (2)納得するまで「おみくじ」を引き続けられるプログラム ※ while文、while文の無限ループ、do while文などが使え ます ※ おみくじの判定には rand() 関数と if文またはswitch~ case文などを使ってみてください
© Copyright 2024 ExpyDoc