软件工程概论第二周综合测验----设计思路

四则运算2

程序要求:题目避免重复,可定制(数量、打印方式);可以控制下列参数:是否有乘除法,数值范围,加减有无负数,除法有无余数,是否支持分数。

设计思路:

1,题目避免重复:先出第一道题,再出第二道题的话首先判断第二道题的运算如果等于第一道题则有:第二道题的第一个随机数如果等于第一道题的第一个数且第二道题的第二个随机数等于第一道题的第二个数,则重新选数。否则继续。第三道题也从运算符开始判断。

2,可定制数量、打印方式:设置一个变量,变量根据用户需要输入。即“请输入所需题目的数量:”和“每行打印题目数量:”。

3,数值范围可以根据用户需要更改,则设置变量,rand()%a,通过输入a的取值来控制。

4,可以控制以下参数(我根据自己的想法进行分块简化了):在总程序框架中设置选项,初步实现所出的题在其选项中实现,就是相当于在一张纸上进行分块。一块出的题只有这一块的这一类题。学生想做那一块的题就选择哪个选项。再分为是否有乘除法、有无负数、有无余数、是否支持分数等几块。

(1)有乘除法:除法0不能做除数,如果0是除数则交换第一个数和第二个数的值。

(2)有负数:负数在随机数中出现。感觉可以通过控制数值范围控制。

(3)有余数:运算都是除法的情况下,除数不能整除被除数,如果整除,则改变除数(或被除数)。

(4)支持分数:设置四个随机数,分母不能为0。

总结:初步想法是先分块实现,最后总合的时候可能有的功能不能很好地整合起来。按照我的想法是先实现分块,选择哪个选项,分块里只有这一类的题。先运行分块。最后通过改变函数顺序来整合。

时间: 2024-08-24 11:44:19

软件工程概论第二周综合测验----设计思路的相关文章

软件工程概论第一周综合测验

关于随机产生30个小学生四则运算的程序.此处用C++编码. 设计思想:综合同学实例和百度.首先产生随机数的函数为rand(),用for循环进行30次以出30道题目.将四则运算通过case的方式随机定义.只要求出题,所以直接输出随机数和随机运算符号.因为小学四则运算不涉及负数,所以通过比较大小来确保减法上不产生负数. //随机产生30道小学四则运算 #include<iostream> #include<cmath>using namespace std; void main() {

软件工程概论第二周学习进度

                                                                           第二周        所花时间(包括上课)                            4小时        代码量                            50行        博客量                            2篇        了解到的知识点(填写具体知识点)                

软件工程概论第二章

本章主要介绍了软件工程的概念包括任务思维与过程思维(即将整个软件开发任务看作是一个可控的.可度量的和可改进的过程.).软件过程的定义(软件过程是软件工程人员为了获得软件产品而在软件工具的支持下实施的一系列软件工程活动.).软件过程的基本活动(问题提出.软件需求规格说明.软件设计.软件实现.软件确认.软件演化).软件过程的制品,软件过程模型包括瀑布模型.快速原型模型.增量模型.螺旋模型.形式化方法模型.基于组件的开发模型,微软的软件开发过程包括微软的开发管理原则.微软的软件过程模型.递进式的软件开

软件工程概论第二章总结

软件过程就是软件工程人员为了获得软件产品在软件工具的支持下实施一系列的软件工程活动.软件过程的基本活动步骤有1 问题的提出,2软件需求规格说明 3 软件设计 4 软件实现 5软件确认 6软件演化.     软件过程的模型主要有瀑布模型,快速原型模型,增量模型,螺旋模型,形式化模型,基于组将开发模型,本章还介绍了微软公司的软件开发过程微软公司的软件开发过程模型由规划,设计,开发,稳定和发布5个主要阶段,微软公司软件开发工程采用递进式的开发策略,递进式的开发模式具有易于管理的适应变化的显著特点,具体

软件工程概论第二章概括

第一章首先在软件工程这个名词上做了详细的解释,第二章就开始对于软件的开发过程作介绍了. 在开始的时候先对于这个开发过程做了一下简略的介绍,从用户和设计者之间的沟通建立框架对软件开发这个过程做介绍. 而后开始详细的介绍各种构建模型的方法:瀑布模型.快速还原模型.增量模型.螺旋模型.形式化开发模型.基于组件的开发模型,其中把微软公司特别拿出来介绍了一下他们开发的过程,毕竟现在来看他们还是比较成功的,确实能从里面学到一些真正的东西,我们进入到社会会用的上. 在开发软件的过程中同样还会有一些东西伴随着软

软件工程概论第二章 软件过程

软件开发是在适应需求不断变化的过程中迭代式地演进,软件过程是软件工程人员为了获得软件产品而在软件工具的支持下实施的一系列软件工程活动,还有软件过程的基本元素由一系列软件工程活动和活动之间的关系组成,通过一系列顺序和步骤执行这些活动,可以产生诸如代码.文档和数据等各种过程制品,最终取得预期的过程结果.另外,软件工程需要参与活动的人员和活动工具等过程资源的支持,并通过反馈和度量过程的结果实现过程的可持续改进.软件活动的基本活动包括:1.问题提出:2.软件需求规格说明:3.软件设计:4.软件设计:5.

软件工程概论第二章阅读笔记

在这一章当中,我了解到了软件生存期的几个模型. 首先是瀑布模型.其优点有:1 可强迫开发人员采用规范化的方法 2 严格规定了每个阶段必须提交的文档 3 要求每个阶段交出的产品都必须是经过验证的.其缺点有:1 最终产品可能与客户要求不符 2 该模型只是用于项目开始时需求已知的情况.在瀑布模型的基础上,还发展出了v模型,其将设计与测试有机的结合在了一起. 其次是快速原型模型.其优点有:1 满足客户真实需求 2 规格说明文档能正确的描述客户需求 3 产品开发基本上按照线性顺序进行 4 开发过程后续中不

软件工程(第二周)

经过这一周的时间,一切似乎和以前一样,又似乎有了些许的变化. 首先真的要感谢一下刘乾助教推荐的Coding.net,真心感觉代码上传的速度与效率都提高了不少,在这上面节约了太多的时间.第一周在上传代码这部分,搞的我们苦不堪言,这次感觉顺利了不少.一切还是向好的方向发展的,O(∩_∩)O~. 其次是作业方面.由于这次作业是上次作业的扩充,所以本来是要在上次的基础上做一些修改和增加,可是由于上次写的代码并没意识到这些,所以并不容易去进行扩充和修改,于是重新写了一下.虽然并没有很完善,也还有许多功能没

软件工程概论—第二次作业

1.本学期要读的书为:①<构建之法>②<人月神话> 2.浏览一遍<构建之法>后,我还有以下问题: ①一般的软件为何在还没做到极致完美的时候就进行发布? ②软件做到什么样子才算是真正的完美,存在真正的完美么?如果达到客户心中的预想值之后,为何还要进行不断的维护和更新? ③怎么知道自己哪些方面要做到“专和精”,那些地方只需要做到“知道就好”? ④敏捷流程是万能的么?他在实际进行的时候会不会出现什么别的问题? ⑤作为一个普通学校软件工程专业的学生,怎样才能打造自己一步步从最底