資源簡介 教學設計課程基本信息課題 棧的應用(第十課時)教學目標1.對于給定的問題,能自覺、主動地尋求恰當的方式來獲取與處理信息。 2.根據實際任務的需要,恰當地選擇數據結構,存儲問題解決中的各種數據。 3.在解決問題的過程中,界定問題、抽象特征、建立模型,運用合理的算法形成解決問題的方案,并用某種程序語言編程實現。教學內容教學重點: 厘請加減乘除括號等運算符號的優先級處理教學難點: 1.加減乘除括號等運算符號的優先級的程序實現。 2.結合運算符號的優先級,計算算式的程序實現。教學過程【項目情境】為了幫助小學生檢查口算作業,設計了“口算批改”程序,根據識別出來的算式,逐一計算,檢驗算式的正確性,并顯示計算結果是否正確。 【項目任務】 分析項目,可以分解為以下三個項目: 1.將口算圖片轉化為文本 2.處理每一個算式,計算算式的正確答案 3.輸出判定結果 【項目任務第一課時】第1個項目在第一個課時已經完成。主要解決了: 如何提取算式:以字符串讀入,先找出等號,等號左邊是算式,等號右邊是輸入的結果 如何提取算式的數字與運算符:分離算式中的數字和運算符。 數字可能有多位,所以需要循環取出數字, 運算符只有一位,只需逐位取出,取出后存入列表中。 程序實現: 【項目任務第二課時】本課時為本視頻的重點。 1.抽象建模: 思考3:計算機如何處理加、減、乘、除、括號等運算符的優先級問題? 可以用字典來定義每個運算符的優先級,或者通過分支語句實現 思考4:結合運算符的優先級,如何算得計算式的值? 先將表達式轉為逆波蘭表達式,再求得逆波蘭表達式的值 設計意圖:引導學生思考如何處理運算符的優先級,以及如何計算計算式的值,建立模型,為下一步的算法設計做鋪墊。 2.轉為逆波蘭表達式(有括號)的設計算法(回顧): 設計意圖:復習前知,為了讓本節課進行的更加順利。 3. 轉為逆波蘭表達式(有括號)的程序填空: 設計意圖:考查學生對入棧的幾種情況是否理解。 4.分享轉為逆波蘭表達式的程序實現 設計意圖:在分享交流中學習。 5.計算逆波蘭表達式的值的設計算法: (1)、從左往右遍歷逆波蘭表達式 ①若取到數字進棧 ②若取到運算符則取出棧頂的兩個數字進行運算,并將運算后將結果放入棧頂 (2)、循環遍歷到最后,棧頂的值即為結果 (3)、根據逆波蘭表達式計算得到等號左邊算式的值,與等號右邊的結果進行比較 ①若相等,則輸出正確 ②若不相等,則輸出錯誤 設計意圖:厘請算法思路 6. 求算術表達式值的程序填空:主要設計到算法設計中第(4)點,第(5)點的程序填空。 設計意圖:考查學生對符號處理的過程。 7.分享求解算式值的程序實現 設計意圖:在分享交流中學習。 8.項目評價 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