關(guān)于算法的教學(xué)建議(一)算法基礎(chǔ)_第1頁(yè)
關(guān)于算法的教學(xué)建議(一)算法基礎(chǔ)_第2頁(yè)
關(guān)于算法的教學(xué)建議(一)算法基礎(chǔ)_第3頁(yè)
關(guān)于算法的教學(xué)建議(一)算法基礎(chǔ)_第4頁(yè)
關(guān)于算法的教學(xué)建議(一)算法基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩112頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

關(guān)于算法的教學(xué)建議(-)算法基礎(chǔ)

摘要:輸出:一個(gè)算法有一個(gè)或多個(gè)輸出,沒(méi)有輸出的算法是毫無(wú)意義的.???用計(jì)算機(jī)解決問(wèn)題的一

般過(guò)程:分析問(wèn)題;設(shè)計(jì)算法;編寫程序;上機(jī)調(diào)試和維護(hù).算法中.??

關(guān)鍵詞:算法,計(jì)算機(jī)

類別:專題技術(shù)

來(lái)源:牛檔搜索(Niudown.COM)

牛檔

^^DluQoWh搜文檔找老牛

本文系牛檔搜索(NiudowmCOM)根據(jù)用戶的指令自動(dòng)搜索的結(jié)果,文中內(nèi)涉及到的資料均來(lái)自

互聯(lián)網(wǎng),用于學(xué)習(xí)交流經(jīng)驗(yàn),作品其著作權(quán)歸原作者所有。不代表牛檔搜索(Niudown.COM)贊成本

文的內(nèi)容或立場(chǎng),牛檔搜索(Niudown.COM)不對(duì)其付相應(yīng)的法律責(zé)任!

關(guān)于算法的教學(xué)建議(一)——算法基礎(chǔ)

知識(shí)點(diǎn)必須落實(shí)的要點(diǎn)選用例題、練習(xí)例題、練習(xí)處理

?算法的概念與特征:【例1】渡河問(wèn)題。一個(gè)農(nóng)夫帶著一條狼、【例1】采用游戲方式,讓學(xué)生體驗(yàn)解決此問(wèn)

>算法:為解決某一問(wèn)題而一只山羊和一籃蔬菜過(guò)河,但只有一題設(shè)計(jì)的步驟,引入算法概念,從而說(shuō)明

設(shè)計(jì)的確定的有限的步條小船,并且每次只能讓農(nóng)夫帶一樣算法的主要特征。

驟。東西過(guò)河。農(nóng)夫在場(chǎng)的情況下一切相

>主要特征:安無(wú)事,一旦農(nóng)夫不在,狼會(huì)吃羊,

令有窮性:一個(gè)算法必須羊會(huì)吃蔬菜。問(wèn)聰明的農(nóng)夫如何解決

保證執(zhí)行有限步驟之后過(guò)河問(wèn)題。

結(jié)束。

算法與<確切性:算法的每一步

算法描驟必須有確切的含義。

<能行性:算法的每一步

驟都能有效地執(zhí)行,并

得到確定的結(jié)果。

令輸入:一個(gè)算法有。個(gè)

或多個(gè)輸入。

令輸出:一個(gè)算法有一個(gè)

或多個(gè)輸出,沒(méi)有輸出

的算法是毫無(wú)意義的。

?算法的描述方法:【例2]用自然語(yǔ)言描述:從鍵盤輸入兩【例2】按解決問(wèn)題的先后次序描述步驟。

>用自然語(yǔ)言表達(dá);數(shù),求兩數(shù)之和并輸出。說(shuō)明:此時(shí),只宜出現(xiàn)順序結(jié)構(gòu)。

>用流程圖表達(dá);

>用程序表達(dá)?!纠?】將上題用流程圖來(lái)描述?!纠?】主要是依據(jù)自$去語(yǔ)言畫流程圖,降低

