當前位置:文範網 >

教學資源 >教學設計 >

項目設計——算法的概念及描述

項目設計——算法的概念及描述

算法的概念及描述

項目設計——算法的概念及描述

教材內容

浙教版信息技術必修一2.1算法的概念及描述

教學目標

●掌握算法的概念,明確算法對於程序設計的重要性。

●掌握算法的基本特徵,知道什麼樣的算法是不合理的。

●掌握算法的要素。

●掌握算法的描述方法,學會使用自然語言和流程圖描述算法。

教學重點及難點

重點:掌握算法的基本特徵、學會描述算法。

難點:使用流程圖描述算法

學習環境

有教學控制軟件的多媒體機房,需要安裝Python編程環境。

建議課時

1課時

教學活動設計

教學環節

教學過程

設計意圖

情境導入

教師引導學生思考以下兩個問題:

問題一:正確的洗手的步驟

這個問題的解決步驟分8步,第1步取洗手液,然後用流動的水按照內-外-夾-弓-大-立-腕七步洗手法,洗手10-15分鐘。

問題二:《孫子算經》中雞兔同籠問題的解題步驟

對於這個問題,我們可以:

1.雞和兔都變成兩個頭:35*2=70

2.每隻兔子多了兩隻腳:(94-70)/2=12

3.總的頭數-兔子的只數=雞的只數:35-12=23

我們也可以:

1.先讓雞和兔各抬起一半的腳:94/2=47

2.每隻兔子多了一隻腳:47-35=12

3.總的頭數-兔子的只數=雞的只數:35-12=23

這兩種方法都是解決雞兔同籠問題的算法,可見,解決同一問題,可能有多種算法,我們要學會擇優選擇。

問題1與問題2的解題步驟都屬於算法。通過這兩個問題引出本節課的第一個重點內容—算法的概念,同時強調解決同一問題,可能有多種算法,我們要學會擇優選擇。

新課教學

●知識講解--算法的概念。

通過前兩個例子,讓學生明白,算法就是解決問題的方法或步驟。

廣義地講,“算法”指的是解決問題或完成任務的一系列步驟集合。

在計算機科學領域,“算法”指的是用計算機解決問題而需要讓計算機有序執行的、無歧義的、有限的步驟集合。

●知識講解--算法的特徵。

算法有5個特徵,分別是有窮性、確定性、可行性、有0個或多個輸入、有1個或多個輸出。

1.有窮性:指一個算法的處理步驟必須是有限的。比如求1到100中所有自然數的和是可以的,但是求1到100中所有有理數的和就不行。

2.確定性:指算法中對於每個步驟的描述必須是明確的。比如找出班級中所有身高大於等於175cm 的同學,這是可以的;但是找出班級中所有的高個同學,這個就不行,沒有明確的標準,多高算高個。

3.可行性:指每個步驟都是可以做到並能在有限時間內完成的。也就是説不能出現死循環,讓程序一直執行下去,沒有終止。

4.有0個或多個輸入:初始數據可以從外界輸入,也可以包含在算法之中

5. 有1個或多個輸出:算法必須包含至少一個輸出,沒有輸出的算法是沒有意義的。

●知識講解--算法的要素。

算法的要素,分別是數據、運算、控制轉移。

數據:用算法解決問題時,必須明確參與運算的初始數據、運算時產生的中間數據以及解決問題後的結果數據。

運算:對數據計算和判斷

控制轉移(選擇、循環):在算法執行過程中,有時需要根據數據或運算結果的特點進行不同的處理,這就需要對結果數據進行判斷,並根據判斷結果進行選擇執行或循環執行。

舉例:變頻空調的工作原理

在夏天把空調温度設定在26oC,每當空調的温度傳感器測得室內温度小於或等於26oC時,算法就會“告訴”空調已經到達目標温度,可以暫停工作,空調就會“自動”關閉壓縮機的運行。這樣,既確保了室內温度,又實現了節能環保。

在這個過程中,設定的温度和傳感器測得的温度都是數據,將測得的温度與設定的温度進行比較就是運算,而根據比較結果判斷是關閉還是開啟壓縮機就是控制轉移。

知識講解--算法的描述方法

以快遞費的計算為例,來介紹算法的描述方式:

隨着信息技術的發展,電商事業的繁榮,快遞已經成為我們生活中的一部分。以順豐快遞為例,它的收費標準是1kg以內(包含1kg),收費12元,每超重1kg,加收2元(不足1kg的,按1kg計)。 現在需要我們為快遞公司設計一種算法,能夠方便快捷的計算快遞費。

1.用自然語言來描述,就是這樣的5個步驟:

(1)輸入包裹快遞的重量x

(2)判斷包裹的重量是否大於1kg

(3)如果包裹的重量不大於1kg,應付款y=12

(4)如果包裹的重量大於1kg,應付款y=12+2* (x-1)向上取整

(5)輸出應付款的金額

自然語言描述的算法通俗易懂,不用專門的訓練,較為靈活。但是容易存在二義性,並且無法很準確的描述循環、選擇等結構。

2. 對應自然語言看一下流程圖的設計:

流程圖必須要有開始、結束框,輸入重量用輸入框,判斷包裹是否大於1kg,用判斷框,根據判斷結果進行相應處理用處理框,輸出用輸出框。

流程圖描述的算法就比較直觀、形象,有利於不同環境的程序設計。但是需要注意各種符號的使用。

3. 它對應的偽代碼:

輸入包裹的重量x

if(x>1):

y=12+(x-1)*2

else:

y=12

輸出應付款 y

偽代碼是一種類似於機器語言,但又不受語法約束的代碼。這種語言是無法被機器執行的。主要使用對象是設計師和程序員,用來表達在編碼前對算法執行過程中的一些想法。

4. 它對應的程序設計語言:

import math

x=float(input(“請輸入包裹的重量:”))

if(x>1):

y=12+(x-1)*2

else:

y=12

print(“您應付的快遞費為:”,y)

程序設計語言是計算機能夠執行的語言,有嚴格的語法和格式規範,需要專門的學習才能掌握。

講解算法的概念,同時強調算法對於程序設計的重要性。

通過具體的小例子,讓學生理解算法的基本特徵的意義,在設計算法時,明確什麼樣的算法是合理的,什麼樣的是不合理的。

通過變頻空調的例子,讓學生理解算法的三要素,以及三要素之間如何協調工作。

通過任務1培養學生根據解決問題的需要,自覺、主動地獲取與處理信息的信息意識,隨後對熱量消耗問題進行抽象與建模,得到解決該問題的計算模型。

通過同一個算法的不同的四種描述方法,讓學生掌握四種描述方法,並理解他們的不同之處,知道在什麼情況下使用什麼描述方法更合適。

課堂小結

知識梳理:

1. 算法的概念

2. 算法的特徵

3. 算法的要素

4. 算法的描述方法

通過回顧總結幫助學生鞏固算法的概念、特徵、要素及描述方法,使學生更牢固的掌握算法的描述及特徵。

標籤: 算法 項目
  • 文章版權屬於文章作者所有,轉載請註明 https://wenfanwang.com/jiaoxueziyuan/jiaoxuesheji/r1led4.html
專題