算法初步算法的概念教案新人教a版必修3_第1頁
算法初步算法的概念教案新人教a版必修3_第2頁
算法初步算法的概念教案新人教a版必修3_第3頁
算法初步算法的概念教案新人教a版必修3_第4頁
算法初步算法的概念教案新人教a版必修3_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第一章算法初步

1.1算法與程序框圖

第一課時算法的概念

教學目標

1.通過實例體會算法思想,了解算法的含義與主要特點;

2.能按步驟用自然語言寫出簡單問題的算法過程;

3.培養(yǎng)學生邏輯思維能力與表達能力.

教學重點將問題的解決過程用自然語言表示為算法過程.

教學難點用自然語言描述算法.

教學過程

一.序言

算法不僅是數(shù)學及其應(yīng)用的重要組成部分,也是計算機理論和技術(shù)的核心.在現(xiàn)代社會里,

計算機已經(jīng)成為人們?nèi)粘I詈凸ぷ鞑豢扇鄙俚墓ぞ?聽音樂、看電影、玩游戲、打字、畫卡

通畫、處理數(shù)據(jù),計算機幾乎滲透到了人們生活的所有領(lǐng)域.那么,計算機是怎樣工作的呢?

要想弄清楚這個問題,算法的學習是一個開始.同時,算法有利于發(fā)展有條理的思考與表達的

能力,提高邏輯思維能力.

在以前的學習中,雖然沒有出現(xiàn)算法這個名詞,但實際上在數(shù)學教學中已經(jīng)滲透了大量的算

法思想,如四則運算的過程、求解方程的步驟等等,完成這些工作都需要一系列程序化的步驟,

這就是算法的思想.

二、數(shù)學運用

1.算法描述舉例

例1.給出求1+2+3+4+5的一個算法.

解:算法1按照逐一相加的程序進行.

第一步:計算1+2,得到3;

第二步:將第一步中的運算結(jié)果3與3相加,得到6;

第三步:將第二步中的運算結(jié)果6與4相加,得到10;

第四步:將第三步中的運算結(jié)果10與5相加,得到15.

算法2運用公式1+2+3++〃=次土12直接計算.

2

第一步:取=5;第二步:計算巫士9;第三步:輸出運算結(jié)果.

2

說明:一個問題的算法可能不唯一

例2.給出求解方程組(2"+'=7的一個算法.

4x+5y=11

分析:解線性方程組的常用方法是加減消元法和代入消元法,這兩種方法沒有本質(zhì)的差別,

為了適用于解一般的線性方程組,以便于在計算機上實現(xiàn),我們用高斯消元法(即先將方程組

化為一個三角形方程組,在通過回代過程求出方程組的解)解線性方程組.

解:用消元法解這個方程組,步驟是:

第一步:方程①不動,將方程②中的系數(shù)除以方程①中的系數(shù),得到乘數(shù)加=&=2;

2

第二步:方程②減去乘以方程①,消去方程②中的項,得到=7;

3>=-3

x=4

第三步:將上面的方程組自下而上回代求解,得到y(tǒng)=-1,x=4.所以原方程組的解為

y=-1

2、算法概念

算法:在數(shù)學中,算法通常是指按照一定規(guī)則解決某一個或一類問題的明確和有限的步驟。

3、怎樣表達算法?

如例1:算法3

第一步:使S=l;第二步:使/=2;第三步:使5=5+1;

第四步:使/=1+1;第五步:如果/W5,則返回第三步,否則輸出5.

例1的延伸:給出求1+2+3+…N的一個算法

第一步:使S=l;第二步:使/=2;第三步:使5=5+/;

第四步:使/=/+1;第五步:如果IWN,則返回第三步,否則輸出S.

2.寫出求1+』+』+的一個算法.

23100

解:第一步:使S=l;第二步:使/=2;第三步:使〃=:;第四步:使5=5+〃;

第五步:使/=/+1;第六步:如果/Wl()(),則返回第三步,否則輸出S.

4.算法的重要特征:

(1)有限性:一個算法在執(zhí)行有限步后必須結(jié)束;

(2)確切性:算法的每一個步驟和次序必須是確定的;

(3)輸入:一個算法有0個或多個輸入,以刻劃運算對象的初始條件.所謂0個輸入是指

算法本身定出了初始條件.

(4)輸出:一個算法有1個或多個輸出,以反映對輸入數(shù)據(jù)加工后的結(jié)果.沒有輸出的算

法是毫無意義的.

第二課時算法概念的鞏固

教學目標

1.能按步驟用自然語言寫出簡單問題的算法過程;

2.培養(yǎng)學生邏輯思維能力與表達能力.

教學重點將問題的解決過程用自然語言表示為算法過程.

教學難點用自然語言描述算法.

教學過程

例1設(shè)計一個算法,判斷7是否為質(zhì)數(shù).

算法分析:

根據(jù)質(zhì)數(shù)的定義,可以這樣判斷:依次用2?6除7,如果它們中有一個能整除7,則7

不是質(zhì)數(shù),否則7是質(zhì)數(shù)。根據(jù)以上分析,可寫出如下算法1:

第一步:用2除7,得到余數(shù)1,因為余數(shù)不為0,所以2不能整除7

第二步:用3除7,得到余數(shù)1,因為余數(shù)不為0,所以3不能整除7

第三步:用4除7,得到余數(shù)3,因為余數(shù)不為0,所以4不能整除7

第四步:用5除7,得到余數(shù)2,因為余數(shù)不為0,所以5不能整除7

第五步:用6除7,得到余數(shù)1,因為余數(shù)不為0,所以6不能整除7,

所以7是質(zhì)數(shù)。

算法2:

第一步:1=2

第二步:7+1余數(shù)為r,若余數(shù)為0,則7不是質(zhì)數(shù),否則執(zhí)行第三步;

第三步:1=1+1

第四步:重復第二、第三步直到1>6時結(jié)束算法。

例1延伸:設(shè)計一個算法,判斷順2)是否為質(zhì)數(shù)?

