最近看到大家还是对这篇文章感兴趣,如果哪位的孩子在上小学,需要类似的练习程序.在评论里详细说一下,有时间的话,就给大家写一下.
女儿二年级了,数学开始学习加减与乘除混合运算了
只好再写一个自动编写相应练习题的程序了
程序运行结果如下
源代码如下:
<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head><body>
<button οnclick="create()">生成</button>
<div id="result">
</div>
<script language="javascript">
function $(id){
return document.getElementById(id)
}
/**
生成随机数,最大为t,最小为b
*/
function rand(b,t){
return Math.round(Math.random()*(t-b))+b
}
function create(){
str='<table>'
for(var i=1;i<=100;i++){
str+='<tr>'
str+='<td>'+i+':</td>'
//8种运算
var r=rand(0,7)
if(r==0){
//a*b+y
var a=rand(1,9)
var b=rand(1,9)
var y=rand(1,100-a*b)
str=str+check(a+'*'+b+'+'+y,(a*b+y),i)
}else if(r==1){
//a/b+y
var b=rand(1,9)
var c=rand(1,9)
var a=b*c
var y=rand(1,100-a/b)
str=str+check(a+'/'+b+'+'+y,(a/b+y),i)
}else if(r==2){
//x+a*b
var a=rand(1,9)
var b=rand(1,9)
var x=rand(1,100-a*b)
str=str+check(x+'+'+a+'*'+b,(x+a*b),i)
}else if(r==3){
//x+a/b
var b=rand(1,9)
var c=rand(1,9)
var a=b*c
var x=rand(1,100-a/b)
str=str+check(x+'+'+a+'/'+b,(x+a/b),i)
}else if(r==4){
//a*b-y
var a=rand(1,9)
var b=rand(1,9)
var y=rand(1,a*b)
str=str+check(a+'*'+b+'-'+y,(a*b-y),i)
}else if(r==5){
//a/b-y
var b=rand(1,9)
var c=rand(1,9)
var a=b*c
var y=rand(1,a/b)
str=str+check(a+'/'+b+'-'+y,(a/b-y),i)
}else if(r==6){
//x-a*b
var a=rand(1,9)
var b=rand(1,9)
var x=rand(a*b,100)
str=str+check(x+'-'+a+'*'+b,(x-a*b),i)
}else if(r==7){
//x-a/b
var b=rand(1,9)
var c=rand(1,9)
var a=b*c
var x=(a/b,100)
str=str+check(x+'-'+a+'/'+b,(x-a/b),i)
}
str+='</tr>'
}
str+='</table>'
$('result').innerHTML=str
}
function check(exp,v,i){
return '<td>'+exp+'=</td><td><input type=text οnblur="$(\'msg'+i+'\').innerHTML=(this.value=='+v+')?\'正确\':\'错误\'"></td><td><label id=msg'+i+'></label></td>'+''
}
</script>
</body>
看到大家都对这篇文章感兴趣.可能有些用户不会用,下面提供一个文件下载.
使用方法:下载后,解压缩,会有一个test.html 的文件,双击执行即可.
由于博客不允许上传 html 文件,所以打了下包.
|
相关热门文章
给主人留下些什么吧!~~
评论热议