四则运算2之设计思路篇

四则运算2设计思路篇

对于四则运算程序的新要求:

1、题目避免重复;

2、可定制(数量/打印方式);

3、可以控制一下参数:

是否有乘除法、数值范围、加减有无负数、除法有无余数、是否支持分数(真分数,假分数,...)

要求一、

首先解决第一个要求:题目避免重复。第一件事就是优化得到随机数的算法,在每次生成算式的循环中,首先排除被除数为0的除法算式,将得到的算式分别赋给四个字符串数组,根据本次随机得到的运算符分别在四个字符串数组中进行比较,默认交换律得到的两个式子满足要求,可以作为交换律的考察。

要求二、 

数量和打印则定义两个参数分别代表需要输出的算式数量和输出的格式。

要求三、

对于各种参数的限制,该如何让各个参数限制进行组合,下面先分块给出了各个问题的解决思路:

1). 是否有乘除法,如果不要乘除法,则抛弃随机出乘除法的算式,跳过此循环。

2).数值范围,第一个参数作为求随机数的范围参数。

3).加减有无负数,如果可以有负数,则设计一个参数来随机随机数的正负,如果为负,则让产生的随机数减去2倍的本身产生相反数。

4).除法是否有余数,如果不可以有余数,则将除不尽的算式抛弃即可。

5).是否支持分数(真分数,假分数,...),如果支持分数,不区分分数的种类,满足分数的条件即可,和加减有无负数类似,设置一个参数来随机是否要产生一个分数,然后重新设置两个随机数来产生分数的分子和分母。

对于各种参数限制的组合,可以让每个算式中的参数产生时,先依次对上述5个限制进行判断和约束,得到满足所有参数限制的参数后组合成为一个算式,再对新要求的第一个要求进行判断。

时间: 2024-08-28 16:01:02

四则运算2之设计思路篇的相关文章

Class 2 四则运算2的设计思路

设计思路 1.主函数中有一个大的for循环,用户可以一直随机得到相应题目.在嵌套一个循环,其可以直接确定题目数量:定义两个变量,分别作为四则运算的两个运算数,用随机数函数得到两个数值:再利用随机生成函数得到四则运算的运算符号. 2.避免重复:每一道题出完以后,从第一道题开始比对依次从题目第一个字符开始判断看是否与之前的题目重复,如果每一个字符都相同则重新生成一道题目,如果有一个字符不相同,则满足每道题不重复的要求,将题目输出即可 3.定制数量:每一次循环会出n道题目,添加变量n,n的数值由用户确

四则运算续篇之设计思路

上次的简单的随机生成30道运算题的小程序时远远不能满足大众的需求的,现在老师又提出了如下要求 1.题目避免重复2.可定制(数量.打印方式)3.可控制下列参数:是否有乘除法.是否有括号.数值范围.加减有无负数.除法有无余数,是否支持分数(真假分数).是否支持小数(精确到多少位),打印中每行的间隔调整 在之前的基础上我简单的写了写这次的设计思路 1.为避免重复要将之前生成的题目存储起来,之后生成的题目和先前的进行对比,如用重复舍弃继续生成重复之前的过程2.为使用户可定制数量以及打印方式,可使用户输入

课堂作业-四则运算-设计思路

要求: 1.题目避免重复 2.可定制(数量/打印方式) 3.可以控制下列参数:是否有除法,是否有括号,数值范围,加减有无负数,除法有无余数,是否支持分数,是否支持小数,精确到多少位,打印中每行的间隔 设计思路 根据第一次的程序实现,已经实现了打印数量上的控制,直接确定了打印列数,其他实现基本功能 第一步:避免题目重复:将打印的结果保存,此后每次生成的结果与之前的结果比较. 第二步:实现可定制:通过用户输入数量数和打印的列数,实现可定制,将间隔参数也由用户来输入.参数由用户输入,将参数传递到所需函

四则运算设计思路

