高中數(shù)學(xué) 算法初步 算法的概念教案 新人教A版必修3
《高中數(shù)學(xué) 算法初步 算法的概念教案 新人教A版必修3》由會(huì)員分享,可在線閱讀,更多相關(guān)《高中數(shù)學(xué) 算法初步 算法的概念教案 新人教A版必修3(32頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第一章 算法初步 1.1算法與程序框圖 第一課時(shí) 算法的概念 教學(xué)目標(biāo) 1.通過實(shí)例體會(huì)算法思想,了解算法的含義與主要特點(diǎn); 2.能按步驟用自然語(yǔ)言寫出簡(jiǎn)單問題的算法過程; 3.培養(yǎng)學(xué)生邏輯思維能力與表達(dá)能力. 教學(xué)重點(diǎn) 將問題的解決過程用自然語(yǔ)言表示為算法過程. 教學(xué)難點(diǎn) 用自然語(yǔ)言描述算法. 教學(xué)過程 一.序言 算法不僅是數(shù)學(xué)及其應(yīng)用的重要組成部分,也是計(jì)算機(jī)理論和技術(shù)的核心.在現(xiàn)代社會(huì)里,計(jì)算機(jī)已經(jīng)成為人們?nèi)粘I詈凸ぷ鞑豢扇鄙俚墓ぞ撸犚魳贰⒖措娪?、玩游戲、打字、畫卡通畫、處理?shù)據(jù),計(jì)算機(jī)幾乎滲透到了人們生活的所有領(lǐng)域.那么,計(jì)算機(jī)是怎樣工作的呢?要想
2、弄清楚這個(gè)問題,算法的學(xué)習(xí)是一個(gè)開始.同時(shí),算法有利于發(fā)展有條理的思考與表達(dá)的能力,提高邏輯思維能力. 在以前的學(xué)習(xí)中,雖然沒有出現(xiàn)算法這個(gè)名詞,但實(shí)際上在數(shù)學(xué)教學(xué)中已經(jīng)滲透了大量的算法思想,如四則運(yùn)算的過程、求解方程的步驟等等,完成這些工作都需要一系列程序化的步驟,這就是算法的思想. 二、數(shù)學(xué)運(yùn)用 1.算法描述舉例 例1.給出求1+2+3+4+5的一個(gè)算法. 解: 算法1 按照逐一相加的程序進(jìn)行. 第一步:計(jì)算1+2,得到3; 第二步:將第一步中的運(yùn)算結(jié)果3與3相加,得到6; 第三步:將第二步中的運(yùn)算結(jié)果6與4相加,得到10; 第四步:將第三步中的運(yùn)算結(jié)果10與5相加,得
3、到15. 算法2 運(yùn)用公式直接計(jì)算. 第一步:取=5;第二步:計(jì)算;第三步:輸出運(yùn)算結(jié)果. 說明:一個(gè)問題的算法可能不唯一 例2.給出求解方程組的一個(gè)算法. 分析:解線性方程組的常用方法是加減消元法和代入消元法,這兩種方法沒有本質(zhì)的差別,為了適用于解一般的線性方程組,以便于在計(jì)算機(jī)上實(shí)現(xiàn),我們用高斯消元法(即先將方程組化為一個(gè)三角形方程組,在通過回代過程求出方程組的解)解線性方程組. 解:用消元法解這個(gè)方程組,步驟是: 第一步:方程①不動(dòng),將方程②中的系數(shù)除以方程①中的系數(shù),得到乘數(shù); 第二步:方程②減去乘以方程①,消去方程②中的項(xiàng),得到; 第三步:將上面的方程組自下而上回
4、代求解,得到,.所以原方程組的解為 2、算法概念 算法:在數(shù)學(xué)中,算法通常是指按照一定規(guī)則解決某一個(gè)或一類問題的明確和有限的步驟。 3、怎樣表達(dá)算法? 如例1:算法3 第一步:使; 第二步:使;第三步:使; 第四步:使;第五步:如果,則返回第三步,否則輸出. 例1的延伸:給出求的一個(gè)算法 第一步:使; 第二步:使;第三步:使; 第四步:使;第五步:如果,則返回第三步,否則輸出. 2.寫出求的一個(gè)算法. 解:第一步:使; 第二步:使;第三步:使;第四步:使; 第五步:使;第六步:如果,則返回第三步,否則輸出. 4.算法的重要特征: (1)有限性
5、:一個(gè)算法在執(zhí)行有限步后必須結(jié)束; (2)確切性:算法的每一個(gè)步驟和次序必須是確定的; (3)輸入:一個(gè)算法有0個(gè)或多個(gè)輸入,以刻劃運(yùn)算對(duì)象的初始條件.所謂0個(gè)輸入是指算法本身定出了初始條件. (4)輸出:一個(gè)算法有1個(gè)或多個(gè)輸出,以反映對(duì)輸入數(shù)據(jù)加工后的結(jié)果.沒有輸出的算法是毫無意義的. 第二課時(shí) 算法概念的鞏固 教學(xué)目標(biāo) 1.能按步驟用自然語(yǔ)言寫出簡(jiǎn)單問題的算法過程; 2.培養(yǎng)學(xué)生邏輯思維能力與表達(dá)能力. 教學(xué)重點(diǎn) 將問題的解決過程用自然語(yǔ)言表示為算法過程. 教學(xué)難點(diǎn) 用自然語(yǔ)言描述算法. 教學(xué)過程 例1 設(shè)計(jì)一個(gè)算法,判斷7是否為質(zhì)數(shù). 算法分析
6、: 根據(jù)質(zhì)數(shù)的定義,可以這樣判斷:依次用2~6除7,如果它們中有一個(gè)能整除7,則7不是質(zhì)數(shù),否則7是質(zhì)數(shù)。根據(jù)以上分析,可寫出如下算法1: 第一步:用2除7,得到余數(shù)1,因?yàn)橛鄶?shù)不為0,所以2不能整除7 第二步:用3除7,得到余數(shù)1,因?yàn)橛鄶?shù)不為0,所以3不能整除7 第三步:用4除7,得到余數(shù)3,因?yàn)橛鄶?shù)不為0,所以4不能整除7 第四步:用5除7,得到余數(shù)2,因?yàn)橛鄶?shù)不為0,所以5不能整除7 第五步:用6除7,得到余數(shù)1,因?yàn)橛鄶?shù)不為0,所以6不能整除7, 所以7是質(zhì)數(shù)。 算法2: 第一步: 第二步:余數(shù)為r ,若余數(shù)為0,則7不是質(zhì)數(shù),否則執(zhí)行第三步; 第
7、三步: 第四步:重復(fù)第二、第三步直到時(shí)結(jié)束算法。 例1延伸: 設(shè)計(jì)一個(gè)算法,判斷整數(shù) 是否為質(zhì)數(shù)? 算法:見課本 例2:用二分法求方程 的近似正根,精確度0.05. 例2 的延伸:求的近似值,精確度0.05. 解:第一步:確定區(qū)間【a,b】, 因,設(shè)a=1,b=2 第二步:,判斷是否等于,若相等,則為所求,否則執(zhí)行第三步; 第三步:若,則令; 若,則令。 第四步:重復(fù)第二、第三步,直到或時(shí)結(jié)束算法。 例3:設(shè)計(jì)一個(gè)算法求x、y、z三個(gè)實(shí)數(shù)中的最大值。 解:第一步:輸入x、y、z; 第二步:比較x
8、、y的大小,若則;否則則 第三步:比較的大小,若則,否則執(zhí)行下一步; 第四步:輸出max。 例4:設(shè)計(jì)一個(gè)算法把A、B兩個(gè)數(shù)按從大到小的順序排列。 解:第一步:輸入A、B; 第二步:比較 A、B的大小,若,則輸出A、B;否則 第三步:輸出A、B。 例5:例3、例4的綜合:設(shè)計(jì)一個(gè)算法把x、y、z三個(gè)實(shí)數(shù)按從大到小的順序排列 解:第一步:輸入x、y、z; 第二步:比較x、y的大小,若則不變順序,否則 第三步:比較x、z的大小,若則不變順序,否則 第四步:比較y、z的大小,若則不變順序,否則 第五步:輸出x、y、z。
9、 第三課時(shí) 程序框圖與算法基本邏輯結(jié)構(gòu) 教學(xué)目標(biāo) 1.了解流程圖的概念,了解常用流程圖符號(hào)(輸入輸出框、處理框、判斷框、起止框、流程 等)的意義; 2.能用程序圖表示順序結(jié)構(gòu)的算法; 3.發(fā)展學(xué)生有條理的思考與表達(dá)能力,培養(yǎng)學(xué)生的邏輯思維能力. 教學(xué)重點(diǎn) 運(yùn)用流程圖表示順序結(jié)構(gòu)的算法. 教學(xué)難點(diǎn) 規(guī)范流程圖的表示. 教學(xué)過程 問題:如果現(xiàn)在讓你向全班同學(xué)介紹一個(gè)陌生人的外表形象,有兩種方法你可以選擇:一種方法是用語(yǔ)言向大家描述,另一種方法是就將陌生人的照片拿給大家看,你們會(huì)選擇哪一種 ? 1.流程圖的概念:流程圖是用一些規(guī)定的圖形、指向線及簡(jiǎn)單的文字說明來表示算
10、法幾程序結(jié)構(gòu)的一種圖形程序.它直觀、清晰,便于檢查和修改.其中,圖框表示各種操作的類型,圖框中的文字和符號(hào)表示操作的內(nèi)容,帶箭頭的流程線(指向線)表示操作的先后次序. 2.構(gòu)成流程圖的圖形符號(hào)及其作用 程序框 名稱 功能 起止框 表示一個(gè)算法的起始和結(jié)束,是任何算法程序框圖不可缺少的。 輸入、輸出框 表示一個(gè)算法輸入和輸出的信息,可用在算法中任何需要輸入、輸出的位置。 處理框 賦值、計(jì)算。算法中處理數(shù)據(jù)需要的算式、公式等,它們分別寫在不同的用以處理數(shù)據(jù)的處理框內(nèi)。 判斷框 判斷某一條件是否成立,成立時(shí)在出口處標(biāo)明“是”或“Y”;不成立時(shí)在
11、出口處標(biāo)明則標(biāo)明“否”或“N”。 流程線 算法進(jìn)行的前進(jìn)方向以及先后順序 循環(huán)框 用來表達(dá)算法中重復(fù)操作以及運(yùn)算 連結(jié)點(diǎn) 連接另一頁(yè)或另一部分的框圖 注釋框 幫助編者或閱讀者理解框圖 3.規(guī)范流程圖的表示: ①使用標(biāo)準(zhǔn)的框圖符號(hào); ②框圖一般按從上到下、從左到右的方向畫,流程線要規(guī)范; ③除判斷框外,大多數(shù)框圖符號(hào)只有一個(gè)進(jìn)入點(diǎn)和一個(gè)退出點(diǎn). ④在圖形符號(hào)內(nèi)描述的語(yǔ)言要非常簡(jiǎn)練、清楚. 4、算法的三種基本邏輯結(jié)構(gòu) 課本中例題的講解得出三種基本邏輯結(jié)構(gòu):順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu) 順序結(jié)構(gòu): 順序結(jié)構(gòu)是由若干個(gè)依次執(zhí)行的處理步驟組成的,
12、這是任何一個(gè)算法都離不開的基本結(jié)構(gòu)。 語(yǔ)句A 語(yǔ)句B 示意圖 注:語(yǔ)句A和語(yǔ)句B是依次執(zhí)行的,只有在執(zhí)行完語(yǔ)句A指定的操作后,才能接著執(zhí)行語(yǔ)句B所指定的操作. 例1:已知一個(gè)三角形的三邊邊長(zhǎng)分別為2,3,4,利用海倫—秦九韶公式設(shè)計(jì)一個(gè)算法,求出它的面積,畫出算法的程序框圖. 開始 輸出S 結(jié)束 處理框 輸出框 結(jié)束框 輸入a,b,c 輸入框 開始框 例2 : 設(shè)計(jì)一算法:輸入圓的半徑,輸出圓的面積,并畫出流程圖 算法分析: 第一步:輸入圓的半徑 第二步:利用公式“圓的面積=圓周率×(半徑的平方)”計(jì)算圓的
13、面積; 第三步:輸出圓的面積。 開始 結(jié)束 輸入半徑R 計(jì)算S=Pi*R*R 輸出面積S 定義Pi=3.14 第四課時(shí) 條件結(jié)構(gòu) 教學(xué)目標(biāo) 1. 進(jìn)一步理解流程圖的概念,了解條件結(jié)構(gòu)的概念,能運(yùn)用流程圖表達(dá)條件結(jié)構(gòu); 2.能識(shí)別簡(jiǎn)單的流程圖所描述的算法; 3.發(fā)展學(xué)生有條理的思考與表達(dá)能力,培養(yǎng)學(xué)生的邏輯思維能力. 教學(xué)重點(diǎn) 運(yùn)用流程圖表示條件結(jié)構(gòu)的算法. 教學(xué)難點(diǎn) 規(guī)范流程圖的表示以及條件結(jié)構(gòu)算法的流程圖. 教學(xué)過程 一.問題情境 1.情境: 設(shè)計(jì)一個(gè)算法求x、y、z三個(gè)實(shí)數(shù)中的最大值,并畫出程序框圖。
14、開始 輸入x、y、z N Y 結(jié)束 輸出max N Y 2、條件結(jié)構(gòu)(選擇結(jié)構(gòu)): 由上面例子可以得出條件結(jié)構(gòu)的兩種形式; 滿足條件? 步驟A 步驟B 是 否 Y 滿足條件? 步驟A 是 否 注:算法的流程根據(jù)條件是否成立有不同的流向. 課本例題的講解。 3、條件結(jié)構(gòu)的嵌套: 例:設(shè)計(jì)一個(gè)算法畫出它的程序框圖,求這個(gè)分段函數(shù)的函數(shù)值。 開始 , , 輸入x , 程
15、序框圖: 滿足條件? 步驟A 步驟B N Y N Y 結(jié)束 輸出y 練習(xí):設(shè)計(jì)算法,求的解,并畫出程序框圖。 解析:對(duì)于方程來講,應(yīng)該分情況討論方程的解 我們要對(duì)一次項(xiàng)系數(shù)a和常數(shù)項(xiàng)b的取值情況進(jìn)行分類,分類如下: (1)當(dāng)a≠0時(shí),方程有唯一的實(shí)數(shù)解是; (2)當(dāng)a=0,b=0時(shí),全體實(shí)數(shù)都是方程的解; (3)當(dāng)a=0,b≠0時(shí),方程無解 讓學(xué)生按照剛講解的條件結(jié)構(gòu)的嵌套自己畫程序框圖。
16、 第五課時(shí) 循環(huán)結(jié)構(gòu) 教學(xué)目標(biāo) 1.了解循環(huán)結(jié)構(gòu)的概念,能運(yùn)用流程圖表示循環(huán)結(jié)構(gòu); 2.能識(shí)別簡(jiǎn)單的流程圖所描述的算法; 3.發(fā)展學(xué)生有條理的思考與表達(dá)能力,培養(yǎng)學(xué)生的邏輯思維能力. 教學(xué)重點(diǎn) 運(yùn)用流程圖表示循環(huán)結(jié)構(gòu)的算法. 教學(xué)難點(diǎn) 規(guī)范流程圖的表示以及循環(huán)結(jié)構(gòu)算法的流程圖. 教學(xué)過程 一:?jiǎn)栴}情景:例:求的一個(gè)算法 第一步:使; 第二步:使; 第三步:使; 第四步:使; 第五步:當(dāng),則返回第三步、第四步,否則輸出. 第五步也寫成:重復(fù)第三步、第四步,直到時(shí)結(jié)束算法。 二:新課教學(xué) 1:循
17、環(huán)結(jié)構(gòu)的定義: 在一些算法中,從否處開始,按照一定條件,反復(fù)執(zhí)行某一處理步驟的情況,這就是循環(huán)結(jié)構(gòu)。 反復(fù)執(zhí)行的處理步驟稱為循環(huán)體。 A P 成立 不成立 While(當(dāng)型)循環(huán) 成立 A P 不成立 Until(直到型)循環(huán) 兩種循環(huán)結(jié)構(gòu)有什么差別? 當(dāng)型:先判斷 后執(zhí)行 先判斷指定的條件是否為真,若條件為真,執(zhí)行循環(huán)條件,條件為假時(shí)退出循環(huán)。 直到型;先執(zhí)行 后判斷 先執(zhí)行循環(huán)體,然后再檢查條件是否成立,如果不成立就重復(fù)執(zhí)行循環(huán)體,直到條件成立退出循環(huán)。 2:課本中例一、例二的講解;其中例二的講解給同學(xué)嘗試并寫出兩種循環(huán)結(jié)構(gòu)形式
18、。 3:用二分法求解方程求關(guān)于x的方程的根,精確到0.005 在此基礎(chǔ)上讓學(xué)生自己寫出求解的近似值的程序框圖。 第六課時(shí) 基本算法語(yǔ)句 教學(xué)目標(biāo) 1.正確理解賦值語(yǔ)句、輸入語(yǔ)句、輸出語(yǔ)句的結(jié)構(gòu); 2.讓學(xué)生充分地感知、體驗(yàn)應(yīng)用計(jì)算機(jī)解決數(shù)學(xué)問題的方法; 3.通過實(shí)例,使學(xué)生理解3種基本的算法語(yǔ)句(輸入語(yǔ)句、輸出語(yǔ)句和賦值語(yǔ)句)的表示方法、結(jié)構(gòu)和用法,能用這三種基本的算法語(yǔ)句表示算法,進(jìn)一步體會(huì)算法的基本思想. 教學(xué)重點(diǎn) 正確理解輸入語(yǔ)句、輸出語(yǔ)句、賦值語(yǔ)句的作用. 教學(xué)難點(diǎn)
19、準(zhǔn)確寫出輸入語(yǔ)句、輸出語(yǔ)句、賦值語(yǔ)句. 教學(xué)過程 一、問題情境 問題1:已知我班某學(xué)生上學(xué)期期末考試語(yǔ)文、數(shù)學(xué)和英語(yǔ)學(xué)科成績(jī)分別為80、100、89,試設(shè)計(jì)適當(dāng)?shù)乃惴ㄇ蟪鲞@名學(xué)生三科的平均分. a←80 b←10 c←89 A←(a+b+c)/3 輸出A 結(jié)束 開始 二、學(xué)生活動(dòng) 算法: S1 a←80 S2 b←100 S3 c←89 S4 A←(a+b+c)/3 S5 輸出A 1.學(xué)生討論,教師引導(dǎo)學(xué)生寫出算法并畫出流程圖. 2.怎樣將以上算法轉(zhuǎn)換成計(jì)算機(jī)能理解的語(yǔ)言呢? 下面我們將通過偽代碼學(xué)習(xí)基本的算法語(yǔ)句.
20、 三、新課講解 1.偽代碼: 偽代碼是介于自然語(yǔ)言和計(jì)算機(jī)語(yǔ)言之間的文字和符號(hào),是表達(dá)算法的簡(jiǎn)單而實(shí)用的好方法.為了今后能學(xué)好計(jì)算機(jī)語(yǔ)言,我們?cè)趥未a中將使用一種計(jì)算機(jī)語(yǔ)言“BASIC語(yǔ)言”的關(guān)鍵詞. 2.輸入語(yǔ)句 格式: INPUT “提示文字”;變量 注釋:①輸入語(yǔ)句又稱“鍵盤輸入語(yǔ)句”,計(jì)算機(jī)執(zhí)行到該語(yǔ)句時(shí),暫停并等待用戶輸入程序所需要的數(shù)據(jù); ②“提示內(nèi)容”的作用是在程序執(zhí)行時(shí)提示用戶明確將要輸入的是什么樣的數(shù)據(jù)。當(dāng)提示內(nèi)容很明顯時(shí)課省略; ③一個(gè)輸入語(yǔ)句可同時(shí)給多個(gè)變量賦值,此時(shí)變量與變量之間用逗號(hào)隔開; ④在輸入
21、語(yǔ)句中輸入的只能是常數(shù),而不能是函數(shù)、變量或表達(dá)式; ⑤無計(jì)算功能。 功能:可以為變量提供運(yùn)行所需的數(shù)據(jù),實(shí)現(xiàn)餓算法中的輸入功能。 3.輸出語(yǔ)句 格式:PRINT “提示內(nèi)容”;變量 注釋:①輸出語(yǔ)句又稱“打印語(yǔ)句”; ②“提示內(nèi)容”的作用是在程序執(zhí)行時(shí)提示用戶明確將要輸出的是什么樣的數(shù)據(jù)。當(dāng)提示內(nèi)容很明顯時(shí)課省略; ③一個(gè)輸出語(yǔ)句可同時(shí)輸出多個(gè)表達(dá)式,此時(shí)表達(dá)式與表達(dá)式之間用逗號(hào)隔開; ④有計(jì)算功能。 功能:把運(yùn)行的結(jié)果輸出來。 例:INPUT “How old are you” ;x PRINT “I am”;x
22、 END 若在鍵盤中輸入16,則此程序運(yùn)行的結(jié)果為I am 16 課本中例一及例二的講解。其中例二要可以寫成: INPUT “Maths=,Chinese=,English=”;a,b,c PRINT “The average=”;y END 4.賦值語(yǔ)句 格式:變量=表達(dá)式 注釋:①賦值語(yǔ)句中的“=”稱為賦值號(hào),而不是等號(hào)。如“s=s+n”這樣的賦值語(yǔ)句表示把變量s的值與變量n的值相加后再賦給變量s; ②賦值號(hào)左邊的變量名只能是變量,不能是常量、函數(shù)或表達(dá)式; ③不能在一個(gè)賦值語(yǔ)句中同時(shí)給多個(gè)變
23、量賦值; ④在一個(gè)賦值語(yǔ)句中可以對(duì)一個(gè)變量多次賦值,賦值后新之取代原來的舊值; ⑤有計(jì)算功能。 功能:先計(jì)算出賦值號(hào)右邊表達(dá)式的值,再將值賦給賦值號(hào)左邊的變量。 課本例三、例四的講解。 5.練習(xí)鞏固 分析下面程序執(zhí)行的結(jié)果 (1) A=-1000 A=A+100 PRINT “A=”;A END A=-900 (2) INPUT “A,B=”;A,B B=A+B A=B-A B=B-A PRINT “A,B=”;A,B END (運(yùn)行時(shí)從鍵盤輸入3,7) A,B =7 3 第七課時(shí) 條件語(yǔ)句 教學(xué)目標(biāo)
24、1.正確理解條件語(yǔ)句的結(jié)構(gòu); 2.讓學(xué)生充分地感知、體驗(yàn)應(yīng)用計(jì)算機(jī)解決數(shù)學(xué)問題的方法; 3.通過實(shí)例,使學(xué)生理解條件語(yǔ)句的表示方法、結(jié)構(gòu)和用法,能用條件語(yǔ)句表示算法,進(jìn)一步體會(huì)算法的基本思想. 教學(xué)重點(diǎn) 正確理解條件語(yǔ)句的作用并會(huì)應(yīng)用. 教學(xué)難點(diǎn) 準(zhǔn)確寫出條件語(yǔ)句. 教學(xué)過程 一、問題情境 二、知識(shí)探究 1、條件語(yǔ)句(1) 下圖是算法的條件結(jié)構(gòu)用程序框圖表示的一種形式,它對(duì)應(yīng)的條件語(yǔ)句的一般格式設(shè)定為: 滿足條件? 步驟A 是 否 IF 條件 THEN 語(yǔ)句體 END IF 2、條件語(yǔ)句(2) 下
25、圖是算法的條件結(jié)構(gòu)用程序框圖表示的另一種形式,它對(duì)應(yīng)的條件語(yǔ)句的一般格式設(shè)定為: 滿足條件? 步驟A 步驟B 是 否 Y IF 條件 THEN 語(yǔ)句體1 ELSE 語(yǔ)句體2 END IF 三、知識(shí)遷移 1、課本第25頁(yè)例五及27頁(yè)例六、例七的講解。 2、Y 開始 輸入x x>0? x=0 輸出1 輸出0 輸出0 Y N N 結(jié)束 例8.高等數(shù)學(xué)中經(jīng)常用到符號(hào)函數(shù),符號(hào)函數(shù)的定義為,試編寫程序輸入x的值,輸出y的值。 程序一:(嵌套結(jié)構(gòu)) 程序框圖:(右圖) 程序語(yǔ)言: INPUT x IF x>0 THEN
26、y=1 ELSE IF x=0 THEN y=0 ELSE y=-1 END IF END IF PRINT y END 程序二:(疊加結(jié)構(gòu)) Y 開始 輸入x x>0? 輸出1 Y N N 結(jié)束 x=0? 輸出0 x<0? 輸出-1 Y N 程序框圖: 程序如下: INPUT x IF x>0 THEN y=1 END IF IF x=0 THEN y=0 END IF IF x<0 THEN y=-1 END IF PRINT y END 點(diǎn)評(píng):1.條件結(jié)構(gòu)的差異,造成程序執(zhí)行的不同。當(dāng)代入x的數(shù)值時(shí),
27、“程序一”先判斷外層的條件,依次執(zhí)行不同的分支,才有可能判斷內(nèi)層的條件;而“程序二”中執(zhí)行了對(duì)“條件1”的判斷,同時(shí)也對(duì)“條件2”進(jìn)行判斷,是按程序中條件語(yǔ)句的先后依次判斷所有的條件,滿足哪個(gè)條件就執(zhí)行哪個(gè)語(yǔ)句 2.條件語(yǔ)句的嵌套可多于兩層,可以表達(dá)算法步驟中的多重限制條件。 四、鞏固總結(jié) 條件語(yǔ)句的條件表達(dá)式需用連接符如下: ? 運(yùn)算符 功能 舉例 數(shù)學(xué)表達(dá)式 關(guān)系運(yùn)算符 < 小于 a <b a <b <﹦ 小于或等于 a <﹦ b a≤b > 大于 a > b a > b > ﹦ 大于或等于 a > ﹦b a ≥ b ﹦ 等于 a
28、 ﹦b a ﹦b ﹤﹥ 不等于 a ﹤﹥b a≠b 邏輯運(yùn)算符 AND 且 x <5 AND x > 1 1<x<5 OR 或 x <0 OR x > 3 x<0或x>3 NOT 非 NOT x > a x ≤a 第八課時(shí) 循環(huán)語(yǔ)句 教學(xué)目標(biāo) 1.正確理解循環(huán)語(yǔ)句的結(jié)構(gòu); 2.讓學(xué)生充分地感知、體驗(yàn)應(yīng)用計(jì)算機(jī)解決數(shù)學(xué)問題的方法; 3.通過實(shí)例,使學(xué)生理解循環(huán)語(yǔ)句的表示方法、結(jié)構(gòu)和用法,能用循環(huán)語(yǔ)句表示算法,進(jìn)一步體會(huì)算法的基本思想. 教學(xué)重點(diǎn) 循環(huán)語(yǔ)句的步驟、結(jié)構(gòu)及功能. 教學(xué)難點(diǎn) 會(huì)編寫程序中的循環(huán)語(yǔ)句. 教學(xué)過程
29、 1、知識(shí)探究:算法中的循環(huán)結(jié)構(gòu)是由循環(huán)語(yǔ)句來實(shí)現(xiàn)的 循環(huán)結(jié)構(gòu)有兩種-----當(dāng)型與直到型,一般程序設(shè)計(jì)語(yǔ)言中也有當(dāng)型(WHILE型)和直到型(UNTIL型)兩種語(yǔ)句結(jié)構(gòu)。 提問:通過對(duì)照,大家覺得WHILE型語(yǔ)句與UNTIL型語(yǔ)句之間有什么區(qū)別呢? 區(qū)別:在WHILE語(yǔ)句中,是當(dāng)條件滿足時(shí)執(zhí)行循環(huán)體,而在UNTIL語(yǔ)句中,是當(dāng)條件不滿足時(shí)執(zhí)行循環(huán)體。 2、鞏固提高 例1、編寫程序,計(jì)算自然數(shù)1+2+3+…+99+100的和. 分析:這是一個(gè)累加問題.我們可以用WHILE型語(yǔ)句,也可以用UNTIL型語(yǔ)句。 例2、課本例題的講解 3、總結(jié)歸納:學(xué)習(xí)了循環(huán)
30、語(yǔ)句的兩種格式,我們來挖掘一下應(yīng)用循環(huán)語(yǔ)句編寫程序的“條件三要素”。 第一、循環(huán)語(yǔ)句中的變量一般需要進(jìn)行一定的初始化操作。 請(qǐng)看我們用WHILE循環(huán)實(shí)現(xiàn)1到100累加為例,做一下說明: “1+2+……+100” 部分程序如下: sum = 0 i =1 WHILE i <= 100 sum = sum+ i i=i+1 WEND 這段程序中,循環(huán)的條件是“i <= 100”;因此,一開始i肯定需要一個(gè)確定的值。前面的 “i = 0”這一個(gè)語(yǔ)句,在聲明變量i的同時(shí),也為i賦了初始值“1”。這樣,條件 i <= 100 得以成立(因?yàn)閕為1,所以 條件“i <= 1
31、00” 當(dāng)然成立)。 第二、循環(huán)語(yǔ)句在循環(huán)的過程中需要有“結(jié)束”的機(jī)會(huì) 程序中最忌“死循環(huán)”。所謂的“死循環(huán)”就是指該循環(huán)條件永遠(yuǎn)成立,沒有跳出循環(huán)體的機(jī)會(huì)。 第三、在循環(huán)中要改變循環(huán)條件的成立因素 程序每執(zhí)行一次循環(huán)體,循環(huán)條件中涉及到的變量就會(huì)發(fā)生改變,正在步步逼近滿足跳出循環(huán)體的條件 第九課時(shí) 輾轉(zhuǎn)相除法與更相減損術(shù) 教學(xué)目標(biāo) 1.理解輾轉(zhuǎn)相除法與更相減損術(shù)中蘊(yùn)含的數(shù)學(xué)原理,并能根據(jù)這些原理進(jìn)行算法分析; 2.基本能根據(jù)算法語(yǔ)句與程序框圖的知識(shí)設(shè)計(jì)完整的程序框圖并寫出算法程序; 教學(xué)重點(diǎn) 理解輾轉(zhuǎn)相除法與更相減損術(shù)求最大公
32、約數(shù)的方法 教學(xué)難點(diǎn) 把輾轉(zhuǎn)相除法與更相減損術(shù)的方法轉(zhuǎn)換成程序框圖與程序語(yǔ)言. 教學(xué)過程 一、問題情境 在初中,我們已經(jīng)學(xué)過求最大公約數(shù)的知識(shí),你能求出18與30的公約數(shù)嗎? 我們都是利用找公約數(shù)的方法來求最大公約數(shù),如果公約數(shù)比較大而且根據(jù)我們的觀察又不能得到一些公約數(shù),我們又應(yīng)該怎樣求它們的最大公約數(shù)?比如求8251與6105的最大公約數(shù)?這就是我們這一堂課所要探討的內(nèi)容. 求最大公約數(shù) (1)短除法 求兩個(gè)正整數(shù)的最大公約數(shù)的步驟:先用兩個(gè)數(shù)公有的質(zhì)因數(shù)連續(xù)去除,一直除到所得的商是兩個(gè)互質(zhì)數(shù)為止,然后把所有的除數(shù)連乘起來 (2)窮舉法(也叫枚舉法) 窮舉法求兩個(gè)正
33、整數(shù)的最大公約數(shù)的解題步驟:從兩個(gè)數(shù)中較小數(shù)開始由大到小列舉,直到找到公約數(shù)立即中斷列舉,得到的公約數(shù)便是最大公約數(shù) 二、算法設(shè)計(jì)思想: 1.輾轉(zhuǎn)相除法 例1.求兩個(gè)正數(shù)8251和6105的最大公約數(shù). (分析:8251與6105兩數(shù)都比較大,而且沒有明顯的公約數(shù),如能把它們都變小一點(diǎn),根據(jù)已有的知識(shí)即可求出最大公約數(shù)) 解:8251=6105×1+2146 顯然8251和的2146最大公約數(shù)也必是2146的約數(shù),同樣6105與2146的公約數(shù)也必是8251的約數(shù),所以8251與6105的最大公約數(shù)也是6105與2146的最大公約數(shù). 6105=2146×2+1813 2
34、146=1813×1+333 1813=333×5+148 333=148×2+37 148=37×4+0 則37為8251與6105的最大公約數(shù). 以上我們求最大公約數(shù)的方法就是輾轉(zhuǎn)相除法.也叫歐幾里德算法,它是由歐幾里德在公元前300年左右首先提出的.利用輾轉(zhuǎn)相除法求最大公約數(shù)的步驟如下: 第一步:用較大的數(shù)除以較小的數(shù)得到一個(gè)商和一個(gè)余數(shù); 第二步:若,則為的最大公約數(shù);若,則用除數(shù)除以余數(shù)得到一個(gè)商和一個(gè)余數(shù); 第三步:若,則為的最大公約數(shù);若,則用除數(shù)除以余數(shù)得到一個(gè)商和一個(gè)余數(shù); …… 依次計(jì)算直至,此時(shí)所得到的即為所求的最大公約數(shù). 練習(xí):利用輾轉(zhuǎn)相除法求兩
35、數(shù)4081與20723的最大公約數(shù)(答案:53) 2.更相減損術(shù) 我國(guó)早期也有解決求最大公約數(shù)問題的算法,就是更相減損術(shù). 更相減損術(shù)求最大公約數(shù)的步驟如下:可半者半之,不可半者,副置分母之?dāng)?shù),以少減多,更相減損,求其等也,以等數(shù)約之. 翻譯出來為: 第一步:任意給出兩個(gè)正數(shù);判斷它們是否都是偶數(shù).若是,用2約簡(jiǎn);若不是,執(zhí)行第二步. 第二步:以較大的數(shù)減去較小的數(shù),接著把較小的數(shù)與所得的差比較,并以大數(shù)減小數(shù).繼續(xù)這個(gè)操作,直到所得的數(shù)相等為止,則這個(gè)數(shù)(等數(shù))就是所求的最大公約數(shù). 例2. 用更相減損術(shù)求98與63的最大公約數(shù). 解:由于63不是偶數(shù),把98和63以大數(shù)減小
36、數(shù),并輾轉(zhuǎn)相減, 即:98-63=35 63-35=28 35-28=7 28-7=21 21-7=14 14-7=7 所以,98與63的最大公約數(shù)是7. 練習(xí):用更相減損術(shù)求兩個(gè)正數(shù)84與72的最大公約數(shù).(答案:12) 3.比較輾轉(zhuǎn)相除法與更相減損術(shù)的區(qū)別 (1)都是求最大公約數(shù)的方法,計(jì)算上輾轉(zhuǎn)相除法以除法為主,更相減損術(shù)以減法為主,計(jì)算次數(shù)上輾轉(zhuǎn)相除法計(jì)算次數(shù)相對(duì)較少,特別當(dāng)兩個(gè)數(shù)字大小區(qū)別較大時(shí)計(jì)算次數(shù)的區(qū)別較明顯. (2)從結(jié)果體現(xiàn)形式來看,輾轉(zhuǎn)相除法體現(xiàn)結(jié)果是以相除余數(shù)為0則得到,而更相減損術(shù)則以減數(shù)與差相等而得到. 三. 輾轉(zhuǎn)相除法的流程圖及偽代碼 利
37、用輾轉(zhuǎn)相除法與更相減損術(shù)的計(jì)算算法,我們可以設(shè)計(jì)出程序框圖以及BSAIC程序來在計(jì)算機(jī)上實(shí)現(xiàn)輾轉(zhuǎn)相除法與更相減損術(shù)求最大公約數(shù),下面由同學(xué)們?cè)O(shè)計(jì)相應(yīng)框圖并相互之間檢查框圖與程序的正確性,并在計(jì)算機(jī)上驗(yàn)證自己的結(jié)果. (1)輾轉(zhuǎn)相除法的程序框圖及程序 程序框圖: 輸出b 開始 輸入a,b 結(jié)束 偽代碼: 用較大的數(shù)除以較小的數(shù),得到除式,直到. 2、更相減損術(shù)程序: INPUT “請(qǐng)輸入兩個(gè)不相等的正整數(shù)”;a,b i=0 WHILE a MOD 2=0 AND b MOD 2=0 a=a/2
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案