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的值(程序運行時,由用戶輸入具體的值)。