设计思路 1.         题目避免重复 2.         可定制(数量/打印方式) 3.         可以控制下列参数 是否有乘除法.数值范围.加减有无负数.除法有无余数.是否支持分数. 利用for循环设置题目的数量,用三个数组分别表示两个随机数和他们之间的四则运算,利用跟之前的题目进行比较,避免出现重复的题目. 利用if语句对参数进行分类,如果有乘除法,四则运算的数组就有四个元素,反之只有两个元素. 命令a是题目的取值范围,通过输入a的值,rand()%a来确定取值范围. 对于加

Pongo网页版JavaScript源代码及设计思路

1.游戏背景介绍(写在前面的废话): 五月初的某天,看到某网推荐了这款游戏,Pongo,看着还不错的样子就用ipad下下来试玩了下,玩了两局感觉还错挺过瘾的,因为是手欠类游戏嘛大家懂的. 但是没一会发现游戏在ipad似乎有些bug,玩一会就会卡住然后只能强退了,真是揪心,记录还等着破呢. 怎么办?玩游戏不如玩自己的游戏的念头又邪恶的出现了,然后就把pad丢给了朋友虐心去,我默默回到电脑前开始动手自己写个不会卡的. 大概两小时吧,写出了基本框架,然后扔sinaapp里试了下效果基本能玩就洗洗睡了.

[转载] 站内消息DB设计思路

[转载]:点击打开链接  原文标题:两年后,再议“站内信”的实现  注:仅因为在工作中用到相似的东西,故借鉴作者的文章,如有不便请告知,即刻删除 两年前,万仓一黍在博客园发了两篇关于站内信的设计实现博文,<群发“站内信”的实现>.<群发“站内信”的实现(续)>,其中阐述了他关于站内信群发的设计思想,很具有借鉴意义.他在设计时考虑到用户量和存储空间的占用等问题.当然,在他的两篇博文中强调了站内信的设计要考虑具体情况,没有理想的设计方案,他的设计只是对于群发(点到面)的解决方案. 在此

【4】JVM-GC设计思路分析

Java中将内存的控制交给JVM来实现,方便了JAVA程序猿,当然牺牲了一部分效率,不过总体来看是值得的.那么JVM中是如何设计GC的呢,本文从几个问题入手,然后分析了一下设计思路,如果有理解错误的地方,请批评指正!主要参考了<深入理解JAVA虚拟机>这本书,图是盗来的,图的内容和书上一样. 在JVM的内存模型中,堆内存是JAVA内存区域中最大的一部分,GC主要就是发生在堆中,用来回收那些无用的对象.这样直接就引申出了第一个问题:什么样的对象需要被回收?判断条件是什么?如何判断? 先谈谈什么对

防止恶意登录的设计思路

关于上一篇<关于加密解密设计思路>提到的动态密钥,加密解密的设计思路来保证每次password.key这类重要信息每次请求都发生变化,可是我用抓包工具截获get,post请求时,假设我password动态加密完,是keyjafjalewei78732可是我假设没对这个内容做有效期校验.还是照样能够登录系统,进行恶意破坏. 因为我们常常实现这样的,都是在一个类似单点登录的跨服务的web系统上,比方A系统发送post请求登录B系统.我们能够做两套安全方案: 一,我们的密钥每天变换一次.加密好的密文

TYPESDK手游聚合SDK客户端设计思路与架构之二:安卓平台统一化接口结构及思路

在上一篇<TypeSDK聚合sdk设计基本原则>中我们提到了,设计聚合sdk需要设计开发平台部分的接口,以及设计发布平台的聚合这2个大模块.那么我们今天就先来讲讲发布平台之一:安卓平台的统一化接口结构和思路. 一.相关的需求 安卓平台的统一化接口,我们需要考虑到具体以下的几点: 1.对外需要有统一的接口,保证不同的渠道sdk 对同一个游戏来说,是调用相同的接口,传递相同的参数 2.对内需要有一套扩展性很好的框架,可以应对不同渠道的sdk差异性 二.设计的模块 那么针对这些考虑点,安卓平台的统一