台形の面積です。
式は
(上辺+下辺)×高さ÷2
です
図が上辺<下辺になっていますので
上辺は1~5
下辺は5~15
が出るようにしました。
最初
JAVASCRIPTの
答えを出すところで
面積=(上辺+下辺)*高さ /2
と書いていたらうまく動かなく
面積=((上辺+下辺)*高さ) /2
こうするとうまく動きました。
忘れてしまうかもしれませんので
一応書いておきます。
サンプルは
台形の面積
ソースは下記
ーーーーーーーーーーーーーーーーーー
<!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,myy3,ayy1;
var qqaa=new Array();
var qqbb=new Array();
var qqba=new Array();
var qqcc=new Array();
var qqdd=new Array();
var aaaa=new Array();
function mySet(){
myy1 = Math.floor(Math.random()*9)+5;
myy2 = Math.floor(Math.random()*5)+1;
myy3 = Math.floor(Math.random()*9)+1;
document.getElementById('atoi').innerHTML = "a="+myy1+"cm"; //下辺aの値
document.getElementById('btoi').innerHTML = "b="+myy2+"cm"; //上辺b値
document.getElementById('ctoi').innerHTML = "c="+myy3+"cm"; //高さの値
document.myForm.myFormA1.value = ""; // 数値
}
// 入力した答えが正解か不正解かを判定する関数 (答えを入力して、[OK]ボタンを押した時の処理)
function myCheck(){
myA1 = eval(document.myForm.myFormA1.value); // 入力された 答え を取得
ayy1 = ((myy1 + myy2) * myy3) /2 ; // 面積の答えを計算
if ( ayy1 == myA1 ){ // 答えと入力した値は等しいか(正解か)?
myHit++;
document.getElementById('ytr001').innerHTML = ("あたり! すばらしいヽ(*⌒∇⌒)ノ ");
qqcc.push("○");
}else{
document.getElementById('ytr001').innerHTML = ("はずれ! (´+д+`) こたえは"+ayy1+"です !");
qqcc.push("×");
}
qqaa.push(myy1);
qqbb.push(myy2);
qqba.push(myy3);
aaaa.push(myA1);
qqdd.push(ayy1);
mySet(); // 次の問題をセット
if (myNowCnt==myLastCnt-1){ // 問題終わった?
myScore = myHit*10; // 得点計算
document.getElementById('ytr002').innerHTML =("問題終了です。"+myLastCnt+"問中"+myHit+"問正解。点数は"+myScore+"点です。");
myNowCnt=0;
myHit=0;
var hantei ="";
var seitou = document.getElementById('kaitou');
hantei +="<table border=1><tr><td>上辺a</td><td>下辺b</td><td>高さc</td><td>あなたの答え</td><td>判定</td><td>正答</td></tr>"
for (i = 0; i < 10; i = i +1){
hantei += "<tr><td>";
hantei += qqaa[i];
hantei += "cm</td><td>";
hantei += qqbb[i];
hantei += "cm</td><td>";
hantei += qqba[i];
hantei += "cm</td><td>";
hantei += aaaa[i];
hantei += "cm²</td><td>";
hantei += qqcc[i];
hantei += "</td><td>";
hantei += qqdd[i];
hantei += "cm²</td></tr>";
}
hantei +="</table>"
seitou.innerHTML = hantei;
qqaa=[];
qqbb=[];
qqba=[];
qqcc=[];
qqdd=[];
aaaa=[];
}else{ // 次の問題へ
myNowCnt++;
document.getElementById('ytr002').innerHTML =(+myNowCnt+"問中"+myHit+"問正解。");
}
}
// --></script>
<body>
<h1>台形の面積</h1>
<!-- 台形の問題フォームを設置 -->
さて、もんだいです。次の台形の面積を求めてください。
<br>
<IMG SRC="ga/daikei.jpg" WIDTH=300>
<br>
<div id="atoi"></div>
<div id="btoi"></div>
<div id="ctoi"></div>
<form name="myForm">
面積<input type="text" size="3" name="myFormA1">cm²
<input type="button" value="OK" onclick="myCheck()">
</form>
<div id="ytr001"></div>
<div id="ytr002"></div>
<div id="ytr003"></div>
<div id="kaitou"></div>
<script type="text/javascript"><!--
mySet(); // 初回の問題をフォームへセット
// --></script>
<br>
<a href="http://tasarotoste.zouri.jp/">TOPへ</a>
<br>
<br><br>
</body>
</html>