?流程圖最常用的符號(hào):直接畫流程圖的難以上本例中強(qiáng)調(diào)各圖形

>起止框;符號(hào)的作用,規(guī)范H叵法,尤其是流程線的

>輸入輸出框;自上而下的流虹_

始)

>處理框;

>判斷框;

/輸入一個(gè)加數(shù)/

>流程線和連接圈。

/輸入另一個(gè)加/

/寸L__y

計(jì)算兩數(shù)之和

/輸HB和/

【例4】提供一種語(yǔ)言,編寫一個(gè)實(shí)現(xiàn)求[例4]教師可以選才舉較簡(jiǎn)單的典型語(yǔ)言環(huán)

和問(wèn)題的程序,說(shuō)明如何用程序描述境(如VB,TC,QB等)。

算法。華師大版教材中的問(wèn)題:P37三個(gè)end。

?用計(jì)算機(jī)解決問(wèn)題的一般過(guò)【例5】已知圓半徑,求面積?!纠?】按解決問(wèn)題的過(guò)程進(jìn)行分析。

程:?分析問(wèn)題:

>分析問(wèn)題;分析解決問(wèn)題所需要的數(shù)據(jù)(條件)——

>設(shè)計(jì)算法;輸入;

>編寫程序;確定要計(jì)算機(jī)解決什么問(wèn)題,即“做什么”

>上機(jī)調(diào)試和維護(hù)?!幚?;

?算法中基本步驟:明確最后得到的結(jié)果——輸出。

>輸入一處理一輸出。此例中要求輸入圓半徑,計(jì)算圓面積,輸

用計(jì)算出圓面積。

機(jī)解決?設(shè)計(jì)算法:

問(wèn)題的設(shè)計(jì)出解決某一問(wèn)題的一組(有限

一般過(guò)個(gè))求解步驟,即怎么做。本例用計(jì)算圓

程面積公式即可得到結(jié)果。請(qǐng)學(xué)生用自然語(yǔ)

言與流程圖分別描述出來(lái)。

需指出的是,為計(jì)算機(jī)設(shè)計(jì)算法就必

須依據(jù)計(jì)算機(jī)的工作原理(馮?諾依曼型

計(jì)算機(jī)),因?yàn)樵O(shè)計(jì)的算法和程序最終要

讓計(jì)算機(jī)去執(zhí)行的。有些問(wèn)題的算法計(jì)算

機(jī)與人工的方法是不同的,例如:記錄原

始數(shù)據(jù)和中間結(jié)果,計(jì)算機(jī)要利用存儲(chǔ)

器,而人工需要紙和筆;又如解方程,計(jì)

算機(jī)只能根據(jù)公式進(jìn)行數(shù)值運(yùn)算而人工

則能進(jìn)行代數(shù)運(yùn)算。

(開始)

/輸入圓半徑/

1r

利用公式計(jì)

算圓而積

/輸出面積/

(結(jié)束)

?編寫程序(略)。

本例中“輸入半徑”、“計(jì)算面積”、“輸

出面積”等步驟,流程圖中只能用文字表

達(dá),暫不涉及變量及表示變量的字母,但

需強(qiáng)調(diào)的是處理后輸出的必要性。

【例6】上例中增加求周長(zhǎng),設(shè)計(jì)出算法,【例6】處理時(shí),學(xué)生可能會(huì)畫出兩個(gè)流程圖,

并用流程圖表示。此時(shí)應(yīng)說(shuō)明:可在一個(gè)流程圖中實(shí)現(xiàn)輸出

兩個(gè)結(jié)果。

?常量:指在程序執(zhí)行過(guò)程中事[例7]上例中設(shè)圓的半徑為5cm,如果半【例7】分清常量與變量。

先設(shè)置、其值不發(fā)生改變的量,徑用字母r表示,周長(zhǎng)用字母c表示,>本例中數(shù)字5就是常量。

