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

第10課 “韓信點兵”枚舉法的實現 課件(共21張PPT)+教案+素材 六上信息科技浙教版(2023)

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

第10課 “韓信點兵”枚舉法的實現 課件(共21張PPT)+教案+素材 六上信息科技浙教版(2023)

資源簡介

中小學教育資源及組卷應用平臺
第10課 “韓信點兵”枚舉法的實現
教材分析
本課是《算法的效率》單元中的第3課。本課的教學內容是引導學生了解枚舉法解決問題的一般過程,并且實現枚舉法的程序編寫與調試。
通過本課學習,學生能夠了解枚舉算法的基本原理,熟悉枚舉算法程序設計的基本思路及程序結構特點;學會使用枚舉算法解決現實生活、學習中所遇到的問題;感受枚舉法的算法執行效率。
預設教學目標:
1.理解枚舉法的一般過程,熟悉枚舉算法程序設計的基本思路及程序結構特點;
2.實現枚舉法的程序編寫與調試;
3.學會使用枚舉法解決現實生活、學習中所遇到的問題。
預設教學重難點:
重點:枚舉法的一般過程與算法設計
難點:枚舉法的程序實現
預設教學課時:
1課時
預設教學準備:
課件、課本、學生練習學案等
預設教學過程:
一、課題導入
1.同學們,今天我們來認識一個人:韓信。
你們知道他是誰嗎?
不錯,西漢開國功臣、軍事家,漢初三杰之一。
韓信以勇敢、智慧和謀略著稱,他的一生留下了許多傳奇故事,其中最知名的就是“韓信點兵”。
【問題描述】
2.“韓信點兵”的故事
秦朝末年,楚漢相爭。有一次韓信帶領1500名將士與楚王大將李峰交戰。苦戰一場,楚軍不敵,敗退回營,漢軍也死傷四五百人。
他命令士兵3人一排,結果多出2名;接著命令士兵5人一排,結果多出3名;又命令士兵7人一排,結果又多出2名。韓信馬上向將士們宣布:“我軍有1073名勇士,敵人不足500,我們居高臨下,以眾擊寡,一定能打敗敵人。” 漢軍本來就信服自己的統帥,這一來更相信韓信是“神機妙算” ,于是士氣大震,一時間旌旗搖動,鼓聲喧天。漢軍步步緊逼,楚軍亂作一團,交戰不久,楚軍大敗而逃。
3.教師提問,學生思考:韓信是如何知道全軍人數的,鼓勵他們分享自己的想法。
4.“韓信點兵”不僅是一個歷史故事,還是一個有趣的猜數游戲。如何來解決這個問題呢?
我們可以按照解決問題的四步驟來一步步解決。
問題描述—抽象建模—算法設計—驗證與優化算法
剛才我們看到的韓信點兵的故事就是這里的步驟1:問題描述,接下來我們就一起來進行抽象建模。
二、新知建構
【抽象建模】
1.抽象建模是需要抓住問題的關鍵要素,忽略與問題求解無關的要素。
誰來說一說韓信點兵這個問題的關鍵要素是哪些?
學生回答,課件展示。
2.課件出示表格
對照表格和我們找出來的關鍵要素,先來看求解目標是什么?(求剩余士兵的數量)
那已知條件是什么?(1500將士,死傷四五百人)
由這個已知條件,我們能推斷出剩余士兵數量的范圍是什么?(1000-1100)
那剩余士兵的數量關系就是:3人一排,多出2人;5人一排,多出3人;7人一排,多出2人。
3. 韓信點兵的數量關系可以表示為數的除法運算。
3人一排,結果多出2名:那就是剩余士兵的數量除以3,余數為2,這樣來描述同意嗎?
用這個算式來表示可以嗎?
這里的“□”表示什么?(剩余士兵的數量)
÷3就是問題描述中的3人一排,余數為2就表示多出的2名士兵,△代表的是一共排了幾排對吧。
4.3人一排多出2名可以這樣來表示,那5人一排多出3名怎么表示?誰來說?
7人一排多出2人呢?(學生回答,課件出示)
5.剛才說了,“□”表示的是剩余士兵的數量,也就是我們要求解的目標,可以將其設為變量x。
那這三個算式就可以抽象為
x÷3=△……2
x÷5=○……2
x÷7=◇……2
x有沒有取值范圍?它的范圍是?(1000-1100)
那我們可以表述為:1000<=x<=1100
6.通過我們的分析,對這個問題進行抽象建模,我們得出“韓信點兵”的計算模型。
【算法設計】
1.根據抽象與建模,我們來進一步解決問題。
課件出示表格:根據模型中x的取值范圍,我們知道x的值應該從1000-1100,滿足的條件就是我們抽象出來判斷的三個條件,而且這三個條件必須同時滿足。
1000滿足條件嗎?不滿足,然后判斷哪個數?不錯,下一個數是1001,讓x+1,然后再次判斷是否滿足條件,不滿足,然后繼續判斷下一個。
2.看這個問題的解決方法和雞兔同籠的方法是否差不多?是的,這就是我們學過的枚舉法。
3.枚舉法解決問題有兩個關鍵:一是:確定枚舉的范圍;二是正確解的判斷條件。在這題里,枚舉的范圍是?(1000<=x<=1100)正確解的判斷條件是?(“除以3余數為2,除以5余數為3,除以7余數為2” 三個條件同時滿足?)
x依次取1000~1100范圍內的值,采用循環結構;判斷條件“除以3余數為2,除以5余數為3,除以7余數為2” 是否同時滿足,可以采用分支結構。
4.有了這樣的分析,我們一起來完成韓信點兵枚舉算法的流程圖。
任務一:完善流程圖
請你操作鼠標拖動下方的5個流程圖按鈕,完善“韓信點兵”枚舉法流程圖算法。
學生操作。
5.反饋交流:
首先x要有一個初始值:x1000
然后看這個x的值是否在枚舉范圍內?:xx+1
如果不在枚舉范圍內就直接結束,如果在枚舉范圍內就去判斷它是夠同時滿足這三個條件,滿足的情況下(是),那么就把滿足條件的x值輸出,不管滿不滿足都要繼續枚舉下一個值。
【算法的程序實現】
1.算法中的三個條件同時滿足,我們把x÷3余2稱為求余數的運算,在python中,求余數的運算符為“%”,即表達式 x%y 的功能是:“用x除以y,取它的余數”。
如:5%2 的結果是 1;
因為5÷2=2 …… 1,1是5÷2的余數,所以5%2=1;
8%5=?
8÷5=1…… 3,所以8%5=3;
10%5=?
2.知道了求余數的運算符“%”后,我們再來看這三個條件
x÷3余2如何來表達?x%3==2
x÷5余3如何來表達?7÷3余2如何來表達?
3.要判斷多個條件是否同時滿足,Python中如何來表示?(and)
x÷3余2,x÷5余3,x÷7余2 三個條件同時滿足就可表示為:
x%3==2 and x%5==3 and x%7==2
4.知道了程序中的表達,那我們來按照流程圖算法完成程序實現:
首先將1000賦值給變量x:x=1000
當x<=1100的時候:while x<=1100:
如果x÷3余2,x÷5余3,x÷7余2 三個條件同時滿足
if x%3==2 and x%5==3 and x%7==2
輸出x的值:print(x)
枚舉下一個:x=x+1
5. 任務二:完善程序
對照左邊的流程圖,請你拖動方框中的代碼到Python語言編寫的程序中缺失的地方,將代碼補充完整補充完整。
6.反饋交流
7.揭示課題
今天我們通過分析,抽象建模,使用枚舉法解決了“韓信點兵”的問題。
出示課題:“韓信點兵”枚舉法的實現。
【綜合練習】
任務三:編寫程序
假如“韓信點兵”的問題描述修改為:韓信帶領1500名士兵去打仗,戰后死傷一二百人。剩下士兵中,他命令士兵3人一排,結果多出1人;5人一排,結果多出4人;7人一排,結果多出3人。問剩下的士兵一共多少人?
有困難的同學選“枚舉法1” 來完成
有能力的同學選“枚舉法2” 來完成
反饋交流。
三、課堂小結
分享交流:枚舉法解決問題的方法。枚舉法是一種很常用的算法,在生活中的很多問題上都用的到。
枚舉法的兩個關鍵。
“韓信點兵”枚舉法兩個關鍵的呈現。
【課后反思】
21世紀教育網 www.21cnjy.com 精品試卷·第 2 頁 (共 2 頁)
21世紀教育網(www.21cnjy.com)(共21張PPT)
在楚漢之爭的過程中,韓信以其杰出的軍事才能橫掃魏、趙、代、燕、齊諸國,并數次以兵支援劉邦;
垓下之戰,布五軍陣誘敵,擊破項羽軍,最終迫使項羽于漢五年(前202年)自刎于烏江。
戰后,韓信因功徙封楚王。
韓信
韓信以勇敢、智慧和謀略著稱,他的一生留下了許多傳奇故事,其中最知名的就是“韓信點兵”。
問題描述

