PHP vol.16

  • 確認テスト

問題1

四則演算子を全て書きなさい

+ - * /

問題2

$aをインクリメントとデクリメントするプログラムを書きなさい

<?php
$a=0;
echo $a."\n";
$a++;
echo "インクリメント後:".$a."\n";
$a--;
echo "デクリメント後:".$a."\n";
?>

問題3

今まで勉強したデータ型を全て記述しないさい(5つ)

integer
string
float
boolean
array
正解
integer 整数
string 文字列
float 浮動小数点数
boolean 論理型
array 行列

問題4

比較演算子を書きなさい(等しい、等しくない、以上、以下、未満、0より大きいの計6つの)

等しい ==
等しくない !=
以上 >=
以下 <=
未満
0より大きい >

問題5

10より大きければ「big」、10以下かつ5より大きければ「middle」、
5以下かつ1より大きければ「small」、それ以外は「unknown」と
出力するプログラムを書きなさい

<?php
$num = 15;
if ($num > 10) {
    $msg = "big";
} elseif ($num <=10 && $num > 5) {
    $msg ="middle";
} elseif ($num <=5 && $num > 1) {
    $msg = "small";
} else {
    $msg = "unknown";
}
echo $msg."\n";
?>

問題6

1から10まで表示するプログラムをfor文を使って書きなさい

<?php
for ($i=1;$i<=10;$i++){
    echo $i."\n";
}
?>

問題7

問6のプログラムをwhileで置き換えてプログラムを書きなさい(無限ループにならないように)

<?php
$num = 1;
while ($num <= 10) {
    echo $num."\n";
    $num++;
}
?>

問題8

for文とif文を使い、偶数の場合は「nは偶数です」と出力し、
奇数の場合は、「nは奇数です」と出力するプログラムを書きなさい

<?php
for ($i=1;$i<=20;$i++) {
    if ($i%2==1) {
        echo $i."は奇数\n";
    } else {
        echo $i."は偶数\n";
    }
}
?>

問題9

2の倍数を100まで表示するプログラムを書きなさい

<?php
for ($i=1;$i<=100;$i++) {
    if ($i%2==0) {
        echo $i."\n";
    }
}
?>

問題10

2の倍数と3の倍数を100まで表示するプログラムを書きなさい
(同じ倍数は2と3の倍数ですと表示)

<?php
for ($i=1;$i<=100;$i++) {
    if ($i%2==0 && $i%3==0) {
        echo $i."(2と3の倍数です。)\n";
    } elseif ($i%2==0) {
        echo $i."(2の倍数)\n";
    } elseif ($i%3==0) {
        echo $i."(3の倍数)\n";
    }
}
?>

問題11

配列の添字(キー名)はデフォルトはいくつから始まりますか?
0

問題12

配列を使い、学生10人分の点数を一気に出力するプログラムを書きなさい。

<?php
$tokuten = array ("A" => "30",
                  "B" => "40",
                  "C" => "50",
                  "D" => "60",
                  "E" => "70",
                  "F" => "80",
                  "G" => "90",
                  "H" => "10",
                  "I" => "20",
                  "J" => "31");
foreach ($tokuten as $name => $value) {
    echo $name.":".$value."\n";
}
?>

問題13

九九を表示するプログラムを書き、ブラウザに結果を表示できるように作成しなさい。

<?php
for ($i=1;$i<=9;$i++) {
    echo $i."の段\n";
    for ($k=1;$k<=9;$k++) {
        echo $i."×".$k."".($i*$k)."\n";
    }
}
?>
  • ブラウザで表示を見逃してました。
正解
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>9x9</title>
</head>
<body>
<h1>九九</h1>
<table border="1">
<?php
for ($i=1;$i<=9;$i++) {
    echo "<tr>";
    echo "<th>".$i."の段</th>";
    for ($k=1;$k<=9;$k++) {
        echo "<td>".$i."×".$k."".($i*$k)."</td>";
    }
    echo "</tr>";
}
?>
</table>
</body>
</html>

問題14

以下を表示するプログラムを書きなさい。(ブラウザに表示)
*+*
+*+
*+*

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>test10</title>
</head>
<body>
<?php
     for ($i=1;$i<=9;$i++) {
         if ($i%2==1) {
             echo "";
         } else {
             echo "";
         }
         if ($i%3==0) {
             echo "<br />";
         }
     }
?>
</body>
</html>

問題15

2つのテキストボックスを用意し、入力された値を
計算できるようなフォームを作成してください。(計算機の様なもの)

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Test11</title>
</head>
<body>
<h1>けいさんき</h1>
<form method="get" action="./test11.php">
     前:<input type="text" name="mae" />
     後:<input type="text" name="ushiro" />
     <br />
     計:<input type="submit" name="kei" value="+" />
     <input type="submit" name="kei" value="-" />
     <input type="submit" name="kei" value="*" />
     <input type="submit" name="kei" value="/" />
</form>
<hr />
<?php
if (empty($_GET['mae']) || empty($_GET['ushiro']) || empty($_GET['kei'])){
    echo "値が入力されていません。\n";
} else {
    switch ($_GET['kei']) {
    case "+":
        echo $_GET['mae']+$_GET['ushiro'];
        break;
    case "-":
        echo $_GET['mae']-$_GET['ushiro'];
        break;
    case "*":
        echo $_GET['mae']*$_GET['ushiro'];
        break;
    case "/":
        echo $_GET['mae']/$_GET['ushiro'];
        break;
    }
}
?>
</body>
</html>

問題16

現在時刻を以下のように表示できるようなプログラムを作成してください。
マニュアルを見ながらで構いません。
また、更新ボタンを押すと現在時刻も更新されること。
「2009年5月7日 12時29分」

  • テストの時間はオーバーしたので確認時間に作成
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Test12</title>
</head>
<body>
<h1>現在時間</h1>
<h2><?php echo date("Y年n月j日 H時i分"); ?></h2>
<form method="post" action="./test12.php">
<input type="submit" name="reload" value="更新" />
</form>
</body>
</html>