ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:35.78KB ,
资源ID:3536938      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3536938.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(小学生心算CAI系统设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

小学生心算CAI系统设计.docx

1、小学生心算CAI系统设计(此文档为word格式,下载后您可任意编辑修改!)应用技术学院课 程 设 计 报 告课程名称 C语言程序设计 课题名称 小学生心算CAI系统设计 专 业 机械设计 班 级 0781 姓 名 郑志雄 指导教师 王颖 2008年 7 月 8 日湖南工程学院课 程 设 计 任 务 书课程名称 C语言程序设计 课 题 小学生心算CAI系统设计专业班级 机设0781班 学生姓名 郑志雄 指导老师 王颖 审 批 任务书下达日期 2008 年 6月 20日任务完成日期 2008年 7 月 8日C语言程序课程设计任务书1、课程设计性质与目的:C语言程序设计是一门实践性很强的课程。C程序

2、课程设计是学习C语言程序设计的非常重要的实践环节,通过本课程设计使学生进一步巩固课堂所学,全面熟悉,掌握C语言程序设计的基本方法和技巧,进一步提高编写程序、分析程序及上机操作、调试程序的能力,让学生加深理解书上所学的知识,提高动手操作能力及分析问题和解决问题的能力。2、课程设计包含的知识点:1.掌握并熟练利用C语言的基本数据类型与各种表达式,程序的流程控制语句。2.掌握数组的基本概念。掌握一维数组与二维数组的使用,掌握字符数组与字符串的关系。3.熟练掌握指针、地址、指针类型的概念及其使用。掌握指针变量的定义与初始化、指针的间接访问和表达式,掌握指针与数组、函数、字符串的联系4掌握函数的定义,函

3、数的返回值,函数的调用,函数的声明,函数的形式参数和实际参数之间的关系,了解函数的作用区间。5掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示。结构体与指针、函数的关系。3、课程设计的要求:掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。1. 设计正确,方案合理。2. 界面友好,使用方便。3. 程序精炼,结构清晰。4. 设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。5. 上机演示。6. 按学号顺序选课题号,并在规定的时间内独自完成相关课题的C源程序编写、调整和

4、运行。源程序及编译生成各文件均保存在软盘中;7. 按本任务书的要求,按附录的要求编写课程设计报告(Word文档格式)。并用A4的复印纸打印并装订; 8. 在2008年7月8日之前,请各班学习委员收齐课程设计报告和源程序4、课程设计考核办法:根据学生所完成课程设计报告的完整性,正确性,和算法实现的质量,分为优,良,中,及格和不及格五个等级。正文总字数要求在5000字以上(不含程序原代码)。5、设计报告的完整格式应包含以下内容:a) 设计总体思路b) 主程序及各个模块说明c) 总体模块框图d) 各个程序模块说明e) 程序流程图f) 程序清单g) 总结与体会6、课程设计指导老师: 王颖设计课题8:小

5、学生心算CAI系统 一,问题描述:本系统可以用来进行单独的加、减、乘、除心算练习,也可以综合心算的速度与正确率进行测试.当用户在进行简单的四侧运算时运算速度和正确率都比较高,也可以进入四侧混合运算,借此来进一步提高自己的心算能力.二,功能描述:1,用户可以通过两种方法来选择功能,既可以按响应的数字键进入响应的心算练习,也可以按光标键来选择功能项.2,计算机自动出题,用户进入每项时,屏幕上会显示用户所做的响应的题数,如果不想继续可以随时退出,只需按ESC键.3设计的系统完全适合用户,比如除法时考虑到小学生的水平问题,只允许出现整除情况.4,用户输入的答案不对时,计算机会发出声音报警,用户输入的结

6、果如果连续两次不对,计算机会自动给出正确答案,共用户参考.5,界面设计友好.三,算法提示: 1,用简单的程序设计方法. 2,一定的窗口设计技巧. 3,简单的数据类型.四,测试数据: 计算机随机产生五,其他: 对系统有兴趣的同学可以在实现系统基本功能后,完善系统的其他功能.课程设计报告规范一、 需求分析1、程序的功能。2、输入输出的要求。二、 概要设计1、程序由哪些模块组成以及一个模块之间的层次结构、模块的调用关系;每个模块的功能。2、课题的总体数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。三、 详细设计1、采用C语言定义相关的数据类型。2、写出各模块的类

