版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
§1.1.1算法的概念
【教學(xué)目標(biāo)】:
(1)了解算法的含義,體會(huì)算法的思想。能夠用自然語(yǔ)言敘述算法。
(2)掌握正確的算法應(yīng)滿足的要求。會(huì)寫(xiě)出解線性方程(組)的算法。
(3)會(huì)寫(xiě)出一個(gè)求有限整數(shù)序列中的最大值的算法。
學(xué)法:1、寫(xiě)出的算法,必須能解決一類問(wèn)題(如:判斷一個(gè)整數(shù)n(n>l)是否為質(zhì)數(shù);求任
意一個(gè)方程的近似解;……),并且能夠重復(fù)使用。
2、要使算法盡量簡(jiǎn)單、步驟盡量少。
3、要保證算法正確,且計(jì)算機(jī)能夠執(zhí)行,如:讓計(jì)算機(jī)計(jì)算1X2X3X4X5是可以做到的,
但讓計(jì)算機(jī)去執(zhí)行“倒一杯水”“替我理發(fā)”等則是做不到的。
【教學(xué)過(guò)程】
一、本章章頭圖說(shuō)明
章頭圖體現(xiàn)了中國(guó)古代數(shù)學(xué)與現(xiàn)代計(jì)算機(jī)科學(xué)的聯(lián)系,它們的基礎(chǔ)都是“算法”。算法
作為一個(gè)名詞,在中學(xué)教科書(shū)中并沒(méi)有出現(xiàn)過(guò),我們?cè)诨A(chǔ)教育階段還沒(méi)有接觸算法概念。
但是我們卻從小學(xué)就開(kāi)始接觸算法,熟悉許多問(wèn)題的算法。如,做四則運(yùn)算要先乘除后加減,
從里往外脫括弧,豎式筆算等都是算法,至于乘法口訣、珠算口訣更是算法的具體體現(xiàn)。廣
義地說(shuō),算法就是做某一件事的步驟或程序。菜譜是做菜肴的算法,洗衣機(jī)的使用說(shuō)明書(shū)是
操作洗衣機(jī)的算法,歌譜是一首歌曲的算法。在數(shù)學(xué)中,主要研究計(jì)算機(jī)能實(shí)現(xiàn)的算法,即
按照某種機(jī)械程序步驟一定可以得到結(jié)果的解決問(wèn)題的程序。
古代的計(jì)算工具:算籌與算盤(pán).
20世紀(jì)最偉大的發(fā)明:計(jì)算機(jī),計(jì)算機(jī)是強(qiáng)大的實(shí)現(xiàn)各種算法的工具。
x-2y=-1(D
例1:解二元一次方程組:
2x+j=1②
分析:解二元一次方程組的主要思想是消元的思想,有代入消元和加減消元兩種消元的方法,
下面用加減消元法寫(xiě)出它的求解過(guò)程.
解:第一步:②-①X2,得:5y=3;③
331
第二步:解③得j=1;第三步:將y代入①,得x=
學(xué)生探究:對(duì)于一般的二元一次方程組來(lái)說(shuō),上述步驟應(yīng)該怎樣進(jìn)一步完善?
老師評(píng)析:本題的算法是由加減消元法求解的,這個(gè)算法也適合一般的二元一次方程組的解
法。下面寫(xiě)出求方程組的解的算法:
例2:寫(xiě)出求方程組+巴(公4一明〃?!悖┑慕獾乃惴?
a2x-\-b2y=c2②
解:第一步:②①X〃2,得:-02d)丁=%。2-a2cl③
第二步:解③y二^;第三步:y=一"I代入①,得X=
q
aib2-a2b{aib2-a2b{
利用TI-voyage200圖形計(jì)算器演示
C。石?!?jī)蓤D右商
er-Mu
P廣9n
Clrlo
ocala1b1
LutJrH
nPHa1
InPutn>b
utN,1
IAP>h
IPutUa2
utH,b2
mrnlPuHr
^P*tM2
2-mtz)/C
cral1blX
M3
DEGHPFRDKMRINDEGHFFRUK
運(yùn)行結(jié)果:
r:\:"iiirY~丫㈠>?丫r"丫"-F?Y~Y-'i
|二|,…:代;:2br.Jt:3匕心£1抬、|P「gmIOhl2手出||
2
b2
m2(其中輸入a1=1,b1=-2,m1=-1,a2=2
1
b2=1,m2=1,當(dāng)然可輸入其它數(shù)值)
.2
y=!
DEGAPFRUXFUNCWMO
算法概念:在數(shù)學(xué)上,現(xiàn)代意義上的“算法”通常是指可以用計(jì)算機(jī)來(lái)解決的某一類問(wèn)題是
程序或步驟,這些程序或步驟必須是明確和有效的,而且能夠在有限步之內(nèi)完成.
說(shuō)明:i.“算法”沒(méi)有一個(gè)精確化的定義,教科書(shū)只對(duì)它作了描述性的說(shuō)叭
2.算法的特點(diǎn):
(1)有限性:一個(gè)算法的步驟序列是有限的,必須在有限操作之后停止,不能是無(wú)限的.
(2)確定性:算法中的每一步應(yīng)該是確定的并且能有效地執(zhí)行且得到確定的結(jié)果,而不應(yīng)當(dāng)
是模棱兩可.
(3)順序性與正確性:算法從初始步驟開(kāi)始,分為若干明確的步驟,每一個(gè)步驟只能有一個(gè)
確定的后繼步驟,前一步是后一步的前提,只有執(zhí)行完前一步才能進(jìn)行下一步,并且每一步
都準(zhǔn)確無(wú)誤,才能完成問(wèn)題.
(4)不唯一性:求解某一個(gè)問(wèn)題的解法不一定是唯一的,對(duì)于一個(gè)問(wèn)題可以有不同的算法.
(5)普遍性:很多具體的問(wèn)題,都可以設(shè)計(jì)合理的算法去解決,如心算、計(jì)算器計(jì)算都要經(jīng)
過(guò)有限、事先設(shè)計(jì)好的步驟加以解決.
例題講評(píng):
例3、任意給定一個(gè)大于1的整數(shù)n,試設(shè)計(jì)一個(gè)程序或步驟對(duì)n是否為質(zhì)數(shù)做出判斷.
分析:(1)質(zhì)數(shù)是只能被1和自身整除的大于1的整數(shù).
(2)要判斷一個(gè)大于1的整數(shù)n是否為質(zhì)數(shù),只要根據(jù)質(zhì)數(shù)的定義,用比這個(gè)整數(shù)小
的數(shù)去除n,如果它只能被1和本身整除,而不能被其它整數(shù)整除,則這個(gè)數(shù)便是質(zhì)數(shù).
解:算法:
第一步:判斷n是否等于2.若n=2,則n是質(zhì)數(shù);若n>2,則執(zhí)行第二步.
第二步:依次從2~(n-1)檢驗(yàn)是不是n的因數(shù),即整除n的數(shù).若有這樣的數(shù),則n不是質(zhì)
數(shù);若沒(méi)有這樣的數(shù),則n是質(zhì)數(shù).
說(shuō)明:本算法是用自然語(yǔ)言的形式描述的.設(shè)計(jì)算法一定要做到以下要求:
(1)寫(xiě)出的算法必須能解決一類問(wèn)題,并且能夠重復(fù)使用.
(2)要使算法盡量簡(jiǎn)單、步驟盡量少.
(3)要保證算法正確,且計(jì)算機(jī)能夠執(zhí)行.
利用TT-voyage200圖形計(jì)算器演示:(學(xué)生已經(jīng)被吸引住了)
|~:|??,“:依”:■?.水:3/心髭谷、2「鐘10上出||
Inputainterger:
5
5.
shizhishu
Input,ainterger!
51
51.
bushizhishu
例4、.用二分法設(shè)計(jì)一個(gè)求方程*2-2=0的近似根的算法.
分析:該算法實(shí)質(zhì)是求&的近似值的一個(gè)最基本的方法.
解:設(shè)所求近似根與精確解的差的絕對(duì)值不超過(guò)0.005,算法:
第一步:令/(*)=/-2.因?yàn)閒(l)<0J(2)>0,所以設(shè)》=1,X2=2.
Y+X
第二步:令帆=」一Z,判斷f(m)是否為0.若是,則m為所求;若否,則繼續(xù)判斷
2
_/■(/)?/(陽(yáng))大于。還是小于0.
第三步:若/(必)?/(/?)>0,則x產(chǎn)m;否則,令X2=m.
第四步:判斷|巧-七|<0?005是否成立?若是,貝ijxi、X2之間的任意值均為滿足條件的
近似根;若否,則返回第二步.
說(shuō)明:按以上步驟,我們將依次得到課本第4頁(yè)的表1-1和圖1.1-1.于是,開(kāi)區(qū)間(1.4140625,
1.41796875)中的實(shí)數(shù)都滿足假設(shè)條件的原方程是近似根.
利用TI-voyage200圖形計(jì)算器演示:
I
j:c*b
:er-fen<:)|:Endir
sPrgnsirThen
sLocal:c*b
:Define£<x5=x,、2-2
11npuL"Jingquedu",e!Else
!Input"zuoduandian”,a
!Irtput11youduardain",b!Erbdir
sir-TCa)*f(b)<0ThenJEndUhile
:Uhileabs(a-b)>G:EndIf
:(a+b)/2^c:Dispa
siffCc)=OThensDispb
;c?sEndPrgn
MAINDEGftFFRDXFUNCMAIN
運(yùn)行結(jié)果:
pj'^urY~Y;:>■r;?<-Y~Y~Y~~'i
卜川“:依:帝b7?4cVw卜2匕1wq、|P「gm10R::以4>A%||
jingquedu
0.005
zuoduandian
1
youduandain
2
1.4140625
1.41796875
MAINDEG的PKI1XFUNCWHO
練習(xí)1:寫(xiě)出解方程x2-2x-3=0的一個(gè)算法。
解:算法1:第一步:移項(xiàng),得x2—2X—3=0:①
第二步:①式兩邊同加1并配方,得(X-1)2=4;②
第三步:②式兩邊開(kāi)方,得X-1=±2;③
第四步:解③得x=3或x=-1。
算法2:第一步:計(jì)算方程的判別式判斷其符號(hào)4=22+4X3=16>0;
第二步:將a=l,b=—2,c=-3代入求根公式x=---二------,
得X]=3,X2=-1
評(píng)析:比較兩種算法,算法2更簡(jiǎn)單,步驟少,所以利用公式解決問(wèn)題是最理想、
合算的算法。因此在尋求算法的過(guò)程中,首先是利用公式。
下面設(shè)計(jì)一個(gè)求一般的一元二次方程ax2+bx+c=0的根的算法如下:
第一步:計(jì)算△=b?+4ac;第二步:若△<();第三步:輸出方程無(wú)實(shí)根;
第四步:若△》():
第五步:計(jì)算并輸出方程根^b±4ac
X12-Y-o
練習(xí)2、求1X3X5X7X9X11的值,寫(xiě)出其算法。
第一步,先求1X3,得到結(jié)果3;
第二步,將第一步所得結(jié)果3再乘以5,得到結(jié)果15:
第三步,再將15乘以7,得到結(jié)果105;第四步,再將105乘以9,得到
945;
第五步,再將945乘以11,得到10395,即是最后結(jié)果。
評(píng)析:求解某個(gè)問(wèn)題的算法不同于求解一個(gè)具體問(wèn)題的方法,算法必須能夠解決一類
問(wèn)題,并且能夠重復(fù)使用;算法過(guò)程要能一步一步地執(zhí)行,每一步操作必須確切,能
在有限步后得出結(jié)果。
練習(xí)3、有藍(lán)和黑兩個(gè)墨水瓶,但現(xiàn)在卻錯(cuò)把藍(lán)墨水裝在了黑墨水瓶中,黑墨水錯(cuò)裝在
了藍(lán)墨水瓶中,要求將其互換,請(qǐng)你設(shè)計(jì)算法解決這一問(wèn)題。
分析:由于兩個(gè)墨水瓶中的墨水不能直接交換,故可以考慮通過(guò)引入第三個(gè)空墨
水瓶的辦法進(jìn)行交換。
解:算法步驟如下:第一步:取一只空的墨水瓶,設(shè)其為白色;
第二步:將黑墨水瓶中的藍(lán)墨水裝入白瓶中;
第三步:將藍(lán)墨水瓶中的黑墨水裝入黑瓶中;
第四步:將白瓶中的藍(lán)墨水裝入藍(lán)瓶中;第五步:交換結(jié)束。
評(píng)析:對(duì)于這種非數(shù)值性問(wèn)題的算法設(shè)計(jì)問(wèn)題,應(yīng)當(dāng)首先建立過(guò)程模型,根據(jù)過(guò)程設(shè)計(jì)步驟,
完成算法。
小結(jié)
1、算法概念和算法的基本思想
(1)算法與一般意義上具體問(wèn)題的解法的聯(lián)系與區(qū)別;(2)算法的五個(gè)特征。
2、利用算法的思想和方法解決實(shí)際問(wèn)題,能寫(xiě)出一此簡(jiǎn)單問(wèn)題的算法
3、兩類算法問(wèn)題
(1)數(shù)值性計(jì)算問(wèn)題,如:解方程(或方程組),解不等式(或不等式組),套用公式判斷
性的問(wèn)題,累加,累乘等?類問(wèn)題的算法描述,可通過(guò)相應(yīng)的數(shù)學(xué)模型借助一般數(shù)學(xué)計(jì)算方
法,分解成清晰的步驟,使之條理化即可。
(2)非數(shù)值性計(jì)算問(wèn)題,如:排序、查找、變量變換、文字處理等需先建立過(guò)程模型,通
過(guò)模型進(jìn)行算法設(shè)計(jì)與描述。
4、利用Tbvoyage200圖形計(jì)算器演示時(shí),開(kāi)始學(xué)生看,想,探究,然后模范、創(chuàng)新。圖形
計(jì)算器為學(xué)生創(chuàng)建一個(gè)自我發(fā)揮的平臺(tái)。
作業(yè):1、任意給定一個(gè)正實(shí)數(shù),設(shè)計(jì)一個(gè)算法求以這個(gè)數(shù)為半徑的圓的面積.
解:算法步驟:第一步:輸入任意一個(gè)正實(shí)數(shù)r;
第二步:計(jì)算以r為半徑的圓的面積:S=兀?產(chǎn);第三步:輸出圓的面積S.
2、任意給定一個(gè)大于1的正整數(shù)n,設(shè)計(jì)一個(gè)算法求出n的所有因數(shù).
解:算法步驟:
第一步:依次以2?(n-1)為除數(shù)去除n,檢查余數(shù)是否為0.若是,則是n的因數(shù);若不是,
則不是n的因數(shù);
第二步:在n的因數(shù)中加入1和n;第三步:輸出n的所有因數(shù).
利用TI-voyage200圖形計(jì)算器演示:
:uinshu2t:p
sPrgrt
sLocali,k,n,
?Input"Input--ainterger:",n
!Fori,1
!IPnod(n,15=0Then
:Dispi
sErtdir
:EndFor
:EndFrgm
運(yùn)行結(jié)果:
'?mrY~丫㈠丫丫”“丫~F?Y~Y~'i
L]:依”滿b7?上3,:卜:比3w二、10貶]:冬w二①I(mǎi)]
Inputainterger:
32
1.
2.
4.
8.
16.(即32的公因數(shù)為1,2,4,8,16,32)
32.
MRINDMGNPPRDXFUNCWHO
§1.1.2程序框圖
【教學(xué)目標(biāo)】:
(4)掌握程序框圖的概念;會(huì)用通用的圖形符號(hào)表示算法,掌握算法的三個(gè)基本邏輯結(jié)
構(gòu)
(5)掌握畫(huà)程序框圖的基本規(guī)則,能正確畫(huà)出程序框圖。
(6)通過(guò)模仿、操作、探索,經(jīng)歷通過(guò)設(shè)計(jì)程序框圖表達(dá)解決問(wèn)題的過(guò)程:學(xué)會(huì)靈活、
正確地畫(huà)程序框圖。
【教學(xué)重點(diǎn)】經(jīng)過(guò)模仿、操作、探索,經(jīng)歷通過(guò)設(shè)計(jì)程序框圖表達(dá)求解問(wèn)題的過(guò)程,重點(diǎn)是
程序框圖的基本概念、基本圖形符號(hào)和3種基本邏輯結(jié)構(gòu)
【教學(xué)難點(diǎn)】難點(diǎn)是能綜合運(yùn)用這些知識(shí)正確地畫(huà)出程序框圖。
學(xué)法:
1、要弄清各種圖形符號(hào)的意義,明確每個(gè)圖形符號(hào)的使用環(huán)境,圖形符號(hào)間的聯(lián)結(jié)方式。
圖形符號(hào)都有各自的使用環(huán)境和作用
2、在我們描述算法或畫(huà)程序框圖時(shí),必須遵循一定的邏輯結(jié)構(gòu),事實(shí)證明,無(wú)論如何復(fù)雜
的問(wèn)題,我們?cè)谠O(shè)計(jì)它們的算法時(shí),只需用順序結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)這三種基本
邏輯就可以了,因此我們必須掌握并正確地運(yùn)用這三種基本邏輯結(jié)構(gòu)。
【教學(xué)過(guò)程】
引入:算法可以用自然語(yǔ)言來(lái)描述,但為了使算法的程序或步驟表達(dá)得更為直觀,我們更經(jīng)
常地用圖形方式來(lái)表示它。
程序框圖基本概念:
(1)程序構(gòu)圖的概念:程序框圖又稱流程圖,是一種用規(guī)定的圖形、指向線及文字說(shuō)明來(lái)
準(zhǔn)確、直觀地表示算法的圖形。一個(gè)程序框圖包括以下幾部分:表示相應(yīng)操作的程序框;帶
箭頭的流程線;程序框外必要的文字說(shuō)明。
(2)構(gòu)成程序框的圖形符號(hào)及其作用
程序框名稱功能
f\
表示一個(gè)算法的起始和結(jié)束,是任何流程圖
起止框
k_______________?不可少的。
表示一個(gè)算法輸入和輸出的信息,可用在算
輸入、輸出框
法中任何需要輸入、輸出的位置。
賦值、計(jì)算,算法中處理數(shù)據(jù)需要的算式、
處理框公式等分別寫(xiě)在不同的用以處理數(shù)據(jù)的處
理框內(nèi)。
判斷某一條件是否成立,成立時(shí)在出口處標(biāo)
判斷框明“是”或“Y”;不成立時(shí)標(biāo)明“否”或
“N”。
學(xué)習(xí)這部分知識(shí)的時(shí)候,要掌握各個(gè)圖形的形狀、作用及使用規(guī)則,畫(huà)程序框圖的規(guī)則如下:
1、使用標(biāo)準(zhǔn)的圖形符號(hào)。
2、框圖一般按從上到下、從左到右的方向畫(huà)。
3、除判斷框外,大多數(shù)流程圖符號(hào)只有一個(gè)進(jìn)入點(diǎn)和一個(gè)退出點(diǎn)。判斷框具有超過(guò)一個(gè)退
出點(diǎn)的唯一符號(hào)。
4、判斷框分兩大類,一類判斷框“是”與“否”兩分支的判斷,而且有且僅有兩個(gè)結(jié)果;
另一類是多分支判斷,有幾種不同的結(jié)果。
5、在圖形符號(hào)內(nèi)描述的語(yǔ)言要非常簡(jiǎn)練清楚。
(3)、算法的三種基本邏輯結(jié)構(gòu):順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。
順序結(jié)構(gòu)
順序結(jié)構(gòu)是最簡(jiǎn)單的算法結(jié)構(gòu),語(yǔ)句與語(yǔ)句之間,框與框之間是按從上到下的順序進(jìn)行的,
它是由若干個(gè)依次執(zhí)行的處理步驟組成的,它是任何一個(gè)算法都離不開(kāi)的一種基本算法結(jié)
構(gòu)。
順序結(jié)構(gòu)在程序框圖中的體現(xiàn)就是用流程線將程序框自上而
下地連接起來(lái),按順序執(zhí)行算法步驟。如在示意圖中,A框和B
框是依次執(zhí)行的,只有在執(zhí)行完A框指定的操作后,才能接著執(zhí)
行B框所指定的操作。
例3、已知一個(gè)三角形的三邊分別為2、3、4,利用海倫公式設(shè)計(jì)一
個(gè)算法,求出它的面積,并畫(huà)出算法的程序框圖。
(算法一自然語(yǔ)言)
第一步:a=2,b=3,c=4;第二步:p=2±|±l.
S=、P(P—2)(p—3)(p—4)
第三步:S—"Vp(p-2)(p—3)(p—4)
利用TI-voyage200圖形計(jì)算器演示:
'I
DEGHPFRDKMAINDEGEXSCTFUNCWHO
應(yīng)用:請(qǐng)寫(xiě)出求A(X1,力),B(X2,y2)的兩點(diǎn)距離的?個(gè)算法,并畫(huà)出程序框圖。
條件結(jié)構(gòu)
條件結(jié)構(gòu)是指在算法中通過(guò)對(duì)條件的判斷,
根據(jù)條件是否成立而選擇不同流向的算法結(jié)構(gòu)。
它的一般形式如右圖所示:
注意:
1、右圖此結(jié)構(gòu)中包含一個(gè)判斷框,根據(jù)給定的
條件P是否成立而選擇執(zhí)行A框或B框。無(wú)論P(yáng)條件是否成立,只能執(zhí)行A框找B框之一,
不可能同忖執(zhí)行A框和B框,也不可能A框、B框都不執(zhí)行。
2、一個(gè)判斷結(jié)構(gòu)可以有多個(gè)判斷框。
例4、任意給定3個(gè)正實(shí)數(shù),設(shè)計(jì)一個(gè)算法,判斷分別以這3個(gè)數(shù)為三邊邊長(zhǎng)的三角形是否
存在。畫(huà)出這個(gè)算法的程序框圖。
解:
算法分析:判斷分別以這3個(gè)數(shù)為三邊邊長(zhǎng)的三角形是否存在,只需要驗(yàn)收這3個(gè)數(shù)當(dāng)中
任意兩個(gè)數(shù)的和是否大于第3個(gè)數(shù),這就需要用到條件結(jié)構(gòu)。
程序框圖:利用TI-voyage200圖形計(jì)算器演示:(學(xué)生先看,再跟著做)
匕口展怎。田泡后R"屁黑II
:sanjiaoO
:Prgma=
:ClrIO5
:Locala^b.c
!Input"a=%a運(yùn)行第
!Input"b=H,b
!IrtputHC=H,C.---------->c=
!IT54-b>eand>bandb+c>aThe-n13
:Disp"shi£anjiaoxing,,
:Elseshisanjiaoxing
?Dis^"bushisanjiaoxing*'
MAINDEGEXfKTFUNCMAINDEGEX肌IFUNCWhO
應(yīng)用:設(shè)計(jì)求一個(gè)數(shù)x的絕對(duì)值的算法,并畫(huà)出相應(yīng)的程序框圖。
....~Y::>■r=x-Y_Y~y""\
JL」川“:收:量br.#:3匕卜£3w*、gm10也]:三史&II
:Juedui(>
:Prgax=
:Input,,x=,l?x8
:IfThen
JDisp?'lxl=",X運(yùn)行“I
JElse--------g
:Disp?'Ixls'1,?乂
!EMir
:EndPrgm
6
MAINDEGEXrtCTFUNCDEGEXIKIFUNCW40
循環(huán)結(jié)構(gòu):在一些算法中,經(jīng)常會(huì)出現(xiàn)從某處開(kāi)始,按照一定條件,反復(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),如下左圖所示,它的功能是當(dāng)給定的條件P成立時(shí),執(zhí)行A
框,A框執(zhí)行完畢后,再判斷條件P是否成立,如果仍然成立,再執(zhí)行A框,如此反復(fù)執(zhí)
行A框,直到某一次條件P不成立為止,此時(shí)不再執(zhí)行A框,離開(kāi)循環(huán)結(jié)構(gòu)。
(2)、另?類是直到型循環(huán)結(jié)構(gòu),如下右圖所示,它的功能是先執(zhí)行,然后判斷給定的條
件P是否成立,如果P仍然不成立,則繼續(xù)執(zhí)行A框,直到某一次給定的條件P成立為止,
此時(shí)不再執(zhí)行A框,離開(kāi)循環(huán)結(jié)構(gòu)。
不成立
V
當(dāng)型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)
注意:
1、循環(huán)結(jié)構(gòu)要在某個(gè)條件下終止循環(huán),這就需要條件結(jié)構(gòu)來(lái)判斷。因此,循環(huán)結(jié)構(gòu)中一定
包含條件結(jié)構(gòu),但不允許“死循環(huán)”。
2、在循環(huán)結(jié)構(gòu)中都有一個(gè)計(jì)數(shù)變量和累加變量。計(jì)數(shù)變量用于記錄循環(huán)次數(shù),累加變量用
于輸出結(jié)果。計(jì)數(shù)變量和累加變量一般是同步執(zhí)行的,累加一次,計(jì)數(shù)一次。
例5、設(shè)計(jì)一個(gè)計(jì)算1+2+3+…+100的值的算法,并畫(huà)出程序框圖。
解:算法如下:第一步:sum=0;第二步:i=l;第三步:sum=sum+i;第四步:i=i+l;
第五步:如果i不大于100,返回重新執(zhí)行第三步,第四步,第五步,否則,算法
結(jié)束,最后得到的sum值就是1+2+3+-+100的值。
程序框圖(可參看課本)
利用TI-voyage200圖形計(jì)算器演示:(先看當(dāng)型循環(huán)結(jié)構(gòu))
-"?iirY~丫」,丫r▼丫"F5Y~Ys
k;|....|
:k7()|
:Prgrn5050.
:clrio,
:Local,i,he
!14-i
204-he運(yùn)行
;Whilei<100
!h&+i->he
:i+1式
:Endlilhile
JDisphe
JEndPrgm
MAINDEGEXrtCTFUNCMAINDEGEXIKT
(學(xué)生會(huì)思考:若取不同n,計(jì)算1+2+3+…+n又如何?)
(再看直到型循環(huán)結(jié)構(gòu))
r:1?mrY~丫㈠>?丫廠?<"丫~F5Y~y""
L]川“:依”:科b7?#:3,*卜:比「:wT、IPFW10后£:以士二&II
:k88Gl
:Prgn5050.
:Locali^sok
:l->i:0^sol
sLoop
!sol+i4sol運(yùn)行
siri>ioo
!G&toend
:EndLoop
sLblend
;Dispsol
MAIN--DEGEXHCI~-FUNCWHO-
r:*"I|||"Y~丫㈠丫丫9丫~FTY~Y""'I
5050.
運(yùn)行
DEGEXfKTDEGEXH£T
應(yīng)用:設(shè)計(jì)一個(gè)計(jì)算r+2?+……+100?的值的算法,并畫(huà)出程序框圖。
(學(xué)生很快的把剛才那個(gè)程序改“h學(xué)ifhe”為“he+,fhe”即可)
課堂小結(jié):本節(jié)課主要講述了程序框圖的基本知識(shí),包括常用的圖形符號(hào)、算法的基本邏輯
結(jié)構(gòu),算法的基本邏輯結(jié)構(gòu)有三種,即順序結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。其中順序結(jié)構(gòu)是最
簡(jiǎn)單的結(jié)構(gòu),也是最基本的結(jié)構(gòu),循環(huán)結(jié)構(gòu)必然包含條件結(jié)構(gòu),所以這三種基本邏輯結(jié)構(gòu)是
相互支撐的,它們共同構(gòu)成了算法的基本結(jié)構(gòu),無(wú)論怎樣復(fù)雜的邏輯結(jié)構(gòu),都可以通過(guò)這三
種結(jié)構(gòu)來(lái)表達(dá)。在具體畫(huà)程序框圖時(shí),要注意的問(wèn)題:流程線上要有標(biāo)志執(zhí)行順序的前頭;
判斷框后邊
的流程線應(yīng)根據(jù)情況標(biāo)注“是”或“否”:在循環(huán)結(jié)構(gòu)中,要注意根據(jù)條件設(shè)計(jì)合理的計(jì)數(shù)
變量、累加變量等,特別要條件的表述要恰當(dāng)、精確。
§1.2.1輸入、輸出語(yǔ)句和賦值語(yǔ)句
【教學(xué)目標(biāo)】:
(7)正確理解輸入語(yǔ)句、輸出語(yǔ)句、賦值語(yǔ)句的結(jié)構(gòu)。
(8)讓學(xué)生充分地感知、體驗(yàn)應(yīng)用計(jì)算機(jī)解決數(shù)學(xué)問(wèn)題的方法;并能初步操作、模仿。
(9)過(guò)實(shí)例,使學(xué)生理解3種基本的算法語(yǔ)句(輸入語(yǔ)句、輸出語(yǔ)句和賦值語(yǔ)句)的表
示方法、結(jié)構(gòu)和用法,能用這三種基本的算法語(yǔ)句表示算法,進(jìn)一步體會(huì)算法的基
本思想。
【教學(xué)重點(diǎn)】正確理解輸入語(yǔ)句、輸出語(yǔ)句、賦值語(yǔ)句的作用。
學(xué)法:我們用自然語(yǔ)言或程序框圖描述的算法,計(jì)算機(jī)是無(wú)法“看得懂,聽(tīng)得見(jiàn)”的。因此
還需要將算法用計(jì)算機(jī)能夠理解的程序設(shè)計(jì)語(yǔ)言翻譯成計(jì)算機(jī)程序。程序設(shè)計(jì)語(yǔ)言有很多
種。如BASIC,Foxbase,C語(yǔ)言,C++,J++,VB,VC,JB等。為了實(shí)現(xiàn)算法中的三種基本的
邏輯結(jié)構(gòu):順序結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu),各種程序設(shè)計(jì)語(yǔ)言中都包含下列基本的算法語(yǔ)
句:輸入語(yǔ)句、輸出語(yǔ)句、賦值語(yǔ)句條件語(yǔ)句和循環(huán)語(yǔ)句.今天,我們一起用類BASIC語(yǔ)言
學(xué)習(xí)輸入語(yǔ)句、輸出語(yǔ)句、賦值語(yǔ)句。
【教學(xué)過(guò)程】輸入語(yǔ)句、輸出語(yǔ)句和賦值語(yǔ)句基本上對(duì)應(yīng)于算法中的順序結(jié)構(gòu)。卜面的例題
是用這三種基本的算法語(yǔ)句表示的一個(gè)算法。
例1:用描點(diǎn)法作函數(shù)y=x3+3x2—24x+30的圖象時(shí),需要求出自變量和函數(shù)的一組
對(duì)應(yīng)值。編寫(xiě)程序,分別計(jì)算當(dāng)x=-5,—4,—3,-2,—I.0,1,2,3,4,5時(shí)的函
數(shù)值?
程序:INPUT"x=";x輸入語(yǔ)句
y=xA3+3*x*2—24*x+30賦值語(yǔ)句
PRINTx打印語(yǔ)句
PRINTy打印語(yǔ)句
END
利用TI-voyage200圖形計(jì)算器演示:
(觀察與BASIC語(yǔ)言的異同)
探究:在這個(gè)程序中,你們覺(jué)得哪些是輸入語(yǔ)句、輸出語(yǔ)句和賦值語(yǔ)句呢?(同學(xué)們互相交
流、議論、猜想、概括出結(jié)論。提示:“input”和“print”C'Disp")的中文意思等)
J
A2-24M(X:+30=".y5
y=xA3-?-3*xA2-24*x+30=
運(yùn)行110
--------?
MAINDEGEK肌IFUNCDEGEXrtCI
輸入語(yǔ)句
(1)輸入語(yǔ)句的一般格式
圖形計(jì)算器
格式
INPUT"提示內(nèi)容”;變量INPUT"提示內(nèi)容”,變量
(2)輸入語(yǔ)句的作用是實(shí)現(xiàn)算法的輸入信息功能;
(3)“提示內(nèi)容”提示用戶輸入什么樣的信息,變量是指程序在運(yùn)行時(shí)其值是可以變化的量;
(4)輸入語(yǔ)句要求輸入的值只能是具體的常數(shù),不能是函數(shù)、變量或表達(dá)式;
(5)提示內(nèi)容與變量之間用分號(hào)“;”隔開(kāi),若輸入多個(gè)變量,變量與變量之間用逗號(hào)“,”
隔開(kāi)。
輸出語(yǔ)句
(1)輸出語(yǔ)句的一般格式
圖形計(jì)算器
格式
PRINT”提示內(nèi)容”;表達(dá)式Disp“提示內(nèi)容”,變量
(2)輸出語(yǔ)句的作用是實(shí)現(xiàn)算法的輸出結(jié)果功能:
(3)“提示內(nèi)容”提示用戶輸入什么樣的信息,表達(dá)式是指程序要輸出的數(shù)據(jù);
(4)輸出語(yǔ)句可以輸出常量、變量或表達(dá)式的值以及字符。
賦值語(yǔ)句
(1)賦值語(yǔ)句的一般格式圖形計(jì)算器
變量=表達(dá)式格式表達(dá)式f變量
(2)賦值語(yǔ)句的作用是將一
表達(dá)式所代表的值賦給變量;
(3)賦值語(yǔ)句中的“="稱作賦值號(hào),與數(shù)學(xué)中的等號(hào)的意義是不同的。賦值號(hào)的左右兩
邊不能對(duì)換,它將賦值號(hào)右邊的表達(dá)式的值賦給賦值號(hào)左邊的變量;
(4)賦值語(yǔ)句左邊只能是變量名字,而不是表達(dá)式,右邊表達(dá)式可以是一個(gè)數(shù)據(jù)、常量或
算式;
(5)對(duì)于一個(gè)變量可以多次賦值。
注意:①賦值號(hào)左邊只能是變量名字,而不能是表達(dá)式。如:2=X是錯(cuò)誤的。
②賦值號(hào)左右不能對(duì)換。如“A=B”“B=A”的含義運(yùn)行結(jié)果是不同的。
③不能利用賦值語(yǔ)句進(jìn)行代數(shù)式的演算。(如化管、因式分解、解方程等)
④賦值號(hào)“=”與數(shù)學(xué)中的等號(hào)意義不同。
例2:編寫(xiě)程序,計(jì)算一個(gè)學(xué)生數(shù)學(xué)、語(yǔ)文、英語(yǔ)三門(mén)課的平均成績(jī)。
分析:先寫(xiě)出算法,畫(huà)出程序框圖,再進(jìn)行編程。
程序:
INPUT“Maths=";a
INPUT“Chinese=";b
INPUT“English:”;c
PRINT“Theaverage=";(a+b+c)/3
END
R二k。名。冊(cè)能浦]、:=:卜"??l“不冷亮r.Jpr盛1很上芯
sPrgn1弁hs=
:InputHMaths=11,a
:Input'[chines^;;,b、一4一chinese=
!Inputuenglish=",c廬彳丁85
:0iSP11theaverageis11,<-a-*-b+c>/3、...
;ErtdPrgn---------?english=
theauerageis
90
DEGEXACTFUNCWHO
學(xué)生利用TI-voyage200圖形計(jì)算器演示:
F5丫所、r
Con£ro1.|l,0|Ua「|F;Aa」Mode|j
TFuzhiO
:Prgn
--?-:ClrIO
LoCa:
Ixo4aLocala
a-15!104a
DisR!a4-15*a
Erdr運(yùn)行!Disp,,3=n,b
tJErbdPrgn
MAINDEGE-CIFUNCMfilNDMEXrtCIFUNC-
學(xué)生得到以下結(jié)論:對(duì)于一個(gè)變量可以多次賦值,變量的值就是最后一次的賦值。
例4、交換兩個(gè)變量A和B的值,并輸出交換前后的值。
程序:
INPUTA
分析:引入一個(gè)中間變量將的值賦予
X,AX,INPUTB
又將B的值賦予A,再將X的值賦予B,從PRINTA,B
而達(dá)到交換A,B的值。(比如生活中交換裝x=A
A=B
滿紅墨水和藍(lán)墨水的兩個(gè)瓶子里的墨水,需要
B=x
再找一個(gè)空瓶子)PRINTA,B
END
金川“:居”:棄范?卜亮以空、也以色:出|
k3(,1Lb7?X|Prgm10i.:
p
廣9m
Inpua
Inpub
Disp36
aXyuanshuznisni!yuanshuzhis-his
b4-a運(yùn)行
412
X4b--------?
Disp36
Edh"houlaishuzhishi
nhoul-aishuzhishis
36
12
MRINDEGEXIKTFUNCMAIN0EGE::ii':TFUNCWSO
P15練習(xí)1.2.3參考答案:
程序:INPUT"請(qǐng)輸入華氏溫度:”;x
y=(x-32)*5/9
PRINT“華氏溫度:”;x
PRINT“攝氏溫度:";y
END
創(chuàng)新:如果要求輸入一個(gè)攝氏溫度,輸出其相應(yīng)的華氏溫度,又該如何設(shè)計(jì)程序?(學(xué)生
課后思考,討論、再利用Tbvoyage200圖形計(jì)算器完成)
2.程序:INPUT"請(qǐng)輸入a(a0)=";a
INPUT“請(qǐng)輸入b(b0)=";b
X=a+bY=a-bZ=a*bQ=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ù)名,用來(lái)求某個(gè)數(shù)的平方根)
其中要注意圖形計(jì)算器的個(gè)別語(yǔ)句與BASIC語(yǔ)言有點(diǎn)差異,要靈活轉(zhuǎn)換!
【課堂小結(jié)】
本節(jié)課介紹了輸入語(yǔ)句、輸出語(yǔ)句和賦值語(yǔ)句的結(jié)構(gòu)特點(diǎn)及聯(lián)系。掌握并應(yīng)用輸入語(yǔ)句,
輸出語(yǔ)句,賦值語(yǔ)句編寫(xiě)一些簡(jiǎn)單的程序解決數(shù)學(xué)問(wèn)題,特別是掌握賦值語(yǔ)句中“=”的作
用及應(yīng)用。編程-?般的步驟:先寫(xiě)出算法,再進(jìn)行編程。我們要養(yǎng)成良好的習(xí)慣,也有助于
數(shù)學(xué)邏輯思維的形成。注意:BASIC語(yǔ)言中的標(biāo)準(zhǔn)函數(shù),如SQR(x)表示x的算術(shù)平方根,
ABS(x)表示x的絕對(duì)值等。
有了圖形計(jì)算器,學(xué)生的主動(dòng)性明顯加強(qiáng),他們可以隨時(shí)隨地的編寫(xiě)屬于自己的程序!
§1.2.2條件語(yǔ)句
【教學(xué)目標(biāo)】:
(10)正確理解條件語(yǔ)句的概念,并掌握其結(jié)構(gòu)。
(11)會(huì)應(yīng)用條件語(yǔ)句編寫(xiě)程序。
【教學(xué)重點(diǎn)】條件語(yǔ)句的步驟、結(jié)構(gòu)及功能。
【教學(xué)難點(diǎn)】會(huì)編寫(xiě)程序中的條件語(yǔ)句。
學(xué)法:了解條件語(yǔ)句在程序中起判斷轉(zhuǎn)折作用,在解決實(shí)際問(wèn)題中起決定作用。
【教學(xué)過(guò)程】
條件語(yǔ)句
1、條件語(yǔ)句的一般格式有兩種:(1)IF—THEN—ELSE語(yǔ)句;(2)IF—THEN語(yǔ)句。
2、IF—THEN—ELSE語(yǔ)句
IF—THEN—ELSE語(yǔ)句的一般格式為圖1,對(duì)應(yīng)的程序框圖為圖2。
IF條件THEN
語(yǔ)句1
ELSE
語(yǔ)句2
ENDIF
圖1圖2
分析:在IF—THEN—ELSE語(yǔ)句中,“條件”表示判斷的條件,“語(yǔ)句1”表示滿足條件時(shí)
執(zhí)行的操作內(nèi)容;''語(yǔ)句2"表示不滿足條件時(shí)執(zhí)行的操作內(nèi)容;ENDIF表示條件語(yǔ)句的
結(jié)束。計(jì)算機(jī)在執(zhí)行時(shí),首先對(duì)IF后的條件進(jìn)行判斷,如果條件符合,則執(zhí)行THEN后面
的語(yǔ)句1;若條件不符合,則執(zhí)行ELSE后面的語(yǔ)句2。
3、IF—THEN語(yǔ)句
IF—THEN語(yǔ)句的一般格式為圖3,對(duì)應(yīng)的程序框圖為圖4。
IF條件THEN
語(yǔ)句
ENDIF(圖3)
注意:“條件”表示判斷的條件;“語(yǔ)句”表示滿足條件時(shí)
作內(nèi)容,條件不滿足時(shí),結(jié)束程序;ENDIF表示條件語(yǔ)句的結(jié)束。計(jì)算機(jī)在執(zhí)行時(shí)首先
對(duì)IF后的條件進(jìn)行判斷,如果條件符合就執(zhí)行THEN后邊的語(yǔ)句,若條件不符合則直接結(jié)
束該條件語(yǔ)句,轉(zhuǎn)而執(zhí)行其它語(yǔ)句。
例5、編寫(xiě)程序,輸入一元二次方程ax?+bx+c=0的系數(shù),輸出它的實(shí)數(shù)根。
分析:先把解決問(wèn)題的思路用程序框圖表示出來(lái),然后再根據(jù)程序框圖給出的算法步驟,逐
步把算法用對(duì)應(yīng)的程序語(yǔ)句表達(dá)出來(lái)。(程序框圖先由學(xué)生討論,再統(tǒng)一,可以參考課本)
算法分析:
在求解方程之前,需要首先判斷判別式的符號(hào),再根據(jù)判別式的符號(hào)判斷方程根的情況:△
>0時(shí),方程有兩個(gè)不相等的實(shí)數(shù)根;△=()時(shí),方程有兩個(gè)相等的實(shí)數(shù)根;△<0時(shí),方
程沒(méi)有實(shí)數(shù)根。這個(gè)過(guò)程可以用算法中的條件結(jié)構(gòu)來(lái)表示。
利用TI-voyage200圖形計(jì)算器演示(程序見(jiàn)下兩圖)
k4d'Ij
:IFd>0Then
prg
nptH1?nputa:p4-q->Xl
mU:p-q->x2_
nputInputb
butHIt:ifxL=x2Then
sPnPucu
-2-4*aC4d!Disp"onerealrooti&!,xl
b24:JElse
/*3X4pl,
r(3£(d)/(!Dis^"twore-alroot:x2=",x2
Mf>\hn
I-0T@:E?se
PX-qx1
P-qX2:Disp"norealroot"
IfXL-升sEndIf
X2sEndPrgm
MAINDEGEXMT
運(yùn)行程序:輸入a=l,b=-2,c=-l時(shí),結(jié)果為:
="nirY~~~,丫””丫~FTY-7^1
例6、編寫(xiě)程序,使得任意輸入的3個(gè)整數(shù)按
1
Inputb=從大到小的順序輸出。
-2
Inputc=
-1算法分析:用a,b,c表示輸入的3個(gè)整數(shù);
tworealroot:xl=
為了節(jié)約變量,把它們重新排列后,仍用a,
x2=b,c表示,并使a》b》c.具體操作步驟可先
1-J2______________________________________
MAINDEGE帕CIFUNCWHO
討論,再對(duì)照課本。
程序框圖和程序:(參照課本)
利用TI-voyage200圖形計(jì)算器演示(程序見(jiàn)下兩圖)
b1J1cxr1'I
pr9m:IFc>aThen
L0Ca3bu:a+t
IH,h?,:Sa
nPu=>a:
InPuua'=Hbt->c
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鄭州信息工程職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性考試題庫(kù)附答案解析
- 某珠寶公司古法金飾營(yíng)銷方案
- 某服裝公司庫(kù)存管理優(yōu)化方案
- 2025年黑龍江交通職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性考試題庫(kù)附答案解析
- 2025年天津市渤?;ぢ毠W(xué)院馬克思主義基本原理概論期末考試模擬題含答案解析(奪冠)
- 2025年民辦四川天一學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)附答案解析
- 2025年沈陽(yáng)工業(yè)大學(xué)工程學(xué)院馬克思主義基本原理概論期末考試模擬題及答案解析(奪冠)
- 2024年福建中醫(yī)藥大學(xué)馬克思主義基本原理概論期末考試題含答案解析(必刷)
- 2025年黑龍江工業(yè)學(xué)院馬克思主義基本原理概論期末考試模擬題帶答案解析
- 2025年濟(jì)寧職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試模擬題帶答案解析(奪冠)
- 中科宇航招聘筆試題庫(kù)2026
- 醫(yī)院物資采購(gòu)流程及管理規(guī)范手冊(cè)
- 2026年低空管控系統(tǒng)項(xiàng)目投資計(jì)劃書(shū)
- 預(yù)制空心板梁架設(shè)專項(xiàng)施工方案
- 護(hù)理職業(yè)素養(yǎng)與形象
- 農(nóng)村供水題庫(kù)及答案
- 足球隊(duì)組成介紹
- 地震公路交通設(shè)施損壞事件應(yīng)急預(yù)案
- 溝通管理溝通計(jì)劃表
- 體檢中心工作總結(jié)10
- 股權(quán)轉(zhuǎn)讓法律意見(jiàn)書(shū)撰寫(xiě)范本模板
評(píng)論
0/150
提交評(píng)論