西漢開國功臣、軍事家,漢初三杰之一。
秦朝末年,楚漢相爭。有一次韓信帶領1500名將士與楚王大將李峰交戰。苦戰一場,楚軍不敵,敗退回營,漢軍也死傷四五百人。
于是韓信整頓兵馬返回大本營,當行至一山坡,忽有后軍來報,說有楚軍騎兵追來。只見遠方塵土飛揚,殺身震天,漢軍本來已十分疲憊,這時隊伍喧嘩一片,韓信兵馬到坡頂,見來敵不足五百騎,便急速點兵迎敵。
韓信點兵
他命令士兵3人一排,結果多出2名;接著命令士兵5人一排,結果多出3名;又命令士兵7人一排,結果又多出2名。韓信馬上向將士們宣布:“我軍有1073名勇士,敵人不足500,我們居高臨下,以眾擊寡,一定能打敗敵人。” 漢軍本來就信服自己的統帥,這一來更相信韓信是“神機妙算” ,于是士氣大震,一時間旌旗搖動,鼓聲喧天。漢軍步步緊逼,楚軍亂作一團,交戰不久,楚軍大敗而逃。
問題描述

韓信點兵
”韓信點兵“故事
是一個有趣的猜數游戲。
問題描述

如何來解決這個問題呢?
01
問題
描述
02
抽象與建模
03
設計
算法
04
驗證與優化算法
韓信點兵
抓住問題的關鍵要素,忽略與問題求解無關的要素。
抽象與建模

