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

第14課 算法的驗證 課件(共15張PPT)+教案+練習 五上信息科技浙教版(2023)

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

第14課 算法的驗證 課件(共15張PPT)+教案+練習 五上信息科技浙教版(2023)

資源簡介

(共15張PPT)
小朋友們吃飯,每人一只飯碗,2人一只菜碗,3人一只湯碗,一共用了11個碗,算一算,一共有幾人吃飯?
請你算一算,一共有多少個小朋友人吃飯。
怎樣判斷答案是正確的?
6人
驗算
6個人,
每人一只飯碗,那么有6個飯碗,
2人一只菜碗,那么有3個菜碗,
3人一只湯碗,那么有2個湯碗
6+3+2=11
數學里,經常會通過驗算來驗證計算結果是否正確,那我們設計的算法如何來驗證呢?
執教者:
算法的有效性,可以根據算法特征來驗證流程圖描述的算法是否正確,也可以用具體數據來驗證算法的輸出結果是夠正確,還可以編寫程序在計算機上驗證算法。
1
根據算法特征驗證
2
用數據驗證算法
1
用計算機程序驗證
根據算法特征驗證

有窮性
確定性
有輸出
必須有確定的輸出
每一步必須確定
且能有效執行
算法執行過程必須
步驟有限,時間有限
開始
輸入L1 L2 L3 L4
S2=L2+L4
S1=L1+L3
Smin=S1
S2Smin=S2
結束


根據算法的特征,觀察流程圖中算法描述的步驟是否有限?
根據算法的特征,觀察流程圖中算法描述的每一步是否確定可執行?
根據算法的特征,觀察流程圖中算法描述中輸出是否符合要求?
根據算法特征驗證

開始
輸入L1 L2 L3 L4
S2=L2+L4
S1=L1+L3
Smin=S1
S2Smin=S2
結束


輸出Smin
開始
輸入L1 L2 L3 L4 L5 L6 L7
S4=L6+L7
S3=L5
Smin2=S3
S4Smin2=S4
S2=L2+L4
S1=L1+L3
Smin1=S1
S2Smin1=S2
Smin=Smin1+Smin2
輸出Smin
結束




根據算法的特征,觀察流程圖中算法描述的步驟是否有限?
根據算法的特征,觀察流程圖中算法描述的每一步是否確定可執行?
根據算法的特征,觀察流程圖中算法描述中輸出是否符合要求?
根據算法特征驗證

用數據驗證算法

使用不同的測試數據來測試算法,并記錄算法的輸出結果,是檢查算法有效性的一種常用方法。
170
230
100
150
50
30
40
開始
輸入L1 L2 L3 L4 L5 L6 L7
S4=L6+L7
S3=L5
Smin2=S3
S4Smin2=S4
S2=L2+L4
S1=L1+L3
Smin1=S1
S2Smin1=S2
Smin=Smin1+Smin2
輸出Smin
結束




L1=170,L2=230,L3=100,L4=150
L5=50,L6=30,L7=40
S1=170+100=270
S2=230+150=380
Smin1=270
380<270,不成立
所以Smin1=270
S3=50
S4=30+40=70
Smin2=50
70<50,不成立
所以Smin2=50
Smin=270+50=320
輸出320
170
230
100
150
50
30
40
開始
輸入L1 L2 L3 L4 L5 L6 L7
S4=L6+L7
S3=L5
Smin2=S3
S4Smin2=S4
S2=L2+L4
S1=L1+L3
Smin1=S1
S2Smin1=S2
Smin=Smin1+Smin2
輸出Smin
結束




L1=,L2=,L3=,L4=
L5=,L6=,L7=
S1=
S2=
Smin1=
所以Smin1=
S3=
S4=
Smin2=
所以Smin2=
Smin=
輸出
任務一:用數據驗證“最短距離”算法
選擇表格中任一組的七小段路線的距離值,驗證能否得到最短距離的輸出結果。
在左邊的框中逐步標注測試算法的過程。
L1 L2 L3 L4 L5 L6 L7 Smin
260 140 100 160 80 20 50
300 140 80 180 70 40 50
200 150 120 140 50 30 30
180 130 110 190 100 50 40
用計算機程序驗證算法

算法可以先編寫成計算機程序,再在計算機上進行驗證。運行代碼,輸入數值,觀察輸出結果來驗證算法。
Smin1=S1
if S2Smin1=S2
input
L1= input (“請輸入路線L1的長度:” )
輸入
將輸入的數據轉換成整數類型
input() 返回的數據類型是字符串類型(str)
int ( )
提示語
用計算機程序驗證算法

