欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数学题自动生成系统.docx

    • 资源ID:12925828       资源大小:285.10KB        全文页数:38页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数学题自动生成系统.docx

    1、数学题自动生成系统 3.1 系统E-R图.4 3.2 关系模式. 4 3.3系统数据流图.5 3.4基本数据类型操作.51、需求分析 小学生数学练习题目自动生成系统要求:编写一个能够自动生成小学生数学练习题目的程序。设计一个程序,能够根据用户的选择生成“10以内加法”、“10以内减法”、“20以内加法”、“20以内减法”、“100以内加法”、“100以内减法”、“100以内乘法”、“100以内除法”8种类型的题目,要求每个题目能够随机生成。此外,用户还能输入答题的数量。答完题后,即可查看统计答题情况,对于答错的题,可显示正确答案。答题数据要求保存到文件中,并可调出查看。 1.1将该系统分割为五

    2、个大致模块,主要是由用户信息,题目信息和历史成绩信息相互连接而成,用数据库的方式对其进行记录。 1.2.通过分析可以依次实现,选择题型-设置题目数量-产生随机题目-用户答题-显示答题结果-查询历史答题结果等一系列具体操作。 可简约为: 1.2.1 用户打开系统成功后,则可以开始进行对所具有不同类题目的选择,实现学生自主选题 1.2.3 在选择题目后,便可自主的对其进行填写答题数目 1.2.4 在点击按键“设置”之后,点击“下一题”系统会自动生成显示所选题型的题目 1.3 通过对Java语言的运用,将其与数据库进行对接,则可以完成对系统的实现。而且可以直接在运行成功的界面上进行一系列的具体操作。

    3、二、概要设计小学生数学练习题目自动生成系统主要包括用户信息、题目信息、选题情况信息、答题信息、历史成绩信息五个功能模块。2.1 用户信息模板 用户信息模块主要包括用户的信息以及用户的实施操作。 用户信息模块包括:用户姓名,用户编号,所属班级,用户性别,联系电话,家庭住址等相关信息。用户的实施操作:用户可以通过其包含的相关信息,与其他模块进行连接,可以在此系统中依次的进行题型选择,用户答题,显示正确答案以及记录历史答题信息等功能。2.2 题目信息模块 题目信息模块主要实现对数学练习题目信息的管理记录。 题目信息模块主要包括:题目编号,甲空,题目题型,乙空,正确结果等相关信息。2.3 选题情况信息

    4、模块 选题情况信息模块主要实现对所具有的题目项目进行管理记录,根据对用户的基础信息和题目信息的相应连接可以实现不同用户对题型的选择,从而可以形成不同的题型,生成相对应的试卷。 选题情况信息模块主要包括:用户编号,题目题型,题目编号等相关信息。2.4 答题信息模块 答题信息模块主要是为了实现与选题情况信息进行对接,根据实现后的答题信息可以直接录入到系统中进行记录。 答题信息模块主要包括:用户编号,题目题型,题目编号,所填答案等相关信息。2.5 历史成绩信息模块 历史成绩信息模块主要是通过与选题情况信息模块相连接,实现小学生对数学练习习题答题历史成绩的记录。 历史成绩信息模块主要包括:用户编号,答

    5、题时间,正确数目,错误数目等相关信息。三、详细设计3.1 系统E-R图在系统功能作了详细分析后,可以从中抽象出系统E-R模型,如图:3.2关系模式将E-R图转化为关系模型: User(user_id,user_nam,user_class,user_tel) Timu(timu_id,timu_one,timu_two,timu_true) History(user_id,answer_time,true_no,flase_no)3.3系统数据流图3.4基本数据类型操作界面设计(设置不同按钮、文本大小以及字体类型大小等): area=new JTextArea(42,100); teacher

    6、Zhang=new Teacher(this); teacherZhang.setMaxInteger(100); setLayout(new FlowLayout(); setSize(1300,500); menubar=new JMenuBar(); menu1=new JMenu(难度设置); menu2=new JMenu(历史档案); grade1=new JMenuItem(10以内加法); grade2=new JMenuItem(10以内减法); grade3=new JMenuItem(20以内加法); grade4=new JMenuItem(20以内减法); grade

    7、5=new JMenuItem(100以内加法); grade6=new JMenuItem(100以内减法); grade7=new JMenuItem(100以内乘法); grade8=new JMenuItem(100以内除法); message=new JLabel(你还没有回答呢); Start=new JButton(下一题); giveAnswer=new JButton(提交答案); item=new JMenuItem(答题记录); Qcount=new JLabel(题目数量); set=new JButton(设置); Text1=new JTextField(5); T

    8、ext1.setText(0); textOne=new JTextField(5); textTwo=new JTextField(5); textResult=new JTextField(5); operatorLabel=new JLabel( ); final FileDialog filedialog_load=new FileDialog(this,打开文件对话框,FileDialog.LOAD); add(Qcount); add(Text1); add(set); operatorLabel.setFont(new Font(Arial,Font.BOLD,20); menu

    9、1.add(grade1); menu1.add(grade2); menu1.add(grade3); menu1.add(grade4); menu1.add(grade5); menu1.add(grade6); menu1.add(grade7); menu1.add(grade8); menu2.add(item); menubar.add(menu1); menubar.add(menu2); setJMenuBar(menubar); add(textOne); add(operatorLabel); add(textTwo); add(new JLabel(=); add(te

    10、xtResult); add(giveAnswer); add(message); add(Start); add(area); textResult.requestFocus(); textOne.setEditable(false); textTwo.setEditable(false);对不同按钮设置不同监视器: Start.setActionCommand(getProblem); textResult.setActionCommand(answer); giveAnswer.setActionCommand(answer); teacherZhang.setJTextField(te

    11、xtOne,textTwo,textResult); teacherZhang.setJLabel(operatorLabel,message); Start.addActionListener(teacherZhang); giveAnswer.addActionListener(teacherZhang); textResult.addActionListener(teacherZhang); setVisible(true); validate(); setDefaultCloseOperation(DISPOSE_ON_CLOSE);对不同情况下的选择设置不同符号及能产生的最大随机数:

    12、 grade1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) teacherZhang.setOperator(+); teacherZhang.setMaxInteger(10); ); grade2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) teacherZhang.setOperator(-); teacherZhang.setMaxInteger(1

    13、0); ); grade3.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) teacherZhang.setOperator(+); teacherZhang.setMaxInteger(20); ); grade4.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) teacherZhang.setOperator(-); teacherZhang.setMaxInt

    14、eger(20); ); grade5.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) teacherZhang.setOperator(+); teacherZhang.setMaxInteger(100); ); grade6.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) teacherZhang.setOperator(-); teacherZhang.se

    15、tMaxInteger(100); ); grade7.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) teacherZhang.setOperator(*); teacherZhang.setMaxInteger(100); ); grade8.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) teacherZhang.setOperator(/); teacher

    16、Zhang.setMaxInteger(100); );对答题记录设置监视器: item.addActionListener(new ActionListener() Override / TODO Auto-generated method stub public void actionPerformed(ActionEvent e) if(e.getSource()=item) filedialog_load.setVisible(true); area.setText(null); String s; if(filedialog_load.getFile()!=null) try Fil

    17、e file=new File(filedialog_load.getDirectory(),filedialog_load.getFile(); FileReader file_reader=new FileReader(file); BufferedReader in=new BufferedReader(file_reader); while(s=in.readLine()!=null) area.append(s+n); in.close(); file_reader.close(); catch (IOException e1) );对“设置”创建监视器: set.addAction

    18、Listener(new ActionListener() Override public void actionPerformed(ActionEvent e) / TODO Auto-generated method stub int n=0; area.setText(null); n=Integer.parseInt(Text1.getText(); if(n=0) JOptionPane.showMessageDialog( null,请输入题目数量!,提示,JOptionPane.OK_OPTION); else teacherZhang.setNum(n); String s=S

    19、tring.valueOf(n); area.append(s+n); ); 设置监视器从而控制答题数量: public void actionPerformed(ActionEvent e) / TODO Auto-generated method stub String str=e.getActionCommand(); try if(str.equals(getProblem)&knum) textOne.setText(+ak); textTwo.setText(+bk); operatorLabel.setText(operator); message.setText(请回答); t

    20、extResult.setText(null); else if(str.equals(getProblem)&k=num) JOptionPane.showMessageDialog( null,答题结束,提示,JOptionPane.OK_OPTION); SaveFile(operator); 通过if_else循环来计算统一答题情况:if(str.equals(answer) String answer=textResult.getText(); int result=Integer.parseInt(answer); ck=result; if(operator.equals(+)

    21、if(result=ak+bk) message.setText(回答正确); k+; setIsRight(true); x+; else String s=答案:+String.valueOf(ak+bk); message.setText(s); k+; setIsRight(false); y+; else if(operator.equals(-) if(result=ak-bk) setIsRight(true); message.setText(回答正确); k+; x+; else setIsRight(false); String s=答案:+String.valueOf(a

    22、k-bk); message.setText(s); k+; y+; else if(operator.equals(*) if(result=ak*bk) setIsRight(true); message.setText(回答正确); k+; x+; else setIsRight(false); String s=答案:+String.valueOf(ak*bk); message.setText(s); k+; y+; else if(operator.equals(/) if(result=ak/bk) setIsRight(true); message.setText(回答正确);

    23、 ck=result; k+; x+; else setIsRight(false); String s=答案:+String.valueOf(ak/bk); message.setText(s); k+; y+; catch(NumberFormatException ex) message.setText(请输入数字字符); catch (IOException e1) / TODO Auto-generated catch block e1.printStackTrace(); 该函数能够产生随机数:public void setNum(int n) num=n; for(int i=0

    24、;in;i+) ai=random.nextInt(maxInteger)+1; bi=random.nextInt(maxInteger)+1; 保存文件,能够借此找到历史答题情况:public void SaveFile(String str) throws IOException FileWriter fw=null; try File file=new File(station.txt); fw=new FileWriter(file,true); catch(IOException e) e.printStackTrace(); PrintWriter pw=new PrintWri

    25、ter(fw); pw.flush(); Date date = new Date(0161,8, 22); Date nowTime=date; try pw.println(答题时间:+nowTime); for(int j=0;jnum;j+) pw.println(aj+str+bj+作答+cj); pw.println(正确题数:+x+ +错误题数:+y); pw.println(); pw.close(); fw.close(); catch(IOException e) e.printStackTrace(); public void setIsRight(boolean T)

    26、this.isRight=T; 主函数算法:package SYSTEM;class MyFrame public static void main(String args) MathSystem frame; frame=new MathSystem(); frame.setTitle(小学生数学题目自动生成系统); 四、调试分析1. 没有建立相应的监视器,将两个不同的类连接起来,不能产生随机数,无法进行之后的操作2. 没有设置参数,从而不能控制答题数目,导致可以一直答题,没有限度。之后,设置了单独参数,利用for循环,当大于输入答题数量时,循环结束,系统无法再产生随机题3. 没有设置数据从而对答题情况进行统计,调试后,在判断回答正确否的地方,添加两个数据,分别对对错进行累加,则可以最后显示答题情况4. 在历史答题情况中没


    注意事项

    本文(数学题自动生成系统.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开