四则运算林正扬
Posted jmulzy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了四则运算林正扬相关的知识,希望对你有一定的参考价值。
功能分析
基本功能
- 根据输入的数据,获取运算式的题数和运算式数值的范围。运算式中的数值以及符号随机出现。实现基本的 +、-、*、/ 的计算。
- 有分数时,出现的分数都是真分数的形式,输入结果能用带分数进行计算。
- 对生成的运算式计算结果,并且能在最后对输入的值进行判断。
扩展功能
- 表达式不重复
- 结果最简,
- 算符不超过三个
设计实现
- 生成随机数和随机符号
生成随机符号 sign()
生成随机数 ranNum(),约分 Common() - 生成运算式
生成运算式 ranData(), - 计算结果
数组转化为字符串 ranChange()
计算结果 ranRes()
4.判断计算式重复
判断函数 checkRepeat()
代码说明
html5 代码
<div id="main">
<label>请输入您要的范围(默认10)</label>
<input type="number" id="cNum">
<label>请输入您要的算式数(默认10)</label>
<input type="number" id="nNum">
<button id="button1">确认</button>
<form id="myform">
<div id="calm"></div>
<button id="button2" style="display: none;">提交</button>
<div id="grade" style="display:none;"></div>
</form>
</div>
js代码
var div = document.getElementById(‘calm‘);
var n = 0;
var asd, nNum, cNum;
var button1 = document.getElementById(‘button1‘);
var button2 = document.getElementById(‘button2‘);
var grade = document.getElementById("grade");
var rpt = []; // 定义变量存储运算数值(用于判重)
var ret; // 定义存储当前运算式
var result = []; // 定义变量存储结果
var result1; // 存储当前结果
// 随机符号
var sign = function(){
var str = [‘+‘,‘-‘,‘x‘,‘÷‘];
var a =Math.floor(Math.random()*4);
return str[a];
}
var Common = function(a,b){
var c = a % b;
if (c == 0) {
return b;
} else {
return Common(b, c);
}
}
// 随机数据(分数和整数)
var ranNum = function () {
var a, b;
var math = [];
var isFraction = Math.floor(Math.random() * 10);
// 随机设置为分数
if (isFraction > 5) {
var divisor;
a = Math.floor(Math.random() * cNum);
b = Math.floor(Math.random() * cNum + 1);
if (a == 0) {
math = 0;
} else {
if (a < b) {
divisor = Common(b ,a);
math = "(" + (a/divisor) + "/" + (b/divisor) + ")";
} else if (a > b) {
divisor =