2017蘇教版高一數(shù)學(xué)算法的概念1_第1頁
2017蘇教版高一數(shù)學(xué)算法的概念1_第2頁
2017蘇教版高一數(shù)學(xué)算法的概念1_第3頁
2017蘇教版高一數(shù)學(xué)算法的概念1_第4頁
2017蘇教版高一數(shù)學(xué)算法的概念1_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1.1.1算法的概念

一、三維目標(biāo):

1、知識與技能:

(1)了解算法的含義,體會算法的思想。(2)能夠用自然語言敘述算法。(3)掌握正確的

算法應(yīng)滿足的要求。(4)會寫出解線性方程(組)的算法。(5)會寫出一個求有限整數(shù)序列

中的最大值的算法。(6)會應(yīng)用Scilab求解方程組。

2、過程與方法:

通過求解二元一次方程組,體會解方程的一般性步驟,從而得到一個解二元一次方程組

的步驟,這些步驟就是算法,不同的問題有不同的算法。由于思考問題的角度不同,同一個

問題也可能有多個算法,能模仿求解二元一次方程組的步驟,寫出一個求有限整數(shù)序列中的

最大值的算法。

3、情感態(tài)度與價值觀:

通過本節(jié)的學(xué)習(xí),使我們對計算機(jī)的算法語言有一個基本的了解,明確算法的要求,認(rèn)

識到計算機(jī)是人類征服自然的一各有力工具,進(jìn)一步提高探索、認(rèn)識世界的能力。

二、重點與難點:

重點:算法的含義、解二元一次方程組和判斷一個數(shù)為質(zhì)數(shù)的算法設(shè)計。

難點:把自然語言轉(zhuǎn)化為算法語言。

三、學(xué)法與教學(xué)用具:

學(xué)法:1、寫出的算法,必須能解決一類問題(如:判斷一個整數(shù)n(n>l)是否為質(zhì)數(shù);

求任意一個方程的近似解;……),并且能夠重復(fù)使用。

2、要使算法盡量簡單、步驟盡量少。

3、要保證算法正確,且計算機(jī)能夠執(zhí)行,如:讓計算機(jī)計算1X2X3X4X5是可以做

到的,但讓計算機(jī)去執(zhí)行“倒一杯水”“替我理發(fā)”等則是做不到的。

教學(xué)用具:電腦,計算器,圖形計算器

四、教學(xué)設(shè)想:

1、創(chuàng)設(shè)情境:

算法作為一個名詞,在中學(xué)教科書中并沒有出現(xiàn)過,我們在基礎(chǔ)教育階段還沒有接觸算

法概念。但是我們卻從小學(xué)就開始接觸算法,熟悉許多問題的算法。如,做四則運(yùn)算要先乘

除后加減,從里往外脫括弧,豎式筆算等都是算法,至于乘法口訣、珠算口訣更是算法的具

體體現(xiàn)。我們知道解一元二次方程的算法,求解一元一次不等式、一元二次不等式的算法,

解線性方程組的算法,求兩個數(shù)的最大公因數(shù)的算法等。因此,算法其實是重要的數(shù)學(xué)對象。

2、探索研究

算法(algorithm)一詞源于算術(shù)(algorism),即算術(shù)方法,是指一個由已知推求未知的

運(yùn)算過程。后來,人們把它推廣到一般,把進(jìn)行某一工作的方法和步驟稱為算法。

廣義地說,算法就是做某一件事的步驟或程序。菜譜是做菜肴的算法,洗衣機(jī)的使用說

明書是操作洗衣機(jī)的算法,歌譜是一首歌曲的算法。在數(shù)學(xué)中,主要研究計算機(jī)能實現(xiàn)的算

法,即按照某種機(jī)械程序步驟一定可以得到結(jié)果的解決問題的程序。比如解方程的算法、函

數(shù)求值的算法、作圖的算法,等等。

3、例題分析:

例1任意給定一個大于1的整數(shù)n,試設(shè)計一個程序或步驟對n是否為質(zhì)數(shù)’做出判定。

算法分析:根據(jù)質(zhì)數(shù)的定義,很容易設(shè)計出下面的步驟:

第一步:判斷n是否等于2,若n=2,則n是質(zhì)數(shù);若n>2,則執(zhí)行第二步。

第二步:依次從2至(n-1)檢驗是不是n的因數(shù),即整除n的數(shù),若有這樣的數(shù),則

n不是質(zhì)數(shù);若沒有這樣的數(shù),則n是質(zhì)數(shù)。

這是判斷一個大于1的整數(shù)n是否為質(zhì)數(shù)的最基本算法。

例2用二分法設(shè)計一個求議程x2-2=0的近似根的算法。

算法分析:回顧二分法解方程的過程,并假設(shè)所求近似根與準(zhǔn)確解的差的絕對值不超

過0.005,則不難設(shè)計出以下步驟:

第一步:令f(x)=x?-2。因為f(l)<0,f(2)>0,所以設(shè)Xi=l,X2=2。

第二步:令m=(Xi+x2)/2,判斷f(m)是否為0,若則,則m為所長;若否,則繼續(xù)判斷

f(xt)?f(m)大于0還是小于0。

第三步:若f(xi)?f(m)>0,則令xi=m;否則,令X2=m。

第四步:判斷區(qū)-*|<0.005是否成立?若是,則xi、刈之間的任意取值均為滿足條件的近

似根;若否,則返回第二步。

小結(jié):算法具有以下特性:(1)有窮性;(2)確定性;(3)順序性;(4)不惟一性;(5)普

遍性

典例剖析:

1、基本概念題

「x-2y=T,①

例3寫出解二元一次方程組的算法

匚2x+y=l②

解:第一步,②-①X2得5y=3;③

第二步,解③得y=3/5;

第三步,將y=3/5代入①,得x=l/5

學(xué)生做一做:對于一般的二元一次方程組來說,上述步驟應(yīng)該怎樣進(jìn)一步完善?