Smin2=S3
if S4Smin2=S4
print ( “最短距離為:” , Smin )
輸出
中間用“,”分隔
#第一組數據:260 140 100 160 80 20 50
#第二組數據:300 140 80 180 70 40 50
#第三組數據:200 150 120 140 50 30 30
#第四組數據:180 130 110 190 100 50 40
#輸入每小段路線的距離
L1=int(input("請輸入路線L1的長度:"))
L2=int(input("請輸入路線L2的長度:"))
L3=int(input("請輸入路線L3的長度:"))
L4=int(input("請輸入路線L4的長度:"))
L5=int(input("請輸入路線L5的長度:"))
L6=int(input("請輸入路線L6的長度:"))
L7=int(input("請輸入路線L7的長度:"))
#求解第一段路線的最短距離
#使用距離計算模型
S1=L1+L3 #計算第一條路線的距離S1
S2=L2+L4 #計算第二條路線的距離S2
Smin1=S1 #賦初值
if S2Smin1=S2
#求解第二段路線最短距離
S3=L5
S4=L6+L7
Smin2=S3
if S4Smin2=S4
Smin=Smin1+Smin2 #合并兩段路線的最短距離
print("最短距離為:",Smin) #輸出最短距離
復制左邊的程序代碼,打開Thonny,輸入最上面幾組數據,驗證求最短距離的算法。
任務二:用計算機程序驗證“最短距離”算法
根據畫三角形的流程圖驗證算法
計算右轉角度:a=360/n=120
開始
輸入邊數n=3,L=30
直行L
右轉a
輸出軌跡
結束
直行L
右轉a
直行L
右轉a
計算右轉角度:a=360/n
開始
輸入:邊數n和邊長L
直行L
右轉a
輸出軌跡
結束
重復
( n )次
1次
1次
1次


3

