2019上半年四川教師資格證信息技術“算法描述與設計”
- 時間:
- 2019-10-08 11:47:34
- 作者:
- 趙老師
- 閱讀:
- 來源:
- 四川教師資格網




本節課主要上讓學生了解什么是算法及其特征,掌握三種描述算法的方法
教學目標:
知識與技能:進一步理解什么是算法,知道算法的多樣性;能夠對設計的算法做簡裝的評價;學會利用自然語言、流程圖和偽代碼來描述算法。
過程與方法:培養學生用算法描述問題的能力和正確解決問題的過程。
情感態度價值觀:培養學生的高階思維能力,如綜合、評價、分析、思辨等。
教學設想:
將韓信點兵、凱撒密碼等學生感興趣的內容與算法設計結合起來,讓學生體會到算法描述并不枯燥,很有意思,因勢利導,鼓勵他們把數學課中的內容也用算法描述出來,達到學科相融的目的。
教學重點:
1、算法的特性
2、用自然語言、流程圖、偽代碼描述算法
教學難點:
用流程圖描述算法
教學策略:任務驅動、示范觀察、合作討論、自主探究相結合
教學課時:1課時
教學過程:
任務一:為什么說算法是“靈魂?
活動:討論引入
算法存在于人們生活中,如:上街購物、顧客付款、營業員(主)找銀等。
回顧:韓信點兵
“韓信點兵問題”有不同的求解過程,就有不同的算法。
有N個人,除以3,5,7,分別余2,3,2,求N。
分析:算法
1、解決問題的方法和步驟。
算法是尼克勞斯.沃斯(N.Writh)提出的,他指出:算法+數據結構=程序。
(即算法不能單獨構成程序,它必須和數據結構合二為一)
2、算法的發現
時間:公元前3000年~公元前1500年 地點:巴比倫
巴比倫人求解“算法”的過程:先用解代數方法,再計算實際數目,最后寫上一句短句“這就是一個過程”。
3、算法的特征
我們曾在必須修課中提過一點算法,如:冒泡排序法。
例:計算1+2+3+……+100=?
這個算法有限制范圍,可以在有限時間內完成,這是算法的第一個特征:有窮性。計算此算法可以用紙筆、算盤、運算器和計算機來完成,且計算過程是多樣的,但結果是唯一的。這就是算法的可行性、確定性。
計算方法:
?、虐堰@100個數按順序相加。
?、朴脺悢捣ǎ?+99=100,2+98=100,3+97=100,……,49+51,最后只剩下50和100。
⑶令S=0,使1≤n≤100,先執行S=S+n ⑴,再執行n=n+1 ⑵
n=1,S=0時,S(0)=1 n=2,S=1時,S(0)=3 n=3,S=3時,S(0)=6
n=4,S=6時,S(0)=10 n=5,S=10時,S(0)=15 n=6,S=15時,S(0)=21……
算法的另外一個特征:輸入、輸出。
實踐:算法應用
練習:水仙花數問題,如153=1^3+5^3+3^3,分析它應滿足什么條件才能使用此方法?
任務二、如何描述算法?
分析:1、用自然語言描述算法
?、抛匀徽Z言——人們日常生活中使用的語言。
?、拼朔N語言的特點:通俗語易懂,缺乏直觀性和簡潔,且易產生歧義。
使用此種語言的注意事項:描述要求盡可能精確,詳盡。
示范:用自然語言描述凱撒密碼的原理
第1步:輸入26個英文字母,它們分別對應1~26個數學。
第2步:令a=1,k=3,n=26。
第3步:使a的取值范圍為1≤a≤26,F(a)=(a+k) mod n,轉第5步。
第4步:a=a+1,轉第3步。
第5步:輸出F(a)相對應的數字。
第6步:把數學轉化成相當的字母,輸出字母。
第7步:累計字母出現順序,轉第4步。
練習:現有一串字母“PROGRAM”給它加密,請設計算法,用自然語言描述。
分析:2、用流程圖描述算法
?、盘攸c:描述算法形象、直觀,容易理解。
⑵流程圖符
示范:
探究:用流程圖表示1+2+3+……+100=?
分析:.3、用偽代碼描述算法
特點:描述的算法簡、易懂,修改容易,容易轉化為程序語言代碼。
探究:分析課本第9頁算法描述
第一個條件:y mod 4=0
判斷閏年的條件:⑴y不能被100整除;⑵y能被400整除且y能被400整除。
判斷不是閏年的條件:⑴y mod 4=0 且y mod 100=0,但y不能被400整除;⑵y不能被4整除。
表示條件判斷語句 表示循環處理語句:
IF 條件 THEN 執行語句一 Do While 條件循環語句
ELSE執行語句二 Loop
END IF
條件語句中可以包含多個子語句
實踐:用表格比較自然語言、流程圖和偽代碼3種描述方法的優缺點。
方法 特性 |
自然語言 | 流程圖 | 偽代碼 |
直觀清晰 | |||
確定性 | |||
煩瑣程度 | |||
是否容易修改 | |||
通俗易懂 |
學生進一步理解什么是算法,知道算法的多樣性;能夠對設計的算法做簡裝的評價;掌握利用自然語言、流程圖和偽代碼來描述算法,通過分析對比,我們知道了三種描述方法的優劣。用偽代碼描述的算法簡潔、易懂,修改起來比較容易,并且很容易轉化為程序語言代碼,但它沒有流程圖描述的算法直觀,一旦出現邏輯錯誤也不便排查。
免費領取教資筆試/面試/普通話備考資料> >