練習問題

練習問題を通して本レッスンで学んだことを確認してみましょう!

問題1

単位変換を行うプログラムをつくってみましょう。本文では、インチからセンチへ変換するプログラムを作ってみましたが、マイルからキロメートルへの変換プログラムを作ってみましょう。

ヒント

1マイルは1.609344 キロメートルです。本文にあるプログラムに対して、値や文言をちょっと変更することで作ることができるでしょう。改造はプログラミング上達の近道です!

答え

マイルからキロへ変換するプログラムは以下の通りです。一から作ることができたらスゴイですが、はじめはお手本のプログラムをそのまま利用して、一部を書き換えて動かすだけでも大丈夫です。もし、書き換えたプログラムにエラーが出る場合には、二重引用符「"..."」が対応しているか、文末にセミコロン「;」がついているかなど細かい部分を確認してみてください。

file:mile-km.php

<html><head><meta charset="UTF-8" /></head>
<body style="font-size:24px; background-color:#CCCCCC;">
<h1>マイルからキロへ変換</h1>
<?php
if (isset($_GET["mile"])) { // 値が入力されているか?
    // 変換結果を表示
    $mile = $_GET["mile"];    // 入力されたデータを取得
    $mile = floatval($mile);  // 文字列から数値へ変換
    $km   = 1.609344 * $mile; // マイルからキロへの変換
    echo "<div>(結果) {$mile}マイル = {$km}キロメートル</div>";
} else {
    // 値が入力されていない場合(フォームを表示)
    $self = $_SERVER["SCRIPT_NAME"]; // このファイルのURLを取得
    echo "<form action='$self' method='GET'>";
    echo "<input type='text' name='mile' value='' />";
    echo "<input type='submit' value='変換' />";
    echo "</form>";	
}
?>
</body></html>
画面
画面
画面
画面

問題2

小売店では締めの時間に売上金額を計算します。その際に役立つのが金種計算ツールです。それは、500円/100円/50円/10円が何枚あるかを数えて入力すると、合計金額を表示するというものです。

ヒント

複数の入力フォームが必要になります。入力された数値を計算して合計を表示するようにします。

答え

以下が金種計算のプログラムです。

<html><head><meta charset="UTF-8" /></head>
<body style="font-size:24px; background-color:#EEEEFF;">
<h3>金種計算ツール</h3>
<?php
if (isset($_GET["m500"])) { // 値が入力されているか?
    $m500 = 0; $m100 = 0; $m50 = 0; $m10 = 0; // 枚数の初期化
    if (isset($_GET["m500"])) $m500 = intval($_GET["m500"]);
    if (isset($_GET["m100"])) $m100 = intval($_GET["m100"]);
    if (isset($_GET["m50"]))  $m50  = intval($_GET["m50"]);
    if (isset($_GET["m10"]))  $m10  = intval($_GET["m10"]);
    echo "500円が{$m500}枚<br/>100円が{$m100}枚<br/>";
    echo "50円が{$m50}枚<br/>10円が{$m10}枚。<br/><br/>";
    // 計算結果を表示
    $value = $m500 * 500 + $m100 * 100 + $m50 * 50 + $m10 * 10;
    echo "合計は、{$value}円";
} else {
    // 値が入力されていない場合(フォームを表示)
    $self = $_SERVER["SCRIPT_NAME"]; // このファイルのURLを取得
    echo "<form action='$self' method='GET'>";
    echo "<p>500円: <input type='text' name='m500' value='0' /></p>";
    echo "<p>100円: <input type='text' name='m100' value='0' /></p>";
    echo "<p> 50円: <input type='text' name='m50'  value='0' /></p>";
    echo "<p> 10円: <input type='text' name='m10'  value='0' /></p>";
    echo "<input type='submit' value='計算' />";
    echo "</form>";    
}
?>
</body></html>

コインの枚数を入力して「計算」ボタンをクリックすると、合計金額を表示します。

画面
画面
画面
画面