計算右轉角度:a=360/n
開始
輸入:邊數n和邊長L
直行L
右轉a
輸出軌跡
結束
重復
( n )次
import turtle
L=int(input("請輸入要畫的多邊形邊長:"))
n=
a=
for i in range(1, n+1):
turtle.forward(L) #直行L步
turtle.right(a) #右轉a度
turtle.done() #輸出軌跡
任務三:用計算機程序驗證“畫正多邊形”的算法
復制下方的程序代碼,打開Thonny,將程序補充完整,并輸入邊長和邊數的值,驗證“畫正多邊形”算法的正確性。
重復n次
算法的驗證
根據算法特征驗證
用數據驗證
用計算機程序驗證
有窮性
確定性
有輸出
使用不同數據進行測試中小學教育資源及組卷應用平臺
第14課 算法的驗證
教材分析:
算法在實施之前要先驗證其是否有效。根據算法描述,判斷算法是否具備有窮性、確定性和有輸出三個特征,如果不符合,算法將無法被執行。在確保算法具備算法特征后,還需要用具體數據對算法進行測試。測試分為人工測試和機器測試。兩種測試方式各有有點,人工測試更便捷卻不要求掌握程序設計語言,機器測試更快速且可以短時間內完成大量數據的測試,因此兩者關系不是非此即彼,而是相輔相成。只有通過了驗證的算法,才能夠有效地被運行并解決問題。
本課旨在讓學生回憶算法的特征,熟知流程圖的描述方式,體會計算機有序執行的思維模式,理解用多組數據測試算法的必要性。
預設教學目標:
1.知道驗證算法的三種方法;
2.通過不同數據測試算法的過程,掌握用數據驗證算法;
3.通過編寫程序,會用計算機程序驗證算法;
4.通過對算法進行驗證,知道算法的有效性,發展計算思維。
預設教學重難點:
重點:掌握驗證算法有效性的方法。
難點:根據解決問題的需要設計算法。
預設教學課時:
1課時
預設教學準備:
學習單、極域電子教室、課件
預設教學過程:
一、課堂導入
1.今天上課先來看道數學題:小朋友們吃飯,每人一只飯碗,2人一只菜碗,3人一只湯碗,一共用了11個碗,算一算,一共有幾人吃飯?
你能算出有多少人吃飯嗎?學生進行計算。
怎樣判斷答案是正確的?
不過,可以通過驗算來判斷答案是否正確。
6個人,
每人一只飯碗,那么有6個飯碗,
2人一只菜碗,那么有3個菜碗,
3人一只湯碗,那么有2個湯碗
6+3+2=11
通過驗算,我們發現答案是正確的。
數學里,經常會通過驗算來驗證計算結果是否正確,那我們設計的算法如何來驗證呢?
2.引入課題
今天我們就一起來學習《算法的驗證》。
二、新知建構
算法的有效性,可以根據算法特征來驗證流程圖描述的算法是否正確,也可以用具體數據來驗證算法的輸出結果是夠正確,還可以編寫程序在計算機上驗證算法。
【根據算法特征驗證】
1.我們先來看根據算法特征驗證,那還記得算法的三大特征嗎?
有窮性:算法執行過程必須步驟有限,時間有限
確定性:每一步必須確定且能有效執行
有輸出:必須有確定的輸出
2.活動一:有三個關于計算最短距離的流程圖,但是可能有些問題,請你仔細閱讀觀察。
根據算法特征驗證,在下列三個流程圖中選擇有效的算法,找出錯誤的原因。
學生活動。
學生小組合作討論流程圖。
反饋交流:第一個流程圖沒有輸出,第二個流程圖不能結束,第三個流程圖符合算法的三個特征。
3.小結:算法可以根據算法的特征來驗證,如驗證流程圖描述的算法可以通過算法執行過程的步驟是否有限、算法執行的每一步是否確定可執行、輸出是否符合規則等驗證算法的有效性。
【用數據驗證算法】
1.符合算法特征的流程圖就一定是正確的算法嗎?
使用不同的測試數據來測試算法,并記錄算法的輸出結果,是檢查算法有效性的一種常用方法。
2.活動二:用數據驗證算法。根據圖中給出的數據,結合流程圖驗證能否得出最短距離的輸出結果。
我們先來看圖中的數據,請你在心中算一算最短距離的值。
師生共同驗證。
最后輸出的320和你心中算出來的值是否一致?
3. 那請你也來用一組數據進行驗證。
任務一:用數據驗證“最短距離”算法
選擇表格中任一組的七小段路線的距離值,驗證能否得到最短距離的輸出結果。
將過程填寫在左邊的框中。
學生自主選擇任務單中的某一組數據,結合流程圖驗證輸出的結果是否正確。
4.請學生詳細說一說數據的測試方法。
請選擇不同數據的學生分別反饋,并說一說用數據驗證算法的優點。
5.小結:剛才大家使用了不同的測試數據來測試算法,逐步標注測試算法的過程,并記錄了算法的輸出結果,這是利用數據驗證算法,是檢查算法有效性的一個非常常用方法。
【用計算機程序驗證算法】
1.每次我們人為地用數據進行驗證,實在是太麻煩了!怎么能夠快速得出結論呢?
學生回答。
是的,可以采用機器測試,這樣更加快速且可以在短時間內完成大量數據的測試。
2. 算法可以先編寫成計算機程序,再在計算機上進行驗證。運行代碼,輸入數值,觀察輸出結果來驗證算法。
我們一起根據流程圖來看程序的編寫。
3.出示流程圖
首先要輸入數據,輸入在python中用的是input函數,然后將輸入的值分別賦值給L1、L2、L3……L7。
L1= input (“請輸入路線L1的長度:” )
input()是輸入函數,“請輸入路線L1的長度:”是提示語,這樣我們就知道現在輸入的是L1的距離值了。但是,input() 返回的數據類型是字符串類型(str),如果直接這樣,那么就不能計算了,需要把輸入的值轉換成整數類型的值,那就要請int來幫忙了。
所以可以這樣來進行賦值:L1=int(input("請輸入路線L1的長度:"))
其他的賦值語句和流程圖基本一致,這里的分支結構還記得用什么來編寫?(if)
是的,所以我們這樣來編寫:
Smin1=S1
if S2Smin1=S2
別忘記冒號和縮進。
同樣第二段路程的分支結構也是一樣:
Smin2=S3
if S4Smin2=S4
最后的輸出函數使用的是print()函數,這里面可以使用兩部分,中間用,分開。
4. 任務二:用計算機程序驗證“最短距離”算法
復制左邊的程序代碼,打開Thonny,輸入最上面幾組數據,驗證求最短距離的算法。
學生操作,嘗試并體會用計算機程序驗證算法的過程。
5. 學生討論、交流。
你認為用計算機程序來驗證算法有哪些優點?
教師小結:利用計算機程序驗證算法,更快捷、更準確。
三、拓展練習
1.上一節課我們還設計了畫正多邊形的算法,現在以畫三角形為例,我們來驗證一下是否正確。
根據畫三角形的流程圖驗證算法,教師邊講解,課件邊展示。
2. 任務三:用計算機程序驗證“畫正多邊形”的算法
復制下方的程序代碼,打開Thonny,將程序補充完整,并輸入邊長和邊數的值,驗證“畫正多邊形”算法的正確性。
學生操作,并反饋交流。
四、課堂小結
1.本課學習回顧:驗證算法有效性的方法有哪些?
2.這節課你有什么收獲?
執行步驟有限
根據算法特征驗證 算法可執行
輸出正確
算法的驗證: 用數據驗證——使用不同數據進行測試
用計算機程序驗證
【課后反思】
21世紀教育網 www.21cnjy.com 精品試卷·第 2 頁 (共 2 頁)
21世紀教育網(www.21cnjy.com)(共4張PPT)
班級: 學號: 姓名:
開始
輸入L1 L2 L3 L4 L5 L6 L7
S4=L6+L7
S3=L5
Smin2=S3
S4Smin2=S4
S2=L2+L4
S1=L1+L3
Smin1=S1
S2Smin1=S2
Smin=Smin1+Smin2
輸出Smin
結束