秦朝末年,楚漢相爭。有一次韓信帶領1500名將士與楚王大將李峰交戰。苦戰一場,楚軍不敵,敗退回營,漢軍也死傷四五百人。
于是韓信整頓兵馬返回大本營,當行至一山坡,忽有后軍來報,說有楚軍騎兵追來。只見遠方塵土飛揚,殺身震天,漢軍本來已十分疲憊,這時隊伍喧嘩一片,韓信兵馬到坡頂,見來敵不足五百騎,便急速點兵迎敵。
他命令士兵3人一排,結果多出2名;接著命令士兵5人一排,結果多出3名;又命令士兵7人一排,結果又多出2名。韓信馬上向將士們宣布:“我軍有1073名勇士,敵人不足500,我們居高臨下,以眾擊寡,一定能打敗敵人。” 漢軍本來就信服自己的統帥,這一來更相信韓信是“神機妙算” ,于是士氣大震,一時間旌旗搖動,鼓聲喧天。漢軍步步緊逼,楚軍亂作一團,交戰不久,楚軍大敗而逃。
1500名將士
死傷四五百人
3人一排
5人一排
7人一排
多出2名
多出2名
多出3名
已知條件
求解目標
數量關系
抽象與建模

1500名將士
死傷四五百人
3人一排,多出2人
5人一排,多出3人
7人一排,多出2人
求剩余士兵的數量?
剩余士兵數量的范圍?
1000-1100
韓信點兵的數量關系可以表示為數的除法運算。
抽象與建模

÷ 3 =
……
2
3人一排,結果多出2名;
表示什么?
剩余的士兵總數
3人一排
多出的2名
一共排了多少排
韓信點兵的過程可以表示為數的除法運算。
抽象與建模

