目录一、系统开发的背景......................................................................................................................2二、系统分析与设计......................................................................................................................3(一)系统功能要求...................................................................................................................3(二)系统模块结构设计..........................................................................................................3三、系统的设计与实现...................................................................................................................5(一)四则运算界面浏览:printf()函数。......................................................................5(二)运算符和数值:sj()函数。.............................................................................................6(三)随机函数srand((unsigned)time(NULL)).....................................................................8(四)小学生成绩和等级。........................................................................................................9四、系统测试................................................................................................................................11(一)测试四则运算界面。.................................................................................................11(二)运算符和数值测试。.................................................................................................12(三)测试随机出10道题...................................................................................................12(四)测试小学生回答和分数.............................................................................................12(五)测试小学生回答的等级.............................................................................................13五、总结........................................................................................................................................13六、附件(代码、部分图表).....................................................................................................132小学生数学CAI系统一、系统开发的背景为了提高小学生的数学运算,让他们在数学学习过程中能够更好的学习四则运算,不光要学习一位数加减乘除一位数,还要学习二位数甚至三位数的练习,通过计算机来随机抽题,有一位数与一位数的四则运算,还有多位数与多位数的运算,以及多位数与一位数的运算,最后通过计算机输出成绩,再根据成绩输出小学生的等级,通过成绩可以了解小学生四则运算的水平.因此,我编写了小学生数学CAI系统.在远古时代,我们的祖先已经可以利用一些其他的辅助东来进行计数了,他们可以用树枝和木棍来进行计数,再往以后,祖先发明了算筹,算盘来进行计数.但这个方法显得有些笨重.后来又发明了计算器,计算器可以计算以前没有计算的算式,也为人类提供了很好的帮助,但是这种计算的方法显得有的局限,一些比较大的数据没法计算,最后,人们又发明了电脑,电脑的发明又使人类的计数水平提高了一个档次,电脑的出现让我们不再在纸上面计算了,一些大型的数据处理交给计算机来处理,就连日常生活中的处理数据也要用到电脑或计算器,电脑或计算器以经离不开我们的生活,就连买个菜也要用到计算器来计算卖菜的钱,大量的依赖电脑或计算器已经让我们记不起用笔来计算.所以,我编写的小学生四则运算系统还是有很大的作用,它可以帮助小学生来提高数学成绩,该系统就像闯关的游戏一样,当小学生每回答对一题,系统便会给出相应的表扬语句,这可以激发小学生的兴趣,可以让小学生容易接受它,而不是有抵触心理,该题目给小学生三次机会,当3小学生回答错误,给出鼓励语句,让小学生重新答,当三次全部没答对,系统会给出正确答案供小学生参考,最后给出成绩.二、系统分析与设计(一)系统功能要求该系统为小学数学辅助教学系统,利用该系统可以锻炼小学生的数学运算能力。它包括+、-、×、÷四则运算。1.系统设置可以选择包含的运算符(+、-、×、÷)、数值的位数(1位,2位、3位)和运算符的个数。2.系统自动随机地出10道题。3.每出一题,小学生输入答案后,第一次答对,系统给出信息“完全正确,你非常聪明!加10分”,总分+10分,显示下一题;若答错了,系统给出信息“你答错了,继续努力!”,继续显示该题目,若第2次答对了,系统给出信息“答对了,你很棒!加8分”,总分+8分,显示下一题;若答错了,系统给出信息“你答错了,继续努力!”,继续显示该题目,若第3次答对了,系统给出信息“答对了,祝贺你!加6分”,总分+6分,显示下一题;若答错了,系统给出信息“非常遗憾你又答错了,请继续做下一题。本题的正确答案为……”,,继续显示下一题;4.当答完所有的题给出总分。(二)系统模块结构设计通过对系统功能的分析,小学生数学CAI系统系统功能如图1所示。4图一小学生CPI数学系统功能图通过上图的功能分析,把整个系统划分为7个模块:1.四则运算界面浏览,该模块主要实现:小学生CPI数学系统运行时有一个很有好的界面,通过输入*等符号以及欢迎使用小学生四则运算系统等实现页面,在运行的时候输出该界面,助助函数prinf()来实现;2.运算符和数值模块,该模块主要实现:小学生CPI数学统运算符和数值,小学生的运算符应该有四种,有加,减,乘,除四种运算符。数值有一位数,两位数和三位数,借助函数sj()来四则运算模块运算符和数值模块随机出题模块小学生回答模块小学生成绩模块小学生等级模块小学生CPI数学系统5实现;3.随机出10道题模块,该模块主要实现:让电脑可以随机的出10道加减乘除四则运算题,而不是用户自己输入,借助函数srand((unsigned)time(NULL));/*c语言随机数函数种子,用来实现随机产生10道随机数四则运算,允许随机给出的数在999以内.*/来实现。4.小学生回答模块,该模块主要实现:电脑随机出10道题,小学生可以回答问题。借助if语句来实现;5.小学生成绩模块,该模块主要实现:小学生回答完,电脑可以给出分数,借助指针来实现。6.小学生等级模块,该模块主要实现:小学生回答完,电脑能给出等级,90分以上为“优秀”,75分以上为“良好”,60分以上为“合格”,60分以下为“不合格”.借助函数printf()实现。三、系统的设计与实现(一)四则运算界面浏览:printf()函数。首先输入printf函数,然后再输入欢迎进入小学生四则运算和目的功能的界面,流程图如图2所示。6开始图二:printf()流程图该模块的具体代码如下所示。printf(********************************************************************************\n);printf(*******************************欢迎进入小学生算术四则运算测试程序***********************\n);printf(***本程序是面向小学1~2年级学生,随机选择两个整数和加减乘除法形成算式要求学生解答******\n);printf(***********************本程序目的是加强小学生的数学能力********************************\n);printf(*****************************************************************************************\n);(二)运算符和数值:sj()函数。通过sj()函数实现随机实现出10道四则运算,和随机产生数值。流程图如图3所示。输入printf函数开始结束输出printf函数7开始三:sj函数流程图。该模块的具体代码如下所示。输入printf函数输入sj函数t-b=sj(1000-(t-a));开始if(t-c==n)结束8if(t-c==1){t-b=sj(1000-(t-a));t-add=(t-a)+(t-b);}if(t-c==2){t-b=sj((t-a)+1);t-add=(t-a)-(t-b);}if(t-c==3){t-b=sj((t-a)+1);t-add=(t-a)*(t-b);}if(t-c==4){t-b=sj(t-a)%(t-b);t-add=(t-a)/(t-b);}(三)随机函数srand((unsigned)time(NULL))通过C语言的随机函数,让计算机随机的出10道题,让小学生回答。流程图如图4所示。图4:随机函数srand((unsigned)time(NULL))流程图开始输入随机函数结束9(四)小学生成绩和等级。小学生回答完以后,电脑给出成绩和等级。流程图如图5所示。图5:小学生成绩和等级流程图该模块的具体代码如下所示。if(ad==t-add){t-grade=10;printf(完全正确,你非常聪明!加10分\n);}else{printf(你答错了,继续努力!\n);开始if(ad==t-add)学生得分结束10if(t-c==1)printf(%d+%d=,t-a,t-b);if(t-c==2)printf(%d-%d=,t-a,t-b);if(t-c==3