中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

2019粵教版信息技術 必修1 數據與計算 第三章 算法基礎(3課時)課件(53張ppt)+教案+素材

資源下載
  1. 二一教育資源

2019粵教版信息技術 必修1 數據與計算 第三章 算法基礎(3課時)課件(53張ppt)+教案+素材

資源簡介

(共53張PPT)
粵教版普通高中教科書
信息技術
必修1
數據與計算
算法基礎
3.1
體驗計算機解決問題的過程
3.2
算法及其描述
3.3
計算機程序與程序設計語言
第三章
同學從真實世界選擇自己感興趣的主題開展項目學習活動
做中學、學中創、創中樂
項目范例
設計從A市到B市耗時最少的旅行路線方案
第三章
算法基礎
當從A市到B市沒有直達的交通工具時(不考慮水上交通工具),人們可以利用鐵路公司、汽車客運公司和航空公司公布的信息,設計出耗時最少的旅行路線。
圖3-1
中國高鐵
設計從A市到B市耗時最少的旅行路線方案
第三章
算法基礎
項目范例-設計從A市到B市耗時最少的旅行路線方案
根據項目主題,在小組中組織討論,利用思維導圖工具,制訂項目范例的學習規劃,如圖3-2所示。
圖3-2
“設計從A市到B市耗時最少的旅行路線方案”項目學習規劃
設計從A市到B市耗時最少的旅行路線方案
體驗人工與計算機解決問題的過程
探究計算機解決問題的算法
了解計算機解決問題的程序
規劃
進度安排
工具與方法
預期成果
組建團隊,明確任務
設計方案,探究實施
形成作品,開展評價
思維導圖,”頭腦風暴”
搜索技術
數據建模方法
可視化設計報告
表3-1
“設計從A市到B市耗時最少的旅行路線方案”項目學習探究活動

根據項目學習規劃的安排,通過調查、案例分析、文獻閱讀和網上資料搜索,開展“設計從A市到B市耗時最少的旅行線路方案”項目學習探究活動,如表3-1所示:
探究活動
學習內容
知識技能
體驗人工與計算機解決問題的過程
設計從A市到B市耗時最少旅行路線問題分析。
人工解決問題的過程。
體驗計算機解決問題的個過程。
計算機解決問題的過程。
探究計算機解決問題的算法
設計從A市到B市耗時最少旅行路線的算法。
算法的概念與特征。
理解和概述算法的概念與特征。
運用恰當的描述方法和控制結構表示簡單算法。
算法描述方法。
了解計算機解決問題的程序
編寫求解從A市到B市耗時最少旅行路線問題的程序。
計算機程序。
描述程序是基語言產生與發展的過程。
了解不同種類程序設計語言的特點。
程序設計語言的產生與發展。
第三章
算法基礎
項目范例-設計從A市到B市耗時最少的旅行路線方案
實施項目學習各項探究活動,進一步設計耗時最少的旅行路線。
在小組開展項目范例學習過程中,利用思維導圖工具梳理小組成員在“頭腦風暴”活動中的觀點,建立觀點結構圖,運用多媒體創作工具(如演示文稿、在線編輯工具等),綜合加工和表達,形成項目范例可視化學習成果,并通過各種分享平臺發布,共享創造,分享快樂。
圖3-3
“從A市到B市耗時最少的旅行路線方案”可視化報告截圖
第三章
算法基礎
項目范例-設計從A市到B市耗時最少的旅行路線方案
圖3-3
“從A市到B市耗時最少的旅行路線方案”可視化報告
第三章
算法基礎
項目范例-設計從A市到B市耗時最少的旅行路線方案
根據“項目活動評價表”,對項目范例的學習過程和學習成果在小組或班級上進行交流,開展項目學習活動評價。
第三章
算法基礎
項目范例-設計從A市到B市耗時最少的旅行路線方案
同學從真實世界中選擇自己感興趣的主題開展項目學習活動
做中學、學中創、創中樂
第三章
算法基礎
同學們以3~6人組成一個小組,
圍繞本章項目學習活動的大主題“設計從A市到B市的最優旅行路線方案”,根據自己感興趣的問題,小組頭腦風暴后確定項目選題,以小組為單位,填寫《項目學習活動記錄表》“項目選題”欄目。
項目選題
教材參考選題
1.設計從A
市到B
市耗時最少的旅行路線方案;
2.設計從A
市到B
市交通費最少的旅行路線方案;
3.設計從A
市到B
市路程最短的旅行路線方案;
4.在不超預算的情況下,設計從A市到B市耗時最少的旅行路線方案;
5.自擬...
項目范例-設計從A市到B市耗時最少的旅行路線方案
第三章
算法基礎
小組依照項目范例(教科書P41圖3-2),結合本組選題,制訂本組項目規劃方案,填寫《項目學習活動記錄表》“項目規劃”欄目。
項目規劃
編號
問題內容
工具與方法
項目規劃(思維導圖)
工具與方法:頭腦風暴、思維導圖、探究學習等。
項目范例-設計從A市到B市耗時最少的旅行路線方案
第三章
算法基礎
編號
問題內容
工具與方法
1
用計算機求解最少耗時旅行路徑問題的過程是怎樣的?
實踐研究法
2
求解最少耗時旅行的算法如何設計?怎樣去描述這個算法?
文獻查詢
實踐研究法
3
計算機程序怎樣運行,程序語言有哪些?
網上信息查詢
文獻查閱
項目規劃(思維導圖)
工具與方法:網上期刊、文獻查閱、實踐研究等。
小組依照項目范例,結合本組選題,制訂本組項目規劃方案,填寫《項目學習活動記錄表》“項目規劃”欄目。
方案交流
項目范例-設計從A市到B市耗時最少的旅行路線方案
體驗計算機解決問題的過程
在現實生活中,我們經常需要對數據進行統計、分析。當數據量不多時,我們可以采用人工方法來處理;然而,當數據量變多時,我們運用計算機來解決問題將是一種更高效、更便捷的方案。
第三章
算法基礎
3.1.1
人工解決問題的過程
問題:找出從A市經B1市到B市耗時最少的旅行路線。
A
B1
B
M1
M7
N1
N9
3.1體驗計算機解決問題的過程
第三章
算法基礎
體驗人工解決問題
探究活動


分析題解決步驟:
1.用窮舉法列出從A市經B1市的各班次的耗時,及相應可中轉的B1市到B市的各班次的等待時長及行程耗時;
2.算出各組合的總耗時;
3.找到耗時最少的路線。
從A
到B1
編號
出發時間
到達時間
耗時
從B1
到B
編號
出發時間
到達時間
耗時
飛機
M1
09:00
12:00
3
飛機




M2
12:00
14:30
2.5
M3
16:00
18:00
2
火車
M4
08:00
20:00
12
火車
N1
09:00
10:30
1.5
M5
10:00
20:00
10
N2
11:00
12:18
1.3
M6
12:00
21:36
9.6
N3
15:00
16:00
1
M7
13:00
22:36
9.6
N4
18:00
20:00
2
汽車




汽車
N5
08:00
09:48
1.8
N6
09:00
11:00
2
N7
13:00
15:12
2.2
N8
15:00
17:12
2.2
N9
18:00
19:42
1.7
表3-1-1
從A市經B1市到B市的交通情況
3.1體驗計算機解決問題的過程
體驗人工解決問題
探究活動