算法:見課本2

例2:用二分法求方程*一一2=O的近似正根,精確度0.05.

解第一步:4/(X)=x2-2.a/(1)<0,/(2)>0,

設(shè)a=1,x2=2.

第二步:令m=三±三?(因方程的根在區(qū)間(再,X,內(nèi)).

2

判斷/(⑼是否為0。若/■(?/)=(),則根為所求;

若否,則進行第三步.

第三步:若/(占卜/(6)>0,則令占=四

若/(/)?/(⑼<0,則令*2=機?

第四步:判斷|看一回<0.05是否成立?

若是,貝以p9之間的任意取值均為滿足條件的近似根;

若否,則返回第二步.

例2的延伸:求后的近似值,精確度0.05.

解:第一步:確定區(qū)間【a,b],因血>1,后<2,設(shè)a=l,b=2

第二步:〃?=3,判斷也是否等于血,若相等,則加為所求,否則執(zhí)行第三步;

2

第三步:若m>亞,則令6=%;

若〃z<血,則令a=加。

第四步:重復第二、第三步,直到|a-q<0.05或加=行時結(jié)束算法。

例3:設(shè)計一個算法求x、y、z三個實數(shù)中的最大值。

解:第一步:輸入x、y、z;

第二步:比較x、y的大小,若x>y則max=x;否則x<y則max=y

第三步:比較max,z的大小,若max<z則max=z,否則執(zhí)行下一步;

第四步:輸出max。

例4:設(shè)計一個算法把A、B兩個數(shù)按從大到小的順序排列。

解:第一步:輸入A、B;

第二步:比較A、B的大小,若A>B,則輸出A、B;否則f=A;A=B;B=f

第三步:輸出A、Bo

例5:例3、例4的綜合:設(shè)計一個算法把x、y、z三個實數(shù)按從大到小的順序排列

解:第一步:輸入x、y、z;

第二步:比較x、y的大小,若則不變順序,否則f=x;x=y;y=f

第三步:比較X、Z的大小,若X>Z則不變順序,否則,=X;X=Z;Z=f

第四步:比較y、z的大小,若y>z則不變順序,否則r=y;y=z;z=r

第五步:輸出x,y、zo

第三課時程序框圖與算法基本邏輯結(jié)構(gòu)

教學目標

1.了解流程圖的概念,了解常用流程圖符號(輸入輸出框、處理框、判斷框、起止框、流

等)的意義;

2.能用程序圖表示順序結(jié)構(gòu)的算法;

3.發(fā)展學生有條理的思考與表達能力,培養(yǎng)學生的邏輯思維能力.

教學重點運用流程圖表示順序結(jié)構(gòu)的算法.

教學難點規(guī)范流程圖的表示.

教學過程

問題:如果現(xiàn)在讓你向全班同學介紹一個陌生人的外表形象,有兩種方法你可以選擇:一種

方法是用語言向大家描述,另一種方法是就將陌生人的照片拿給大家看,你們會選擇哪一種?

1.流程圖的概念:流程圖是用一些規(guī)定的圖形、指向線及簡單的文字說明來表示算法幾程

序結(jié)構(gòu)的一種圖形程序.它直觀、清晰,便于檢查和修改.其中,圖框表示各種操作的類型,圖

框中的文字和符號表示操作的內(nèi)容,帶箭頭的流程線(指向線)表示操作的先后次序.

2.構(gòu)成流程圖的圖形符號及其作用

程序框名稱功能

表示一個算法的起始和結(jié)束,是任何

起止框

算法程序框圖不可缺少的。

表示一個算法輸入和輸出的信息,可

二輸入、輸出框用在算法中任何需要輸入、輸出的位

置。

賦值、計算。算法中處理數(shù)據(jù)需要的

—處理框算式、公式等,它們分別寫在不同的

用以處理數(shù)據(jù)的處理框內(nèi)。

判斷某一條件是否成立,成立時在出

判斷框口處標明“是”或“Y”;不成立時在

O出口處標明則標明“否"或"N"。

流程線算法進行的前進方向以及先后順序

V

循環(huán)框用來表達算法中重復操作以及運算

1

O連結(jié)點連接另一頁或另一部分的框圖

注釋框幫助編者或閱讀者理解框圖

3.規(guī)范流程圖的表示:

①使用標準的框圖符號;

②框圖一般按從上到下、從左到右的方向畫,流程線要規(guī)范;

③除判斷框外,大多數(shù)框圖符號只有一個進入點和一個退出點.

④在圖形符號內(nèi)描述的語言要非常簡練、清楚.

4、算法的三種基本邏輯結(jié)構(gòu)

課本中例題的講解得出三種基本邏輯結(jié)構(gòu):順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

順序結(jié)構(gòu):

順序結(jié)構(gòu)是由若干個依次執(zhí)行的處理步驟組成的,這是任何一個算法都離不開的基本

結(jié)構(gòu)。

注:語句A和語句B是依次執(zhí)行的,只有在執(zhí)行完語句A指定的操作后,才能接著執(zhí)行語句

示意圖

例1:已知一個三角形的三邊邊長分別為2,3,4,利用海倫一秦九韶公式設(shè)計一個算法,求出

它的面積,畫出算法的程序框圖.

開始框

Jp(p4)(p》)(pc)

例2:設(shè)計一算法:輸入圓的半徑,輸出圓的面積,并畫出流程圖

算法分析:

第一步:輸入圓的半徑

第二步:利用公式''圓的面積=圓周率X(半徑的平方)”計算圓的面積;

第三步:輸出圓的面積。

第四課時條件結(jié)構(gòu)

教學目標

1.進一步理解流程圖的概念,了解條件結(jié)構(gòu)的概念,能運用流程圖表達條件結(jié)構(gòu);

2.能識別簡單的流程圖所描述的算法;

3.發(fā)展學生有條理的思考與表達能力,培養(yǎng)學生的邏輯思維能力.

教學重點運用流程圖表示條件結(jié)構(gòu)的算法.

教學難點規(guī)范流程圖的表示以及條件結(jié)構(gòu)算法的流程圖.

教學過程

一.問題情境

1.情境:

設(shè)計一個算法求X、y、z三個實數(shù)中的最大值,并畫出程序框圖。

2、條件結(jié)構(gòu)(選擇結(jié)構(gòu)):

由上面例子可以得出條件結(jié)構(gòu)的兩種形式;

V

注:算法的流程根據(jù)條件是否成立有不同的流向.

課本例題的講解。

3、條件結(jié)構(gòu)的嵌套:

例:設(shè)計一個算法畫出它的程序框圖,求這個分段函數(shù)的函數(shù)值。

我們要對一次項系數(shù)a和常數(shù)項b的取值情況進行分類,分類如下:

(1)當aWO時,方程有唯一的實數(shù)解是-幺;

a

(2)當a=0,b=0時,全體實數(shù)都是方程的解;

(3)當a=0,bWO時,方程無解。

讓學生按照剛講解的條件結(jié)構(gòu)的嵌套自己畫程序框圖。

第五課時循環(huán)結(jié)構(gòu)

教學目標

1.了解循環(huán)結(jié)構(gòu)的概念,能運用流程圖表示循環(huán)結(jié)構(gòu);

2.能識別簡單的流程圖所描述的算法;

3.發(fā)展學生有條理的思考與表達能力,培養(yǎng)學生的邏輯思維能力.

教學重點運用流程圖表示循環(huán)結(jié)構(gòu)的算法.

教學難點規(guī)范流程圖的表示以及循環(huán)結(jié)構(gòu)算法的流程圖.

教學過程

一:問題情景:例:求1+2+3+…N的一個算法

第一步:使S=l;

第二步:使/=2;

第三步:使5=5+/;

第四步:使/=/+1;

第五步:當/WN,則返回第三步、第四步,否則輸出S.

第五步也寫成:重復第三步、第四步,直到/>N時結(jié)束算法。

二:新課教學

1:循環(huán)結(jié)構(gòu)的定義:

在一些算法中,從否處開始,按照一定條件,反復執(zhí)行某一處理步驟的情況,這就是循環(huán)

結(jié)構(gòu)。

兩種循環(huán)結(jié)構(gòu)有什么差別?

當型:先判斷后執(zhí)行

先判斷指定的條件是否為真,若條件為真,執(zhí)行循環(huán)條件,條件為假時退出循環(huán)。

直到型;先執(zhí)行后判斷

先執(zhí)行循環(huán)體,然后再檢查條件是否成立,如果不成立就重復執(zhí)行循環(huán)體,直到條件成

立退出循環(huán)。

2:課本中例一、例二的講解;其中例二的講解給同學嘗試并寫出兩種循環(huán)結(jié)構(gòu)形式。

3:用二分法求解方程求關(guān)于x的方程,-2=0的根,精確到0.005

CW)

凌程圖表示

第一步令f(x)=x2-2,因為

f(1)<0,f(2)>0,所以設(shè)

a=1,b=2k=(a+〃)d

第二步今m=(a+b)/2,

到新f(m)是否為0,若

是,則m為所求,否則,

則繼姨到新f(a)f(m)大于

0還是小于0。b=m|a=m

第三步若f(a”(m)v0則

令b=m,否則a=m。

m=(a+b)/[

第舊步灼新|a-b|v0.005是_”~二

否成立?若云則a.b之間的___,輸用m

任意值均為滿足條件的近仞(^)

值;否則返回第二步。

在此基礎(chǔ)上讓學生自己寫出求解后的近似值的程序框圖。

第六課時基本算法語句

教學目標

1.正確理解賦值語句、輸入語句、輸出語句的結(jié)構(gòu);

2.讓學生充分地感知、體驗應(yīng)用計算機解決數(shù)學問題的方法;

3.通過實例,使學生理解3種基本的算法語句(輸入語句、輸出語句和賦值語句)的表示方法、結(jié)構(gòu)和用法,

能用這三種基本的算法語句表示算法,進一步體會算法的基本思想.

教學重點正確理解輸入語句、輸出語句、賦值語句的作用.

教學難點準確寫出輸入語句、輸出語句、賦值語句.

教學過程

一、問題情境

問題1:已知我班某學生上學期期末考試語文、數(shù)學和英語學科成績分別為80、100、89,試設(shè)計適當?shù)?/p>

算法求出這名學生三科的平均分.

二、學生活動

1.學生討論,教師引導學生寫出算法并畫出流程圖.

算法:

SIa-80

S2b-100

S3c-89

S4A-(a+b+c)/3

S5輸出A

2.怎樣將以上算法轉(zhuǎn)換成計算機能理解的語言呢?

下面我們將通過偽代碼學習基本的算法語句.

三、新課講解

1.偽代碼:

偽代碼是介于自然語言和計算機語言之間的文字和符號,是表達算法的簡單而實用的好方法.為了今后

能學好計算機語言,我們在偽代碼中將使用一種計算機語言“BASIC語言”的關(guān)鍵詞.

2.輸入語句

格式:INPUT"提示文字”;變量

注釋:①輸入語句又稱“鍵盤輸入語句”,計算機執(zhí)行到該語句時,暫停并等待用戶輸入程序

所需要的數(shù)據(jù);

②“提示內(nèi)容”的作用是在程序執(zhí)行時提示用戶明確將要輸入的是什么樣的數(shù)據(jù)。當提

示內(nèi)容很明顯時課省略;

③一個輸入語句可同時給多個變量賦值,此時變量與變量之間用逗號隔開;

④在輸入語句中輸入的只能是常數(shù),而不能是函數(shù)、變量或表達式;

⑤無計算功能。

功能:可以為變量提供運行所需的數(shù)據(jù),實現(xiàn)餓算法中的輸入功能。

3.輸出語句

格式:PRINT”提示內(nèi)容”;變量

注釋:①輸出語句又稱“打印語句”;

②''提示內(nèi)容”的作用是在程序執(zhí)行時提示用戶明確將要輸出的是什么樣的數(shù)據(jù)。當提

示內(nèi)容很明顯時課省略;

③一個輸出語句可同時輸出多個表達式,此時表達式與表達式之間用逗號隔開;

④有計算功能。

功能:把運行的結(jié)果輸出來。

例:INPUTuHowoldareyou";x

PRINT“Iam”;x

END

若在鍵盤中輸入16,則此程序運行的結(jié)果為Iam16

課本中例一及例二的講解。其中例二要可以寫成:

INPUT<<Maths=,Chinese=,English=w;a,b,c

y=(a+b+c)/3

PRINT"Theaverage=";y

END

4.賦值語句

格式:變量=表達式

注釋:①賦值語句中的“="稱為賦值號,而不是等號。如“s=s+n”這樣的賦值語句表示把變

量s的值與變量n的值相加后再賦給變量s;

②賦值號左邊的變量名只能是變量,不能是常量、函數(shù)或表達式;

③不能在一個賦值語句中同時給多個變量賦值;

④在一個賦值語句中可以對一個變量多次賦值,賦值后新之取代原來的舊值;

⑤有計算功能。

功能:先計算出賦值號右邊表達式的值,再將值賦給賦值號左邊的變量。

課本例三、例四的講解。

5.練習鞏固

分析下面程序執(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

(運行時從鍵盤輸入3,7)

A,B=73

第七課時條件語句

教學目標

1.正確理解條件語句的結(jié)構(gòu);

2.讓學生充分地感知、體驗應(yīng)用計算機解決數(shù)學問題的方法:

3.通過實例,使學生理解條件語句的表示方法、結(jié)構(gòu)和用法,能用條件語句表示算法,進一步體會算法的基

本思想.

教學重點正確理解條件語句的作用并會應(yīng)用.

教學難點準確寫出條件語句.

教學過程

一、問題情境

二、知識探究

1、條件語句(1)

下圖是算法的條件結(jié)構(gòu)用程序框圖表示的一種形式,它對應(yīng)的條件語句的一般格式設(shè)定

為:

IF條件THEN

語句體

ENDIF

2、條件語句(2)

下圖是算法的條件結(jié)構(gòu)用程序框圖表示的另一種形式,它對應(yīng)的條件語句的一般格式

設(shè)定為:

IF條件THEN

語句體1

ELSE

語句體2

ENDIF

三、知識遷移

1、課本第25頁例五及27頁例六、例七的講解。

l,x>0

2、例8.高等數(shù)學中經(jīng)常用到符號函數(shù),符號函數(shù)的定義為y=?O,x=O,試編寫程序輸入”的值,

—1.x<0

輸出y的值。

程序一:(嵌套結(jié)構(gòu))

程序框圖:(右圖)

程序語言:

INPUTx

IFx>0THEN

7=1

ELSE

IFx=0THEN

*0

ELSE

產(chǎn)一1

ENDIF

ENDIF

PRINTy

END

程序二:(疊加結(jié)構(gòu))

程序框圖:

程序如下:

INPUTx

IFx>0THEN

尸1

ENDIF

IFA=0THEN

y=0

ENDIF

IFKOTHEN

產(chǎn)一1

ENDIF

PRINTy

END

點評:L條件結(jié)構(gòu)的差異,造成程序執(zhí)行的不同。當代入x的數(shù)值時,

“程序一”先判斷外層的條件,依次執(zhí)行不同的分支,才有可能判斷內(nèi)層的條件;而“程序二”中執(zhí)行了對

“條件1”的判斷,同時也對“條件2”進行判斷,是按程序中條件語句的先后依次判斷所有的條件,滿足

哪個條件就執(zhí)行哪個語句。

2.條件語句的嵌套可多于兩層,可以表達算法步驟中的多重限制條件。

四、鞏固總結(jié)

條件語句的條件表達式需用連接符如下:

運算符功能舉例數(shù)學表達式

<小于a<ba<b

關(guān)系運算符

V=小于或等于a<=baWb

>大于a>ba>b

>=大于或等于a>=ba,b

=等于a=ba=b

<>不等于a<>baWb

邏輯運算符AND且x<5ANDx>1l<x<5

OR或x<0ORx>3x<0或x>3

NOT非NOTx>ax《a

第八課時循環(huán)語句

教學目標

1.正確理解循環(huán)語句的結(jié)構(gòu);

2.讓學生充分地感知、體驗應(yīng)用計算機解決數(shù)學問題的方法:

3.通過實例,使學生理解循環(huán)語句的表示方法、結(jié)構(gòu)和用法,能用循環(huán)語句表示算法,進一步體會算法的基

本思想.

教學重點循環(huán)語句的步驟、結(jié)構(gòu)及功能.

教學難點會編寫程序中的循環(huán)語句.

教學過程

1、知識探究:算法中的循環(huán)結(jié)構(gòu)是由循環(huán)語句來實現(xiàn)的

循環(huán)結(jié)構(gòu)有兩種——當型與直到型,一般程序設(shè)計語言中也有當型(WHILE型)和直到型(UNTIL

型)兩種語句結(jié)構(gòu)。

即WHILE語句和UNTIL語句。

(1)WHILE語句的一般格式是:

WHILE條件

循環(huán)體

WEND

(2)UNTIL語句的一般格式是:

提問:通過對照,大家覺得WHILE型語句與UNTIL型語句之間有什么區(qū)別呢?

區(qū)別:在WHILE語句中,是當條件滿足時執(zhí)行循環(huán)體,而在UNTIL語句中,是當條件不滿足時執(zhí)行

循環(huán)體。

2、鞏固提高

例1、編寫程序,計算自然數(shù)1+2+3+-+99+100的和.

分析:這是一個累加問題.我們可以用WHILE型語句,也可以用UNTIL型語句。

當型循環(huán)結(jié)構(gòu)

WHILE語句

S=0

WHLIEi<=100

S=S+i

i=i+1

WEND

PRINTS

END

UNTIL語句

S=0

DO

S=S+i

i=i+1

LOOPUNTILi>100

PRINTS

END

變式訓練⑴:

編寫程序求:n!=1X2X3X4X5X.......Xn的值.

WHILE謂包

廠INPUT“n=”*

i=1

S=1

WHLIEi<=n

S=S*i

i=i+1

WEND

PRINTS

END

變式訓練⑵:

編寫程序求:1X3X5X7X……義101的值.

直到型如何修改?UNITL語句

DO

S=S*i

S=S*i

i=i+2i=i+2

LOOPUNTILi>101

PRINTS

[結(jié)束

例2、課本例題的講解

3、總結(jié)歸納:學習了循環(huán)語句的兩種格式,我們來挖掘一下應(yīng)用循環(huán)語句編寫程序的“條件三要素”。

第一、循環(huán)語句中的變量一般需要進行一定的初始化操作。

請看我們用WHILE循環(huán)實現(xiàn)1到100累加為例,做一下說明:

“1+2+....+100”

部分程序如下:

sum-0

1=1

WHILEi<=100

sum=sum-f-i

i二i+1

WEND

這段程序中,循環(huán)的條件是“i<=100";因此,一開始i肯定需要一個確定的值。前面的

“i=0”這一個語句,在聲明變量i的同時,也為i賦了初始值“1”。這樣,條件i<=100得以成立(因

為i為1,所以條件"i<=100”當然成立)。

第二、循環(huán)語句在循環(huán)的過程中需要有“結(jié)束”的機會。

程序中最忌“死循環(huán)二所謂的“死循環(huán)”就是指該循環(huán)條件永遠成立,沒有跳出循環(huán)體的機會。

第三、在循環(huán)中要改變循環(huán)條件的成立因素

程序每執(zhí)行一次循環(huán)體,循環(huán)條件中涉及到的變量就會發(fā)生改變,正在步步逼近滿足跳出循環(huán)體的條件。

第九課時輾轉(zhuǎn)相除法與更相減損術(shù)

教學目標

1.理解輾轉(zhuǎn)相除法與更相減損術(shù)中蘊含的數(shù)學原理,并能根據(jù)這些原理進行算法分析;

2.基本能根據(jù)算法語句與程序框圖的知識設(shè)計完整的程序框圖并寫出算法程序;

教學重點理解輾轉(zhuǎn)相除法與更相減損術(shù)求最大公約數(shù)的方法

教學難點把輾轉(zhuǎn)相除法與更相減損術(shù)的方法轉(zhuǎn)換成程序框圖與程序語言.

教學過程

一、問題情境

在初中,我們已經(jīng)學過求最大公約數(shù)的知識,你能求出18與30的公約數(shù)嗎?

我們都是利用找公約數(shù)的方法來求最大公約數(shù),如果公約數(shù)比較大而且根據(jù)我們的觀察又不能得到一些公約

數(shù),我們又應(yīng)該怎樣求它們的最大公約數(shù)?比如求8251與6105的最大公約數(shù)?這就是我們這一堂課所要探

討的內(nèi)容.

求最大公約數(shù)

(1)短除法

求兩個正整數(shù)的最大公約數(shù)的步驟:先用兩個數(shù)公有的質(zhì)因數(shù)連續(xù)去除,一直除到所得的商是兩個互質(zhì)

數(shù)為止,然后把所有的除數(shù)連乘起來

(2)窮舉法(也叫枚舉法)

窮舉法求兩個正整數(shù)的最大公約數(shù)的解題步驟:從兩個數(shù)中較小數(shù)開始由大到小列舉,直到找到公約數(shù)

立即中斷列舉,得到的公約數(shù)便是最大公約數(shù)

二、算法設(shè)計思想:

1.輾轉(zhuǎn)相除法

例1.求兩個正數(shù)8251和6105的最大公約數(shù).

(分析:8251與6105兩數(shù)都比較大,而且沒有明顯的公約數(shù),如能把它們都變小一點,根據(jù)已有的知識

即可求出最大公約數(shù))

解:8251=6105X1+2146

顯然8251和的2146最大公約數(shù)也必是2146的約數(shù),同樣6105與2146的公約數(shù)也必是8251的約數(shù),

所以8251與6105的最大公約數(shù)也是6105與2146的最大公約數(shù).

6105=2146X2+1813

2146=1813X1+333

1813=333X5+148

333=148X2+37

148=37X4+0

則37為8251與6105的最大公約數(shù).

以上我們求最大公約數(shù)的方法就是輾轉(zhuǎn)相除法.也叫歐幾里德算法,它是由歐兒里德在公元前300年左

右首先提出的.利用輾轉(zhuǎn)相除法求最大公約數(shù)的步驟如下:

第一步:用較大的數(shù)除以較小的數(shù)得到一個商%和一個余數(shù)為;

第二步:若“=0,則為加,九的最大公約數(shù);若為工0,則用除數(shù)除以余數(shù)為得到一個商0和一個余數(shù)個

第三步:若4=0,則4為小,〃的最大公約數(shù);若{HO,則用除數(shù)4除以余數(shù)外得到一個商%和一個

余數(shù)r2;

依次計算直至4=0,此時所得到的即為所求的最大公約數(shù).

練習:利用輾轉(zhuǎn)相除法求兩數(shù)4081與20723的最大公約數(shù)(答案:53)

2.更相減損術(shù)

我國早期也有解決求最大公約數(shù)問題的算法,就是更相減損術(shù).

更相減損術(shù)求最大公約數(shù)的步驟如下:可半者半之,不可半者,副置分母之數(shù),以少減多,更相減損,

求其等也,以等數(shù)約之.

翻譯出來為:

第一步:任意給出兩個正數(shù):判斷它們是否都是偶數(shù).若是,用2約簡;若不是,執(zhí)行第二步.

第二步:以較大的數(shù)減去較小的數(shù),接著把較小的數(shù)與所得的差比較,并以大數(shù)減小數(shù).繼續(xù)這個操作,

直到所得的數(shù)相等為止,則這個數(shù)(等數(shù))就是所求的最大公約數(shù).

例2.用更相減損術(shù)求98與63的最大公約數(shù).

解:由于63不是偶數(shù),把98和63以大數(shù)減小數(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.

練習:用更相減損術(shù)求兩個正數(shù)84與72的最大公約數(shù).(答案:12)

3.比較輾轉(zhuǎn)相除法與更相減損術(shù)的區(qū)別

(1)都是求最大公約數(shù)的方法,計算上輾轉(zhuǎn)相除法以除法為主,更相減損術(shù)以減法為主,計算次數(shù)上輾

轉(zhuǎn)相除法計算次數(shù)相對較少,特別當兩個數(shù)字大小區(qū)別較大時計算次數(shù)的區(qū)別較明顯.

(2)從結(jié)果體現(xiàn)形式來看,輾轉(zhuǎn)相除法體現(xiàn)結(jié)果是以相除余數(shù)為0則得到,而更相減損術(shù)則以減數(shù)與差

相等而得到.

三.輾轉(zhuǎn)相除法的流程圖及偽代碼

利用輾轉(zhuǎn)相除法與更相減損術(shù)的計算算法,我們可以設(shè)計出程序框圖以及BSAIC程序來在計算機上實現(xiàn)

輾轉(zhuǎn)相除法與更相減損術(shù)求最大公約數(shù),下面由同學們設(shè)計相應(yīng)框圖并相互之間檢查框圖與程序的正確性,

并在計算機上驗證自己的結(jié)果.

(1)輾轉(zhuǎn)相除法的程序框圖及程序

程序框圖:

偽代碼:

Reada,b

WhileMod(a,〃)wO

r<r-Mod(a,b)

a<-b

b~r

EndWhile

Printb

用較大的數(shù)除以較小的數(shù),得到除式機=/陷+〃(04廠v〃),直到r=0.

2、更相減損術(shù)程序:

INPUT"請輸入兩個不相等的正整數(shù)”;a,b

i=0

WHILEaMOD2=0ANDbMOD2=0

a=a/2

b=b/2

i=i+l

WEND

DO

IFb<aTHEN

t=a

a=b

b=t

ENDIF

c=a-b

a=b

b=c

LOOPUNTILa=b

PRINTaT

END

四、回顧小結(jié):

對于兩個正整數(shù)如何選擇合適的方法求他們的最大公約數(shù)

方法適用范圍及特點

短除法適合兩個較小的正整數(shù)或兩個質(zhì)因數(shù)較少的正整數(shù),簡便易操作。

窮舉法適合計算機操作,但一一驗證過于繁瑣。

適用于兩個較大的正整數(shù),以除法為主,輾轉(zhuǎn)相除法計算次數(shù)相對較少,特別

輾轉(zhuǎn)相除法當兩個數(shù)字大小差別較大時計算次數(shù)較明顯。

適用于兩個較大的正整數(shù),更相減損術(shù)以減法為主,計算次數(shù)上相對于輾轉(zhuǎn)相

更相減損術(shù)

處法較多。

第十課時秦九韶算法

教學目標

1.理解秦九韶算法中蘊含的數(shù)學原理,并能根據(jù)這些原理進行算法分析;

2.基本能根據(jù)算法語句與程序框圖的知識設(shè)計完整的程序框圖并寫出算法程序;

教學重點理解秦九韶算法計算多項式的方法

教學難點把秦九韶算法轉(zhuǎn)換成程序框圖與程序語言.

教學過程

一、情景導入

計算多項式f(X)=*5+*4+牙3+*2+*+1當*=5的值

算法1:因為f(x)=x5+x4+x3+x2+x+1

所以f(5)=55+54+53+52+5+1

=3125+625+125+25+5+1

=3906

算法2:

f(5)=55+54+53+52+5+1

=5X(54+53+52+5+1)+1

=5X(5X(53+52+5+1)+1)+1

=5X(5X(5X(52+5+1)+1)+1)+1

=5X(5X(5X(5X(5+1)+1)+1)+1)+1

分根兩種算法中各用了幾嫁法運翦朝頗法運翦

二、新課講解

《數(shù)書九章》——秦九韶算法

設(shè)/(X)是一個“次的多項式

/(x)=a,,x"+%_產(chǎn)+…++%

這是怎樣的一

對該多項式按下面的方式進行改寫:種改寫方式?

/(x)=ax"++…+qx+/最后的結(jié)果是

n什么?,

=(anX"'+an-iX"----F%)X+&

=((?!坝取?2+a,./""+…+?)x+%)x+a0

=(--(??x+??_1)x+a吁2)x+???+%)x+。0

思考段當知道了X的值后該如何求多項式的值?

/(X)=(…(/x+a?_!)x+an_2)x+…+4)x+/

要求多項式的值,應(yīng)該先算最內(nèi)層的一次多項式的值,即

V]=a?x+a?_,

然后,由內(nèi)到外逐層計算一次多項式的值,即

丫2=匕尤+%,-2取后的一項是

什么?

匕=v2x+a?_3

匕,=匕-x+a。

思考及在求多項式的值上.這是怎樣的一個轉(zhuǎn)化?

這種將求一個n次多項式f(x)的值轉(zhuǎn)化成求n個一次多項式的值的

方法,稱為秦九韶算法。

例2已知一個五次多項式為

f(x)=5x5+2x4+3,5x3-2.6x2+1.7x-0.8

用秦九韶算法求這個多項式當x=5的值。

解:將多項式變形:

/(x)=((((5x+2)x+3.5)x-2.6)x+1.7)x-0.8

按由里到外的順序,依此計算一次多項式當x=5時的值:

%=5

4=5x5+2=27

v2=27x5+3.5=138.5

%=138.5x5-2.6=689.9

v4=689.9x5+1.7=3451.2

v5=3451.2x5-0.8=17255.2

所以,當x=5時,多項式的值等于17255.2

三、知識形成

程序框圖

/輸入X。/

程序見課本39頁。

四、鞏固提高

例.已知多項式函數(shù)f(x)=2x"一5x"-4X3+3X'—6X+7,求當x=5時的函數(shù)的值。

解析:把多項式變形為:f(x)=2xn—5x*—4x3+3x2—6x+7

=((((2x-5)x—4)x+3)x—6)x+7

計算的過程可以列表表示為:

多項式X系數(shù)2-5-43-67運算

1025105540

運算所得的值X)670+

尸//

//

變形后X的"系數(shù)"25211085342677*5

最后的系數(shù)2677即為所求的值

算法過程:

v0=2

vi=2X5—5=5

¥2=5X5—4=21

¥3=21X5+3=108

v.t=108X5-6=534

v5=534X5+7=2677

第十一課時進位制

教學目標

1.理解進位制中蘊含的數(shù)學原理,并能根據(jù)這些原理進行算法分析;

2.基本能根據(jù)算法語句與程序框圖的知識設(shè)計完整的程序框圖并寫出算法程序;

教學重點掌握進位制之間的互相轉(zhuǎn)化

教學難點把進位制轉(zhuǎn)換成程序框圖與程序語言.

教學過程

一、遂伍制

進位制是人們?yōu)榱擞嫈?shù)和運算方便而約定的計數(shù)

系統(tǒng)<

上匕如:

滿二進一,就是二進制;滿十進一,就是十進制;

滿十二進一,就是十二進制;滿六十進一,就是六十進制

泉“

“滿兒進一”就是幾進制,幾進制的基數(shù)就是幾.

十進制,,

我們最常用最熟悉的就是十進制數(shù),它的數(shù)值部分是十個不

同的數(shù)字符號0,1,2,3,4,5,6,7,8,9來表示的。

例如133.59,它可用一個多項式來表示:

133.59=1*102+3*101+3*10°+5*10-1+9*10-2

式中1處在百位,第一個3所在十位,第二個3所在

個位,5和9分別處在十分位和百分位。十進制數(shù)是逢

十進一的。

其它述制:

實際上,十進制數(shù)只是計數(shù)法中的一種,但它不是唯一

記數(shù)法。除了十進制數(shù),生產(chǎn)生活中還會遇到非十進制的

記數(shù)制。如時間:60秒為1分,60分為1小時,它是六十進

制的。兩根筷子一雙,兩只手套為一副,它們是二進制的。

二進制、七進制、,、進榭、十二迷喇、

力十進制....

二進制凡有0M1兩個劇室,七進刷用0?6上個劇冬

十大進制10?9十個故室及ABCDEF大個冬母.

二、進位制數(shù)之間的轉(zhuǎn)化

1、進制數(shù)之間的轉(zhuǎn)化:非十進制數(shù)轉(zhuǎn)換為十進制數(shù)比較簡單,只要計算下面的式子值即可:

a”a”T….4。0(左)=a=xk"+。"_]xk"~'+.....+0]xk+a0

第一步:從左到右依次取出k進制數(shù)…各位上的數(shù)字,乘以相應(yīng)的k的哥,k的事從n開始

取值,每次遞減1,遞減到0,即xk",a,ixk"~'.....,a}xk,a0xk°;

第二步:把所得到的乘積加起來,所得的結(jié)果就是相應(yīng)的十進制數(shù)。

十進制數(shù)轉(zhuǎn)換成非十進制數(shù)

把十進制數(shù)轉(zhuǎn)換為二進制數(shù),教科書上提供了“除2取余法”,我們可以類比得到十進制數(shù)轉(zhuǎn)換成k進制

數(shù)的算法“除k取余法”。

非十進制之間的轉(zhuǎn)換

一個自然的想法是利用十進制作為橋梁。教科書上提供了一個二進制數(shù)據(jù)與16進制數(shù)據(jù)之間的互化的方

法,也就是先有二進制數(shù)轉(zhuǎn)化為十進制數(shù),再由十進制數(shù)轉(zhuǎn)化成為16進制數(shù)。

課本41頁例三、例五的講解。

2、進制數(shù)之間的轉(zhuǎn)化的程序:課本41頁例四、例六的講解。

三、鞏固提高

例1.把十進制數(shù)89化為三進制數(shù).

解析:具體的計算方法如下:

89=3X29+2

29=3X9+2

9=3X3+0

3=3X1+0

1=3X0+1

所以:89(w=10022⑶。

點評:根據(jù)三進制數(shù)滿三進一的原則,可以用3連續(xù)去除89及其所的得的商,然后按倒序的先后順序取

出余數(shù)組成數(shù)據(jù)即可。

例2.將8進制數(shù)314706⑻化為十進制數(shù).

解析:314706⑹=3X85+1X8'+4X8、7X82+0X8'+6X8=104902。

所以,化為十進制數(shù)是104902c

第一章算法初步

1.1算法與程序框圖

第一課時算法的概念

教學目標

1.通過實例體會算法思想,了解算法的含義與主要特點;

2.能按步驟用自然語言寫出簡單問題的算法過程;

3.培養(yǎng)學生邏輯思維能力與表達能力.

教學重點將問題的解決過程用自然語言表示為算法過程.

教學難點用自然語言描述算法.

教學過程

一.序言

算法不僅是數(shù)學及其應(yīng)用的重要組成部分,也是計算機理論和技術(shù)的核心.在現(xiàn)代社會里,

計算機已經(jīng)成為人們?nèi)粘I詈凸ぷ鞑豢扇鄙俚墓ぞ?聽音樂、看電影、玩游戲、打字、畫卡

通畫、處理數(shù)據(jù),計算機幾乎滲透到了人們生活的所有領(lǐng)域.那么,計算機是怎樣工作的呢?

要想弄清楚這個問題,算法的學習是一個開始.同時,算法有利于發(fā)展有條理的思考與表達的

能力,提高邏輯思維能力.

在以前的學習中,雖然沒有出現(xiàn)算法這個名詞,但實際上在數(shù)學教學中已經(jīng)滲透了大量的算

法思想,如四則運算的過程、求解方程的步驟等等,完成這些工作都需要一系列程序化的步驟,

這就是算法的思想.

二、數(shù)學運用

1.算法描述舉例

例1.給出求1+2+3+4+5的一個算法.

解:算法1按照逐一相加的程序進行.

第一步:計算1+2,得到3;

第二步:將第一步中的運算結(jié)果3與3相加,得到6;

第三步:將第二步中的運算結(jié)果6與4相加,得到10;

第四步:將第三步中的運算結(jié)果10與5相加,得到15.

算法2運用公式1+2+3++〃=次里1直接計算.

2

第一步:取=5;第二步:計算巫士9;第三步:輸出運算結(jié)果.

2

說明:一個問題的算法可能不唯一

例2.給出求解方程組(2"+'=7的一個算法.

4x+5y=11

分析:解線性方程組的常用方法是加減消元法和代入消元法,這兩種方法沒有本質(zhì)的差別,

為了適用于解一般的線性方程組,以便于在計算機上實現(xiàn),我們用高斯消元法(即先將方程組

化為一個三角形方程組,在通過回代過程求出方程組的解)解線性方程組.

解:用消元法解這個方程組,步驟是:

第一步:方程①不動,將方程②中的系數(shù)除以方程①中的系數(shù),得到乘數(shù)加=&=2;

2

第二步:方程②減去乘以方程①,消去方程②中的項,得到「=7;

3y=-3

x=4

第三步:將上面的方程組自下而上回代求解,得到y(tǒng)=-1,x=4.所以原方程組的解為

y=-1

2、算法概念

算法:在數(shù)學中,算法通常是指按照一定規(guī)則解決某一個或一類問題的明確和有限的步驟。

3、怎樣表達算法?

如例1:算法3

第一步:使S=l;第二步:使/=2;第三步:使5=5+/;

第四步:使/=/+1;第五步:如果145,則返回第三步,否則輸出S.

例1的延伸:給出求1+2+3+…N的一個算法

第一步:使S=l;第二步:使/=2;第三步:使5=5+1;

第四步:使/=/+1;第五步:如果IWN,則返回第三步,否則輸出S.

2.寫出求1+,+1++」-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論