1次方程式の問題です
ax+b=cです
xが”掛ける”の記号と紛らわしいのでYにしてみました。
問題を作る際には
ay+b=c
の
aと bと yはランダムに1つの数値を与えて
cはそれに合うように数値を決めるようにしました。
yを1ケタの整数にしたかったので
このようにしました。
記入しやすいのと計算しやすいためです。
サンプルはこちら
http://tasarotoste.zouri.jp/j016.html
ソースはこちら
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<script src="jq/jquery-1.10.2.min.js"></script>
<title>1次方程式</title>
</head>
<script type="text/javascript"><!--
function mySet(){
myp1 = Math.floor(Math.random()*9)+1;
myp2 = Math.floor(Math.random()*9)+1;
myp3 = Math.floor(Math.random()*9)+1;
myp0 = myp1 * myp2 + myp3;
document.myForm.myFormQ1.value = myp1; //
document.myForm.myFormQ2.value = myp3; //
document.myForm.myFormQ3.value = myp0; //
document.myForm.myFormA1.value = ""; //
}
// 入力した答えが正解か不正解かを判定する関数 (答えを入力して、[OK]ボタンを押した時の処理)
function myCheck(){
myQ1 = eval(document.myForm.myFormQ1.value); //
myQ2 = eval(document.myForm.myFormQ2.value); //
myQ3 = eval(document.myForm.myFormQ3.value); //
myA1 = eval(document.myForm.myFormA1.value); //
seikai= ( myQ3 - myQ2 ) / myQ1 ;
if ( myA1 == seikai){ // 答えと入力した値は等しいか(正解か)?
document.ytr001.mes01.value = ("あたり! (^_^)");
}else{
document.ytr001.mes01.value = ("はずれ ! こたえは "+seikai+"です !");
}
mySet(); // 次の問題をセット
}
// -->
</script>
<body>
<!-- 1次方程式の問題フォームを設置 -->
<h1>1次方程式の問題</h1>
<form name="myForm">
さて、もんだいです。 Yに当てはまる数値を答えてください。
<br><br>
<input type="text" size="2" name="myFormQ1"> Y +
<input type="text" size="2" name="myFormQ2"> =
<input type="text" size="2" name="myFormQ3">
<br><br>Y=
<input type="text" size="2" name="myFormA1">
<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>
<script type="text/javascript"><!--
mySet(); // 初回の問題をフォームへセット
// --></script>
<br><br><br>
</body>
</html>