老師評一評:本題的算法是由加減消元法求解的,這個算法也適合一般的二元一次方

A.x+B.y+C,=0

程組的解法。下面寫出求方程組《''''八(4與一44HO)的解的算法:

A^x+32y+C72=0

第一步:②XA「①XA?,得(AB?—A2B1)y+AiC21A2cl=0;③

第二步:解③,得丁=.4一4q

4名一44

第三步:將丁=當(dāng)二/代入①,得+。

4亂—4耳4鳥—

此時我們得到了二元一次方程組的求解公式,利用此公司可得到倒2的另一個算法:

第一步:取Ai=LB尸-2,C,=l,A2=2,B2=l,C2=-l;

第二步:計算x=_.£+4c2與4c2

4打一人耳

\B2-A2BX

第三步:輸出運(yùn)算結(jié)果.

可見利用上述算法,更加有利于上機(jī)執(zhí)行與操作。

基礎(chǔ)知識應(yīng)用題

例4寫出一個求有限整數(shù)列中的最大值的算法。

解:算法如下。

S1先假定序列中的第一個整數(shù)為“最大值”。

S2將序列中的下一個整數(shù)值與“最大值”比較,如果它大于此“最大值”,這時你

就假定“最大值”是這個整數(shù)。

S3如果序列中還有其他整數(shù),重復(fù)S2。

S4在序列中一直到?jīng)]有可比的數(shù)為止,這時假定的“最大值”就是這個序列中的

最大值。

學(xué)生做一做寫出對任意3個整數(shù)a,b,c求出最大值的算法。

老師評一評在例2中我們是用自然語言來描述算法的,下面我們用數(shù)學(xué)語言來描述

本題的算法。

S1max=a

S2如果b>max,則max=b.

S3如果Omax,則max=c.

S4max就是a,b,c中的最大值。

綜合應(yīng)用題

例5寫出求1+2+3+4+5+6的一個算法。

分析:可以按逐一相加的程序進(jìn)行,也可以利用公式1+2+…+爐進(jìn)行,也可以

2

根據(jù)加法運(yùn)算律簡化運(yùn)算過程。

解:算法1:

S1:計算1+2得到3;

S2:將第一步中的運(yùn)算結(jié)果3與3相加得到6;

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

S4:將第三步中的運(yùn)算結(jié)果10與5相加得到15;

S5:將第四步中的運(yùn)算結(jié)果15與6相加得到21。

算法2:

S1:取n=6;

S2:計算妁5;

2

S3:輸出運(yùn)算結(jié)果。

算法3:

S1:將原式變形為(1+6)+(2+5)+(3+4)=3X7;

S2:計算3X7;

S3:輸出運(yùn)算結(jié)果。

小結(jié):算法1是最原始的方法,最為繁瑣,步驟較多,當(dāng)加數(shù)較大時,比如1+2+3+…

+10000,再用這種方法是行不通的;算法2與算法3都是比較簡單的算法,但比較而言,算

法2最為簡單,且易于在計算機(jī)上執(zhí)行操作。

學(xué)生做一做求1X3X5X7X9X11的值,寫出其算法。

老師評一評算法1;第一步,先求1X3,得到結(jié)果3;

第二步,將第一步所得結(jié)果3再乘以5,得到結(jié)果15;

第三步,再將15乘以7,得到結(jié)果105;

第四步,再將105乘以9,得到945;

第五步,再將945乘以11,得到10395,即是最后結(jié)果。

算法2:用P表示被乘數(shù),i表示乘數(shù)。

S1使P=l。

S2使i=3

S3使P=PXi

S4使i=i+2

S5若iWll,則返回到S3繼續(xù)執(zhí)行;否則算法結(jié)束。

小結(jié)由于計算機(jī)動是高速計算的自動機(jī)器,實現(xiàn)循環(huán)的語句。因此,上述算法2不僅

是正確的,而且是在計算機(jī)上能夠?qū)崿F(xiàn)的較好的算法。在上面的算法中,S3,S4,S5構(gòu)成

一個完整的循環(huán),這里需要說明的是,每經(jīng)過一次循環(huán)之后,變量P、i的值都發(fā)生了變化,

并且生循環(huán)一次之后都要在步驟S5對i的值進(jìn)行檢驗,一旦發(fā)現(xiàn)i的值大于11時,立即停

止循環(huán),同時輸出最后一個P的值,對于循環(huán)結(jié)構(gòu)的詳細(xì)情況,我們將在以后的學(xué)習(xí)中介紹。

4、課堂小結(jié)

本節(jié)課主要講了算法的概念,算法就是解決問題的步驟,平時列論我們做什么事都離不

開算法,算法的描述可以用自然語言,也可以用數(shù)學(xué)語言.

例如,某同學(xué)要在下午到體育館參加比賽,比賽下午2時開始,請寫出該同學(xué)從家里發(fā)

到比賽地的算法。

若用自然語言來描述可寫為

(1)1:00從家出發(fā)到公共汽車站

(2)1:10上公共汽車

(3)1:40到達(dá)體育館

(4)1:45做準(zhǔn)備活動。

(5)2:00比賽開始。

若用數(shù)學(xué)語言來描述可寫為:

S11:00從家出發(fā)到公共汽車站

S21:10上公共汽車

S31:40到達(dá)體育館

S41:45做準(zhǔn)備活動

S52:00比賽開始

大家從中要以看出,實際上兩種寫法無本質(zhì)區(qū)別,但我們在書寫時應(yīng)盡量用教學(xué)語言來

描述,它的優(yōu)越性在以后的學(xué)習(xí)中我們會體會到。

5、自我評價

1、寫出解一元二次方程ax'+bx+c=0(a^O)的一個算法。

2、寫出求1至1000的正數(shù)中的3倍數(shù)的一個算法(打印結(jié)果)

6、評價標(biāo)準(zhǔn)

1、解:算法如下

S1計算△=t/-4ac

S2如果△〈0,則方程無解;否則xl=

S3輸出計算結(jié)果xl,x2或無解信息。

2、解:算法如下:

S1使i=l

S2i被3除,得余數(shù)r

S3如果r=0,則打印i,否則不打印

S4使i=i+l

S5若i<1000,則返回到S2繼續(xù)執(zhí)行,否則算法結(jié)束。

7、作業(yè):1、寫出解不等式V-2『3〈0的一個算法。

解:第一步:丁-2方3=0的兩根是為=3,也=-1。

第二步:由V-2尸3<0可知不等式的解集為{x|

評注:該題的解法具有一般性,下面給出形如ax?+6ec>0的不等式的解的步驟(為方

便,我們設(shè)a>0)如下:

第一步:計算△=b2-4ac;

第二步:若△>(),示出方程兩根%?=一"土二出(設(shè)為>用),則不等式解集為

2a

{xIX〉汨或x<x2};

第三步:若△=0,則不等式解集為{xIXGR且XW-2};

2a

第四步:若△<(),則不等式的解集為R。

2、求過P(國,A)、Q(泡㈤兩點的直線斜率有如下的算法:

第一步:取為=3|,71=仇,x2=a2,Y\-bl-,

第二步:若Xx=及;

第三步:輸出斜率不存在;

第四步:若汨W*;

第五步:計算k=及二2;

々一不

第六步:輸出結(jié)果。

3、寫出求過兩點M(-2,T)、N(2,3)的直線與坐標(biāo)軸圍成面積的一個算法。

解:算法:第一步:取汨=-2,yi=-1,A2=2,y2=3;

第二步:計算-L=±J

y2f/一%

第三步:在第二步結(jié)果中令廣。得到y(tǒng)的值m,得直線與y軸交點(0,m);

第四步:在第二步結(jié)果中令尸。得到x的值n,得直線與x軸交點(n,0);

第五步:計算S=!|〃?|*|〃|;

2

第六步:輸出運(yùn)算結(jié)果

1.1.2程序框圖(第二、三課時)

一、三維目標(biāo):

1、知識與技能:

掌握程序框圖的概念;會用通用的圖形符號表示算法,掌握算法的三個基本邏輯結(jié)構(gòu);

掌握畫程序框圖的基本規(guī)則,能正確畫出程序框圖。

2、過程與方法:

通過模仿、操作、探索,經(jīng)歷通過設(shè)計程序框圖表達(dá)解決問題的過程;學(xué)會靈活、正確

地畫程序框圖。

3、情感態(tài)度與價值觀:

通過本節(jié)的學(xué)習(xí),使我們對程序框圖有一個基本的了解;掌握算法語言的三種基本邏輯

結(jié)構(gòu),明確程序框圖的基本要求:認(rèn)識到學(xué)習(xí)程序框圖是我們學(xué)習(xí)計算機(jī)的一個基本步驟,

也是我們學(xué)習(xí)計算機(jī)語言的必經(jīng)之路。

二、重點與難點:

重點是程序框圖的基本概念、基本圖形符號和3種基本邏輯結(jié)構(gòu),難點是能綜合運(yùn)用這

些知識正確地畫出程序框圖。

三、學(xué)法與教學(xué)用具:

1、通過上節(jié)學(xué)習(xí)我們知道,算法就是解決問題的步驟,在我們利用計算機(jī)解決問題的

時候,首先我們要設(shè)計計算機(jī)程序,在設(shè)計計算機(jī)程序時我們首先要畫出程序運(yùn)行的流程圖,

使整個程序的執(zhí)行過程直觀化,使抽象的問題就得十分清晰和具體。有了這個流程圖,再去

設(shè)計程序就有了依據(jù),從而就可以把整個程序用機(jī)器語言表述出來,因此程序框圖是我們設(shè)

計程序的基本和開端。

2、我們在學(xué)習(xí)這部分內(nèi)容時,首先要弄清各種圖形符號的意義,明確每個圖形符號的

使用環(huán)境,圖形符號間的聯(lián)結(jié)方式。例如“起止框”只能出現(xiàn)在整個流程圖的首尾,它表示

程序的開始或結(jié)束,其他圖形符號也是如此,它們都有各自的使用環(huán)境和作用,這是我們在

學(xué)習(xí)這部分知識時必須要注意的一個方面。另外,在我們描述算法或畫程序框圖時,必須遵

循一定的邏輯結(jié)構(gòu),事實證明,無論如何復(fù)雜的問題,我們在設(shè)計它們的算法時,只需用順

序結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)這三種基本邏輯就可以了,因此我們必須掌握并正確地運(yùn)用這

三種基本邏輯結(jié)構(gòu)。

3、教學(xué)用具:電腦,計算器,圖形計算器

四、教學(xué)設(shè)計:

1、創(chuàng)設(shè)情境:

算法可以用自然語言來描述,但為了使算法的程序或步驟表達(dá)得更為直觀,我們更經(jīng)常

地用圖形方式來表示它。

基本概念:

(1)起止框圖:匚]起止框是任何流程圖都不可缺少的,它表明程序的開始和結(jié)束,

所以一個完整的流程毓帝末兩端必須是起止框。

(2)輸入、輸出框:U7表示數(shù)據(jù)的輸入或結(jié)果的輸出,它可用在算法中的任何需

要輸入、輸出的位置。圖1-1中有三個輸入、輸出框。第一個出現(xiàn)在開始后的第一步,它的

作用是輸入未知數(shù)的系數(shù)all,al2,a21,a22和常數(shù)項bl,b2,通過這一步,就可以把給定的

數(shù)值寫在輸入框內(nèi),它實際上是把未知數(shù)的系數(shù)和常數(shù)項的值通知給了計算機(jī),另外兩個是

輸出框,它們分別位于由判斷分出的兩個分支中,它們表示最后給出的運(yùn)算結(jié)果,左邊分支

中的輸出分框負(fù)責(zé)輸出DWO時未知數(shù)xl,x2的值,右邊分支中的輸出框負(fù)責(zé)輸出D=0時的

結(jié)果,即輸出無法求解信息。

(3)處理框:|它是采用來賦值、執(zhí)行計算語句、傳送運(yùn)算結(jié)果的圖形符號。圖

1-1中出現(xiàn)了兩個處理框。第一個處理框的作用是計算D=alla22-a21al2的值,第二個處理

框的作用是計算xl=(bla22-b2a12)/D,x2=(b2all-bla21)/D的值。

(4)判斷框:<2>判斷框一般有一個入口和兩個出口,有時也有多個出口,它是惟

一的具有兩個或兩個以上出口的符號,在只有兩個出口的情形中,通常都分成“是”與“否”

(也可用“Y”與“N”)兩個分支,在圖1-1中,通過判斷框?qū)的值進(jìn)行判斷,若判斷框

中的式子是1)=0,則說明D=0時由標(biāo)有“是”的分支處理數(shù)據(jù);若DW0,則由標(biāo)有“否”的

分支處理數(shù)據(jù)。例如,我們要打印x的絕對值,可以設(shè)計如下框圖。

從圖中可以看到由判斷框分出兩個分支,構(gòu)成一個選擇性結(jié)構(gòu),其中選擇的標(biāo)準(zhǔn)是“X

20",若符合這個條件,則按照“是”分支繼續(xù)往下執(zhí)行;若不符合這個條件,則按照“否”

分支繼續(xù)往下執(zhí)行,這樣的話,打印出的結(jié)果總是x的絕對值。

在學(xué)習(xí)這部分知識的時候,要掌握各個圖形的形狀、作用及使用規(guī)則,畫程序框圖的規(guī)

則如下:

(1)使用標(biāo)準(zhǔn)的圖形符號。

(2)框圖一般按從上到下、從左到右的方向畫。

(3)除判斷框外,大多數(shù)流程圖符號只有一個進(jìn)入點和一個退出點。判斷框具有超過

一個退出點的惟一符號。

(4)判斷框分兩大類,一類判斷框“是”與“否”兩分支的判斷,而且有且僅有兩個

結(jié)果;另一類是多分支判斷,有幾種不同的結(jié)果。

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

2、典例剖析:

例1:已知x=4,y=2,畫出計算w=3x+4y的值的程序框圖。

解:程序框如下圖所示:

4和2分別是x和y的值

小結(jié):此圖的輸入框旁邊加了一個注釋框它的作用是對框中的數(shù)據(jù)或內(nèi)容進(jìn)行說

明,它可以出現(xiàn)在任何位置。

基礎(chǔ)知識應(yīng)用題

1)順序結(jié)構(gòu):順序結(jié)構(gòu)描述的是是最簡單的算法結(jié)構(gòu),語句與語句之間,框與框之間是按

從上到下的順序進(jìn)行的。

例2:已知一個三角形的三邊分別為2、3、4,利用海倫公式設(shè)計一個算法,求出它的面積,

并畫出算法的程序框圖。

算法分析:這是一個簡單的問題,只需先算出p的值,再將它代入公式,最后輸出結(jié)果,

只用順序結(jié)構(gòu)就能夠表達(dá)出算法。

2)條件結(jié)構(gòu):一些簡單的算法可以用順序結(jié)構(gòu)來表示,但是這種結(jié)構(gòu)無法對描述對象進(jìn)行

邏輯判斷,并根據(jù)判斷結(jié)果進(jìn)行不同的處理。因此,需要有另一種邏輯結(jié)構(gòu)來處理這類問

題,這種結(jié)構(gòu)叫做條件結(jié)構(gòu)。它是根據(jù)指定打件選擇執(zhí)行不同指令的控制結(jié)構(gòu)。

例3:任意給定3個正實數(shù),設(shè)計一個算法,判斷分別以這3個數(shù)為三邊邊長的三角形

是否存在,畫出這個算法的程序框圖。

算法分析:判斷分別以這3個數(shù)為三邊邊長的三角形是否存在,只需要驗收這3個數(shù)當(dāng)

中任意兩個數(shù)的和是否大于第3個數(shù),這就需要用到條件結(jié)構(gòu)。

程序框圖:

3)循環(huán)結(jié)構(gòu):在一些算法中,經(jīng)常會出現(xiàn)從某處開始,按照一定條件,反復(fù)執(zhí)行某一處理

步驟的情況,這就是循環(huán)結(jié)構(gòu),反復(fù)執(zhí)行的處理步驟為循環(huán)體,顯然,循環(huán)結(jié)構(gòu)中一定包

含條件結(jié)構(gòu)。

循環(huán)結(jié)構(gòu)又稱重復(fù)結(jié)構(gòu),循環(huán)結(jié)構(gòu)可細(xì)分為兩類:

(1)一類是當(dāng)型循環(huán)結(jié)構(gòu),如圖1-5(1)所示,它的功能是當(dāng)給定的條件P1成立時,

執(zhí)行A框,A框執(zhí)行完畢后,再判斷條件B是否成立,如果仍然成立,再執(zhí)行A框,如此反

復(fù)執(zhí)行A框,直到某一次條件R不成立為止,此時不再執(zhí)行A框,從b離開循環(huán)結(jié)構(gòu)。

(2)另一類是直到型循環(huán)結(jié)構(gòu),如下圖所示,它的功能是先執(zhí)行,然后判斷給定的條

件P2是否成立,如果&仍然不成立,則繼續(xù)執(zhí)行A框,直到某一次給定的條件邑成立為止,

bb

當(dāng)型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)

(1)(2)

例4:設(shè)計一個計算1+2+…+100的值的算法,并畫出程序框圖。

算法分析:只需要一個累加變量和一個計數(shù)變量,將累加變量的初始值為0,計數(shù)變量

的值可以從1到100。

程序框圖:

3、課堂小結(jié):

本節(jié)課主要講述了程序框圖的基本知識,包括常用的圖形符號、算法的基本邏輯結(jié)構(gòu),

算法的基本邏輯結(jié)構(gòu)有三種,即順序結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。其中順序結(jié)構(gòu)是最簡單的

結(jié)構(gòu),也是最基本的結(jié)構(gòu),循環(huán)結(jié)構(gòu)必然包含條件結(jié)構(gòu),所以這三種基本邏輯結(jié)構(gòu)是相互支

撐的,它們共同構(gòu)成了算法的基本結(jié)構(gòu),無論怎樣復(fù)雜的邏輯結(jié)構(gòu),都可以通過這三種結(jié)構(gòu)

來表達(dá)

4、自我評價:

1)設(shè)x為為一個正整數(shù),規(guī)定如下運(yùn)算:若x為奇數(shù),則求3x+2;若x為偶數(shù),則為5x,寫出算

法,并畫出程序框圖。

2)畫出求2'+22+2'+…2Mo的值的程序框圖。

5、評價標(biāo)準(zhǔn):

1.解:算法如下。

S1輸入x

S2若x為奇數(shù),則輸出A=3x+2;否則輸出A=5x

S3算法結(jié)束。

程序框圖如下圖:

2、解:序框圖如下圖:

6、作業(yè):課本P11習(xí)題1.1A組2、3

第一課時1.2.1輸入、輸出語句和賦值語句

一、三維目標(biāo):

1、知識與技能

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

(2)會寫一些簡單的程序。

(3)掌握賦值語句中的“=”的作用。

2、過程與方法

(1)讓學(xué)生充分地感知、體驗應(yīng)用計算機(jī)解決數(shù)學(xué)問題的方法;并能初步操作、模

仿。

(2)通過對現(xiàn)實生活情境的探究,嘗試設(shè)計出解決問題的程序,理解邏輯推理的數(shù)

學(xué)方法。

3、情感態(tài)度與價值觀

通過本節(jié)內(nèi)容的學(xué)習(xí),使我們認(rèn)識到計算機(jī)與人們生活密切相關(guān),增強(qiáng)計算機(jī)應(yīng)

用意識,提高學(xué)生學(xué)習(xí)新知識的興趣。

二、重點與難點

重點:正確理解輸入語句、輸出語句、賦值語句的作用。

難點:準(zhǔn)確寫出輸入語句、輸出語句、賦值語句。

三、學(xué)法與教學(xué)用具

計算機(jī)、圖形計算器

四、教學(xué)設(shè)計

【創(chuàng)設(shè)情境】

在現(xiàn)代社會里,計算機(jī)已經(jīng)成為人們?nèi)粘I詈凸ぷ鞑豢扇鄙俚墓ぞ撸纾郝燤P3,

看電影,玩游戲,打字排版,畫卡通畫,處理數(shù)據(jù)等等,那么,計算機(jī)是怎樣工作的呢?

計算機(jī)完成任何一項任務(wù)都需要算法,但是,我們用自然語言或程序框圖描述的算

法,計算機(jī)是無法“看得懂,聽得見”的。因此還需要將算法用計算機(jī)能夠理解的程序

設(shè)計語言(programminglanguage)翻譯成計算機(jī)程序。

程序設(shè)計語言有很多種。如BASIC,Foxbase,C語言,C++,J++,VB等。為了

實現(xiàn)算法中的三種基本的邏輯結(jié)構(gòu):順序結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu),各種程序設(shè)計語

言中都包含下列基本的算法語句:

輸入語句輸出語句賦值語句條件語句循環(huán)語句

這就是這一節(jié)所要研究的主要內(nèi)容一一基本算法語句。今天,我們先一起來學(xué)習(xí)輸

入、輸出語句和賦值語句。(板出課題)

【探究新知】

我們知道,順序結(jié)構(gòu)是任何一個算法都離不開

的基本結(jié)構(gòu)。輸入、輸出語句和賦值語句基本上對

應(yīng)于算法中的順序結(jié)構(gòu)。(如右圖)計算機(jī)從上而下

按照語句排列的順序執(zhí)行這些語句。

輸入語句和輸出語句分別用來實現(xiàn)算法的輸入信息,

輸出結(jié)果的功能。如下面的例子:

用描點法作函數(shù)y=尤3+3x2—24x+30的圖象時,需要求出自變量與函數(shù)的一組

對應(yīng)值。編寫程序,分別計算當(dāng)%=-5,-4,—3,—2,—1,0,1,2,3,4,5時的函數(shù)值。

程序:(教師可在課前準(zhǔn)備好該程序,教學(xué)中直接調(diào)用運(yùn)行)

INPUT“x=”;x

y=xA3+3*xA2-24*x+3()

PRINTx

PRINTy

(學(xué)生先不必深究該程序如何得來,只要求懂得上機(jī)操作,模仿編寫程序,通過運(yùn)

行自己編寫的程序發(fā)現(xiàn)問題所在,進(jìn)一步提高學(xué)生的模仿能力。)

R提問》在這個程序中,你們覺得哪些是輸入語句、輸出語句和賦值語句呢?(同學(xué)們

互相交流、議論、猜想、概括出結(jié)論。提示:“input”和“print”的中文意思等)

(一)輸入語句

在該程序中的第1行中的INPUT語句就是輸入語句。這個語句的一般格式是:

INPUT“提示內(nèi)容”;變量

其中,“提示內(nèi)容”一般是提示用戶輸入什么樣的信息。如每次運(yùn)行上述程序時,

依次輸入-5,-4,-3,-2,-1,0,1,2,3,4,5,計算機(jī)每次都把新輸入的值賦給變

量“x”,并按“x”新獲得的值執(zhí)行下面的語句。

INPUT語句不但可以給單個變量賦值,還可以給多個變量賦值,其格式為:

INPUT"提示內(nèi)容1,提示內(nèi)容2,提示內(nèi)容3,…”;變量1,變量2,變量3,…

例如,輸入一個學(xué)生數(shù)學(xué),語文,英語三門課的成績,可以寫成:

INPUT“數(shù)學(xué),語文,英語”;a,b,c

注:①“提示內(nèi)容”與變量之間必須用分號“;”隔開。

②各“提示內(nèi)容”之間以及各變量之間必須用逗號“,”隔開。但最后的變量的后

面不需要。

(二)輸出語句

在該程序中,第3行和第4行中的PRINT語句是輸出語句。它的一般格式是:

PRINT”提示內(nèi)容”;表達(dá)式

同輸入語句一樣,表達(dá)式前也可以有“提示內(nèi)容”。例如下面的語句可以輸出斐波

那契數(shù)列:

(■\

PRINT"TheFibonacciProgressionis:

11235813213455“…”

此時屏幕上顯示:

TheFibonacciProgressionis:11235813213455

輸出語句的用途:

(1)輸出常量,變量的值和系統(tǒng)信息。(2)輸出數(shù)值計算的結(jié)果。

R思考%在1.1.2中程序框圖中的輸入框,輸出框的內(nèi)容怎樣用輸入語句、輸出語句來

表達(dá)?(學(xué)生討論、交流想法,然后請學(xué)生作答)

參考答案:

輸入框:INPUT”請輸入需判斷的整數(shù)n=";n

輸出框:PRINTn;“是質(zhì)數(shù)?!?/p>

PRINTn;“不是質(zhì)數(shù)」

(三)賦值語句

用來表明賦給某一個變量一個具體的確定值的語句。

除了輸入語句,在該程序中第2行的賦值語句也可以給變量提供初值。它的一般格

式是:

變量=表達(dá)式

賦值語句中的“=”叫做賦值號。

貝武值語句的作用:先計算出賦值號右邊表達(dá)式的值,然后把這個值賦給賦值號左邊

的變量,使該變量的值等于表達(dá)式的值。

注:①賦值號左邊只能是變量名字,而不能是表達(dá)式。如:2=X是錯誤的。

②賦值號左右不能對換。如“A=B”“B=A”的含義運(yùn)行結(jié)果是不同的。

③不能利用賦值語句進(jìn)行代數(shù)式的演算。(如化簡、因式分解、解方程等)

④賦值號“=”與數(shù)學(xué)中的等號意義不同。

R思考X:在1.1.2中程序框圖中的輸入框,哪些語句可以用賦值語句表達(dá)?并寫出相應(yīng)

的賦值語句。(學(xué)生思考討論、交流想法。)

【例題精析】

K例1%編寫程序,計算一個學(xué)生數(shù)學(xué)、語文、英語三門課的平均成績。

分析:先寫出算法,畫出程序框圖,再進(jìn)行編程。

算法:程序:

INPUT“數(shù)學(xué)=";a

INPUT“語文=";b

INPUT“英語=”;c

y=(a+b+c)/3

PRINT"Theaverage=";y

END

K例2兒給一個變量重復(fù)賦值。

程序:

[變式引申]:在此程序的基礎(chǔ)上,設(shè)計一個程序,要求最后A的輸出值是30。

(該變式的設(shè)計意圖是學(xué)生加深對重復(fù)賦值的理解)

程序:

A=10

A=A+15

PRINTA

A=A+5

PRINTA

END

K例3九交換兩個變量A和B的值,并輸出交換前后的值。

分析:引入一個中間變量X,將A的值賦予X,又將B的值賦予A,再將X的值賦予B,

從而達(dá)到交換A,B的值。(比如交換裝滿水的兩個水桶里的水需要再找一個空

桶)_、

程序:/、

INPUTA

INPUTB

PRINTA,B

X=A

A=B

B=X

PRINT

END

K補(bǔ)例兒編寫一個程序,要求輸入一個圓的半徑,便能輸出該圓的周長和面積。(71

取3.14)

分析:設(shè)圓的半徑為R,則圓的周長為C=2?R,面積為S=〃/?2,可以利用順

序結(jié)構(gòu)中的INPUT語句,PRINT語句和賦值語句設(shè)計程序。

程序:

INPUT"半徑為R=";R

C=2*3.14*R

S=3.14*RA2

PRINT”該圓的周長為:”;C

PRINT“該圓的面積為:”;S

^ENDy

【課堂精練】

Pis練習(xí)1.2.3

參考答案:

1.程序:INPUT"請輸入華氏溫度:”;x

y=(x-32)*5/9

PRINT“華氏溫度:”;x

PRINT“攝氏溫度:";y

END

K提問也如果要求輸入一個攝氏溫度,輸出其相應(yīng)的華氏溫度,又該如何設(shè)計

程序?(學(xué)生課后思考,討論完成)

2.程序:INPUT”請輸入a(a00)=";a

INPUT”請輸入b(bHO)=";b

X=a+b

Y=a-b

Z=a*b

Q=a/b

PRINTa,b

PRINTX,Y,Z,Q

END

3.程序:p=(2+3+4)/2

t=p*(p-2)*(p-3)*(p-4)

s=SQR(t)

PRINT“該三角形的面積為:”;s

END

注:SQR()是函數(shù)名,用來求某個數(shù)的平方根。

【課堂小結(jié)】

本節(jié)課介紹了輸入語句、輸出語句和賦值語句的結(jié)構(gòu)特點及聯(lián)系。掌握并應(yīng)用輸

入語句,輸出語句,賦值語句編寫一些簡單的程序解決數(shù)學(xué)問題,特別是掌握賦值語

句中“=”的作用及應(yīng)用。編程一般的步驟:先寫出算法,再進(jìn)行編程。我們要養(yǎng)成

良好的習(xí)慣,也有助于數(shù)學(xué)邏輯思維的形成。

【評價設(shè)計】

1.P23習(xí)題L2A組1(2)、2

2.試對生活中某個簡單問題或是常見數(shù)學(xué)問題,利用所學(xué)基本算法語句等知識來

解決自己所提出的問題。要求寫出算法,畫程序框圖,并寫出程序設(shè)計。

第二、三課時1.2.27.2.3條件語句和循環(huán)語句

一、三維目標(biāo):

1、知識與技能

(1)正確理解條件語句和循環(huán)語句的概念,并掌握其結(jié)構(gòu)的區(qū)別與聯(lián)系。

(2)會應(yīng)用條件語句和循環(huán)語句編寫程序。

2、過程與方法

經(jīng)歷對現(xiàn)實生活情境的探究,認(rèn)識到應(yīng)用計算機(jī)解決數(shù)學(xué)問題方便簡

捷,促進(jìn)發(fā)展學(xué)生邏輯思維能力

3、情感態(tài)度與價值觀

了解條件語句在程序中起判斷轉(zhuǎn)折作用,在解決實際問題中起決定作用。深刻體

會到循環(huán)語句在解決大量重復(fù)問題中起重要作用。減少大量繁瑣的計算。通過本小節(jié)

內(nèi)容的學(xué)習(xí),有益于我們養(yǎng)成嚴(yán)謹(jǐn)?shù)臄?shù)學(xué)思維以及正確處理問題的能力。

二、重點與難點

重點:條件語句和循環(huán)語句的步驟、結(jié)構(gòu)及功能。

難點:會編寫程序中的條件語句和循環(huán)語句。

三、學(xué)法與教學(xué)用具

計算機(jī)、圖形計算器

四、教學(xué)設(shè)計

【創(chuàng)設(shè)情境】

試求自然數(shù)1+2+3+……+99+100的和。

顯然大家都能準(zhǔn)確地口算出它的答案:5050o而能不能將這項計算工作交給計算

機(jī)來完成呢?而要編程,以我們前面所學(xué)的輸入、輸出語句和賦值語句還不能滿足'‘我

們?nèi)找嬖鲩L的物質(zhì)需要”,因此,還需要進(jìn)一步學(xué)習(xí)基本算法語句中的另外兩種:條

件語句和循環(huán)語句(板出課題)

【探究新知】

(-)條件語句

算法中的條件結(jié)構(gòu)是由條件語句來表達(dá)的,是處理條件分支邏輯結(jié)構(gòu)的算法語

句。它的一般格式是:(IF-THEN-ELSE格式)

當(dāng)計算機(jī)執(zhí)行上述語句時,首先對IF后的條件進(jìn)行判斷,如果條件符合,就執(zhí)

行THEN后的語句1,否則執(zhí)行ELSE后的語句2。其對應(yīng)的程序框圖為:(如上右

圖)

在某些情況下,也可以只使用1F-THEN語句:(即IF-THEN格式)

IF條件THEN

語句

ENDIF語句

計算機(jī)執(zhí)行這種形式的條件語句時,也是首先對IF后的條件進(jìn)行判斷,如果條

件符合,就執(zhí)行THEN后的語句,如果條件不符合,則直接結(jié)束該條件語句,轉(zhuǎn)而

執(zhí)行其他語句。其對應(yīng)的程序框圖為:(如上右圖)

條件語句的作用:在程序執(zhí)行過程中,根據(jù)判斷是否滿足約定的條件而決定是否

需要轉(zhuǎn)換到何處去。需要計算機(jī)按條件進(jìn)行分析、比較、判斷,并按判斷后的不同情

況進(jìn)行不同的處理。

【例題精析】

k例1』:編寫程序,輸入一元二次方程分2+笈+。=0的系數(shù),輸出它的實數(shù)根。

分析:先把解決問題的思路用程序框圖表示出來,然后再根據(jù)程序框圖給出的算法步

驟,逐步把算法用對應(yīng)的程序語句表達(dá)出來。

算法分析:我們知道,若判別式△=6一4公>0,原方程有兩個不相等的實數(shù)根

_-b+匹

_-b—y/X會

INPUTwPleaseinputa,b,c=”;a,b

2a

d=b*b-4*a*c

A=(),原方程有兩個相p=-b/(2*a)

等的實數(shù)根q=SQR(ABS(d))/(2*a)

IFd>=0THEN

xl=p+q

△<(),原方程沒有實數(shù)x2=p-q

根。也就是說,在求解方IFxl=x2THEN

程之前,需要首先判斷判PRINT“Onerealroot:M;xl

別式的符號。因此,這個ELSE

過程可以用算法中的條PRINT“Tworealroots:xl5,;xl,“andx2”;x2

件結(jié)構(gòu)來實現(xiàn)。ENDIF

又因為方程的兩個根ELSE

有相同的部分,為了避免PRINT“Norealroot!”

重復(fù)計算,可以在計算占

和馬之前,先計算

p=--,4=姐。程序框圖:(參照課本片)

2a2a

程序:(如右圖所示)

注:SQR()和ABS()是兩個函數(shù),分別用來求某個數(shù)的平方根和絕對值。

即SQR(x)=6,ABS(x)=3*必

K例2兒編寫程序,使得任意輸入的3個

整數(shù)按從大到小的順序輸出。

算法分析:用a,b,c表示輸入的3個

整數(shù);為了節(jié)約變量,把它們重新排列

后,仍用a,b,c表示,并使a》b》c.

具體操作步驟如下。

第一步:輸入3個整數(shù)a,b,c.

第二步:將a與b比較,并把小者賦給

b,大者賦給a.

第三步:將a與c比較.并把小者賦給

c,大者賦給a,此時a已是三者中

最大的。

第四步:將b與c比較,并把小者賦給

c,大者賦給b,此時a,b,c已按

從大到小的順序排列好。

第五步:按順序輸出a,b,c.

程序框圖:(參照課本先)

程序:(如右框圖所示)

K補(bǔ)例2:鐵路部門托運(yùn)行李的收費(fèi)方法如下:

y是收費(fèi)額(單位:元),x是行李重量(單位:kg),當(dāng)0<xW20時,按0.35

元/kg收費(fèi),當(dāng)x>20kg時,20kg的部分按0.35元/kg,超出20kg的部分,則按

0.65元/kg收費(fèi),請根據(jù)上述收費(fèi)方法編寫程序。

_(O.35x,0<x<20,

分析:首先由題意得:0.35x20+0.65(x-2()),x>20.該函數(shù)是個分段

函數(shù)。需要對行李重量作出判斷,因此,這個過程可以用算法中的條件結(jié)構(gòu)

來實現(xiàn)。

程序:INPUT"請輸入旅客行李的重量(kg)x=";x

IFx>0ANDx<=20THEN

y=0.35*x

ELSE

y=0.35*20+0.65*(x-20)

ENDIF

PRINT”該旅客行李托運(yùn)費(fèi)為:”;y

END

【課堂精練】

1.4練習(xí)2.(題略)

分析:如果有兩個或是兩個以上的并列條件時,用“AND”把它們連接起來。

2.當(dāng)練習(xí)1.(題略)

參考答案:INPUT"請輸入三個正數(shù)a,b,c=";a,b,c

IFa+b>cANDa+c>bANDb+c>aTHEN

PRINT"以下列三個數(shù):";a,b,c,“可以構(gòu)成三角形?!?/p>

ELSE

PRINT”以下列三個數(shù):";a,b,c,“不可以構(gòu)成三角形!”

ENDIF

END

(二)循環(huán)語句

算法中的循環(huán)結(jié)構(gòu)是由循環(huán)語句來實現(xiàn)的。對應(yīng)于程序框圖中的兩種循環(huán)結(jié)構(gòu),

一般程序設(shè)計語言中也有當(dāng)型(WHILE型)和直到型(UNTIL型)兩種語句結(jié)構(gòu)。

其中循環(huán)體是由計算機(jī)反復(fù)執(zhí)行的一組語句構(gòu)成的。WHLIE后面的“條件”是

用于控制計算機(jī)執(zhí)行循環(huán)體或跳出循環(huán)體的。

當(dāng)計算機(jī)遇到WHILE語句時,先判斷條件的真假,如果條件符合,就執(zhí)行WHILE

與WEND之間的循環(huán)體;然后再檢查上述條件,如果條件仍符合,再次執(zhí)行循環(huán)體,

這個過程反復(fù)進(jìn)行,直到某一次條件不符合為止。這時,計算機(jī)將不執(zhí)行循環(huán)體,直

接跳到WEND語句后,接著執(zhí)行WEND之后的語句。因此,當(dāng)型循環(huán)有時也稱為“前

其對應(yīng)的程序結(jié)構(gòu)框圖為:(如上右圖)

K思考兒直到型循環(huán)又稱為“后測試型”循環(huán),參照其直到型循環(huán)結(jié)構(gòu)對應(yīng)的程序框

圖,說說計算機(jī)是按怎樣的順序執(zhí)行UNTIL語句的?(讓學(xué)生模仿執(zhí)行

WHILE語句的表述)

從UNTIL型循環(huán)結(jié)構(gòu)分析,計算機(jī)執(zhí)行該語句時,先執(zhí)行一次循環(huán)體,然后

進(jìn)行條件的判斷,如果條件不滿足,繼續(xù)返回執(zhí)行循環(huán)體,然后再進(jìn)行條件的判斷,

這個過程反復(fù)進(jìn)行,直到某一次條件滿足時,不再執(zhí)行循環(huán)體,跳到LOOPUNTIL

語句后執(zhí)行其他語句,是先執(zhí)行循環(huán)體后進(jìn)行條件判斷的循環(huán)語句。

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

學(xué)生表達(dá)自己的感受)

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

當(dāng)條件不滿足時執(zhí)行循環(huán)體。

【例題精析】

K例3》編寫程序,計算自然數(shù)1+2+3+……+99+100的和。

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

此看來,解決問題的方法不是惟一的,當(dāng)然程序的設(shè)計也是有多種的,只是程序簡

單與復(fù)雜的問題。

程序:

WHILE型:

i=li=l

UNTIL型:

stun=0sum=0

WHLIEi<=100DO

sum=sum+isum=sum+i

i=i+li=i+l

WENDLOOPUNTILi>100

PRINTsumPRINTsum

ENDEND

K例4見根據(jù)LL2中的

圖LI-2,將程序框圖轉(zhuǎn)化為

flag=l

程序語句。

IFn>2THEN

分析:仔細(xì)觀察,該程

d=2

序框圖中既有條件結(jié)構(gòu),又有

WHILEd<=n-lANDflag=l

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

IFnMODd=0THEN

程序:

flag=0

ELSE

d=d+l

ENDIF

WEND

ELSE

IFflag=lTHEN

PRINTn;“是質(zhì)數(shù)?!?/p>

ELSE

PRINTn;“不是質(zhì)數(shù)?!?/p>

ENDIF

ENDIF

END

K思考兒上述判定質(zhì)數(shù)的算法是否還能有所改進(jìn)?(讓學(xué)生課后思考。)

工補(bǔ)例兒某紡織廠1997年的生產(chǎn)總值為300萬元,如果年生產(chǎn)增產(chǎn)率為5%,計算最

早在哪一年生產(chǎn)總值超過400萬元。

分析:從1997年底開始,經(jīng)過x年后生產(chǎn)總值為300X(1+5%)x,可將1997年生

產(chǎn)總值賦給變量a,然后對其進(jìn)行累乘,用n作為計數(shù)變量進(jìn)行循環(huán),直到a的

值超過400萬元為止。

解:

程序框圖為:程序

溫馨提示

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

評論

0/150

提交評論