推演是以已知的知識、觀點、結論為事實依據,運用合理的規則和方法推導出新的結論,其中,邏輯是最基本的推演工具。推演能力是思維活動的具體表現,大部分的思維都是人們在自覺或不自覺地運用推演能力實現的。無論是數學演算,還是文學創作,都需要推演能力支持一步一步的運算,或者支持故事情節的發展。
在計算問題解決的過程中,推演能力是以構造或檢驗自動化實現為目標的。實現自動化的每一個操作步驟,或者成熟的算法模型,在計算機還沒有運行之前,應該已經在設計者的頭腦中先行運行了。推演能力支持人腦模擬計算機裝置運行操作步驟,並不斷地修正,最終形成可以實現自動化解決問題的正確構造。
計算機相當於一個「黑箱」。所謂「黑箱」,就是指那些既不能物理地打開,又不能從外部直接觀察其內部狀態的系統。雖然計算機是一個「黑箱」,不能直接觀察其內部的每一步操作,但是,計算機具有確定的、構造的自動化屬性,具體表現為:
其一,計算機的每一步操作是預設的,也是明確的,在相同的外部條件下,一定會按照相同的操作步驟執行;
其二,對於可計算問題,計算機可以在有限時間內通過有限步驟得到運行結果,運行結果是可觀察的,且在相同的外部條件下,獲得的結果一定是相同的。因此,在解決計算問題的過程中,推演是可驗證的。
正是由於計算機的「黑箱」特性,推演能力在計算思維教育的落實中尤為重要。在不直接影響原有黑箱內部結構、要素和機制的前提下,通過觀察黑箱中「輸入」「輸出」的變量,得出關於黑箱內部情況的推理,尋找、發現其內部規律,實現對黑箱的控制,都需要運用推演能力。
如下圖所示,通過計算機編程解決問題的過程是「功能描述—形式化表達—程序代碼執行—執行結果」,即人們根據實際需要給出功能描述的形式化表達,然後編製程序代碼由計算機運行得出結果。從計算機代碼執行到結果輸出,是計算機世界完成的工作。作為計算機使用者或學習者,在對功能描述形成形式化表達以後,一定會有一個預設結果,可以與計算機執行的真實結果進行比較判別,以確定計算機的運行是否符合預設的要求。這個預設結果的獲得,就是根據計算機的執行規律在大腦裡進行的推演,即如圖所示的「?」部分的執行。
計算思維中的推演作用
推演操作需要邏輯起點和思維工具。功能描述和形式化表達是其邏輯起點,基本的邏輯演繹和計算機學科方法是其思維工具,推演過程就是在大腦中完成指定的計算機執行過程。觀察點是用於判斷推演過程與計算機執行過程是否一致的參照點,其中,推演的預設結果和計算機的最終運行結果是最重要的觀察點。推演過程中,也可以設計更多的觀察點,從而有效地反映從功能的形式表達到預設目標實現的邏輯過程。
以程序設計教學中的程序調試為例,根據程序的預設功能以及存在的問題,設置必要的調試斷點(即觀察點),不斷地匹配邏輯推演結果和程序運行的實際結果,發現問題,糾正錯誤。由此,推演能力在程序調試環節中作用顯著,加強與完善程序調試環節的教學設計,引導學生有目的地分析程序的執行軌跡,有利於提升學生的推演能力,同步地提升學生的計算思維。