PHP PHP入門講座 プログラミング

【PHPプログラミング入門講座】[解答と解説] ループ処理 (while文とdo-while文)

PHPプログラミングのキービジュアル

[解答と解説] ループ処理 (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, PHP入門講座, プログラミング
-, , , , , ,

Copyright© ハッピー・プログラミング・ライフ , 2020 All Rights Reserved.