少数のたしざんです。
少し難しくするために
小数点以下第1位までの数と
小数点以下第2位までの数を
たす問題になっています。
問題の作り方自体は
3ケタの数字をランダムに2つ作製して
片方は10で割って
片方は100で割っているだけなのですが。
*移動小数点のために答えがあっているのに間違っている症状が出てしまいました。
小数の計算をするときに100をかけて整数にしてから計算しております。
サンプルはこちら
少数の足し算の問題
ソースは下記
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<script src="jq/jquery-1.10.2.min.js"></script>
<title>小数の足し算の問題</title>
<meta name="keywords" content="ゲーム,少数,たしざん,問題,クイズ">
<meta name="description" content="少数のたしざん(ドリル・クイズ)などができるHPです。JAVASCRIPTで作製しています。">
</head>
<script type="text/javascript"><!--
myHit = 0;
myNowCnt = 0; // 問題を出すテーブルカウンタ
myLastCnt = 10; // 問題の数
var myy1,myy2;
function mySet(){
myrra = Math.floor(Math.random()*999)+1;
myy1 = myrra / 10;
myrrb = Math.floor(Math.random()*999)+1;
myy2 = myrrb /100;
document.myForm.myFormQ1.value = myy1; // 数値
document.myForm.myFormQ2.value = myy2; // 数値
document.myForm.myFormA1.value = ""; // 数値
}
// 入力した答えが正解か不正解かを判定する関数 (答えを入力して、[OK]ボタンを押した時の処理)
function myCheck(){
myA1 = eval(document.myForm.myFormA1.value); // 入力された数値 を取得
ayy1 = ((myy1*100)+(myy2*100))/100;
if ( ayy1 == myA1){ // 答えと入力した値は等しいか(正解か)?
myHit++;
document.ytr001.mes01.value = ("あたり! (^_^)");
}else{
document.ytr001.mes01.value = ("はずれ ! こたえは"+ayy1+"です !");
}
mySet(); // 次の問題をセット
if (myNowCnt==myLastCnt-1){ // 問題終わった?
myScore = myHit*10; // 得点計算
document.ytr002.mes02.value =("問題終了です。"+myLastCnt+"問中"+myHit+"問正解。点数は"+myScore+"点です。");
myNowCnt=0;
myHit=0;
}else{ // 次の問題へ
myNowCnt++;
document.ytr002.mes02.value =(+myNowCnt+"問中"+myHit+"問正解。");
myQues();
}
}
// -->
</script>
<body>
<!-- 少数の足し算の問題フォームを設置 -->
<h1>少数のたしざん</h1>
<form name="myForm">
さて、もんだいです。2つの数字(すうじ)をたした答えを入力してください。
<br><br>
<table>
<tr>
<td>
</td>
<td>
<input type="text" size="5" name="myFormQ1">
</td>
</tr>
<tr>
<td>
+
</td>
<td>
<input type="text" size="5" name="myFormQ2">
</td>
</tr>
<tr>
<td colspan=2>
<hr>
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type="text" size="5" name="myFormA1">
</td>
</tr>
</table>
<br>
<input type="button" value="OK" onclick="myCheck()">
</form>
<form name="ytr001">
<input type="text" size="100" style="border-style:none;background-color:#FFFFFF;" name="mes01">
</form>
<form name="ytr002">
<input type="text" size="100" style="border-style:none;background-color:#FFFFFF;" name="mes02">
</form>
<script type="text/javascript"><!--
mySet(); // 初回の問題をフォームへセット
// --></script>
<br>
<a href="http://tasarotoste.zouri.jp/">TOPへ</a>
<br>
<br><br>
</body>
</html>