教師工具箱
-
介紹程式碼效率
現在,學生已經練習編寫程式碼序列來完成特定任務,他們將被要求應用這些技能來閱讀程式碼序列並對其進行評估。 在本活動中,學生將獲得與「玩」部分類似的地圖,並被要求查看 3 個代碼序列以選擇首選解決方案。 對於每個序列,學生將回答 3 個問題:
-
這段程式碼能完成任務嗎?
-
如果可行,這段程式碼相對於其他程式碼有什麼優勢?
-
與其他程式碼相比,此程式碼有哪些缺點?
然後,透過查看所有序列,將向學生介紹程式碼效率的概念,並詢問他們基於效率和自己的偏好的首選解決方案是什麼,並解釋原因。 這可以成為全班討論編碼效率和準確性的跳板。
閱讀程式碼序列以選擇首選解決方案
當你的班級學習「遊戲」部分時,你可能注意到對於所提出的相同問題有許多不同的解決方案。 這是程式設計世界中經常發生的事情。 雖然做某事可能有不同的方法,但每個人都會有一個首選的方法或解決方案,這可能基於多種因素。 在此活動中,您的小組將研究問題的 3 種可能的程式碼區塊解決方案,弄清楚它們是否以預期的方式運作,然後從小組中選擇一個首選解決方案並解釋您選擇它的原因。
問題: 建立一個序列,當機器人從起點開始時,將進出所有 3 間教室(以任意順序)並返回終點。 機器人必須繞著樓梯導航,並且可以穿過地圖圖像上小矩形標記的門。

-
對於以下每個解決方案,請在工程筆記本中回答以下 3 個問題:
-
這段程式碼能完成任務嗎? 為什麼或為什麼不?
-
如果它確實有效,那麼這段程式碼相對於其他程式碼有什麼優勢?
-
與其他程式碼相比,此程式碼有哪些缺點?
-
-
大多數時候,程式設計是根據其效率來評估的,首選的解決方案是以最有效的方式實現目標的解決方案。
點擊下面的解決方案以查看更大的圖像。






什麼是程式碼效率?
如果您需要從廚房拿 3 件東西,您可能會一次去拿所有 3 件東西,而不是分 3 次單獨去拿。 為什麼? 因為這樣效率會更高。 高效率意味著「以最少的浪費精力或費用實現最大的生產力」。 那麼這與程式設計有何關聯呢?
程式碼效率意味著編寫的程式可以運作良好且快速,使用最少的工作量或步驟,正確地完成其工作。 它很重要,因為它降低了程式無法正常運行的風險,進而導致圍繞該程式運行的程式的其他部分出現問題。 程式碼的效率可以作為品質的衡量標準,當我們在 VEXcode IQ 區塊中編寫專案時,我們經常尋找最「高效」的專案作為首選解決方案。
基本上,程式碼效率是一個原則,意味著您希望編寫能夠使用盡可能少的命令或區塊來實現目標的程式碼。
在您的工程筆記本中,回答以下問題:
-
考慮到程式碼效率,您首選哪種解決方案?為什麼?
-
您認為這是最好的解決方案嗎?為什麼或為什麼不是?
激發討論
雖然效率很有用,但我們經常對如何或為何以某種方式做事有其他考慮。 請學生在他們的工程筆記本中分享他們的答案,和/或使用這個問題來討論效率和行動的平衡。
Q: 在程式設計中,效率通常是首選方法;你能想到為什麼會出現這種情況嗎?
A: 答案會有所不同,但其中一些包括:
-
編輯專案以提高效率可以幫助那些將來可能處理相同專案的人。 例如,如果您正在開發一個項目,然後幾天后,請您的朋友更新該項目並添加更多項目以增加功能,如果該項目是,您的朋友將更容易閱讀和使用寫得高效。
-
項目總是容易出錯。 專案寫得越高效,出錯的可能性就越小。
-
使用程式設計來操縱工業機器人的個人依靠這些專案的效率來節省公司的時間、精力和資源。