÷ 3 =
……
2
3人一排,結果多出2名;
5人一排,結果多出3名;
÷ 5 =
……
3
7人一排,結果多出2名;
÷ 7 =
……
3
抽象與建模

指的是剩余的士兵總數
這就是我們要求的量,可以將其設為變量x。
x÷3= ……2
x÷5= ……3
x÷7= ……2
x的取值范圍?
1000-1100
抽象與建模

x÷3= ……2
x÷5= ……3
x÷7= ……2
x的取值范圍:1000~1100
1000<=x<=1100
抽象與建模

x÷3= ……2
x÷5= ……3
x÷7= ……2
(1000<=x<=1100)
▲“韓信點兵”計算模型
算法設計

x的值 滿足條件 是否滿足條件
1000
1100
判斷
“除以3余數為2,除以5余數為3,除以7余數為2”
三個條件同時滿足?
判斷的條件
×
1001
×
1002
×
……
……
1073

……
……
1099
×
×
x+1
算法設計

關鍵
正確解的判斷條件
確定枚舉的范圍
1000<=x<=1100
“除以3余數為2,除以5余數為3,除以7余數為2”
三個條件同時滿足?
任務一:完善流程圖
請你操作鼠標拖動下方的5個流程圖按鈕,完善“韓信點兵”枚舉法流程圖算法。
算法設計

請你操作鼠標拖動下方的5個流程圖按鈕,完善“韓信點兵”枚舉法流程圖算法。
在枚舉范圍內嗎?
X要有一個初始值
判斷是否滿足條件?
算法的程序實現

x÷3余2,x÷5余3,x÷7余2 三個條件
同時滿足
x÷3余2
取余:求余數的運算符為“%”
表達式 x%y 的功能是:“用x除以y,取它的余數”
如:5%2 的結果是 1;
5÷2=2 …… 1
1是5÷2的余數
8%5=
8÷5=1…… 3
3是8÷5的余數

3
10%5=

10÷5=2…… 0
0
x%3==2
x%5==3
x%7==2
同時滿足
算法的程序實現

x÷3余2,x÷5余3,x÷7余2 三個條件
同時滿足
要判斷多個條件同時滿足,需要用“and”邏輯運算符
x%3==2
x%5==3
x%7==2
同時滿足
and
and
x%3==2 and x%5==3 and x%7==2
算法的程序實現

▲“韓信點兵”枚舉法流程圖
將1000賦值給變量x
當x<=1100的時候
如果x÷3余2,x÷5余3,x÷7余2 三個條件同時滿足
循環體
縮進
任務二:完善程序
對照左邊的流程圖,請你拖動方框中的代碼到Python語言編寫的程序中缺失的地方,將代碼補充完整補充完整。
執教者:
任務三:編寫程序
假如“韓信點兵”的問題描述修改為:韓信帶領1500名士兵去打仗,戰后死傷一二百人。剩下士兵中,他命令士兵3人一排,結果多出1人;5人一排,結果多出4人;7人一排,結果多出3人。問剩下的士兵一共多少人?
▲有困難的同學選“枚舉法1” 來完成
▲有能力的同學選“枚舉法2” 來完成
枚舉法
1.枚舉法的思想是 地嘗試 的解。
2.枚舉法的關鍵是① 。
② 。
有序
每一種可能
確定枚舉的范圍
正確解的判斷條件
“韓信點兵”枚舉法
確定枚舉的范圍
正確解的判斷條件
1000<=x<=1100
x%3==2 and x%5==3 and x%7==2

展開更多......

收起↑

資源列表

<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. 主站蜘蛛池模板: 册亨县| 诸暨市| 育儿| 宜良县| 通海县| 察哈| 朔州市| 东丽区| 耒阳市| 屏南县| 沈丘县| 昌邑市| 军事| 石屏县| 沾化县| 贵阳市| 大城县| 新昌县| 兴业县| 凯里市| 庆城县| 宁晋县| 皮山县| 辽中县| 静宁县| 萨嘎县| 罗田县| 东乡县| 五河县| 巴林左旗| 合作市| 延川县| 肇源县| 云龙县| 建德市| 县级市| 裕民县| 竹北市| 贵德县| 宝坻区| 久治县|