即一個(gè)具體的數(shù)值。面積用字母s表示,求圓的周長(zhǎng)和面>本例中r、c、s就是變量。

?變量:積。設(shè)計(jì)出算法,并用流程圖表示。>流程圖中,可以把“輸入半徑”、“計(jì)

>變量:指在程序運(yùn)行過(guò)程算周長(zhǎng)”、“計(jì)算面積”、“輸出面積”

中,取值可以改變的量,改為“輸入r”、“計(jì)算c”、“計(jì)算s”、

一般用字母表示。在計(jì)算“輸出S”。

機(jī)內(nèi)部變量對(duì)應(yīng)了一定的【例8】判斷下列變量名是否正確。a,cl,【例8】熟悉變量名的命名規(guī)則。

常量與

存儲(chǔ)單元。class*l,sum,3f,gradeAa@a,data,

變量名>變量命名的基本規(guī)則

a/ao

令只能由字母、數(shù)字和下【例9]舉些生活中常用數(shù)據(jù)用變量來(lái)表【例9】確定合適變量名,是便于理解與記憶。

劃線三類字符組成,但示,并起一個(gè)合適變量名。例如:mark-

第一個(gè)字符必須是字成績(jī)數(shù)據(jù),name-姓名,no-學(xué)號(hào)等。

母。

令字母大小寫都可以,變

[例10]上述變量分別是哪種變量的類【例10]變量的類型要求知道數(shù)值型、字符

量名長(zhǎng)度適當(dāng)。

型。型兩種。

>變量名與實(shí)際意義

>變量類型

?變量賦值的格式:【例11]a=3【例11】說(shuō)明變量的變量名與變量值。

>變量一常量或變量一變a=5a<—變量名

J里SL。3——變量值

A變量=常量或變量=變量、存儲(chǔ)單元

*功能:>變量名實(shí)際上是一個(gè)符號(hào)地址,對(duì)應(yīng)

將賦值號(hào)右邊常量的值或變量一定的內(nèi)存儲(chǔ)單元。

的值存放在左邊變量名對(duì)應(yīng)的>變量值指內(nèi)存儲(chǔ)單元中的值。

存儲(chǔ)單元中,成為左邊變量的>變量一般先賦值,后調(diào)用,重新賦值

值。后,變量的值改變。

變量的【例12】b=a【例12】說(shuō)明變量的值“取之不盡,一沖就

賦值c=a丟”。

d=a>變量a的值賦給b后,變量a中的值

b=3還在,可以繼續(xù)賦給c與d,說(shuō)明

變量值可以重復(fù)調(diào)用,變量值“取之

不盡”,與“讀”存儲(chǔ)器對(duì)應(yīng)。

>當(dāng)執(zhí)行到b=3時(shí),b變量值中原來(lái)的

值被改寫為3了,原來(lái)值沒(méi)有了,說(shuō)

明變量值一旦重新賦值后,立即被新

值代替,變量值“一沖就丟”,與“寫”

存儲(chǔ)器對(duì)應(yīng)。

?運(yùn)算符及運(yùn)算次序:【例13】寫出變量a,b,c,d的值?!纠?3](1)說(shuō)明賦值語(yǔ)句中賦值號(hào)右邊可以

>算術(shù)運(yùn)算符+、-、*、/、(1)a=2(2)a=2是一個(gè)式子,引出運(yùn)算符與表達(dá)式。

modeb=a+ab=3>表達(dá)式可以是單個(gè)的常量或變量。

>字符運(yùn)算符&或+。c=a+bb=a+b>關(guān)系表達(dá)式與邏輯表達(dá)式的舉例在

>關(guān)系運(yùn)算符>、<^>=、b=a-b【例14】中。

V=、=、V>oa=a-b>可以采用列表法記錄變量值變化的

>邏輯運(yùn)算符and、or、not。(3)a="開"(4)a=0過(guò)程與結(jié)果,例1(2)