7、C码算法。3、画出函数的调用关系图。四、 调试分析以及设计体会1、测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果。2、程序调试中遇到的问题以及解决问题的方法。3、课程设计过程经验教训、心得体会。五、 使用说明用户使用手册:说明如何使用你编写的程序,详细列出每一步的操作步骤。六、 书写格式1、设计报告要求用A4纸打印成册:2、标题和正文要求见附3、封面格式如下页。七、 附录1、参考书目2、源程序清单(带注释)附1: 课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋

8、体加粗,正文用小四号宋体;行距为22。 正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。 正文总字数要求在5000字以上(不含程序原代码)。前 言C语言程序设计课程设计是对学生的一种全面综合训练,它包括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,课程设计的课题比平时的习题复杂得多,也更接近实际。课程设

9、计着眼于与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,使学生更好地深化理解和灵活掌握教学内容。为了达到上述目的,本课程设计安排了八个设计课题,训练重点在于基本的程序设计方法和分析问题的能力,而不强调面面俱到。学生可任选其中一题进行设计,设计完毕写出课程设计报告,用A4纸打印成册;并将课程设计报告与源程序存盘。学习委员将课程设计报告与磁盘收齐后交指导老师目 录一、课题的目的和意义 10二、详细设计 101功能介绍: 102总体设计(模块结构图): 113详细设计(流程图): 11三、程序分析: 12四、函数模块 1

10、21、程序模块组成: 122、函数的功能: 13五、调试分析: 14(1)测试数据: 14(2)程序调试中出现的问题: 14六、总体设计方案 141程序说明及所达到的要求: 142运算模块之间的算法 : 14七、调试分析: 161概要: 162数据测试: 163程序调试中出现的问题: 164程序和排错。 17八、用户使用说明书 18九、总结及心得体会 19十、附录 201、参考文献 202、源程序清单 20 一、课题的目的和意义 本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完C语言程序设计课程后进行的一次全面的综合练习。 本课程设计的目的和任务:1巩固和加深学生对C语言课

11、程的基本只是的理解和掌握;2掌握C语言编程和程序调试的基本技能;3利用C语言进行简单的软件设计的基本思路和方法;4提高运用C语言解决实际问题的能力。二、详细设计 1功能介绍:本系统可以用来进行单独的的加、减、乘、除心算练习,也可综合心算的速度与正确率进行测试。当用户在进行简单的四则运算时运算速度和正确率都较高时,可以进入四则混合运算,借此来进一步提高自己的心算能力。(1)用户可以通过两种方法来选择功能,既可以按相应的数字键进入相应的心算练习,也可以按光标键来选择功能项。(2)计算机自动出题,用户进入每项练习时,屏幕上会显示用户所做的相应的题数,如果不想继续可以随时退出。(3)设计的系统完全适合

12、用户,比如除法时考虑到小学生的水平问题,只允许出现整除情况。(4)用户输入的答案不对时,提示错误,用户输入的结果如果连续两次不对,计算机会自动给出正确答案,供用户参考。(5)界面设计友好。2总体设计(模块结构图): 1 注:当用户的正确率达到90以上,并且做了五题以上后会自动调用混合运算。 3详细设计(流程图): 2三、程序分析:1.总体上先分析这个系统的功能用途为测试小学生心算,以及适用的人群范围为小学生,进而将系统细分、划分为一些小的模块,从而将各个模块编写出相应的C语言程序代码构成一个完整的小学生心算CAI测试系统。2.所编程序应具备很好的可行性操作,适合小学生的计算能力。四、函数模块1

13、、程序模块组成:主函数 main()随机取整函数 randomize():根据实参的赋值的函数可以产生出不同的整形值,进而的到不同的整形数相加。声音函数 : 1)提醒答题正确 void T() :根据用户答题是否真确若正确来提示,则给出更为生动有趣的声音提示。 2)提醒答题错误 void F() :根据用户答题是否真确来提示,若错误则给出更为生动有趣的警告提示。菜单函数 1)加法运算函数 aid() :函数从随机函数那获取二个数进行简单的加法运算,将所得的值赋值给一个整形变量。2)减法运算函数 minus() :函数从随机函数那获取二个数进行简单的减法运算,将所得的值赋值给一个整形变量。乘法运

