
[解答と解説] ループ処理 (while文とdo-while文)
前ページの練習問題「【PHPプログラミング入門講座】[練習問題] ループ処理 (while文とdo-while文)」の解答&解説です。
練習問題が解けたら、このページで答え合わせをしてみましょう!
練習問題1
次のPHPプログラムを実行すると、その次に書いてある<実行結果>のように出力されるよう、[条件A]に当てはまる内容を答えてください。
(実際にプログラムを書いて動かしながら考えてOKです。)
<?php $num = 1; while([条件A]) { echo $num . '回目の処理です。<br>'; $num++; }
<実行結果>
1回目の処理です。
2回目の処理です。
3回目の処理です。
4回目の処理です。
5回目の処理です。
練習問題1の解答と解説
<解答>
$num <= 5
または
$num < 6
<解説>
$numの値は1で初期化され、whileループのサイトで1増加します。
<実行結果>の内容から、$numの値が5までwhileブロックの処理が実行されるので「$num <= 5」になります。
「$num < 6」も、<実行結果>と同じ結果になるのでOKです。
練習問題2
10から5まで1ずつ下がっていく数字を出力するPHPプログラムをwhile文を使って書いてください。
ただし、1行に1つの数字を表示し、<br>で改行してください。
(実際にプログラムを書いて動かしながら考えてOKです。)
練習問題2の解答と解説
<解答>
<?php $num = 10; while($num >= 5) { echo $num . '<br>'; $num--; }
<解説>
10からですので「$num = 10;」で初期化します。
数値は1ずつ下がっていくので、whileブロックの最後に「$num--;」で$numの値を1引きます。
5まで処理をするため、while文の条件は「$num >= 5」になります。
10から5まで値を下げていくので、条件は「$num <= 5」ではなく「$num >= 5」であることに注意してください。
(「$num <= 5」にすると、無限ループになります。)
このPHPプログラムの実行結果は次の通りです。
10
9
8
7
6
5
練習問題3
2以上10未満の2の倍数を出力するPHPプログラムをdo-while文を使って書いてください。
出力順は値の小さい順です。
また、1行に1つの数字を表示し、<br>で改行してください。
(実際にプログラムを書いて動かしながら考えてOKです。)
練習問題3の解答と解説
<解答>
<?php $num = 2; do { echo $num . '<br>'; $num += 2; } while($num < 10);
<解説>
2以上10未満の2の倍数を値の小さい順で出力するため、最小値の2で初期化しています( $num = 2; )。
2の倍数を小さい順で表示するので、do-whileブロックの最後に$numの値を2増加させます( $num += 2; )。
また10未満なので、最後のwhileの条件は「$num < 10」になります。
このPHPプログラムの実行結果は次の通りです。
2
4
6
8
おわりに
お疲れ様でした。
いかがでしたでしょうか?
もし間違えた練習問題がありましたら、前の記事「【PHPプログラミング入門講座】ループ処理 (while文とdo-while文)」戻って読み直し、再度、練習問題にチャレンジしてください。
正解できた人は、おめでとうございます!
次の記事に進んでいきましょう!
PHPプログラミング入門講座 〜 全記事一覧 〜
- PHPで開発された有名なWebサイト
- PHPでどのような機能が作れるか?
- サーバーについて理解しよう
- Webサーバーの処理について詳しく説明
- PHPプログラムの動作について説明
- パソコンにPHPの動作環境を構築しよう
- 一番簡単なPHPプログラムを書いてみよう
- ブラウザ画面にメッセージを表示しよう
- PHPタグの書き方と終了タグの省略
- 特殊なメッセージ(文字列)の書き方
- PHPプログラムで計算をしてみよう
- 変数
- 文字列の結合とヒアドキュメント
- ファイルの分割とファイルの読み込み
- コメント
- 定数
- 数値と文字列の性質・デバッグ
- 条件分岐 (if文)
- 論理型 (boolean型)
- 比較演算子
- 論理演算子
- 条件分岐 (switch文)
- 三項演算子
- 配列とforeach文
- 代入演算子 / 加算子 / 減算子
- ループ処理 (for文)
- ループ処理 (while文とdo-while文)
- [練習問題] ループ処理 (while文とdo-while文)
- 現在のページ:[解答と解説] ループ処理 (while文とdo-while文)
- break
- continue
- 連想配列
- 連想配列のループ処理