>算術(shù)運(yùn)算最優(yōu)先,關(guān)系運(yùn)b="放"a=a+3abcd

算次之,最后為邏輯運(yùn)算,c=a+ba=22

運(yùn)算符括號(hào)可以改變次序。d=b+ab=33

與表達(dá)?表達(dá)式:b=a+b5

式>表達(dá)式:指用運(yùn)算符將常b=a-b-3

量、變量連接起來(lái)有意義a=a-b5

的式子。當(dāng)變量值變化時(shí)列出新值,取值時(shí)

>表達(dá)式的類型:取出最后一次的結(jié)果。

令算術(shù)表達(dá)式?!纠?4】判斷下列關(guān)系表達(dá)式結(jié)果是true【例14】知道邏輯型常量true或false,以及

<字符表達(dá)式?;騠alse。關(guān)系表達(dá)式的結(jié)果為邏輯值true或false

令關(guān)系表達(dá)式。

(1)30>3知道。

令邏輯表達(dá)式。

(2)12<=5>關(guān)系運(yùn)算符與邏輯運(yùn)算符。

?采用列表法記錄變量值變化的

(3)30>3and12<=5>關(guān)系運(yùn)算和邏輯運(yùn)算的結(jié)果是邏輯

過(guò)程與結(jié)果

30>3or12<=5值true或falseo

>邏輯運(yùn)算次序先not后and再or

>關(guān)系運(yùn)算符與邏輯運(yùn)算符可在分支

結(jié)構(gòu)單元學(xué)習(xí)時(shí)再舉些實(shí)例。

【例15】各類運(yùn)算次序。

【例15】說(shuō)出下列表達(dá)式運(yùn)算的次序。算術(shù)運(yùn)算最優(yōu)先,關(guān)系運(yùn)算次之,最

a+b>candb+c>aandc+a>b后為邏輯運(yùn)算,括號(hào)可以改變次序。

【例16】?jī)煞N表示法的含義相同,都是將符

【例16】表達(dá)式表示法:號(hào)右邊的表達(dá)式的值賦給左邊的變量,要

s-a*h/2或s=a*h/2注意的是符號(hào)左右用同一字母表示的變

a-a+2或a=a+2量的含義和值都不同。賦值語(yǔ)句格式可統(tǒng)

一為:變量=<表達(dá)式>,先運(yùn)算,后賦值。

【例17】為以后的例題準(zhǔn)備。

【例17】將下列描述用賦值語(yǔ)句表示。>學(xué)生容易將運(yùn)算符*省略掉。

(1)設(shè)圓的半徑為5cm,將它存放在變

量r中,將圓周長(zhǎng)賦值給變量c,

面積賦值給變量So

(2)假設(shè)一元二次方程的系數(shù)存放在

變量a,b,c,將判別式賦給變量do>字符類型變量的賦值。

(3)將“信息科技”字符信息賦值給

變量titleo>pl=price/2price=plpl起了

(4)某商店一商品價(jià)格存放在變量過(guò)渡的作用,在算法中可以寫成

price中,將price打?qū)φ郏x值price=price/2,說(shuō)明同一變量可

給變量price中。以不斷地反復(fù)地進(jìn)行賦值,變量值取

(5)將國(guó)民生成總值gnp翻2翻。最新(近)一次賦值為準(zhǔn),若學(xué)生不

能理解可以先給price賦一個(gè)確定

值500,然后一一列出賦值后變量的

值。

>不引進(jìn)累加器和計(jì)數(shù)器,在循環(huán)結(jié)構(gòu)

單元中說(shuō)明。

【例18]按計(jì)算機(jī)處理問(wèn)題的一般過(guò)程。

【例18】某學(xué)校需購(gòu)買n套學(xué)生課桌椅,?分析問(wèn)題:

已知每套單價(jià)200元,另加總價(jià)的輸入:所需要的數(shù)據(jù)單價(jià)是已知的,套數(shù)