14、算函数 multiply :函数从随机函数那获取二个数进行简单的加法运算,将所得的值赋值给一个整形变量。除法运算函数 divide() :函数从随机函数那获取二个数进行简单的除法运算,将所得的值赋值给一个整形变量。混合运算函数 mix() :函数从随机函数那获取二个数进行简单的四则混合运算,将所得的值赋值给一个整形变量。 退出函数 void out() :根据用户所选键来进入此函数。输入年级函数 int grade() :根据用户的年级的大小来返还一个具体值,进而来决定运算的难易程度。输入题量函数 int many() :根据用户所输入的题量大小来来得到一个具体的值,进而来决心算真确率。清屏函

15、数 clrscr() :清除屏幕上所有的垃圾文件。答题正确率函数 void zql() :根据用户所输入的题量、所有答对题目的数目、以及时间函数所返回的时间值,来计算用户的答题正确率。2、函数的功能:随机取整函数:给出比较简单的数字,供用户进行运算。提醒答题正确:若用户答题正确,发出声音。提醒答题错误:若用户答题错误,发出不同的声音以示警报。加法运算函数:单独进行加法运算。减法运算函数:单独进行减法运算。乘法运算函数:单独进行乘法运算。除法运算函数:单独进行除法运算。混合运算函数:以固定混合运算公式进行运算。 退出函数:退出菜单并显示图形及退出系统操作提示。输入年级函数:输入年级,决定出题的难

16、度。输入题量函数:输入想做题目的数量,便于计算正确率和答题速度。清屏函数:清理屏幕。答题正确率函数:计算答题正确率,以便提示用户是否进入混合运算。五、调试分析:(1)测试数据:a)进入菜单后,系统会提示选择1,2,3,4,0进行下一步操作,包括加法、减法、乘法、除法、退出操作。b)系统会提示进行下一步操作。c)选择想要进行的规定项目完成后,系统会告知成绩,按“0”退出。(2)程序调试中出现的问题:用户界面不够人性化,经过对菜单的修改及对操作执行后系统询问的完善使该系统更人性化。六、总体设计方案 1程序说明及所达到的要求: 用户可以通过按相应的数字键进入相应的心算练习。 计算机自动出题,用户进入

17、每项练习时,屏幕上会显示用户所做的相应的题数,如果不想继续可以随时退出,只需按T键。 设计的系统完全适合用户,除法考虑到小学生的水平问题,只出现整除情况。 用户输入的答案不对时,计算机会发出声音,用户输入的结果如果连续两次不对,计算机会自动给出正确答案,供用户参考。2运算模块之间的算法 : 加法运算函数 aid() :函数从随机函数那获取二个数a ,b 进行简单的加法运算,将所得的值赋值给一个整形变量c。(b为年级) 如程序:a=g*g*N+random(N); b=g*N+random(N); c=a+b; 减法运算函数 minus() : 函数从随机函数那获取二个数a ,b进行简单的减法运

18、算,将所得的值赋值给一个整形变量c。(b为年级) 如程序:a=g*g*N+random(N); b=g*N+random(N); if(ab) t=a;a=b;b=t; c=a-b;乘法运算函数 multiply : 函数从随机函数那获取二个数a ,b进行简单的加法运算,将所得的值赋值给一个整形变量c。(b为年级) 如程序: a=g*N+random(N); b=N+random(N); c=a*b; 除法运算函数 divide() :函数从随机函数那获取二个数a ,b进行简单的除法运算,将所得的值赋值给一个整形变量c。(b为年级) 如程序:a=N+random(N); b=g*N+rando

19、m(N); c=a*b;d=c/a; 混合运算函数: 函数从随机函数那获取六个数a ,b,c, d, g ,j进行简单的加减乘除运算,将所得的值赋值给一个整形变量k进而k判断的值是否为零。如程序:a=N+random(N); b=g*N+random(N);c=g*N+random(N); d=N+random(N); g=g*g*n+random(N); j=c*d;k=a*b+j/d-g;七、调试分析:1概要:程序编译、链接成功后,自己设计实现程序功能的一组或多组测试数据,并严格按照此测试数据进行测试,然后分析测试结果。如果程序不能正常运行或结果不正确,则需对程序进行单步调试,在调试过程中

