使用ASP.NET为小学生设计一个用于100以内的加法练习程序

使用ASP.NET为小学生设计一个用于100以内的加法练习程序,第1张

1. using System

2. using System.Collections.Generic

3. using System.Linq

4. using System.Web

5. using System.Web.UI

6. using System.Web.UI.WebControls

7.

8. public partial class _Default : System.Web.UI.Page

9. {

10. static float right, err

11. protected void Page_Load(object sender, EventArgs e)

12. {

13. this.Title = "简单加法练习程序"

14. txtAns . Focus()

15. Random r = new Random()//通过常用类random实例化一个对象r

16. if (!IsPostBack) //如果Page是第一次运行,执行如下代码

17. {

18. lblNum1.Text = r.Next(100).ToString()

19. lblNum2.Text = r.Next(100).ToString()

20.

21. }

22.

23. }

24.

25. protected void btnOK_Click(object sender, EventArgs e)

26. {

27. if (txtAns.Text == "")

28.

29. {

30. lblTip.Text = "请输入答案!"

31. return//返回,跳过后面所有代码

32. }

33.

34. if (int.Parse(txtAns.Text) == int.Parse(lblNum1.Text) + int.Parse(lblNum2.Text))

35. {

36.lblContent.Text =lblContent.Text+ lblNum1.Text + "+" + lblNum2.Text + "=" + txtAns.Text + "√<br/>"

37. right++

38. }

39.

40. else

41. {

42. lblContent.Text = lblContent.Text+lblNum1.Text + "+" + lblNum2.Text + "=" + txtAns.Text + "×<br/>"

43. err++

44. }

45. txtAns.Text = ""

46. Random r = new Random()

47. lblNum1.Text = r.Next(100).ToString()

48. lblNum2.Text = r.Next(100).ToString()

49.

50. }

51.

52.

53. protected void btnEnd_Click(object sender, EventArgs e)

54. {

55. float total=right+err

56. float result=right/total*100

57. lblTip.Text = "共完成"+total.ToString()+"题,正确:"+right.ToString()+",错误:"+err.ToString()+",得分:"+result.ToString("f1")

58. }

59. }

这个很复杂 不会. 如果是100以内加法练习还可以 记录分数那些不会.

新建个文本档后缀名.txt.粘贴一下代码:<html>

<head>

<title>小学生算数练习</title>

<script language=javascript>

function add()

{

var a,b,c,d,e,f,answer1,you,g,h

a=Math.random()*10

b=Math.round(a)

c=Math.random()*10

d=Math.round(c)

e=Math.random()*10

f=Math.round(e)

answer1=b+d+f

you=prompt(+b+"+"+d+"+"+f+"=?","请写出答案")

if(you==answer1) g=confirm("真聪明,你答对了,继续吗?")

else h=confirm("真可惜,再试一试吧。")

while(g==true||h==true)

{

var a,b,c,d,e,f,answer1,you,g,h

a=Math.random()*100

b=Math.round(a)

c=Math.random()*100

d=Math.round(c)

e=Math.random()*100

f=Math.round(e)

answer1=b+d+f

you=prompt(+b+"+"+d+"+"+f+"=?","请写出答案")

if(you==answer1) g=confirm("真聪明,你答对了,继续吗?")

else h=confirm("真可惜,再试一试吧。")

if(g==false||h==false)break

}

}

</script>

<body bgcolor="green">

<div align="center"><input type=button value="加法练习 请点击这里" onclick="add()">

</div>

</body>

</html>

最后保存 把.txt 改为.html. 这样就成一个网页了 打开这个网页 就是个简单的算术加法练习.

这个比较复杂,说说大概的步骤吧

要先做一个RANDOM的随机种子的子程式,其实是伪随机过程,指定一个比较复杂的算法,然后根据该子程式输出的结果来产生随机的加法算式。产生一个被加数N1,产生一个加数N2。

然后用ADD运算加法,将结果存进RESULT内

显示N1+N2:此时将2进制转化为ASC2码,将2进制除以10,余数分别是个位十位百位,每位+30H形成该数字的ASC2码存进DISPLAY 8字节中(前三个字节装N1,后三个字节装N2,中间那个装'+'的ASC2符号,还有个“=”号。最后还要有个'$'以标示字符串输出结束)

用一3字节BUF存用户输入的字符,里面是ASC2码

将BUF内的ASC2码转化为2进制,与RESULT内的结果进行比较,相等就显示RIGHT内的字符,错误就显示ERROR内的字符

然后显示“R:GO ON! Q:QUIT!”

判断键盘输入时R还是Q

R,JMP到最开始

Q:用INT 21H,功能号4CH返回DOS

每进行一次,RANDOM的随机种子子程式都调用一次,保证产生不同的加法


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8112471.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存