從A市經B1市到B市的交通情況分析結果
表3-1-2
從A市經B1市到B市可組合班次情況
從A到B1
班次編號
耗時
從B1到B可中轉班次
總耗時
編號
耗時
等待時長
M1
3
N3
1
3
7
N4
2
6
11
N7
2.2
1
6.2
N8
2.2
3
8.2
N9
1.7
6
10.7
M2
2.5
N3
1
0.5
4
N4
2
3.5
8
N8
2.2
0.5
5.2
N9
1.7
3.5
7.7
第三章
算法基礎
3.1體驗計算機解決問題的過程
探究活動
事實上,從A市到B市中轉的城市有k個,且分別有不同的交通工具及班次:
組合班次有S=M1
×N1+M2
×N2+……
+Mk
×Nk


A
B1

Bk
B
當數據量很大,人工處理效率很低時,我們可以借助計算機工具,通過編制計算機程序來解決問題。
第三章
算法基礎
3.1體驗計算機解決問題的過程
探究活動
編制計算機程序解決問題需要經歷哪些過程?請參考書本P46-47頁了解。


計算機解決問題的過程
第三章
算法基礎
3.1.2
計算機解決問題的過程
完成《項目活動記錄表》中
活動1
知識技能
表里的相關內容。
項目實施
3.1體驗計算機解決問題的過程
計算機解決問題的過程,程序代碼分析
探究活動
第三章
算法基礎


解決問題的步驟(算法)
程序代碼(部分)
(1)分別算出從A市到B1
,B2
,…,Bk市的班次所用的時間;
for?i?in?range(1,rs1):
?t14?=?table_1.cell(i,4).value
?t12?=?t14-table_1.cell(i,2).value
(2)找到能夠中轉到達B市的班次路線件k條,并計算出總耗時;
for?j?in?range(1,rs2):
??
t22?=?table_2.cell(j,2).value
??
if?t14
-
t22>=1/24:
m1=t12+(t22-t14)+(table_2.cell(j,4).value-t22)
(3)找出K條線路中耗時最少的班次組合為最佳旅行路線
?
if?m>m1:
????m=m1
?
??r1=i
????r2=j
3.1體驗計算機解決問題的過程
體驗用計算機解程序求解耗時最少旅行路線方案
探究活動
第三章
算法基礎


步驟1:啟動PythonIDLE集成開發環境
步驟2:執行“file”菜單中的“open”命令,選擇打開程序“從A市到B市耗時最少的旅行路線問題的程序”(教材學習資源包“第三章\課本素材\程序3-1”)
步驟3:執行“run”菜單中的“run
module”命令
步驟4:觀察程序運行結果
3.1體驗計算機解決問題的過程
人工求解與計算機求解問題的方式的異同
探究活動
第三章
算法基礎


求解問題的方式
相同點
不同點
人工求解問題
用計算機求解問題
完成《項目活動記錄表》“3.1體驗計算機解決問題的過程”人工解決與計算機解決問題方式的異同討論記錄“討論
項目實施
3.1體驗計算機解決問題的過程
人工求解與計算機求解問題的方式的異同
探究活動
第三章
算法基礎


求解問題的方式
相同點
不同點
人工求解問題
分析問題、設計算法、得出結果、驗算結果
每次只能對特定的問題進行解答,運算速度慢,不需要借助計算機工具。
用計算機求解問題
編寫程序、調試程序、運行速度快,通用性強。
3.1體驗計算機解決問題的過程
第三章
算法基礎
課堂小結:
計算機解決問題的過程:1.分析問題;2.確定算法;3.編寫程序;4.調試程序。
人工處理問題效率非常低時,這時就需要通過計算機來解決,而計算機解決問題本質上就是計算機程序解決問題,我們用WORD文字處理工具處理文本,而WORD文字處理工具實質就是程序,但當我們的問題非常特殊,沒有現成的計算機工具可以使用時,我們就需要編寫程序來解決特定的問題。
項目實施
完成《項目活動記錄表》“3.1體驗計算機解決問題的過程”小組項目成果(學習小結);
3.1體驗計算機解決問題的過程
算法及其描述
算法是對解題過程的精確描述,且需要使用某種方法將其表示出來。
第三章
算法基礎
3.2.1
算法
問題:學期結束時,老師打算花50塊錢購買一些筆記本獎勵表現優秀的同學,請班長小明幫忙,小明決定買三種單價分別為6元、5元、4元的筆記本,請問可以買多少本?


3.2算法及其描述
買筆記本問題轉化為求解方程:6x+5y+4z=50的正整數解
探究活動
第三章
算法基礎


方案
x
y
z
合計
1
1
4
6
11
2
1
8
1
10
3
2
2
7
11
4
2
6
2
10
5
3
4
3
10
6
4
2
4
10
7
6
2
1
9
3.2算法及其描述
第三章
算法基礎
學習教材“3.2.1算法”,完成《項目活動記錄表》“3.2算法及其描述”
知識技能”算法的定義
“、”算法的特征“。
項目實施
認識算法:
算法是指在有限步驟內求解某一問題所使用的一組定義明確的規則。通俗地說,算法就是用計算機求解某一問題的方法,是能被機械地執行的動作或指令的有窮集合。
算法的特征:有窮性、確定性、數據輸入、數據輸出、可行性。
3.2算法及其描述
1.用自然語言描述算法
用自然語言描述算法,就是用人們日常所用的語言,如:漢語、英語等來描述算法。
第三章
算法基礎
3.2.2
算法的描述
t=0;
x=1;
y=1;
z=1;
如果滿足式子6x+5y+4z=50,則購買的方案數加1(即t=t+1),并輸出這種購買方案(即輸出t、x、y、z的值)。
z=z+1;
如果z<=12則轉⑤,否則繼續⑧;
y=y+1;
如果y<=10則轉④,否則繼續⑩;
x=x+1;
如果x<=8則轉③,否則繼續?;
結束。
3.2算法及其描述
2.用流程圖描述算法
用流程圖描述算法是用程序框圖來描述算法的一種表示方法。使用流程圖描述算法,讓人感到算法的流程描述清晰簡潔。流程圖的基本圖形及其功能如下表所示。(例:教材圖3-8)
第三章
算法基礎






開始/結束
表示算法的開始或結束
輸入/輸出
表示算法中變量的輸入或輸出
處理
表示算法中變量的計算與賦值
判斷
表示算法中的條件判斷
流程線
表示算法中的流向
連接點
表示算法中的轉接
表3-4流程圖的基本圖形及其功能表所示。
3.2.2
算法的描述
3.2算法及其描述
3.用偽代碼描述算法
用偽代碼描述算法就是用介于自然語言和計算機語言之間的文字和符號來描述算法。
第三章
算法基礎
t=0
for
x
in
range(1,9):
for
y
in
range(1,11):
for
z
in
range(1,13):
if
x
6+y
5+z
4==50:
{t=t+1;
輸出解的個數t和三個整數x,y,z}
3.2.2
算法的描述
3.2算法及其描述
探究活動
完成《項目活動記錄表》活動2“算法及其描述”
三種算法描述方法比較
項目實施


分析歸納算法三種描述方法的優劣
第三章
算法基礎
算法描述的方法
優勢
不足
自然語言表示法
流程圖表示法
偽代碼表示法
3.2算法及其描述
探究活動
完成《項目活動記錄表》活動2“算法及其描述”
三種算法描述方法比較
項目實施


