• 实验二结对编程—四则运算


    一、问题描述

    开发一个自动生成小学四则运算题目的命令行 “软件”。实现 输入你要出题的个数,随机产生四则运算,然后用户回答,并且进行打分。

    规则:

    1、用随机数实现100以内的加、减、乘、除运算,

    2、其中和与积不能超过100,差不为负(即须大减小),

    3、商不为小数或分数(即必须整除)。

    4、要求总计输出10个运算式,每输出一个运算式,等待输入结果,然后进行对错判断并输出。最后输出统计答对的题数与分数

    二、结对编程

    本次实验为两人结对实验,所谓结对编程其实是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。要求两个程序员经常互换角色。在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理。这样使得驾驶者可以集中全部注意力在完成当前任务的“战术”方面。观察员当作安全网和指南。结对编程对开发程序有很多好处。比如增加纪律性,写出更好的代码等。

    简单来说就是要求两个人一组,共同完成编码,完成实验要求,在结对的过程中两人互换校色。

    三、讨论与交流

    1、编程环境的选择

    在进行程序分析和设计之前,因为个人能力以及喜好偏向的不同,就编程语言的选择进行了讨论,我的基础不太好,目前所学的所有编程语言编程环境中使用最熟就是C语言VC环境,我的partner则是更喜欢java。在对此次实验Java更好些,因为*java不会像c,c会大概率产生相同的随机数,甚至会下次运行可能会和上次一样,因此用c写需要初始化一个时钟种子,才能尽可能地保证随机数的不同,*java的random函数10万次运行都很难出现一次相同的随机数,所以random不会产生重复函数。最终选择了使用java来完成实验。

    2、程序分析

    程序中需要有的功能:随机数的生成、随机运算符的产生、对表达式进行求值(包括加法运算、减法运算,分数的运算。乘方的运算)、判断结果对错。

    2、扩展方向
    我们选择的扩展方向是图形界面程序,增加倒计时功能、历史记录功能。
    3、分工
    我的结对伙伴负责题目及答案生成、避免重复,我负责图形界面、用户输入及判定对错、倒计时。

    四、程序的设计

     由一个主函数和五个子函数构成,子函数间也会相互调用。主函数中,调用生成问题的函数,然后生成问题函数调用随机函数和生成答案函数,生成答案的函数也会调用生成问题函数和辗转相除的函数。

    自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内------>实现
    剔除重复算式。 2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式------>实现
    题目数量可定制------>实现
    相关参数可控------>实现
    是否包含乘法和除法
    操作数数值范围可控(如操作数 在100以内 还是1000以内)
    操作数是否含负数
    生成的运算题存储到外部文件result.txt中------->实现

    下周将对代码进行具体的编写

  • 相关阅读:
    python一些简单操作
    MySQL事务
    c#替换word中的文本并导出(示例)
    SQLServer将某个字段的多行记录合并返回一行
    SQL根据某字段查询不重复记录
    SQLServer逗号分割字符串返回多行
    c# js日期工具
    onchange,onfocus ,oninput事件
    compositionstart事件与compositionend事件
    图片处理问题
  • 原文地址:https://www.cnblogs.com/xielinlin/p/12532673.html
Copyright © 2020-2023  润新知