L1=,L2=,L3=,L4=
L5=,L6=,L7=
S1=
S2=
Smin1=
所以Smin1=
S3=
S4=
Smin2=
所以Smin2=
Smin=
輸出
任務一:用數據驗證“最短距離”算法
選擇表格中任一組的七小段路線的距離值,驗證能否得到最短距離的輸出結果。
在左邊的框中逐步標注測試算法的過程。
L1 L2 L3 L4 L5 L6 L7 Smin
260 140 100 160 80 20 50
300 140 80 180 70 40 50
200 150 120 140 50 30 30
180 130 110 190 100 50 40
#第一組數據:260 140 100 160 80 20 50
#第二組數據:300 140 80 180 70 40 50
#第三組數據:200 150 120 140 50 30 30
#第四組數據:180 130 110 190 100 50 40
#輸入每小段路線的距離
L1=int(input("請輸入路線L1的長度:"))
L2=int(input("請輸入路線L2的長度:"))
L3=int(input("請輸入路線L3的長度:"))
L4=int(input("請輸入路線L4的長度:"))
L5=int(input("請輸入路線L5的長度:"))
L6=int(input("請輸入路線L6的長度:"))
L7=int(input("請輸入路線L7的長度:"))
#求解第一段路線的最短距離
#使用距離計算模型
S1=L1+L3 #計算第一條路線的距離S1
S2=L2+L4 #計算第二條路線的距離S2
Smin1=S1 #賦初值
if S2Smin1=S2
#求解第二段路線最短距離
S3=L5
S4=L6+L7
Smin2=S3
if S4Smin2=S4
Smin=Smin1+Smin2 #合并兩段路線的最短距離
print("最短距離為:",Smin) #輸出最短距離
復制左邊的程序代碼,打開Thonny,輸入最上面幾組數據,驗證求最短距離的算法。
任務二:用計算機程序驗證“最短距離”算法
計算右轉角度:a=360/n
開始
輸入:邊數n和邊長L
直行L
右轉a
輸出軌跡
結束
重復
( n )次
import turtle
L=int(input("請輸入要畫的多邊形邊長:"))
n=
a=
for i in range(1, n+1):
turtle.forward(L) #直行L步
turtle.right(a) #右轉a度
turtle.done() #輸出軌跡
任務三:用計算機程序驗證“畫正多邊形”的算法
復制下方的程序代碼,打開Thonny,將程序補充完整,并輸入邊長和邊數的值,驗證“畫正多邊形”算法的正確性。
重復n次

展開更多......

收起↑

資源列表

<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. 主站蜘蛛池模板: 元江| 定日县| 庄浪县| 东平县| 刚察县| 栾城县| 柞水县| 鄄城县| 盖州市| 龙川县| 兴化市| 简阳市| 樟树市| 商南县| 北川| 循化| 西乌珠穆沁旗| 邹平县| 山丹县| 辽阳县| 四子王旗| 芮城县| 于田县| 伽师县| 屯昌县| 和龙市| 大安市| 镇原县| 高安市| 高清| 保康县| 桦南县| 邢台县| 遵义市| 苏尼特左旗| 丘北县| 务川| 大竹县| 祁东县| 汉寿县| 新昌县|