資源簡(jiǎn)介 中小學(xué)教育資源及組卷應(yīng)用平臺(tái)第16課 比較交換找最值 教學(xué)設(shè)計(jì)課題 比較交換找最值 單元 第五單元 學(xué)科 信息科技 年級(jí) 五年級(jí)教材分析 【學(xué)情分析】排序算法是計(jì)算機(jī)解決問題的基礎(chǔ)算法之一,可以將無(wú)序的數(shù)據(jù)按照特定順序排列。在排序過(guò)程中,需要對(duì)數(shù)據(jù)進(jìn)行比較,并根據(jù)比較結(jié)果來(lái)決定是否交換位置,從而實(shí)現(xiàn)排序。最終的排列順序可以是升序(從小到大)或降序(從大到小)。通過(guò)學(xué)習(xí)排序算法,可以認(rèn)識(shí)排序的基本思路和方法,了解不同排序算法之間的差異。學(xué)習(xí)排序算法有助于培養(yǎng)抽象邏輯思維和問題解決能力。通過(guò)本單元的學(xué)習(xí),讓學(xué)生了解排序算法中搜索、比較與交換的基本過(guò)程,體會(huì)用計(jì)算機(jī)解決問題中蘊(yùn)含的算法思想。通過(guò)自然語(yǔ)言、流程圖等方式描述排序算法,在操作實(shí)踐中利用程序驗(yàn)證與實(shí)現(xiàn)排序算法,了解算法與程序之間的關(guān)系。排序算法有很多種,每一種都有自己的優(yōu)勢(shì)和適用范圍。學(xué)習(xí)過(guò)程中可以通過(guò)對(duì)比不同的排序算法,了解算法的效率,讓學(xué)生意識(shí)到面對(duì)不同數(shù)據(jù)規(guī)模的問題時(shí),要選擇合適的排序算法。這有助于培養(yǎng)學(xué)生優(yōu)化算法的意識(shí),提高用計(jì)算機(jī)解決問題的效率。教學(xué)時(shí)需要將抽象的算法內(nèi)容與現(xiàn)實(shí)的生活場(chǎng)景或?qū)嵨锫?lián)系起來(lái),以幫助學(xué)生在具體的情境中領(lǐng)悟有關(guān)的知識(shí)。可以引導(dǎo)學(xué)生通過(guò)游戲活動(dòng)、情境創(chuàng)設(shè)、角色扮演等方式,在運(yùn)用排序算法解決具體問題的過(guò)程中,逐步感悟其中的思想和方法。結(jié)合實(shí)物、圖片、視頻等直觀呈現(xiàn)的方式,幫助學(xué)生觀察排序算法執(zhí)行的過(guò)程、計(jì)算執(zhí)行的次數(shù)等。同時(shí),使用適當(dāng)?shù)膶W(xué)習(xí)資源和方法,如編程實(shí)現(xiàn)算法、用程序驗(yàn)證算法,讓學(xué)生在操作實(shí)踐中體會(huì)算法的應(yīng)用效果和價(jià)值。本單元的學(xué)習(xí)先從具體問題出發(fā),逐步引導(dǎo)學(xué)生認(rèn)識(shí)排序算法的基本思想,了解排序的一般規(guī)律,幫助學(xué)生在“認(rèn)識(shí)—理解—辨析—應(yīng)用”的過(guò)程中逐步認(rèn)識(shí)排序算法,體會(huì)算法的應(yīng)用。通過(guò)這樣的教學(xué)設(shè)計(jì),學(xué)生不僅能夠做中學(xué),更能做中思,并逐步達(dá)成創(chuàng)中思、創(chuàng)中學(xué),培養(yǎng)綜合實(shí)踐能力和創(chuàng)造思維能力。【內(nèi)容結(jié)構(gòu)】學(xué)習(xí)目標(biāo) 1. 信息意識(shí):在分析排序算法過(guò)程中,理解排序算法的基本含義,包括比較與交換的方法、排序規(guī)則對(duì)數(shù)據(jù)位置的影響。2. 計(jì)算思維:能夠用自然語(yǔ)言或流程圖描述選擇排序、冒泡排序和桶排序的算法。3. 數(shù)字化學(xué)習(xí)與創(chuàng)新:在解決排序問題時(shí),通過(guò)分析問題,知道選擇適合的排序算法來(lái)解決問題。4. 信息社會(huì)責(zé)任:了解加密算法在保護(hù)信息安全方面的意義,增強(qiáng)信息安全意識(shí)。重點(diǎn) 用流程圖描述找出最大數(shù)的算法。難點(diǎn) 用程序驗(yàn)證找出最大數(shù)的算法。教學(xué)過(guò)程教學(xué)環(huán)節(jié) 教師活動(dòng) 學(xué)生活動(dòng) 設(shè)計(jì)意圖激趣導(dǎo)入 【激趣導(dǎo)入】身高排序大挑戰(zhàn)【提問】同學(xué)們,假如我們要進(jìn)行一次小組活動(dòng),需要按從矮到高的順序排隊(duì)。大家想想,你會(huì)怎么組織進(jìn)行排隊(duì)?如何找出最高或者最矮的那一個(gè)?【建構(gòu)】日常生活中,我們常常遇到找出最大數(shù)的問題,如找出身高最高的人、找出直徑最大的水果、找出某月氣溫最高的一天等。本課通過(guò)逐個(gè)比較數(shù)值大小的方法來(lái)找出最大數(shù),認(rèn)識(shí)其中包含的算法。 思考、注意 吸引學(xué)生的注意力,激發(fā)學(xué)生的學(xué)習(xí)興趣,引發(fā)學(xué)生思考。學(xué)習(xí)活動(dòng) 【學(xué)習(xí)活動(dòng)1】一、描述找出最大數(shù)的算法桌上有5個(gè)信封,編號(hào)分別為 1、2、3、4、5,每個(gè)信封里裝有一張卡片,卡片上寫著一個(gè)大于 0 的數(shù),請(qǐng)找出其中的最大數(shù)。活動(dòng)規(guī)則:每次只能打開一個(gè)信封,查看卡片上的數(shù)后把卡片放回原信封內(nèi),才能繼續(xù)打開另外一個(gè)信封,查看卡片上的數(shù)。活動(dòng)要求:以小組合作探究的方式,找出解決問題的算法,并描述算法的基本步驟。活動(dòng)步驟描述:第 1 步:準(zhǔn)備一張新卡片,稱為 A 卡,用來(lái)記錄查找過(guò)程中的最大數(shù)。第 2 步:打開第一個(gè)信封,查看卡片上的數(shù)并記錄在 A 卡上。第 3 步:打開第二個(gè)信封,查看卡片上的數(shù)并與 A 卡上的數(shù)比較,如果這個(gè)數(shù)比 A 卡上的數(shù)大,那么把 A 卡上的數(shù)更新成這個(gè)數(shù),否則不更新。第 4 步:用同樣的方法,依次打開第三個(gè)、第四個(gè)、第五個(gè)信封,查看卡片上的數(shù),并與 A 卡上的數(shù)比較,決定是否更新 A 卡上的數(shù)。第 5 步:最后,A 卡上的數(shù)就是最大數(shù)。觀察發(fā)現(xiàn),在以上步驟中,從第 3 步開始就是重復(fù)操作。如果首先在 A卡上記錄 0,第 2 步就可以是重復(fù)操作。可以構(gòu)建循環(huán)結(jié)構(gòu)來(lái)描述算法。第 1 步:在 A 卡上記錄 0。第 2 步:按順序打開一個(gè)信封,查看卡片上的數(shù),把這個(gè)數(shù)與 A 卡上的數(shù)比較。如果比 A 卡上記錄的數(shù)大,那么把 A 卡上的數(shù)更新成這個(gè)數(shù),否則不更新。第 3 步:對(duì)每個(gè)信封做第 2 步的操作。第 4 步:最后,A 卡上的數(shù)就是最大數(shù)。【學(xué)習(xí)活動(dòng)2】二、用流程圖描述找出最大數(shù)的算法用流程圖表示上述過(guò)程,看起來(lái)更加簡(jiǎn)潔直觀。【學(xué)習(xí)探究】找出最大數(shù)并記錄所在的信封。解決方法提示:增加一張新的卡片,稱為 B 卡,用來(lái)記錄信封的編號(hào)。【思考-討論】在尋找最大數(shù)的過(guò)程中,一共要循環(huán)多少次?也就是說(shuō),要做多少次“比較兩個(gè)數(shù)大小”的操作?如果是 5 000 個(gè)數(shù)呢?【學(xué)習(xí)活動(dòng)3】三、驗(yàn)證找出最大數(shù)的算法1. 認(rèn)識(shí) Python 中的列表在 Python 中,列表是一種常見的數(shù)據(jù)序列,用于存儲(chǔ)一系列數(shù)據(jù)。列表使用方括號(hào)[ ]來(lái)把數(shù)據(jù)放入其中,每個(gè)數(shù)據(jù)之間用英文逗號(hào)“,”分隔。例如,下面的語(yǔ)句可以創(chuàng)建一個(gè)包含 5 個(gè)數(shù)的列表。# 創(chuàng)建一個(gè)包含 5 個(gè)數(shù)的列表box = [24, 91, 42, 108, 35] 列表數(shù)據(jù)的表示和引用從 0 開始,而不是從 1 開始。例如,在以上的box 列表中,box[0] 表示列表的第 1 個(gè)數(shù) 24,box[1] 表示第二個(gè)數(shù) 91。利用len( )函數(shù)可以獲取列表中的數(shù)據(jù)個(gè)數(shù)。例如,利用下面的賦值語(yǔ)句,可以用變量cc保存 box 列表中的數(shù)據(jù)個(gè)數(shù),即 5。cc = len(box)2. 回顧 while 循環(huán)在 Python 中,用 while 循環(huán)可以實(shí)現(xiàn)算法的循環(huán)結(jié)構(gòu)。當(dāng)循環(huán)的次數(shù)不確定時(shí),可以根據(jù)條件進(jìn)行判斷。當(dāng)條件成立時(shí),執(zhí)行條件后的語(yǔ)句;當(dāng)條件不成立時(shí),結(jié)束循環(huán)。while 循環(huán)的基本格式如下:while 判斷條件: 語(yǔ)句組3. 程序?qū)崿F(xiàn)與驗(yàn)證打開下面找出列表中最大數(shù)的程序并運(yùn)行,分析程序與算法的關(guān)系。在 while 循環(huán)中,使用條件語(yǔ)句 if 來(lái)比較,當(dāng)前數(shù) box[i] 的值是否大于已經(jīng)找到的最大數(shù)a。如果是,就將a的值更新為當(dāng)前數(shù) box[i] 的值。這樣,通過(guò)循環(huán)操作逐個(gè)查找,找出列表中的最大數(shù)并更新到a中。控制變量i,從 1 變化到等于cc的值(數(shù)據(jù)個(gè)數(shù))時(shí),結(jié)束循環(huán)。循環(huán)結(jié)束后,輸出變量a的值,就是這個(gè)列表中的最大數(shù)。 聽講、思考、討論 教師通過(guò)講授課程內(nèi)容,向?qū)W生傳授知識(shí)。學(xué)生通過(guò)聽講和觀察,學(xué)習(xí)基礎(chǔ)知識(shí)。另外,通過(guò)提問的方式引發(fā)學(xué)生思考,培養(yǎng)其思考和分析問題的能力。課堂小結(jié) 知識(shí)回顧 對(duì)課堂知識(shí)進(jìn)行總結(jié)和梳理,幫助學(xué)生更好地理解和掌握所學(xué)內(nèi)容。拓展-提升 隨意列舉一些無(wú)序的數(shù),從中找出最小數(shù),應(yīng)該如何操作?嘗試用程序驗(yàn)證。 鞏固、拓展 通過(guò)拓展,幫助學(xué)生鞏固、延伸所學(xué)內(nèi)容,強(qiáng)化對(duì)所學(xué)知識(shí)的掌握。21世紀(jì)教育網(wǎng) www.21cnjy.com 精品試卷·第 2 頁(yè) (共 2 頁(yè))HYPERLINK "http://www.21cnjy.com/" 21世紀(jì)教育網(wǎng)(www.21cnjy.com) 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來(lái)源于二一教育資源庫(kù)