3.5%的送貨費(fèi),請(qǐng)計(jì)算學(xué)校應(yīng)付款是需從鍵盤輸入。

多少?請(qǐng)畫出流程圖。(單價(jià)用變量j處理:計(jì)算應(yīng)付款,應(yīng)付款=總價(jià)+總價(jià)

表示,套數(shù)用n表示,總價(jià)用m表示,*0.035,總價(jià)=單價(jià)*套數(shù);(也可

應(yīng)付款用p表示)寫成一個(gè)表達(dá)式:應(yīng)付款=單價(jià)*套

數(shù)*1.035)o

輸出:應(yīng)付款。

?設(shè)計(jì)算法:

先用自然語(yǔ)言描述,再畫出流程圖,

檢查流程圖的規(guī)范性。注意表達(dá)式中乘號(hào)

的寫法。根據(jù)教學(xué)實(shí)際情況,教師可更改

流程圖中的步驟。

(開始)

___1____

/輸入購(gòu)買課/

/桌椅套數(shù)n/

1

j=200

m=j*n

p=m*l.035

/輸出應(yīng)忖款P/

(結(jié)束)

?編寫程序(1咯)。

?上機(jī)調(diào)試與,維護(hù)(略)。

說(shuō)明:這部分教學(xué)中,一定要注意以下兒點(diǎn)

*有關(guān)概念要注意準(zhǔn)確和清晰,切忌模糊,使學(xué)生一開始就能有正確的認(rèn)識(shí)。

*要注意循序漸進(jìn),還沒(méi)有出現(xiàn)的概念和知識(shí),決不能事先應(yīng)用。

*各知識(shí)點(diǎn)的落實(shí),最后要在解決問(wèn)題的流程圖中統(tǒng)一體現(xiàn)。

關(guān)于算法的教學(xué)建議(二)——順序結(jié)構(gòu)

知識(shí)點(diǎn)必須落實(shí)的要點(diǎn)選用例題、練習(xí)例題、練習(xí)處理

?順序結(jié)構(gòu):【例11鍵盤輸入一個(gè)正方形的邊長(zhǎng)a,【例1]利用一般數(shù)學(xué)或物理公式進(jìn)行計(jì)算。

嚴(yán)格按照先后:順序執(zhí)行各個(gè)步求該正方形與其內(nèi)切圓所夾部分的面復(fù)習(xí)、鞏固變量、變量值、表達(dá)式。

驟的算法結(jié)構(gòu)。積并輸出。?分析問(wèn)題:

>輸入什么數(shù)據(jù)?(正方形邊長(zhǎng)a)

選用例題:一物體以速度v米/秒勻速>處理什么問(wèn)題?(計(jì)算正方形與其內(nèi)

「1

11運(yùn)動(dòng),求經(jīng)過(guò)t秒后物體運(yùn)動(dòng)的距離s。切圓所夾部分面積)

11

1操作11>輸出什么數(shù)據(jù)?(所求得的面積)

11

11?設(shè)計(jì)算法:

11

11根據(jù)數(shù)學(xué)知識(shí)知道:

11

順序結(jié)1操作21正方形面積圓面積

11sl=an,s2=na?/4,

構(gòu)11

11所夾部分面積s=sl-s2。

?流程圖:

(開始)

/輸入正方形/

/族a/

j

1

計(jì)算正方形面積

S1=a*a

?常用函數(shù)

>sqr(x)算術(shù)平方根計(jì)算圓而枳

S2=3.14*a*a/4

>abs(x)絕對(duì)值

>int(x)取整函數(shù)所夾部分面積

S=S1-S2

1

/輸出面積S/

1

(結(jié)束)

[例2]鍵盤輸入一個(gè)二位正整數(shù)n,輸【例2】利F用取整函數(shù)取十位號(hào)發(fā)。

