小学生数学练习题目自动生成系统——JAVA课程设计
- 格式:doc
- 大小:454.51 KB
- 文档页数:35
java计算器课程设计一、课程目标知识目标:1. 让学生掌握Java编程语言的基本语法,特别是运算符、表达式和流程控制的相关知识。
2. 使学生能够理解面向对象编程的基本概念,如类的定义、对象创建和使用。
3. 让学生学会运用Java编写简单的计算器程序,实现对基本数学运算(加、减、乘、除)的支持。
技能目标:1. 培养学生运用Java编写程序解决问题的能力,特别是针对计算器功能的实现。
2. 培养学生分析问题、设计算法、编写代码、调试程序的能力。
3. 提高学生团队协作和沟通能力,通过小组合作完成复杂的计算器功能设计。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣和热情,培养其探究精神。
2. 培养学生严谨、细致、负责任的科学态度,养成良好的编程习惯。
3. 培养学生面对挑战不畏难,勇于尝试,持续改进的良好品质。
课程性质:本课程为信息技术学科的计算器编程实践课程,结合了理论知识和实际操作,注重培养学生的动手能力和实际应用能力。
学生特点:学生处于初中或高中年级,已具备一定的计算机操作能力,对编程有一定了解,但实际编程经验较少。
教学要求:结合学生特点和课程性质,课程目标应具体、可衡量,注重实践操作,使学生在完成课程学习后能够独立编写简单的计算器程序。
在教学过程中,将目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. Java基本语法:变量、数据类型、运算符、表达式。
- 课本章节:第2章 Java基本语法2. 面向对象基础:类的定义、构造方法、对象创建、成员变量和成员方法。
- 课本章节:第4章 面向对象编程基础3. 流程控制:顺序结构、选择结构、循环结构。
- 课本章节:第3章 流程控制4. 计算器功能实现:加、减、乘、除运算方法编写,异常处理。
- 课本章节:第6章 方法与递归、第7章 异常处理5. 图形用户界面设计:Swing图形界面编程,按钮、文本框组件应用。
- 课本章节:第9章 Java图形用户界面编程教学大纲:第1周:Java基本语法学习,完成相关练习题。
第16课口算生成器任务导航有一天你的数学老师找到你,期望你能够帮助她编写一个软件,给低年级的同学出口算题,想必这难不倒你吧。
同学们来帮助增加口算学习的兴趣,提高口算学习的成绩,我们为小学生们编写一个口算练习的小程序吧!如图16.1所示。
图16.1 口算生成器界面Follow Me1. 简单口算生成器任务分析简单口算生成器的功能如表16.1所示。
表16.1 简单口算练习的功能功能按空格键,在第一个链表中出题,在第二个链表中给出答案。
按空格键时,先清空两个链表的所有信息;使用重复n次控制程序出题数目;在“出题”链表中显示100道加法题,加数分别为0到99之间随机数,随机数可使用“数字和逻辑运算”分类中的来产生,加法算式可使用来连接生成;在第二个链表中显示出两个加数的和,如图16.2简单口算生成器界面。
1图16.2简单口算生成器界面第1步:新建Scratch程序,保存文件到指定位置,文件名为“简单口算生成器”。
1.第2步:删除“角色1”。
2.第3步:新建两个链表分别命名为“出题”和“答案”,分别调整好大小,放置到舞台中合适位置,如图16.3所示。
图16.3简单口算生成器设计界面3.第4步:新建三个变量分别命名为“加数1”、“加数2”和“结果”,三个变量都不显示在舞台上,如图16.4。
图16.4 隐藏变量4.第五步:添加脚本如图16.5所示。
2图16.5简单口算生成器的脚本5.第6步:按下“空格”键,运行并调试程序。
DIY试修改“简单口算生成器”,尝试出60道加数范围是0到50的加法题。
2. 加减法口算生成器任务分析刚才的“简单口算生成器”只能出加法题,不能出减法题,所以现在来改进简单口算生成器,使其能够随机生成加减法算术题,如图16.6所示。
表16-2 加减法口算生成器功能功能按“空格”键,在第一个链表中随机生成100道加法、减法口算题,在第二个链表中产生答案。
成减法题。
生成减法题时要考虑减数小于被减数,此时可使被减数为一个0到99之间的随机数,而减数则为0到被减数之间的随机数,如图16.6所示。
小学算术运算测试程序JAVA课程设计报告面向对象程序设计(JAVA)课程设计说明书学院名称:计算机与信息工程学院班级名称:20XX级计算机科学与技术题目:小学算术运算测试程序面向对象程序设计(JAVA)课程设计任务书学院计算机与信息工程学院专业20XX级计算机科学与技术课程名称面向对象程序设计(JAVA)题目小学算术运算测试程序完成期限2021年01月02日至2021年01月08日共1周内容及任务一、项目的目的1.加深学生对面向对象程序设计(Java)课程基本知识的理解,综合应用所学的知识,独立完成一个以面向对象程序设计应用为课题的设计;2.根据问题需要,通过查阅手册和文献资料,培养分析和解决实际问题的能力;3.灵活运用类、对象、输入输出流、GUI、多线程、数据库编程等相关知识编写程序。
二、项目任务的主要内容和要求主要内容:编写一个可供小学数学运算的程序:可选择题目难度,并根据选择的难度分配加、减、乘、除法的题目,能根据输入题数并分配分值(总分100),判断做题是否正确,最后计算分数。
要求:1、编写图形化界面,每组4人,分工独立完成;2、能够按照要求完成系统设计并撰写课程设计报告。
三、项目设计思路题目要求设计一个可以自动出题(算数运算)的测试程序,首先需要明确该系统的功能:选择题目难度、选择题数、依据题数自动分配分值、自动出题、评卷并给出答对题数和总得分;接着根据功能设计图形化界面:选择题目难度界面、试卷界面和评分界面;然后结合功能和图形化界面编写代码,进行测试,不断完善代码;最后得到我们所需要的测试程序。
四、具体成果形式和要求程序和课程设计文档进度安排起止日期工作内容2021年01月02日至2021年01月02日需求分析2021年01月03日至2021年01月04日系统设计,根据前期的需求分析结果设计各个功能模块2021年01月05日至2021年01月06日编码,调试和测试程序2021年01月07日至2021年01月08日撰写课程设计报告,进行答辩主要参考资料[1]赵生慧.Java面向对象程序设计(第二版)[M].北京:中国水利水电出版社,2021.[2]毕广吉.Java程序设计实例教程[M].北京:冶金工业出版社,2021.[3]王保罗.Java面向对象程序设计[M].北京:清华大学出版社,2021.[4]高林,周海燕.JSP网上书店系统与案例分析[M].北京:人民邮电出版社,2021.指导教师意见(签字):年月日系(教研室)主任意见(签字):年月日目录摘要11.引言11.1选题背景11.2选题意义11.3主要内容及分工11.4组织结构22.需求分析22.1系统流程图22.2系统功能图23.系统设计33.1类的设计33.2功能模块设计33.2.1用户选择信息模块33.2.2题目信息模块43.2.3答案信息模块43.2.4成绩信息模块44.编码44.1导入相关包和类44.1.1包44.1.2类44.2各模块代码54.2.1用户选择信息模块54.2.2题目信息模块54.2.3答案信息模块74.2.4成绩信息模块85.测试结果95.1用户选择信息模块95.2题目信息模块105.3答案信息模块105.4成绩信息模块116.结束语12附录12参考文献21致谢22摘要本文使用了Java面向对象程序设计语言实现了一个小学算数运算的测试程序。
小学生数学练习题目自动生成随着数字化教育的推广,自动化生成数学练习题目已经成为教育界的一项重要工作。
小学生数学练习题目自动生成系统通过算法和数据库,能够快速生成大量的数学题目,为小学生提供更多的练习机会,提升他们的数学能力。
本文将从系统背景、算法原理以及应用前景三个方面来探讨小学生数学练习题目自动生成的相关内容。
一、系统背景数字化教育的推广使得传统的纸质教材逐渐被电子教材所取代,而电子教材又需要更多的练习题目来满足学生的需求。
然而,手动编写大量的数学题目需要耗费大量的人力和时间,为了解决这一问题,小学生数学练习题目自动生成系统应运而生。
该系统利用计算机和数据库技术,通过算法生成大量的数学题目,供小学生进行练习。
系统可以根据教材的章节、难度等级以及内容要求,灵活生成与教学要求相吻合的题目。
二、算法原理小学生数学练习题目自动生成系统的核心是算法。
算法通过对数学知识的分类和归纳,根据学生的年级和难度要求,结合教学大纲,生成相应的题目。
下面简单介绍系统中常用的算法:1.四则运算生成算法四则运算是小学生数学学习的重要内容。
生成算法可以选择加法、减法、乘法和除法中的任意一种或几种进行组合,通过随机数生成器生成对应的数字,最终生成题目。
为了避免生成重复的题目,算法可以通过判定题目的唯一性来确保题目的多样性。
2.图形的生成算法小学生数学练习中的图形题可以通过生成算法来实现。
算法可以根据图形的种类、边长、角度等要求生成相应的图形,并提供相关的问题要求,如计算周长、面积等。
3.综合题目生成算法为了让学生进行综合运算和思考,综合题目的生成算法可以将多种数学知识进行组合。
该算法可以根据题目的综合程度和难度要求,生成适合小学生的综合题目,提升他们的综合运算能力。
三、应用前景小学生数学练习题目自动生成系统在数学教育中有着广泛的应用前景。
首先,该系统可以为教师轻松生成大量的练习题目,减轻教师的工作负担,提高教学效率。
其次,对于学生来说,该系统提供了更多的练习机会,可以锻炼他们独立思考和解决问题的能力。
简单计算器java课程设计一、课程目标知识目标:1. 学生能理解简单计算器的功能需求,掌握Java语言的基本语法和编程结构。
2. 学生能运用Java编程实现加、减、乘、除等基本运算,并掌握相关运算符的使用方法。
3. 学生了解面向对象编程的基本概念,能够使用类和对象构建简单计算器程序。
技能目标:1. 学生能运用所学知识,独立完成简单计算器程序的编写和调试。
2. 学生掌握使用条件语句和循环语句进行程序流程控制,实现计算器的逻辑功能。
3. 学生能够运用调试工具,分析并解决简单计算器程序中可能出现的错误。
情感态度价值观目标:1. 培养学生编程的兴趣,激发他们探究计算思维和解决问题的热情。
2. 培养学生团队协作意识,让他们在合作开发过程中学会沟通与分享。
3. 培养学生面对困难勇于挑战的精神,提高他们独立解决问题的能力。
课程性质:本课程为实践性较强的学科课程,结合学生年级特点和教学要求,注重培养学生动手操作能力和编程思维。
学生特点:学生具备一定的Java基础,了解基本语法和编程结构,但对面向对象编程和实际项目开发尚处于初级阶段。
教学要求:结合学生特点,通过本节课的学习,使学生能够将所学知识应用于实际项目开发中,提高编程实践能力。
同时,关注学生情感态度价值观的培养,激发学习兴趣,增强合作意识。
将课程目标分解为具体学习成果,便于后续教学设计和评估。
二、教学内容1. 简单计算器功能需求分析:介绍计算器的基本功能,引导学生明确项目目标。
- 加、减、乘、除四则运算- 清除、退出等辅助功能2. Java基本语法回顾:复习Java基本语法,为编写计算器程序打下基础。
- 数据类型- 运算符- 控制语句(条件语句、循环语句)3. 面向对象编程基础:引入面向对象概念,指导学生构建简单的计算器类。
- 类的定义- 对象的创建- 方法的编写4. 简单计算器程序设计:详细讲解计算器各功能模块的实现。
- 界面设计- 事件处理- 运算逻辑5. 编程实践:指导学生动手编写简单计算器程序,并进行调试。
java程序计算器课程设计一、课程目标知识目标:1. 让学生掌握Java基本语法和程序结构,特别是运算符、控制流程等与计算器相关的知识;2. 帮助学生理解计算器程序的功能需求,设计合理的类和方法;3. 引导学生运用所学知识实现一个具备加、减、乘、除基本运算功能的计算器程序。
技能目标:1. 培养学生运用Java语言编写、调试程序的能力;2. 提高学生分析问题、解决问题的能力,能够根据实际需求设计合适的程序结构;3. 培养学生团队协作能力,通过小组讨论和分工,共同完成计算器程序的设计与实现。
情感态度价值观目标:1. 激发学生对编程的兴趣,培养其主动探究、积极实践的精神;2. 引导学生认识到编程在解决问题中的实际应用,增强其学习责任感;3. 培养学生良好的编程习惯,注重代码规范和可读性,提高其职业素养。
本课程针对高年级学生,考虑到他们已具备一定的编程基础,课程性质为实践性、综合性。
在教学过程中,注重引导学生主动参与、动手实践,将目标分解为具体的学习成果,以便在教学设计和评估中明确方向。
通过本课程的学习,期望学生能够独立完成一个简单的计算器程序,并在实践中提高自身编程能力和团队协作能力。
二、教学内容1. Java基本语法:变量声明与赋值、数据类型、运算符、表达式;2. 控制流程:分支结构(if-else、switch)、循环结构(for、while、do-while);3. 方法定义与调用:无参方法、有参方法、返回值方法;4. 类与对象:类的定义、对象的创建与使用、构造方法;5. 计算器功能需求分析:加、减、乘、除运算,界面设计(可选);6. 编程实现:编写计算器类,实现加、减、乘、除方法,搭建主程序框架;7. 测试与调试:单元测试,集成测试,异常处理;8. 代码优化与重构:提高代码可读性,遵循编程规范,增强程序健壮性。
教学内容依据课程目标,结合教材相关章节进行组织。
具体安排如下:第一课时:Java基本语法与运算符复习;第二课时:控制流程和方法定义;第三课时:类与对象基础;第四课时:计算器功能需求分析与设计;第五课时:编写计算器类,实现基本运算方法;第六课时:搭建主程序框架,进行单元测试;第七课时:集成测试,优化代码,进行调试;第八课时:总结与反馈。
小学生数学练习题目生成系统数学是小学生学习中不可或缺的一门学科,通过练习可以巩固知识,提高计算能力。
然而,每次手动编写练习题目是一项繁琐且费时的任务。
为了解决这个问题,我们开发了一款小学生数学练习题目生成系统。
一、系统介绍我们的数学练习题目生成系统利用计算机技术和数学知识,自动生成小学生数学练习题目。
它能根据不同年级和知识点的要求,灵活生成合适的题目,既能满足课程的要求,又能针对学生的个性化需求。
二、系统特点1. 灵活多样的题目类型:系统可以生成各种类型的数学题目,涵盖基础的四则运算、分数、小数、百分数、几何等多个知识点,并根据学生的年级和学习进度进行相应的调整。
2. 难度适应性强:系统根据学生的学习情况和能力水平,自动调整题目难度。
对于初学者,系统会生成简单易懂的题目,逐渐过渡到难度较大的题目,帮助学生逐步提高。
3. 多样的练习形式:除了传统的计算题,系统还可以生成填空题、选择题、判断题等多种形式的练习题目。
这种多样性有助于提供不同的思考方式和解题方法,培养学生多方面的思维能力。
4. 详细的解答和评分:系统生成的每个题目都有详细的解答和评分标准。
学生可以通过对比自己的答案和标准答案,找出自己的错误,并及时纠正。
同时,系统还会根据学生的答题情况给予相应的评分,让学生了解自己的学习进展。
三、系统使用步骤1. 登录系统:学生需要在系统中注册账号,并使用个人账号登录。
2. 选择题目类型:学生根据自己的学习目标和需求,选择合适的题目类型和难度。
3. 生成题目:系统根据学生的选择,自动生成一定数量的题目。
4. 完成练习:学生按照给定的时间完成练习,答题过程中可以参考教材、笔记等学习资料。
5. 对照答案:学生完成练习后,系统将提供详细的解答和评分标准,学生可以与之对照,找出自己的错误。
6. 答疑辅导:如果学生在做题过程中有疑问,可以通过系统中的答疑辅导功能向老师或同学求助。
7. 学习记录和反馈:系统会记录学生的答题情况和练习成绩,并向学生及其家长提供学习反馈和建议,帮助学生了解自己的学习情况。
java-四则运算,⾃动出题(1)实验要求:花⼆⼗分钟写⼀个能⾃动⽣成三⼗道⼩学四则运算题⽬的 “软件”,要求:除了整数以外,还要⽀持真分数的四则运算(需要验证结果的正确性)、题⽬避免重复、可定制出题的数量。
实验思路:通过分析实验的要求理清⾃⼰的实验思路,循序渐进,我⼀共做了三段时间,⾃认为⾛了三步,⼀⼆步建⽴基础,第三步进⾏调试,整改,添加功能。
第⼀⼤步(实现输⼊数量,产⽣随机的整数加减乘除算式)本⼈所⽤时间:⼤约20 minutes1.先实现100以内的固定数量的随机加;r1[i]=(int)(1+Math.random()*100);r2[i]=(int)(1+Math.random()*100);r1[i]+r2[i];2.然后实现随机的(“+”,“-”,“*”,“/”)建⽴储存运算符的char组 r3[]={“+”,“-”,“*”,“/”}static String[] r3={"+","-","*","/"};⽤随机的c=random(),实现4以内的数字(0,1,2,3), 就能随机产⽣运算符。
int a=(int)(0+Math.random()*4);s1=r3[a];4.实现可定义的数量,定义输⼊的int值m,建⽴相应的数组r1[number],r2[number];System.out.print("请输⼊定制数量:");Scanner scan2=new Scanner(System.in);int number=scan2.nextInt();r1=new int[number];r2=new int[number];综上,即可实现第⼀步。
第⼆⼤步(产⽣随机的真分数加减乘除算式)本⼈所⽤时间:⼤约40minutes1.建⽴4个随机整数组:分别⽤来存储第⼀个分数的分⼦分母和第⼆个分数的分⼦分母;static int[] r1;static int[] r2;static int[] n3;static int[] n4;2.⽤来进⾏运算的必须是最简分数,需要定义⼀个求两个数的最⼤公约数的函数,再⽤这两个数除以最⼤公约数,留下来的才是最简分数。
数学口算练习自动生成程序的设计与实现作者:胡云峰来源:《科学与财富》2018年第02期摘要:在小学低年级数学教学中,口算的练习是一个很重要的组成部分,加大练习量,是提高学生口算能力的最有效途径。
文章论述了一种通过计算机程序自动生成口算练习题的实现方式。
关键词:程序设计;HashSet;MIME协议0引言小学低年级的数学教学,注重学生计算能力的培养,而口算能力的训练,是其中一个重要组成部门。
然而,巨大的习题需求量,加重了任课教师或者家长的出题负担,因此,一种由计算机自动生成练习题,并可直接打印的系统,就显得很有必要。
1.系统分析与设计1.1 题型分析小学一二年级数学教学,主要培养学生10以内加减运算、100以内的加减运算以及乘法口诀表的使用能力,在题型上,有单加减、单乘、连加连减、混加混减、加减乘混合等,一般每套练习题包含50道题目。
1.2 需求分析根据题型及实际需要,系统向用户提供题型选择、生成题量设定、排版打印等功能。
其中,题型选择功能实现用户选择题型,系统根据选择生成相对应的题目;题量设定功能向用户提供自主设定生成练习题数量的功能;排版打印功能实现将系统生成的练习题按照一定格式,自动生成WORD文档,并可直接打印的功能。
1.3 开发技术选择考虑到用户的非专业性,系统要求简单易用、即点即用,因此,使用不用安装客户端的B/S模式及不使用数据库的技术手段就显得比较合适。
本系统最终选择采用JSP+JavaBean模式[1]开发,成品放于WEB服务器上,使用户打开浏览器访问服务网址即可使用。
2.系统实现2.1 练习题自动生成功能的实现系统使用JSP+JavaBean的技术手段开发,逻辑实现部分,使用JavaBean实现。
以10以内的加减法、100以内的加减法及乘法口诀练习题的生成为例,利用数组存放所生成的练习题,实现代码如下:package com.hyf;import java.util.*;public class MyTools {static int array[]=new int[10];static ArrayList myList=new ArrayList();public MyTools() {for(int i=0;iarray[i]=i; }} //练习题只由数字0—9构成,生成装有0—9共10个数字的数组public static ArrayList withinTen() { //10以内的加减练习题生成for(int i=0;ifor(int j=0;jmyList.add(i + " + " + j + " = "); //生成加法练习题if(i>=j) myList.add(i + " - " + j + " = ");}} //减法练习题,控制被减数必须大于减数,避免出现负数return myList; }public static ArrayList withinHundred() { //100以内的加减练习题生成for(int i=10;ifor(int j=10;jif(i+jif(i>=j) myList.add(i + " - " + j + " = "); }} //减法练习题,控制被减数必须大于减数,避免出现负数return myList; }public static ArrayList multiplication() { //乘法口诀练习题生成for(int i=1;ifor(int j=1;jmyList.add(j + " × " + i + " = ");}}return myList; }}2.2 随机选取50道练习题功能的实现学生进行练习时,综合考虑低年级学生注意力及能力的特点,结合考核要求,一般每套练习题包含50道题目。
java题库管理系统课程设计Java题库管理系统是一种用于存储和管理题目数据的软件系统。
它主要用于教育和培训机构、学校和企业等组织,用于创建、编辑、存储和管理题目库,并提供相关的功能和服务,如题目搜索、题目分类、题目导入导出等。
在这篇文章中,我们将介绍Java题库管理系统的设计和实现。
1. 系统功能设计Java题库管理系统的主要功能包括以下几个方面:1.1 题目管理系统应提供题目的创建、编辑、删除和查询功能。
用户可以通过系统界面输入题目的内容、选项和答案,并选择题目的类型、难度和所属的知识点。
系统还应该支持对题目进行批量导入和导出操作,方便用户进行大规模的题目管理工作。
1.2 题目分类系统应提供对题目进行分类的功能,以方便用户进行题目的查找和管理。
用户可以创建不同的题目分类和知识点,将题目按照不同的分类进行归类。
系统还应支持对分类进行管理,如添加、编辑、删除等操作。
1.3 题目搜索系统应提供题目的搜索功能,以方便用户快速查找特定的题目。
用户可以根据题目的关键字、题目类型、难度等条件进行搜索,并获得相关的题目列表。
系统还应支持对搜索结果进行排序和过滤,以提高用户的查找效率。
1.4 用户管理系统应提供用户管理的功能,支持用户的注册、登录和权限管理。
系统应为不同的用户分配不同的权限,以保证系统安全性。
管理员用户可以对题目和用户进行管理,普通用户可以进行题目的查询和浏览。
2. 数据库设计Java题库管理系统的数据存储主要依托于数据库。
数据库设计需要考虑存储的数据类型、表的设计和关系的定义等。
以下是数据库设计的一些要点:2.1 题目表(题目id、题目内容、题目类型、难度、答案、知识点等字段)2.2 用户表(用户id、用户名、密码、权限等字段)2.3 分类表(分类id、分类名称等字段)2.4 题目分类关系表(题目id、分类id等字段)3. 系统界面设计Java题库管理系统的界面设计需要符合用户友好和易用性的原则。
课程设计报告课程名称JA V A程序设计课题名称小学生数学练习题目自动生成系统专业信息管理与信息系统班级学号姓名指导教师李峰、谢雅、赵锦元2016年7 月2 日湖南工程学院课程设计任务书课程名称JA V A程序设计课题小学生数学练习题目自动生成系统专业班级学生姓名学号指导老师李峰、谢雅、赵锦元审批任务书下达日期2016 年 6 月14 日任务完成日期2016 年7 月 2 日一、设计内容与设计要求1.课程设计目的全面熟悉、掌握JA V A程序设计基本知识,增强对不同的问题运用和灵活选择合适的数据结构以及JA V A程序设计的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,增强JA V A程序设计概念,熟悉java语言编程,养成提供文档资料的习惯和规范编程的思想,为后继课程的实验以及课程设计打下较扎实的基础。
进一步提高上机动手能力,培养使用计算机解决实际问题的能力,为后继课程的实验以及课程设计,特别是自学、毕业论文的完成打下扎实的基础。
2.课题题目⑴计算器⑵简单投票管理系统⑶小学生数学练习题目自动生成系统⑷电子英汉词典⑸标准化考试系统[6]Hannoi塔3.设计要求⑴设计课题题目:按学号顺序(每10位学生选择一题)选择相应题号的课题。
换题者不记成绩。
⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。
②完成系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模块图)。
③完成系统详细设计:包括需求分析;类层次图;界面设计与各功能模块实现。
④系统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整。
⑤使用说明书及编程体会:说明如何使用你编写的程序,详细列出每一步的操作步骤。
⑥关键源程序(带注释)⑶按规定格式完成课程设计报告(源代码),将其打印稿(A4纸)上交给老师存档。
⑷不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。
二、进度安排第17周星期二下午14:30-18:30星期五下午14:30-18:30星期六下午14:30-18:30星期日下午14:30-18:30第18周周一上午8:00-12:00 下午14:30-18:30目录1需求分析 01.1系统设计题目 01.2目的与要求 02总体设计 (1)2.1 用户信息模板 (1)2.2 题目信息模块 (1)2.3 选题情况信息模块 (1)2.4 答题信息模块 (1)3详细设计 (2)3.1系统E-R图 (2)3.2 数据类型 (2)3.3功能模块实现 (3)3.4 java源文件及其方法 (3)3.5 主要组件设计 (3)3.6 类的设计 (4)4.调试及运行结果 (4)4.1 10以内的加减法测试 (4)4.2 100以内乘除法测试 (5)4.3完成测试 (5)5心得体会 (7)6参考文献 (8)7附录 (9)7.1源代码 (9)8评分表 (29)1需求分析1.1系统设计题目小学生数学练习题目自动生成系统1.2目的与要求(1)设计要求编写一个能够自动生成小学生数学练习题目的程序。
设计一个程序,能够根据用户的选择生成“10以内加法”、“10以内减法”、“20以内加法”、“20以内减法”、“100以内加法”、“100以内减法”、“100以内乘法”、“100以内除法”8种类型的题目,要求每个题目能够随机生成,并符合以下要求:10以内加法的得数在不大于10的范围内;20以内加法的得数在不大于20的范围内;100以内加法的得数在不大于100的范围内;10以内减法的两个运算数在不大于10的范围内并且差为非负数;20以内减法的两个运算数在不大于20的范围内并且差为非负数;100以内减法的两个运算数在不大于100的范围内并且差为非负数;100以内乘法的得数在不大于100的范围内;100以内除法的两个运算数在不大于100的范围内并且被除数应该是除数的整数倍;要求程序具备以下功能:根据用户对“题目类型”的选择,在按下“出题”按钮之后,每次显示20个相应类型的题目,用户可以在界面上填写计算结果;答题完成之后,当用户按下“评卷”按钮时,根据用户的答题结果,在界面上可以显示红色的“√”或“╳”符号,以作为对用户的答题结果的评判。
当用户按下“答案”按钮时,在界面上显示正确的运算结果。
(2)输入/输出要求输入要求:用户能够在界面上输入题目的计算结果;输出要求:程序可以在界面上显示20个用户所需的类型的题目,以红色的“√”或“╳”符号显示对用户计算结果的评判结果,以及所给出的题目的正确答案。
2总体设计小学生数学练习题目自动生成系统主要包括用户信息、题目信息、选题情况信息、答题信息、历史成绩信息五个功能模块。
2.1 用户信息模板用户信息模块主要包括用户的信息以及用户的实施操作。
用户信息模块包括:用户姓名,用户编号,所属班级,用户性别,联系电话,家庭住址等相关信息。
用户的实施操作:用户可以通过其包含的相关信息,与其他模块进行连接,可以在此系统中依次的进行题型选择,用户答题,显示正确答案以及记录历史答题信息等功能。
2.2 题目信息模块题目信息模块主要实现对数学练习题目信息的管理记录。
题目信息模块主要包括:题目编号,甲空,题目题型,乙空,正确结果等相关信息。
2.3 选题情况信息模块选题情况信息模块主要实现对所具有的题目项目进行管理记录,根据对用户的基础信息和题目信息的相应连接可以实现不同用户对题型的选择,从而可以形成不同的题型,生成相对应的试卷。
选题情况信息模块主要包括:用户编号,题目题型,题目编号等相关信息。
2.4 答题信息模块答题信息模块主要是为了实现与选题情况信息进行对接,根据实现后的答题信息可以直接录入到系统中进行记录。
答题信息模块主要包括:用户编号,题目题型,题目编号,所填答案等相3详细设计3.1系统E-R图图3.1 系统E-R图3.2 数据类型public JLabel jlQuestion1;//题目标题public JLabel jlQuestion2;//题目内容public JLabel jlAnswer;//答案标题public JLabel jlW;//题号public JLabel jlT;//正确数public JButton jbStart;//开始游戏public JButton jbEnd;//停止游戏public JButton jbExit;//退出游戏public JTextField jtfAnswer;//输入答案public int m,n,l,answer,trueAnswer,x,y=20,a=0,b=0;//随机数m、n,计数参数public JRadioButton radioButton1;public JRadioButton radioButton2;public JRadioButton radioButton3;public JRadioButton radioButton4;public JRadioButton radioButton5;public JRadioButton radioButton6;public ButtonGroup group1;public ButtonGroup group2;3.3功能模块实现(1)符号模块:符号选择只能有一个符号,所以选择单选按钮来实现符号选择功能,先建立一个标签为符号选择标签。
然后建立四个单选按钮,并用group方法实现其单选功能。
最后注册监听器,用ItemListener监听器实现。
(2)运算范围选择模块:实现方法同符号选择模块,为单选按钮,注册ItemListener监听器。
(3)题号与正确题数:定义两个int型变量,将题号和正确题数传递给这两个变量。
(4)题目生成:用Math.Random()*a生成随机数,将其赋值给两个int型变量。
(5)结果输入框:建立一个输入框,将答案输入的时候,可获得答案,将答案与之前定义的answer进行比较,比较结果相同时正确题数加1,题号加1,生成新题目。
3.4 java源文件及其方法3.5 主要组件设计根据要求软件要能选择运算符号,还有运算范围。
能根据测试者做对的题数给予鼓励运算符号选择界面,有四种符号,都分别用单选按钮来实现,再注册事件监听器。
运算范围界面,有两种,同样用单选按钮来实现,注册事件监听器。
题号,正确题数,题目分别是三个标签。
答案输入框是一个文字输入框。
开始测试,完成测试,结束测试是三个注册了事件监听器的按钮。
3.6 类的设计定义一个主类,在里面定义构造方法,还有监听器等组件4.调试及运行结果4.1 10以内的加减法测试.(1)选择10以内的加法进行测试。
图4,1 10以内加法测试(2)选择10以内的减法进行测试。
图4.2 10以内的减法测试4.2 100以内乘除法测试(1)选择100以内乘法运算测试。
图4.3 100以内乘法测试(2)选择100内的除法运算结果。
图4.4 100内的除法测试4.3完成测试(1)测试通过。
图4.5 测试通过(2)测试没及格。
图4.6 测试没及格5心得体会课程设计对学生而言是其对所学课程内容掌握情况的一次自我验证,从而有着极其重要的意义。
通过课程设计能提高学生对所学知识的综合应用能力,能全面检查并掌握所学内容;《JA V A程序设计》从课程性质上讲是一门专业基础课,它的目的和任务就是训练学生对java语言的认识,让学生对计算机编程有更进一部的认识,进而增加其对学习和应用相关专业课的兴趣。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,将结论用于实践,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中当然遇到了问题,可以说得是困难重重,毕竟这是不可避免的,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
由于能力有限,其中文档的编写是参考书上资料,我想在以后的学习中,要更注重实践这一环节。
通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到种种问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。
从设计过程看,在整整两个星期的日子里,做到精益求精,学到了很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。