2018年7月12日

談談流程圖的適用性

作者: 

腾讯风暴魔域开服表 www.eutnv.icu 談談流程圖的適用性

王榮良

在《談談流程圖的對與錯》一文中,我們已經討論了判斷流程圖對與錯的依據。流程圖畫得是否對,關鍵是看流程圖是否表達了流程圖繪制者的真實想法,以及繪制者是否正確使用了流程圖的規定符號。例如,某一流程圖沒有正確反映某一經典算法,說明流程圖畫錯了。分析畫錯流程圖的原因,可能是流程圖繪制者沒有正確理解算法,也有可能繪制者沒有正確使用流程圖這一算法表達工具。

那么,畫對的流程圖,是不是一定就是受使用者歡迎的流程圖呢?一個反映了正確執行流程的流程圖,未必是一個表述清晰的、適合使用的流程圖。評判流程圖是否適用,不像是立場分明的對與錯的判別,而是需要依據流程圖的用途?!短柑噶鞒掏嫉畝雜氪懟芬晃?,分析了流程圖可能的用途。

執行流程正確表達,流程圖符號正確使用,這是對與錯判別的前提,不再累述。如果流程圖是以表達與交流算法思想為目的的,那么,清晰度和可讀性十分重要,流程圖符號的布局合理,盡量避免流線交叉,表達方式符合大眾、特別是閱讀者的思維習慣,等等。這些特征是依據使用目標確定的。

如果流程圖是為程序設計提供服務的,那么就要考慮流程圖與程序代碼的關系,雖然做不到流程圖的符號與程序中的語句一一對應,也要盡可能保持邏輯關系的一致性。例如,針對面向過程的編程語言和面向對象的編程語言,繪制流程圖時考慮的重點會有所不同。

流程圖為程序設計提供的服務也有兩種情況:軟件系統設計階段和軟件系統維護階段。針對軟件設計階段,流程圖應該重點反映系統的關鍵技術實現細節。針對軟件維護階段,流程圖應該重點反映系統接口數據和人機交互特征,以方便系統使用者盡快地對系統的工作狀態做出正確的判斷,并采取必要的維護手段。

如果流程圖是應用于教學,那么應該依據教學目標的預設來評價流程圖的適用性。如果教學目標是培養編程技巧的話,倒是可以弱化流程圖,甚至可以通過問題分析直接編寫程序代碼。

如果教學目標是以流程圖為工具理解算法思想,流程圖應該清晰地表達算法思想,清晰度和可讀性是首要的評價指標。在以流程圖為工具的算法思想教學中,學生繪制流程圖表達算法是一個重要的教學內容,但這個教學環節的實施是以學生正確掌握流程圖的繪制技能為前提的。然而,掌握正確的算法思想和算法思想的正確表達都是一件復雜的事情,在實際教學中,這兩種技能往往是混淆在一起的,因此,老師看到學生稀奇古怪的流程圖畫法,一定會血壓升高。如何應對學生多樣化的流程圖,分清楚學生是算法理解有誤還是正確表達算法思想技能不夠,需要專題討論。在這里,值得老師思考的是:面對多樣化的學生流程圖,不一定是學生畫流程圖的規范問題,而可能是學生個性化教學的實施問題,是老師的教學負擔問題。對,是教學負擔問題,而不是流程圖規范問題。重要的事情說三遍,是老師的教學負擔問題,因為老師沒有精力對全部學生各種各樣的流程圖都進行功能的正確性判別,更不用說分析每一位學生的算法設計思路。

如果教學是為高效地達成考試目標,那么就應該分析考試的內容與模式,編制相對應的流程圖模板,有針對性地開展強化訓練。

如果教學目標是以流程圖為中介,理解算法,并通過程序來驗證算法,那么,對于算法理解正確與否,老師可以通過程序運行的結果來判斷,在一定程度上降低了老師讀流程圖判別對錯的工作強度。對于學生的能力培養目標要求,既包括用流程圖正確地描述算法,也包括用合適的程序代碼來構造與實現流程圖表達的算法。

實際上,在不同的學習階段,流程圖在教學中起的作用是不一樣的。當我們教算法概念時,流程圖給學生帶來的是形象化地展示了算法是如何一步一步地執行操作步驟的;當我們教算法的執行流程時,流程圖可用于清晰地反映分支和循環的特征;當我們重點是教編寫程序代碼的時候,那么教學的重點應該在于如何培養學生適當掌握編程語言的技術細節來實現算法從流程圖描述到編程語言描述的思維轉化。如果一味地強調流程圖要與某個編程語言配對的話,既是不可能的,也是沒有必要的。

2017版《高中信息科技》(第二冊)教材第二章的圖2.11提供的流程圖是一種非遞減排序判別算法,這是基于學生思維容易理解與接受的算法表示形式。為了讓學生的思維向編寫程序代碼要求發展,教材通過圖2.12和圖2.13增加一些技術細節,提供了相關的流程圖,由簡到繁,從易到難,從不同的角度接近程序代碼,為編程學習提供階梯??梢苑⑾?,圖2.12比較適合使用For-Next結構的語句實現,圖2.13比較適合使用Do While結構的語句實現。當我們摒棄“流程圖與編程代碼一定是一一對應”的觀念后,從這些實例中我們可以發現,畫流程圖時,是可以根據目標與需求來決定流程圖該畫得多詳細以及繪制風格的。

聯系我們

  • 通訊地址:上海市中山北路3553號伸大廈14樓
  • 郵編:200062
  • 教材中心:021-60821765
  • 編輯部:021-60821715
  • 市場部:021-60821710
  • 傳真:021-60821766
  • Email:[email protected]
Top
We use cookies to improve our website. By continuing to use this website, you are giving consent to cookies being used. 腾讯风暴魔域开服表