算法三種描述方法的優劣對比
第三章
算法基礎
算法描述的方法
優勢
不足
自然語言表示法
用人們日常所用的語言,比較容易掌握。
當算法中含有多分支或循環操作較多時很難清晰地表示出來,由于自然語言的歧義性,容易導致算法執行的不確定性。
流程圖表示法
用程序框圖來描述,流程描述清晰簡潔。
所占篇幅較大,由于允許使用流程線,過于靈活,不受約束。
偽代碼表示法
用介于自然語言和計算機語言之間的文字和符號來描述,書寫方便,格式緊湊,易于理解,便于向計算機程序設計語言過渡。
由于編程語言的種類繁多,偽代碼的語句不容易規范,有時會產生誤解。
3.2算法及其描述
探究活動
這三種基本控制結構的主要作用是:
(1)順序結構表示程序中的各操作是按照它們出現的先后順序執行的。
(2)選擇結構表示程序的處理步驟出現了分支,它需要根據某一特定的條件選擇其中的一個分支執行。選擇結構有單選擇、雙選擇和多選擇三種形式。
(3)循環結構表示程序反復執行某個或某些操作,直到某條件為假(或為真)時才可終止循環。


算法的三種基本控制結構
第三章
算法基礎
3.2算法及其描述
探究活動
使用三種基本控制結構的組合來描述算法,可以改善算法的清晰度,提高算法的可讀性。


試結合教材P50“圖3-8
求整數解的流程圖”,說明算法流程圖描述是如何綜合三種基本控制結構組合來表示的。
第三章
算法基礎
圖1
順序結構
圖2
選擇結構
圖3
循環結構
3.2算法及其描述
探究活動


參考教材P51實踐活動,探討輾轉相除法的算法描述
第三章
算法基礎
自然語言表示法
流程圖表示法
偽代碼表示法
示例
完成《項目活動記錄表》活動2“算法及其描述”,用流程圖描述歐幾里得算法
項目實施
3.2算法及其描述
探究活動


輾轉相除法的算法描述展評
第三章
算法基礎
自然語言表示法
流程圖表示法
偽代碼表示法
示例
①輸入兩個正整數m,n(m>n);
②計算m除以n所得的余數r;
③m=n,n=r;
④若r=0,則m,n的最大公約數等于m;否則轉到步驟②;
⑤輸出最大公約數m;
⑥結束。
m=input("m=")
n=input("n=")
if
m
<
n:
m,
n
=
n,
m
r
=
1
while
r
!=
0:
r
=
m%
n
m
=
n
n
=
r
print
m
3.2算法及其描述
請各項目學習小組對本小組所選的項目主題的問題解決設計一種算法,分別用自然語言和流程圖的方法將算法表示出來并展評。
(完成《項目活動記錄表》活動2:“算法及其描述”
小組項目成果“設計項目問題的算法”)
項目實施
第三章
算法基礎
3.2算法及其描述
課堂小結:
算法是程序設計的核心,是程序設計的靈魂。算法的好壞,直接影響著程序的通用性和有效性,影響著問題解決的效率。恰當的算法描述更有利于編寫程序。
要點:算法描述要完整,步驟要清晰,符合算法的特征,有效解決項目的關鍵問題。
第三章
算法基礎
3.2算法及其描述
計算機程序與程序設計語言
探究活動
第三章
算法基礎
各小組交流什么是計算機程序語言。圍繞交流的問題展開“頭腦風暴”活動,確定認識計算機程序需要解決的問題和知識,參考表3-6:
問題
信息的獲取過程
選擇信息來源
確定信息
獲取方法
評價信息
分工及時間安排
認知程度
(認識/了解/描述/掌握)
問題1:什么是計算機程序?
問題2:程序設計語言有哪些?
問題3:
問題4:
3.3計算機程序與程序設計語言
探究活動


2019年7月20日IEEE
Spectrum
發布了第四屆頂級編程語言交互排行榜前十位的高級語言依次分別是:Python、C、Java、C++、C#、R、JavaScript、PHP、Go、Assembly,請小組分工合作,通過網絡搜索,分別找出它們誕生的時間,并完成時間線的制作。
第三章
算法基礎
3.3計算機程序與程序設計語言
探究活動


2019年7月20日IEEE
Spectrum
發布了第四屆頂級編程語言交互排行榜前十位的高級語言依次分別是:Python、C、Java、C++、C#、R、JavaScript、PHP、Go、Assembly,請小組分工合作,通過網絡搜索,分別找出它們誕生的時間,并完成時間線的制作。
第三章
算法基礎
Python(1991年)、C(1972年)、Java(1995年)、C++(1983年)、C#(2000年)、
R(1995年)、JavaScript(1992年)、PHP(1994)、Go(2007年)、Assembly(1951年)
3.3計算機程序與程序設計語言
1.計算機程序
在《計算機軟件保護條例》中這樣定義計算機的“程序”:指為了得到某種結果而可以由計算機等具有信息處理能力的裝置執行的代碼化指令序列,或者可被自動轉換成代碼化指令序列的符號化指令序列或者符號化語句序列。簡而言之,計算機程序就是指計算機可以識別運行的指令集合。
第三章
算法基礎
3.3.1
計算機程序
2.計算機程序運行
運算器
(內)存儲器
控制器
輸入設備
輸出設備
數據流
控制流
程序
數據




響應
信號








響應
信號












3.3計算機程序與程序設計語言
1.計算機程序設計語言
計算機程序設計語言是指一組用來定義計算機程序的語法規則。
第三章
算法基礎
3.3.2
計算機程序設計語言
2.計算機程序設計語言的發展
(1)機器語言:
是由“0”和“1”這樣的二進制代碼指令組來表示。每一條機器指令包含兩個主要部分:操作(指出計算機應做什么)和被操作的對象(指出處理的數據或它的地址),計算機能直接識別和執行。
(2)匯編語言:
使用了一種類似英文縮略詞且帶有助記性符號的語言,來替代一個特定的指令的二進制串,每條指令都和一條機器指令相對應。需要一個專門的語言翻譯器,負責將程序中的每條語句都翻譯成用二進制數表示的機器語言。
(3)高級語言:
接近于數學語言或人的自然語言,并且不再過度地倚賴某種特定的機器或環境,必須經過翻譯器將其翻譯成機器語言。
3.3計算機程序與程序設計語言
探究活動


完成《項目活動記錄表》活動3:“程序與程序設計語言”
,表3-3-2:”三代計算機語言的優勢與不足”。
第三章
算法基礎
語言類型
是否翻譯(編譯)
優勢
不足

機器語言

匯編語言

高級語言
3.3計算機程序與程序設計語言
探究活動


三代計算機語言的優勢與不足
第三章
算法基礎
語言類型
是否翻譯(編譯)
優勢
不足

機器語言

能被計算機接受和執行,運算效率最高。
程序難以理解,程序設計任務繁重,移植性差。

匯編語言

針對計算機特定硬件而編制的匯編語言程序,比機器語言易于理解,效率仍十分高。
不能被計算機直接運行,移植性不好。

高級語言

接近于數學語言或人的自然語言,易于理解,移植性好。
不能被計算機直接運行。
3.3計算機程序與程序設計語言
探究活動
小組內展開交流活動,用圖示法表述:算法、程序、程序設計、程序設計語言之間的關系,并展評。
完成《項目活動記錄表》活動3“程序與程序設計語言”
中的
“(3)交流”。
第三章
算法基礎


