1. 关于程序框图的问题
我想你一定有相当的数学基础吧?或者说对数学的应用题问题应该不陌生?
比如1:
矩形的面积问题,假设边长设为:长a,宽为b,面积为S,那么,可以表示为:
s = a * b
比如2:
买菜付费问题,假设菜的单价为:a,菜的重量b,要付的钱为Pay,那么,可以表示为:
Pay = a * b
比如3:
求两数之和问题,假设加数1:a,加数2为b,和为S,那么,可以表示为:
S = a + b
比如4:
已知代数式为:2a + 3b -8,其中:a=1,b=2,求代数式的值,可以设y
y = 2a + 3b -8
回到主题,所有这些,可以理解为等式的左边是要通过程序运行计算后输出的值,而所有等式的右边的变量,都是需要通过代码实现输入的值,当然,也可以通过赋值来实现。但是,通过输入总要比赋值来得有价值!
我与学生上课时说,如果要求:3 + 5 = ? 来编写程序的话,你如果编写的代码是通过输入来实现的,那么,总比直接通过赋值来实现的饿有价值,因为前者解决的是求所有两数之和的问题,而后者只是完成了3+5=?的问题。
再分析你的流程图,可以看到,y和M都是在等号的左面,那肯定不要输入的,是用来存放计算结果的。你可能会说Y是先出现在等号左面,后出现在等号右边。那么也不要输入,具体道理我不说了。本题只有P和D是需要输入的。
从另一个角度理解:框图中含有等号的式子,例如:y = 0.3P
对于计算机来说,其的含义是:找到变量P,并读取它的值,将该值乘以0.3后,得到的积保存到变量y。如果你理解了其工作原理,那么就应该知道,就这个等式而言,哪个需要输入,哪个不需要输入了。所以要使得计算机能正常运行这个步骤,P必须已经有值(为了使得它有值,就需要输入),而对于Y,即使你以前有过输入,也没有作用了,它的值最终会被0.3*P的结果取代。
2. 为什么有的程序框图有输入框有的没有
是否需要输入框,由程序框图所要解决的任务决定。
如果任务是非常明确的具体问题,如计算S=1+2+3+...+100,象这类“死”问题(数据明确具体),就不需要输入框(具体数据已经写死在程序里了)。如果计算S=1+2+3+...+n,象这类问题是“活”的问题(数据规模可变化),就需要输入框,输入n的值(程序运行时,由用户输入具体的值)。