设计一个简单的四则表达式计算程序
2.基本要求:
①程序能够完成基本四则表达式的计算,即加减乘除,可以不考虑括号、函数等情况.
②在设计程序的过程中,要求熟练使用分支和循环结构以及字符串的操作.
③程序界面简洁,使用方便,如下图:
3.创新要求:
在基本要求达到后,进行创新设计,可以从如下几方面进行考虑:
①考虑表达式里边加入基本函数的情况
②考虑加入括号的情况
③能够判断***表达式,例如有***字符
④能够判断***运算,例如被0除
三、设计方法和基本原理:
1.
经常出现一些简单的四则运算,如果使用windows的计算器来运算,需要手工分析运算顺序并且暂存运算结果,此程序就是为解决此问题而设计的,用户只需要输入要计算的四则表达式,程序即可给出运算结果.
2.问题的解决方案:
根据问题描述,可以将问题解决分为以下几个方面来进行:
①表达式由运算符和其两侧的运算数组成(- 号作为单一的负号时除外),当一个运算符和其两侧的运算数确定以后,就可以将这一部分用其运算结果替换掉,构成新的简化的表达式,运算的整个过程就是这个不断简化的过程.
②要确定这些单一的运算符和其配套的运算数,可以先把所有的运算符(+ - * /)的位置找出来并送入数组,每两个操作符之间的即为操作数(-号作为单一操作数除外).
③简化的过程遵循四则运算过程,先算减加,再算乘除.
一个简单的简化例子如下:
1-2+3*4-6/3 -> 1-2+12-6/3 -> 1-2+12-2 -> -1+12-2 -> -1+10 -> -9
以上的过程,正是我们操作vb语言中数组和字符串的过程
四、主要技术问题的描述:
依据2的分析,主程序过程可以如下:
do while 找到运算符
x09x09ifx09有乘号 then 运算该乘法
x09x09ifx09有除号 then 运算该除法
x09x09ifx09有减号并且不在第一个位置 then 运算该减法
x09x09ifx09有加号x09then 运算该加法
loop
循环完毕直到找不到运算符,结果即为运算结果.
运算部分可以使用一个子过程来进行,该过程通过一个参数来确定加减乘除相应的操作,在该过程中要完成如下的操作:
sub process(ptype as string)
x09获得所有的运算符的位置并送入数组(-号在第一位的除外)
x09根据ptype要操作的类型确定要操作的运算符的位置
x09确定该运算符两侧的运算数
x09根据ptype的运算类型完成运算
x09将该运算符及其两侧的运算数用运算结果替换,返回新的串
end sub
不能白提问了
-
点赞数:0回答数:1
-
点赞数:0回答数:2
-
点赞数:0回答数:1
-
点赞数:0回答数:1
-
点赞数:0回答数:1
-
点赞数:0回答数:1
-
点赞数:0回答数:2
-
点赞数:0回答数:1
-
点赞数:0回答数:1
-
点赞数:0回答数:1

最新问答: 在两部门经济中,如果S=-60+0.25Y,I=60,其中S为储蓄,I为总投资,Y为GDP,则均衡GDP为 求英语高手翻译别再轻易说改变了,人最重要的是做好自己,要有自己处事的原则,别一味地承诺,但是一旦承诺了就必须做到,我不是 客车从甲地,货车从乙地同时相对开出.6小时后,客车距离乙地还有全程的[1/8],货车超过中点54千米.已知客车比货车每小 家庭装修,先甲公司装修3天(3,2/1),剩下的由甲乙两公司合作完成,工作量为y与工作时间x天(5,3/1) 我相信苏珊的话,我想可爱的小鸟的确到了另一个世界,一个比我们这个世界更为美丽的地方,幸福的歌唱. 椭圆的参数方程推导,“知道”里有, 按意思写词语 增加人力物力来支援()请求别人援助()援助并帮助()帮助别人脱离痛苦和危险() 光明小学召开运动会,准备在正方形的操场周围插上一面彩旗,要使每边有7面彩旗,那么一共要准备多少面彩旗? 细胞 PCR的相关问题.回答一个问题就给财富 没有林场工人的的心情劳动,没有这几年大规模的植树造林,我到哪儿去观赏这鸟儿归林的壮观场面呢?(改为陈述句) — Can you sing an E 为什么伽利略的自由落体实验,改为斜面实验的目的是便于测量小球的运动时间 只在此山中云深不知处不知处的意思是什么 高等代数,欧式空间,以某组基的度量矩阵作为过度矩阵而作基变换.若有一线性变换A,基变换 已知水在25℃和95℃时,其电离平衡曲线如图所示: 一个虫一个竖弯钩 念什么这个字念什么 世界上有几片树叶 元旦期间太阳直射点在( )A. 在北半球,向北移动B. 在南半球,向南移动C. 在北半球,向南移动D. 在南半球,向北 AHU和HVAC什么关系 一项工程,甲单独做12小时完成,已单独做15小时.甲已一起工作1小时,甲再工作1小时,已再工作1小时,甲已这样下去完成这
相关问答: 计算