出它的十位數(shù)X。x=int(n/10)

[例3]輸入任意一個(gè)三位正整數(shù)n,輸【例3】利1月取整函數(shù)取各位號(hào)發(fā)字。

出這個(gè)三位數(shù)各位數(shù)字之和totalo?分析問(wèn)4犯

例如:輸入456,輸出結(jié)果為15。>輸入.什么數(shù)據(jù)?(三位正整數(shù)n)

>處理一什么問(wèn)題?(分別求出各位數(shù)字,

并計(jì)一算它們的和total)

可選用例題:輸入任意一個(gè)三位正整>輸出什么數(shù)據(jù)?(所求得的和total)

數(shù),將它們反向輸出。例輸入456,?設(shè)計(jì)算法:

輸出654o百位數(shù)a=int(n/100);

十位數(shù)b=int((n-a*100)/10);

個(gè)位數(shù)c=n-a*100-b*10;

total=a+b+c(>

>注:除了用取整函數(shù)外,還可以與取

余數(shù)運(yùn)算符mod結(jié)合使用。

個(gè)位數(shù)c=nmod10;

十位數(shù)b=(int(n/10))mod10;

百位數(shù)a=int(n/100)0

?流程圖:

(開始)

/輸入任意的/

/三位數(shù)n/

_____1_____

a=int(n/100)

J

b=int((n-a*100)/IO)

c=n-a*1OO-b*10

total=a+b+c

/輸出total/

4r

(結(jié)束)

【例4】輸入一元二次方程的系數(shù)a、b、【例4】用帶函數(shù)的數(shù)學(xué)公式計(jì)拿h

c(確保b?-4ac>0),計(jì)算并輸出兩個(gè)實(shí)?分析問(wèn)題

根xl、x2o>輸入彳t么數(shù)據(jù)?(系數(shù)a、b、c,保證

b2-4a(:>0)

>處理彳十么問(wèn)題?(計(jì)算方.程的兩個(gè)實(shí)

根xl和x2)

可選用例題:>輸出什么數(shù)據(jù)?(所求得的兩個(gè)實(shí)根

(1)輸入平面直角坐標(biāo)系中的兩點(diǎn)的xl和x2)

坐標(biāo)a(xl,yl)、b(x2,y2),計(jì)設(shè)計(jì)算法:

算并輸出兩點(diǎn)間的距離L。根據(jù)數(shù)學(xué)知識(shí)得知:

(2)已知三角形三條邊的長(zhǎng)a、b、c,d=b*b-4*a*c;

利用海倫公式/s(s-a)(s-份(s-c)xl=(-b+sqr(d))/2/a;

x2=(-b-sqr(d))/2/a。

求三角形面積。其中s=(a+b+c)/2

或xl=(-b+sqr(d))/(2*a);

x2=(-b-sqr(d))/(2*a)o

注意表達(dá)式的寫法,表達(dá)式中的(2*a)

學(xué)生容易漏掉()。

流程圖:

開始

輸入系數(shù)

a、b、c

d=b*b-4*a*c

Xl=(-b+sqr(d))/2/a

X2=(-b-sqr(d))/2/a

輸出兩實(shí)根

xl>x2

(結(jié)束)

【例5】實(shí)現(xiàn)的方法有多種:

【例5】交換兩個(gè)變量的值。>借用第三個(gè)變量

先試著直接交換,a=l,b=2,a=b,b=a0

用表格跟蹤變量變化過(guò)程,結(jié)果變量a

與b值都為2,原因就是“一沖就丟”。

ab

a=l1

b=22

a=b2

b=a2

為了防止有用的數(shù)據(jù)丟失,預(yù)先將a

的值保護(hù)起來(lái),可以引入使用第三個(gè)

變量t,將a值暫存。次序如圖所示,

寫出語(yǔ)句。

At/③

t=a

a=b

b=t

>寫出下列運(yùn)行后a與b的值

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論