20、认真查找算法实现中存在的问题,并加以分析和改正。如果程序能够基本正确的运行,可考虑增加若干基本的容错功能;另外尽量对现有算法给出改进方案,并比较不同算法之间的优缺点。2数据测试: 首先准备输入某一运算级代码、如输入1则会在屏幕上显示出“欢迎进入加法运算”(若输入其他超出范围的数则系统又会回到主菜单从心开始输入。)然后屏幕会提示你输入你的年级数。进而系统会根据你的年级数用系统随机函数决定你的难易程度。a)进入菜单后,系统会提示选择1,2,3,4,0进行下一步操作,包括加法、减法、乘法、除法、退出操作。b)系统会提示进行下一步操作。c)选择想要进行的规定项目完成后,系统会告知成绩,按“0”退出。3

21、程序调试中出现的问题:用户界面不够人性化,经过对菜单的修改及对操作执行后系统询问的完善使该系统更人性化。4程序和排错。为了便于查错、阅读,在设计该程序的时候我采用了结构化程序方法编辑,添加了尽可能多的注释,这为我后来的调试过程带来了很多方便。在上机调试之前我对所编的程序作了纸面上的检查,先消灭一些低级错误,所谓的低级错误是指由于人为的输入不仔细等造成的,如没有搭配完整,漏写 ;号,拼写错误等,这些都是我们通过认真的态度在运行之前可以解决、避免的。而且还可以减少机器时间。往往一连串的错误是由于漏写或写错一个字符引起的。经过仔细检查之后进行上机调试。进行编译,如果在编译和连接过程中发现错误,屏幕上

22、显示了出错信息,根据提示找到出错的位置,加以改正,再进行编译如此反复,直到顺利通过编译和连接为止。在本次实习过程中碰到的编译、连接的错误主要有:1、缺少变量定义,定义位置不正确;由于该程序相对来讲稍有些长,前后有些变量不容易联系起来,但是在错误信息的提示下一般还是很容易找到。不过需要注意的是在定义的时候有些函数使用同样的变量名而表示不同的作用,因而使用要很小心,定义及定义的位置要特别留意。为减少这样的错误我后来还是用不同的变量名来表示,结果引起的那些错误解决了。2、语法错误;大多的语法错误在通过书本参考下能够修改。主要是平时看书不仔细、不太注意而产生的。如没有注意具体数据使用是有一定的范围限定

23、;过分重视分号的重要性而在for、if、while语句中画蛇添足加分号;在使用文件的时候忘记将文件先打开,对打开的方式与使用的情况不太注意而造成不匹配;还有漏掉形参的定义是值不能传递等等。这些语法错误有信息框的提示一般是能够排除的。3、在注释的时候不能同我们平常做笔记一样随心所欲地爱写哪就写哪,这造成我最后本来已经编译成功的程序一下子又多了很多错误。注释的时候,注释文字应写在一起中间不能有中断包含了c语言的语句,不然又引起错误格式不正确或是多了字符等。这又让我学到了一点知识。编译、连接的成功并不意味着程序的最终成功。逻辑上的错误机器不易检查出来,这时需要对数据结果进行分析。这种错误的查找是最难

24、的,需要编程序的人有相当的耐心和细心去把问题找出来。这也是本次程序编辑过程中碰到的最大的难题。往往运行之后得不到另人满意的结果,此时解决的方法一则用“分段检查”的方法,在程序的不同位置设几个printf函数语句,输出有关变量的值,逐段往下检查,或用debug进行调试,对检查出的错误进行修改,当调试完毕将设置的printf都删去。若在程序中找不到问题,则再来考虑算法是否逻辑严谨,再进行修改。如此循环往复,直到最后程序运行成功。在本次程序编辑过程中,我就是常遇到编译能通过,能够运行程序,但是总在输入、删除等操作完之后再想去看数据文件中存在的数据记录的时候,却一条记录也显示不出来,我怀疑是哪个对方对

25、n变量的定义或使用出错了,于是在每个主要函数的操作过程中添加了printf语句用来显示n的变化,例如在执行某个函数前添加插入语句显示n的起始值,在执行完该个函数后再添加插入语句显示此时n的结果值,观察n的变化是否正确,如果错误了,也就说明该函数编写过程有错。诸如这样的调试方法,不断缩小检查范围,最后将错误找到,进行修改。所以到最后我找到了错误,及时改正,终于把程序完成了,一切功能显示正常。以上是调试的全过程。八、用户使用说明书用户一旦进入程序就会弹出菜单,菜单显示:1、If you want to add operation,please press 1:(加法)2、If you want t