程序設計
算法
程序
程序設計語言
算法、程序、程序設計、程序設計語言關系
3.3計算機程序與程序設計語言
探究活動
分別運行兩段求兩個大整數的最大公約數的程序,對比分析后,歸納:一個高質量的程序,應具備哪些條件?
完成《項目活動記錄表》活動3“程序與程序設計語言”
中的
“(4)實踐歸納”。
第三章
算法基礎


#
gongyueshu1.py
a=input("a=")
b=input("b=")
if
a
<
b:
a,
b
=
b,
a
r
=
1
while
r
!=
0:
r
=
a
%
b
a
=
b
b
=
r
print
a
#gongyueshu2.py
m=9147485
n=5147480
for
i
in
range(n,1,-1):
if
(m%i==0)and(n%i==0):
print
i
break
高質量程序應具備以下條件:
1.便于檢查、修正、移植和維護。
2.程序具有良好的結構,邏輯清晰、可讀性強。
3.結果必須正確,且在精度和其他各方面均滿足要求。
4.程序運行時間盡可能短,同時盡可能合理地使用內存。
3.3計算機程序與程序設計語言
探究活動
完成《項目活動記錄表》活動3“程序與程序設計語言”
探究、實施、成果展示活動中的
“(5)拓展”表3-3-4,
通過網絡搜索相關知識,了解高級語言的編譯過程和解釋過程各有什么優勢和不足。
第三章
算法基礎


語言種類
優勢
不足
編譯型語言
程序執行速度快,程序執行效率高,同等條件下對系統要求較低。
跨平臺性差些。
解釋型語言
不同系統平臺間的兼容性高。
程序執行效率比較低。
3.3計算機程序與程序設計語言
項目實施


請各項目學習小組根據確定的項目主題及設計好的解決問題的算法,依據所學知識,討論并選擇實現該算法的比較合適的程序語言。
完成《項目活動記錄表》活動3“程序與程序設計語言”
探究、實施、成果展示活動中的
“(6)決策”
第三章
算法基礎
3.3計算機程序與程序設計語言