26、o subtract operation,please press 2:(减法)3、If you want to multiply operation,please press 3:(乘法)4、If you want to divide operation,please press 4:(除法) 5、If you want to exit this program,please press 0:(退出) 6、please input your choice:(选择)此时用户输入一个选择,程序将自动将用户的选择与所对应的函数进行匹配。如果用户选择的是“1”,则自动进入加法,如果不想做加法了,则按

27、“0”,退出程序,按其他的数字则接着做。若不退出系统,当做了五题且准确率达到90,则自动进入混合运算,并会告诉你做对了多少题,得了多少分。做完10道题将结束本系统,并告诉用户得分。九、总结及心得体会C语言课程设计和现代计算机技术的实际应用相结合,是我们在本阶段学完理论课程之后对自己该方面的能力的一次很好的检验,从开始的算法思路到运行调试后的美观的图形界面以及另人兴奋的可用程序,都是一个很好的学习和锻炼的过程。使我们巩固了原有的理论知识,培养了我们灵活运用和组合集成所学过知识及技能来分析、解决实际问题的能力。经过一周的C语言课程设计,我不但实践了课本的知识,还制作了自己的小程序,感觉自己对C语言

28、有了更深入的了解。在实践中,自己编程常会犯错误,并总结一些克服缺点的方法。深刻体会到程序设计中最重要的一部分不是编写源程序,而是调试过程。只有经过调试程序,我们才能掌握正确的语法知识及把问题的解决方法用程序语言来表达。在设计程序的同时也增长了翻阅有关文献的能力,加强了实践能力及自学能力,培养了分析问题 、编程和动手能力,掌握了程序设计基本技能。回顾起此次课程设计,至今我仍感慨颇多。如;有时遇到了一个错误怎么找也找不到原因所在,找了老半天结果却是一个函数放错了地方所致,有时一个功能不知道怎么实现找这个、找那个。有所编到最后一运行却告诉我错误,那真的很烦人。以前上课都是学一些最基本的东西,觉得很枯

29、燥,而现在却可以将以前学的东西编出有实际价值的东西,这样自己非常的投入,有时候一编就是二三个小时坐在电脑前面,有时候连吃饭都忘了。但现在回过头来看,还是挺有成就感的。的确,面对一件新事物,从理论到实践,在整整一星期的日子里,可以说是苦多于甜,但是结果却是令我十分欣慰的。因为我学到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且获得了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正掌握好所学知识,以便更好的为社会服务,从而提高自己的人生价值并实现自己的人生理想!在

30、设计的过程中遇到问题,可以说是数不胜数,这毕竟第一次做的,难免会遇到各种各样的问题。此外,在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,我一定把以前所学过的知识重新温习,古人说过:温故而知新,不亦悦乎。编程看起来似乎是一件很枯燥、乏味的事情,但是经历了这次程序的编辑之后,发现其实里面还是充满乐趣的,一旦真的钻研下去什么事情都可以放下,来认真研究。通过实习我丰富了计算机操作经验,更加深了对C语言的了解,熟悉了其环境,更增强了对Turbo C的使用技巧。另外,实习中老师对我们进行了细心、耐心的指导,鼓励我们对程序进行合理改进,培养了我们

31、的创新意识和创新能力。原来是我认为可怕的课程设计,就在种种辅助条件下完成了,心里有说不出的高兴。 虽说捧着自己的成果很高兴,但成果背后总是付出很大的努力。一个多礼拜中,我们有过山穷水尽的困惑;有过柳暗花明的惊喜;有过唇枪舌剑的辩论;有过相互鼓励的安慰。一个多礼拜的时间我们经历了很多,也收获了很多。与其说它是体力与脑力的作业,不如说它是合作精神和毅力的考验。十、附录1、参考文献1 谭浩强。C语言程序设计(第二版)。清华大学出版社M,1999 12(1): 2C语言程序设计教程 主编 蒋清明 黄晓宇 湖南科学技术出版社3C语言程序设计上机指导与习题选解 主编 蒋清明 黄晓宇 湖南科学技术出版社 42、源程序清单#include stdio.h /*下定义*/#include conio.h

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1