第三章
算法基礎
活動評價
“綜合得分”為:
“學生互評”為30%+“學生自評”為30%
+“教師評”為40%
第三章
算法基礎
項目及分值
評分標準與分值
得分
自評
互評
作品選題
20
準確把握項目學習的意義和目的。
5
選題切合實際、符合科學。
5
選題有應用價值、創新價值。
5
選題適宜解決、可行性高。
5
規劃與分析
15
準確分析設計的目的。
5
準確分析方案的需求。
5
準確描述方案的功能。
5
工具與方法
10
合理使用數字化工具及資源。
5
圍繞項目進行自主、協作學習。
5
步驟與過程
30
能完整經歷計算機解決問題的過程
10
運用流程圖描述算法
10
通過探討和網絡檢索了解計算機程序和計算機語言
10
成果與報告
15
明確問題,設計出最優線路選擇的合適算法
10
能運用三種常用方法之一描述項目問題的算法流程
10
報告內容完整,結構清晰,排版美觀。
5
合計得分
100交通工具
出發地
出發時間
到達地
到達時間
飛機
A
8:00
B2
11:00
飛機
A
10:00
B2
12:30
飛機
A
11:00
B2
14:20
飛機
A
14:00
B2
16:30
火車
A
7:30
B2
20:30
火車
A
9:20
B2
21:40
火車
A
11:00
B2
22:20
火車
A
13:00
B2
23:55
汽車
A
7:30
B2
21:30
汽車
A
8:20
B2
21:40
汽車
A
9:00
B2
22:50
汽車
A
10:00
B2
23:30
汽車
A
11:00
B2
23:55
交通工具
出發地
出發時間
到達地
到達時間
火車
B2
8:00
B
9:30
火車
B2
10:00
B
11:20
火車
B2
14:00
B
15:00
火車
B2
19:00
B
21:00
汽車
B2
8:20
B
9:50
汽車
B2
9:30
B
11:20
汽車
B2
13:40
B
14:20
汽車
B2
16:20
B
18:30
汽車
B2
20:10
B
22:00交通工具
出發地
出發時間
到達地
到達時間
飛機
A
9:00
B3
12:00
飛機
A
11:00
B3
13:30
飛機
A
15:00
B3
17:30
飛機
A
7:30
B3
20:00
火車
A
9:20
B3
21:20
火車
A
11:00
B3
22:10
火車
A
13:00
B3
23:55
汽車
A
7:30
B3
21:00
汽車
A
8:20
B3
21:30
汽車
A
9:00
B3
22:30
汽車
A
10:00
B3
23:30
汽車
A
11:00
B3
23:55
交通工具
出發地
出發時間
到達地
到達時間
火車
B3
8:00
B
9:30
火車
B3
10:00
B
11:20
火車
B3
14:00
B
15:00
火車
B3
19:00
B
21:00
汽車
B3
8:20
B
9:50
汽車
B3
9:30
B
11:20
汽車
B3
13:40
B
14:20
汽車
B3
16:20
B
18:30
汽車
B3
20:10
B
22:00交通工具
出發地
出發時間
到達地
到達時間
飛機
A
9:00
B1
12:00
飛機
A
12:00
B1
14:30
飛機
A
16:00
B1
18:00
火車
A
8:00
B1
20:00
火車
A
10:00
B1
21:00
火車
A
12:00
B1
21:40
火車
A
13:00
B1
22:30
交通工具
出發地
出發時間
到達地
到達時間
火車
B1
9:00
B
10:30
火車
B1
11:00
B
12:20
火車
B1
15:00
B
16:00
火車
B1
18:00
B
20:00
汽車
B1
8:00
B
9:50
汽車
B1
9:00
B
11:00
汽車
B1
13:00
B
15:10
汽車
B1
15:00
B
17:40
汽車
B1
18:00
B
19:40從A市到B市耗時最少的旅行路線方案設計報告
一、引言
數據在信息社會中具有重要價值,掌握數據處理的基本方法與技能具有重要意義。隨著數據的快速增長,人工方式處理海量數據的效率正變得低下,因此掌握利用計算機和算法更高效地分析和解決問題的方法在計算機科學界的作用日益凸顯。
二、設計目的
中國橋、中國路、中國車、中國港、中國網,一個個奇跡般建造起來的工程,讓人民切切實實感受到生活的便捷、美好和幸福。截至2017年10月,中國高速公路里程13.1萬千米,位居世界第一,2020
年將達15萬千米;高鐵里程2.2萬千米,位居世界第一;城市軌道交通4153千米,位居世界第一;光纜線路3041萬千米,位居世界第一;世界前10的斜拉橋,中國占7座;世界前10的懸索橋,中國占6座;港口吞吐量世界前10名中國占7席。當從A市到B市沒有直達的交通工具時,人們可以利用鐵路公司、汽車客運公司和航空公司公布的信息,設計出最佳的旅行路線。
體驗計算機解決問題的過程,理解和概述算法的概念與特征,學會運用恰當的描述方法和控制結構表示簡單算法,懂得描述程序設計語言產生與發展的過程,了解不同種類程序設計語言的特點。
三、需求分析和功能描述
1.需求分析
需求由以下三部分構成:
(1)體驗人工與計算機解決問題的過程。
(2)探究計算機解決問題的算法。
?
(3)了解計算機解決問題的程序。
2.功能描述
(1)設計從A市到B市耗時最少旅行路線的問題分析。
(2)設計從A市到B市耗時最少旅行路線的算法。
(3)編寫求解從A市到B市耗時最少的旅行路線問題的程序。
四、設計工具和方法
利用思維導圖工具和“頭腦風暴”的方法組建團隊、明確任務;采用搜索技術,實施探究。
五、設計步驟與過程
1.設計從A市到B市耗時最少旅行路線的問題分析
我們從鐵路公司、各航空公司和汽車客運公司網站得知,直達B市的交通工具只有火車和汽車兩種,出發地有B1,B2,…,Bk市(沒有A市),從A市出發到B1,B2,…,Bk市的交通工具有飛機、火車和汽車三種,這樣從A市經B1,B2,…,Bk市到B市的交通情況如右圖所示。
由于從A市到B1,B2,…,Bk市有不同的交通工具,每一種交通工具又有不同的班次,因此從A市出發到中轉城市B1,B2,…,Bk市就有M1、M2,…,Mk種班次。同樣,從中轉城市B1,B2,…,Bk市到B市也有不同的交通工具,每一種交通工具有不同的班次,因此從中轉城市B1,B2,…,Bk市到B市就有N1,N2,…,Nk種班次。于是從A市經B1,B2,…,Bk市到B市的交通班車(班機)數共有:
S=M1×N1+M2×N2+…+Mk×Nk
尋找從A市到B市耗時最少的旅行路線問題就轉化為在S種聯運班次中找到一種耗時最少的聯運班次。這樣就需要遍歷每一個班次進行比較,人工方式找到能夠中轉且等待時間和行駛時間最少的班次,工作量極其浩大!
假設從A市到B市的中轉城市只有B1,B2市,從A市經B1,B2市到B市的交通情況如表3-2和表3-3所示。
于是,從A市經B1市到B市的聯運班次有7×9=63班;從A市經B2市到B市的聯運班次有12×9=108班,合計為S=63+108=171班。然后在171班次中找到能夠中轉且等待時間加上行駛時間最少的聯運班次,如下圖所示。
當數據量很大,人工處理效率很低時,我們可以借助計算機,通過編寫計算機程序解決問題。在利用計算機解決問題之前,我們首先要分析問題的需求情況、已知條件和需要解決的問題。
在從A市到B市耗時最少的旅行路線問題中,在不知道有多少個中轉城市和每個城市有多少班車(或飛機)的情況下,我們可以利用大數據挖掘技術中的爬蟲程序(參見配套學習資源包“第三章\課本素材\程序3-1”)到鐵路網站、各航空公司和汽車客運公司網站獲取從A市經中轉城市B1,B2,…,Bk市到達B市的交通班次信息,經過數據清洗,形成結構化的數據存儲為Excel文件。
2.設計從A市到B市耗時最少旅行路線的算法
從A市到B市耗時最少的旅行路線問題,根據獲取的從A市到B市的中轉城市B1,B2,…,Bk的班次,以及各城市各交通班次的發車時間和行駛時間等信息,采用以下的思想找出耗時最少的聯運班次問題,即算法如下:
(1)分別找出能夠中轉的從A市經B1,B2,…,Bk市到達B市的聯運班次,并計算所用的時間。
(2)分別找到能夠中轉的從A市經B1,B2,…,Bk市到達B市的聯運班次中耗時最少的聯運班次,共k條線路。
(3)取k條線路中耗時最少的聯運班次為最佳旅行路線。
3.編寫求解從A市到B市耗時最少的旅行路線問題的程序
Python語言編寫從A市到B市耗時最少的旅行路線問題的算法的程序可參見配套學習資源包“第三章\課本素材\程序3-1”。其中,找出能夠從A市經Bi(i=1,2,…,k)市到達B市的中轉聯運班次,并計算所用的時間以及找到耗時最少的聯運路線的關鍵程序段如下。
六、設計成果
1.計算機解決問題更高效、更便捷
在現實生活中,我們經常需要對數據進行統計、分析。當數據量不多時,我們可以采用人工方法來處理;然而,當數據量變多時,運用計算機解決問題將是一種更高效、更便捷的方法。
在從A市到B市耗時最少的旅行路線問題中,我們分析并設計了算法和編寫了程序之后,可以快速地找出從A市到B市耗時最少的旅行路線問題的結果,如下圖所示。
2.算法是計算機解決問題的核心
算法是指在有限步驟內求解某一問題所使用的一組定義明確的規則。通俗地說,算法就是用計算機求解某一問題的方法,是能被機械地執行的動作或指令的有窮集合。
描述算法的常用方法有自然語言描述算法、流程圖描述算法和偽代碼描述算法。
3.
計算機程序就是指計算機可以識別運行的指令集合
計算機程序是指為了得到某種結果而可以由計算機等具有信息處理能力的裝置執行的代碼化指令序列,或者可被自動轉換成代碼化指令序列的符號化指令序列或者符號化語句序列。簡而言之,計算機程序就是指計算機可以識別運行的指令集合。
在用計算機解決問題時,用自然語言、流程圖或是偽代碼所描述的解決問題的算法都不能被計算機直接執行,還必須將算法按照一定的規則編寫成計算機能夠識別和運行的程序。而人們編寫程序的時候需要遵循的規則就是計算機語言規則。計算機程序設計語言,是指一組用來定義計算機程序的語法規則,通常簡稱為“編程語言”。它是一種被標準化的交流技巧,用于向計算機發出指令。正確地使用計算機程序設計語言,能讓程序員準確地定義計算機所需要使用的數據,并精確地定義在不同情況下所應執行的命令。
七、結語
本章通過“設計從A市到B市最佳的旅行路線方案”項目,進行自主、協作、探究學習,讓同學們體驗計算機解決問題的過程,理解和概述算法的概念與特征,學會運用恰當的描述方法和控制結構表示簡單算法,懂得描述程序設計語言產生與發展的過程,了解不同種類程序設計語言的特點,從而將知識建構、技能培養與思維發展融入運用數字化工具解決問題和完成任務的過程中,促進信息技術學科核心素養達成,完成項目學習目標。第三章
算法基礎
教學設計
一、項目簡介
項目主題
設計從A市到B市最優旅行路線方案
項目背景
目前,中國的橋、路、車、港口、網絡規模都做得了世界第一,一個個奇跡般的工程,讓人民切實感受到生活的便捷、美好和幸福。當從A市到B市沒有直達的交通工具時(不考慮水上交通工具),人們可以利用鐵路公司、汽車客運公司和航空公司公布的信息,設計出最優的旅行路線。為了獲得高效的交通出行安排,人們根據需求設計好不同階段的交通工具使用方案,方案中會設計到多條不同方式不同時間的交通工具的排列組合,編寫程序來找出哪種方案最佳,比用人工尋找效率更高。在運用計算機解決實際問題的過程中,需要先分析問題,設計解決問題的方法和策略,運用具體的算法。需要了解程序相關的知識,包括計算機語言、計算機程序、解決問題的算法等。
對應教材
廣東教育出版社普通高中教科書信息技術必修1《數據與計算》第三章
課時安排
3課時
二、課程標準及目標分析
(一)課程標準及教材分析
1.
本章對應課標的內容要求
從生活實例出發,概述算法的概念與特征,運用恰當的描述方法和控制結構表示簡單算法。
2.
本章對應的學業要求
A-3:掌握數字化學習的方法。(信息意識、數字化學習與創新)
A-4:能根據需要選用合適的數字化工具開展學習。(信息意識、數字化學習與創新)
A-6:能夠利用軟件工具或平臺對數據進行整理、組織、計算與呈現。(信息社會責任、計算思維)
A-8:在數據分析的基礎上,完成分析報告。(信息社會責任、計算思維)
A-9:依據解決問題的需要,設計和表示簡單算法。(計算思維)
3.
本章的地位和作用
本章是《數據與計算》的第三章,也是學習第四章、選擇性必修模塊《數據管理與分析》、選修模塊《算法初步》的基礎知識與技能準備。本章以培養信息素養為目標,以知識技能為載體,以項目學習活動為途徑,開展自主、協作、探究學習,讓學生理解算法的概念與特征,能夠運用算法描述和三種基本控制結構合理表示算法。
(二)學科核心素養
信息意識:針對特定的信息問題,自覺、主動地比較不同的信息源,能描述數據與信息的關系,確定合適的信息獲取策略。根據不同受眾的特征,能選擇恰當的方式進行有效的交流。依據特定任務需求,甄別不同信息獲取方法的優劣,并能利用適當途徑甄別信息。主動關注信息技術工具發展中的新動向和新趨勢,有意識地使用新技術處理信息。
計算思維:針對給定的任務進行需求分析,明確需要解決的關鍵問題。能提取問題的基本特征,進行抽象處理,并用形式化的方法表述問題。運用基本算法設計解決問題的方案。
數字化學習與創新:針對特定的學習任務,運用一定的數字化學習策略管理學習過程與資源,完成任務,創作作品。在網絡學習空間中開展協作學習,建構知識。
信息社會責任:在信息交流或合作中,尊重不同的信息文化,積極、主動地融入信息社會中。
(三)目標分析
1.
項目目標
本章通過“設計從A
市到B
市最佳的旅行路線方案”項目,組織學生進行自主、協作、探究學習,讓學生體驗計算機解決問題的過程,理解和概述算法的概念與特征,能夠運用恰當的描述方法和控制結構表示簡單算法,懂得描述程序設計語言產生與發展的過程,了解不同種類程序設計語言的特點,從而將知識建構、技能培養與思維發展融入運用數字化工具解決問題和完成任務的過程中,促進本章對應課標的學科核心素養達成,完成項目學習目標。
2.
學業目標
(1)針對特定的信息問題,自覺、主動地比較不同的信息源,能描述數據與信息的關系,確定合適的信息獲取策略。(信息意識1)
(2)根據不同受眾的特征,能選擇恰當的方式進行有效的交流。(信息意識1)
(3)依據特定任務需求,甄別不同信息獲取方法的優劣,并能利用適當途徑甄別信息。(信息意識1)
(4)主動關注信息技術工具發展中的新動向和新趨勢,有意識地使用新技術處理信息。(信息意識1)
(5)針對給定的任務進行需求分析,明確需要解決的關鍵問題。(計算思維1)
(6)能提取問題的基本特征,進行抽象處理,并用形式化的方法表述問題。(計算思維1)
(7)運用基本算法設計解決問題的方案。(計算思維1)
(8)針對特定的學習任務,運用一定的數字化學習策略管理學習過程與資源,完成任務,創作作品。(數字化學習與創新1)
(9)在網絡學習空間中開展協作學習,建構知識。(數字化學習與創新1)
(10)在信息交流或合作中,尊重不同的信息文化,積極、主動地融入信息社會中。(信息社會責任1)
重點:
(1)計算機解決問題的過程。
(2)算法的特征與描述方法。
(3)程序設計語言的產生與發展。
難點:
(1)計算機解決問題的過程。
(2)算法的描述方法。
三、學情分析
學生經過前面兩章的學習,對項目式學習的過程和方法有所了解,具有一定的數字化學習能力、一定的信息加工處理能力和數據分析處理能力。然而,對于編寫計算機程序解決問題的相關知識了解不多,大部分同學處于零起點狀態。結合新課程內容標準,在教學中要緊緊圍繞學科核心素養,以項目方式整合課堂教學,重構教學組織方式,充份利用教材和數字化環境、資源,引導學生在數字化學習的過程中,領悟數字化環境對個人發展的影響,養成終身學習的習慣。
四、教學方法和策略
創設基于生活需求的活動情境,組織學生在分析和解決問題的過程中探究編制計算機程序解決問題的過程和方法,通過小組項目的自主、協作、探究學習,完成算法、計算機語言和程序設計相關知識的了解。
資源列表
資源名稱
清單及描述
形式(類型)
來源
課件
第三章
算法基礎(課件)
演示文稿
教師制作
微課
本章課程介紹
本章項目范例
《Python的安裝與調試》
《算法的常用描述方法》
《程序的三種基本結構》
《計算機程序運行原理》
《語言的編譯與解釋》
微課視頻
教師制作
軟件工具
Python3.
軟件
Python官方網站
六、學習活動流程
七、學習活動設計
范例學習
項目主題
設計從A市到B市耗時最少旅行路線方案
項目背景
當從A市到B市沒有直達的交通工具時,人們可以利用鐵路公司、汽車客運公司和航空公司公布的信息,設計出耗時最少的旅行路線,在運用計算機解決最優路線的過程中,最重要的是算法以及用計算機語言實現的計算機程序。
項目目標
通過項目的完成,體驗計算機解決問題的過程,了解算法的概念與特征,并能運用不同的方法描述算法過程,了解計算機程序和計算機語言的產生與發展,能設計解決問題的算法并描述其算法過程,從而實現項目學習目標。
工具和方法
利用思維導圖工具和“頭腦風暴”的方法組建團隊、明確任務;利用搜索技術了解相關知識,通過數學建模方法分析問題設計算法,實施探究。
實施過程
明確項目問題;
規劃設計:制訂項目學習的學習規劃;
探究活動與項目實施:通過探究活動了解計算機解決問題的過程、算法和算法的描述、計算機程序與程序設計語言,設計問題的算法并運用適當的方法描述算法流程;
(4)作品制作:找到從A市到B市的最優旅行路線;
(5)成果交流;
(6)活動評價。
成果
從A市到B市耗時最少的旅行路線方案可視化報告
項目選題
教師活動
提供更多的選題,并參與到小組的選題討論中。
學生活動
根據教材選題、教師提供的附加選題或自擬,小組頭腦風暴后確定項目選題,以小組為單位,填寫《項目學習活動記錄表》“項目選題”欄目。
項目規劃
教師活動
強調項目目標及學習目標,引導學生分析項目問題,指導小組完成項目規劃,組織開展方案交流。
學生活動
小組依照項目范例,結合本組選題,利用思維導圖制訂本組項目規劃方案,填寫《項目學習活動記錄表》“項目規劃”欄目。
探究活動
項目實施
活動1:結合本組選題,通過學習和交流,體驗計算機解決問題的過程。
教師活動
以項目范例為例,引導學生對項目問題進行分析和思考,探討尋找最優路線的方法,引導學生通過課程提供的教學資源(包括樣例數據和范例程序)體驗計算機解決問題的過程。
學生活動
通過學習,對小組項目問題進行分析和思考,了解計算機解決問題的過程,通過課程教學資源體驗用計算機程序求解最少耗時旅行路線的方案,填寫《項目學習活動記錄表》“探究活動
項目實施”欄目中的“活動1”的內容。
活動2:通過觀察、學習和實踐嘗試,了解算法及其描述方法,完成小組項目問題的算法設計及其描述
教師活動
引導學生觀察和分析課本中數學方程解的算法步驟,了解算法的概念,引導學生分組研究和交流三種常用算法描述方法,提供學習資源,并指導學生用流程圖描述出歐幾里得算法流程,引導學生完成相應項目問題的算法設計和描述。
學生活動
分析、學習算法概念及算法描述方法,探究用流程圖描述歐幾里得算法,小組討論完成項目問題的算法設計,并使用適合的方法將算法流程描述出來。同時填寫《項目學習活動記錄表》“探究活動
項目實施”欄目中的“活動2”的內容。
活動3:通過討論、學習、網上檢索了解計算機程序和程序設計語言,嘗試下載、安裝和運行相應的程序設計軟件。
教師活動
引導學生討論、網上檢索認識計算機程序,了解程序設計語言,提供學習資源和程序設計軟件,并指導學生安裝和運行程序設計軟件。
學生活動
通過討論確定認識計算機程序的問題,通過學習和網上檢索了解什么是計算機程序,計算機程序設計語言的發展歷程,計算機語言的分類。下載、安裝并嘗試運行計算機程序設計軟件,同時填寫《項目學習活動記錄表》“探究活動
項目實施”欄目中的“活動3”的內容。
項目實施
各小組參照項目范例的樣式,運用數字化學習工具,如騰訊文檔、演示文稿等,歸納所學知識,梳理探究活動的成果,撰寫相應的項目成果報告。
成果交流
各小組運用數字化學習工具將完成的項目成果,在小組或班級上進行展示與交流,共享創造、分享快樂。
活動評價
各小組根據項目選題、擬訂的項目方案、實施情況以及所形成的項目成果,利用“作品評價量規”及教科書附錄2的“項目活動評價表”,開展項目學習活動評價。
八、學習成果
“設計從A市到B市的最優旅行路線方案”可視化報告
九、評價方案
(一)評價時間線
(二)評價工具
評價方法/工具
評價的過程和目標
項目范例報告
用于整個活動,主要作用是為學生項目實施和作品制作提供示范和引領。(見附件1)
項目學習活動記錄表
用于整個學習活動,主要作用是指導學生開展項目學習活動,明確項目學習內容,記錄學習過程及階段性成果。(見附件2)
作品評價量規
使用量規項目來幫助學生創作高品質的作品,確保達到項目預期。同時用量規為同伴的作品提供反饋。教師使用量規來評價。(見附件3)
項目活動評價表
對整個項目學習過程中各環節,學科核心素養達成的情況進行評價。(見教科書附錄2)
十、項目實施說明
(一)關于課時分配
建議課時分配如下:
第1課時:范例學習、項目選題與項目規劃、探究活動(活動1)
第2課時:探究活動(活動2)、項目實施
第3課時:項目探究(活動3)、項目實施、成果交流、活動評價
(二)關于項目范例
本章教師通過“設計從A市到B市的最少耗時旅行路線方案”項目范例,引導學生學習“算法基礎”。
(三)關于項目選題
圍繞本章項目學習活動大主題“設計從A
市到B
市最佳的旅行路線方案”,根據生活中常見的最佳旅行路線方案,細化項目學習活動的主題,組織學生開展學習。
(1)設計從A
市到B
市耗時最少的旅行路線方案;
(2)設計從A
市到B
市交通費最少的旅行路線方案;
(3)設計從A
市到B
市路程最短的旅行路線方案;
(4)在不超預算的情況下,設計從A市到B市耗時最少的旅行路線方案;
(5)自擬……
(四)關于探究活動
“探究活動”對應項目范例的主題,串聯知識點,學生在學習范例的同時自選項目主題,結合范例學習,完成自選主題的項目探究活動?!疤骄炕顒印钡脑O計,使得學生在做項目的過程中學習知識、建構知識。教師提供記錄表單和學習資源對學生的自主探究給予幫助和支持,以提高學生的學習效率和維持學生的學習興趣。
十一、附件
附件1:項目范例可視化報告
從A市到B市耗時最少的旅行路線方案設計報告
一、引言
數據在信息社會中具有重要價值,掌握數據處理的基本方法與技能具有重要意義。隨著數據的快速增長,人工方式處理海量數據的效率正變得低下,因此掌握利用計算機和算法更高效地分析和解決問題的方法在計算機科學界的作用日益凸顯。
二、設計目的
中國橋、中國路、中國車、中國港、中國網,一個個奇跡般建造起來的工程,讓人民切切實實感受到生活的便捷、美好和幸福。截至2017年10月,中國高速公路里程13.1萬千米,位居世界第一,2020
年將達15萬千米;高鐵里程2.2萬千米,位居世界第一;城市軌道交通4153千米,位居世界第一;光纜線路3041萬千米,位居世界第一;世界前10的斜拉橋,中國占7座;世界前10的懸索橋,中國占6座;港口吞吐量世界前10名中國占7席。當從A市到B市沒有直達的交通工具時,人們可以利用鐵路公司、汽車客運公司和航空公司公布的信息,設計出最佳的旅行路線。
體驗計算機解決問題的過程,理解和概述算法的概念與特征,學會運用恰當的描述方法和控制結構表示簡單算法,懂得描述程序設計語言產生與發展的過程,了解不同種類程序設計語言的特點。
三、需求分析和功能描述
1.需求分析
需求由以下三部分構成:
(1)體驗人工與計算機解決問題的過程。
(2)探究計算機解決問題的算法。
?
(3)了解計算機解決問題的程序。
2.功能描述
(1)設計從A市到B市耗時最少旅行路線的問題分析。
(2)設計從A市到B市耗時最少旅行路線的算法。
(3)編寫求解從A市到B市耗時最少的旅行路線問題的程序。
四、設計工具和方法
利用思維導圖工具和“頭腦風暴”的方法組建團隊、明確任務;采用搜索技術,實施探究。
五、設計步驟與過程
1.設計從A市到B市耗時最少旅行路線的問題分析
我們從鐵路公司、各航空公司和汽車客運公司網站得知,直達B市的交通工具只有火車和汽車兩種,出發地有B1,B2,…,Bk市(沒有A市),從A市出發到B1,B2,…,Bk市的交通工具有飛機、火車和汽車三種,這樣從A市經B1,B2,…,Bk市到B市的交通情況如右圖所示。
由于從A市到B1,B2,…,Bk市有不同的交通工具,每一種交通工具又有不同的班次,因此從A市出發到中轉城市B1,B2,…,Bk市就有M1、M2,…,Mk種班次。同樣,從中轉城市B1,B2,…,Bk市到B市也有不同的交通工具,每一種交通工具有不同的班次,因此從中轉城市B1,B2,…,Bk市到B市就有N1,N2,…,Nk種班次。于是從A市經B1,
B2,…,Bk市到B市的交通班車(班機)數共有:
S=M1×N1+M2×N2+…+Mk×Nk
尋找從A市到B市耗時最少的旅行路線問題就轉化為在S種聯運班次中找到一種耗時最少的聯運班次。這樣就需要遍歷每一個班次進行比較,人工方式找到能夠中轉且等待時間和行駛時間最少的班次,工作量極其浩大!
假設從A市到B市的中轉城市只有B1,B2市,從A市經B1,B2市到B市的交通情況如表3-2和表3-3所示。
于是,從A市經B1市到B市的聯運班次有7×9=63班;從A市經B2市到B市的聯運班次有12×9=108班,合計為S=63+108=171班。然后在171班次中找到能夠中轉且等待時間加上行駛時間最少的聯運班次,如下圖所示。
當數據量很大,人工處理效率很低時,我們可以借助計算機,通過編寫計算機程序解決問題。在利用計算機解決問題之前,我們首先要分析問題的需求情況、已知條件和需要解決的問題。
在從A市到B市耗時最少的旅行路線問題中,在不知道有多少個中轉城市和每個城市有多少班車(或飛機)的情況下,我們可以利用大數據挖掘技術中的爬蟲程序(參見配套學習資源包“第三章\課本素材\程序3-1”)到鐵路網站、各航空公司和汽車客運公司網站獲取從A市經中轉城市B1,B2,…,Bk市到達B市的交通班次信息,經過數據清洗,形成結構化的數據存儲為Excel文件。
2.設計從A市到B市耗時最少旅行路線的算法
從A市到B市耗時最少的旅行路線問題,根據獲取的從A市到B市的中轉城市B1,B2,…,Bk的班次,以及各城市各交通班次的發車時間和行駛時間等信息,采用以下的思想找出耗時最少的聯運班次問題,即算法如下:
(1)分別找出能夠中轉的從A市經B1,B2,…,Bk市到達B市的聯運班次,并計算所用的時間。
(2)分別找到能夠中轉的從A市經B1,B2,…,Bk市到達B市的聯運班次中耗時最少的聯運班次,共k條線路。
(3)取k條線路中耗時最少的聯運班次為最佳旅行路線。
3.編寫求解從A市到B市耗時最少的旅行路線問題的程序
Python語言編寫從A市到B市耗時最少的旅行路線問題的算法的程序可參見配套學習資源包“第三章\課本素材\程序3-1”。其中,找出能夠從A市經Bi(i=1,2,…,k)市到達B市的中轉聯運班次,并計算所用的時間以及找到耗時最少的聯運路線的關鍵程序段如下。
六、設計成果
1.計算機解決問題更高效、更便捷
在現實生活中,我們經常需要對數據進行統計、分析。當數據量不多時,我們可以采用人工方法來處理;然而,當數據量變多時,運用計算機解決問題將是一種更高效、更便捷的方法。
在從A市到B市耗時最少的旅行路線問題中,我們分析并設計了算法和編寫了程序之后,可以快速地找出從A市到B市耗時最少的旅行路線問題的結果,如下圖所示。
2.算法是計算機解決問題的核心
算法是指在有限步驟內求解某一問題所使用的一組定義明確的規則。通俗地說,算法就是用計算機求解某一問題的方法,是能被機械地執行的動作或指令的有窮集合。
描述算法的常用方法有自然語言描述算法、流程圖描述算法和偽代碼描述算法。
3.
計算機程序就是指計算機可以識別運行的指令集合
計算機程序是指為了得到某種結果而可以由計算機等具有信息處理能力的裝置執行的代碼化指令序列,或者可被自動轉換成代碼化指令序列的符號化指令序列或者符號化語句序列。簡而言之,計算機程序就是指計算機可以識別運行的指令集合。
在用計算機解決問題時,用自然語言、流程圖或是偽代碼所描述的解決問題的算法都不能被計算機直接執行,還必須將算法按照一定的規則編寫成計算機能夠識別和運行的程序。而人們編寫程序的時候需要遵循的規則就是計算機語言規則。計算機程序設計語言,是指一組用來定義計算機程序的語法規則,通常簡稱為“編程語言”。它是一種被標準化的交流技巧,用于向計算機發出指令。正確地使用計算機程序設計語言,能讓程序員準確地定義計算機所需要使用的數據,并精確地定義在不同情況下所應執行的命令。
七、結語
本章通過“設計從A市到B市最佳的旅行路線方案”項目,進行自主、協作、探究學習,讓同學們體驗計算機解決問題的過程,理解和概述算法的概念與特征,學會運用恰當的描述方法和控制結構表示簡單算法,懂得描述程序設計語言產生與發展的過程,了解不同種類程序設計語言的特點,從而將知識建構、技能培養與思維發展融入運用數字化工具解決問題和完成任務的過程中,促進信息技術學科核心素養達成,完成項目學習目標。
附件2:項目學習活動記錄表
第三章項目學習活動記錄表
班級
小組編號
項目選題
項目主題
項目目的
小組成員及分工
組長:
記錄人:
備注或其它說明:
項目規劃
問題列表
編號
問題內容
方法
項目規劃(思維導圖):
探究活動
項目實施
活動1:結合本組選題,通過學習和交流,體驗計算機解決問題的過程。
知識技能(計算機解決問題的過程)
分析問題
設計算法
編寫程序
調試運行程序
人工解決與計算機解決問題方式的異同討論記錄
求解問題的方式
相同點
不同點
人工求解問題
用計算機求解問題
小組項目成果(學習小結)
活動2:通過觀察、學習和實踐嘗試,了解算法及其描述方法,完成小組項目問題的算法設計及其描述。
知識技能
算法的定義
算法的特征
三種算法描述方法比較:
算法描述方法優勢不足自然語言描述法流程圖描述法偽代碼描述法
用流程圖描述歐幾里得算法:
小組項目成果
設計項目問題的算法(用自然語言描述):
設計項目問題的算法(用流程圖描述):
活動3:通過討論、學習、網上檢索了解計算機程序和程序設計語言,嘗試下載、安裝和運行相應的程序設計軟件。
知識技能
認識計算機程序的問題列表及分工
問題信息的獲取過程選擇信息來源確定信息獲取方法評價信息分工及實際安排認知程度(認識/了解/描述/掌握)問題1:什么是計算機程序?問題2:程序設計語言有哪些?問題3:
問題4:
問題結論(選擇上表中一個問題,將了解的結果記錄下來):
三代語言優勢與不足:
語言類型是否翻譯(編譯)優勢不足機器語言匯編語言高級語言
兩類語言比較:
語言種類優勢不足編譯型語言解釋型語言
完善下列高級程序語言的編譯過程與解釋過程流程圖:
附件3:作品評價量規
項目及分值
評分標準與分值
得分
自評
互評
作品選題
20
準確把握項目學習的意義和目的。
5
選題切合實際、符合科學。
5
選題有應用價值、創新價值。
5
選題適宜解決、可行性高。
5
規劃與分析
15
準確分析設計的目的。
5
準確分析方案的需求。
5
準確描述方案的功能。
5
工具與方法
10
合理使用數字化工具及資源。
5
圍繞項目進行自主、協作學習。
5
步驟與過程
30
交流與溝通的團隊合作能力。
5
能完整經歷計算機解決問題的過程。
5
運用流程圖描述算法。
10
通過探討和網絡檢索了解計算機程序和計算機語言。
10
成果與報告
15
明確問題,設計出最優線路選擇的合適算法。
10
能運用三種常用方法之一描述項目問題的算法流程。
10
報告內容完整,結構清晰,排版美觀。
5
合計得分
100
9
/
22&P
交通工具
出發地
出發時間
到達地
到達時間
飛機
A
11:00:00
上午
B3
1:30:00
下午
汽車
B3
1:40:00
下午
B
2:20:00
下午
&F

展開更多......

收起↑

資源列表

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 玉门市| 手机| 吉安市| 龙山县| 中卫市| 延津县| 岳阳县| 东阳市| 福清市| 桦南县| 游戏| 新干县| 镇平县| 隆子县| 鄱阳县| 剑川县| 古浪县| 朝阳县| 韶关市| 蓬莱市| 古田县| 安达市| 七台河市| 桂阳县| 合川市| 信丰县| 资中县| 太和县| 左云县| 钦州市| 大连市| 洞口县| 盐城市| 德保县| 唐海县| 娱乐| 萨嘎县| 景泰县| 屏边| 积石山| 阿坝县|