算法的表示方法_第1頁
算法的表示方法_第2頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、算法的表示方法教學(xué)內(nèi)容:算法的表示方法教學(xué)目標(biāo):1、復(fù)習(xí)計算機(jī)解決問題的一般過程2、通過一個實例向?qū)W生介紹計算機(jī)解決問題的過程3、復(fù)習(xí)計算機(jī)的各種常用指令4、知道算法的三種表示方法,并能用流程圖和偽代碼表示一些簡單問題的算法。復(fù)習(xí)算法的概念、特點和表示方法能力目標(biāo):教會學(xué)生使用流程圖和偽代碼來表示解決一個問題的算法情感目標(biāo):在教學(xué)中滲透德育教育,培養(yǎng)學(xué)生探索未知世界,積極主動學(xué)習(xí)解決問教學(xué)流程:1、講評上節(jié)課的作業(yè)情況(5分鐘)2、復(fù)習(xí)算法的相關(guān)概念和特征(5分鐘)3、回顧上一節(jié)課的解決求三個運(yùn)動隊總?cè)藬?shù)的問題,引入算法的表示方法4、講解用流程圖表示該算法的方法,講解流程圖的符號(5分鐘)5、

2、講解用偽代碼編寫程序的方法(5分鐘)6、講解用VB程序設(shè)計語言編寫程序的方法(5分鐘)7、請學(xué)生用流程圖、偽代碼、和VB程序設(shè)計語言來做題(10分鐘)8、課堂總結(jié)二、教學(xué)過程:作業(yè)講評這次的作業(yè)總體來說還不錯,所有的同學(xué)都交了但是我上次的作業(yè)要求是抄寫兩遍,默寫一遍,很多同學(xué)就是抄寫了三遍,這一點請大家注意,特別表揚(yáng)馬昊同學(xué),他是實實在在的默寫了,默寫完了,還用紅筆訂正,這是實實在在的用心學(xué)習(xí),各位同學(xué)要向他學(xué)習(xí)。引入:算法的復(fù)習(xí):我們上節(jié)課講算法開了個頭,知道平時我們使用的軟件比如ofice,小游戲,炒股軟件等等都是通過計算機(jī)編程開發(fā)出來的,而計算機(jī)解決問題的方法就是算法,那么計算機(jī)解決問題

3、的過程是什么?分為幾個步驟?有幾種常用的計算機(jī)指令?什么是算法,算法的特征是什么?復(fù)習(xí)算法的概念、特點算法:是為了解決一個問題的而采取的方法和步驟。那么既然算法是為了解決一個問題而采取的方法和步驟那么它肯定有一些規(guī)范,也就是有一些特征,那么算法的特征是什么呢?(你是怎么理解的?)算法的特征:有窮性、確定性、能行性、有0個或多個輸入、有一個或多個輸出算法的特征有窮性:算法必須有若干個步驟組成,必須在有限的步驟內(nèi)完成該算法,它有兩種含義一是一個一個算法必須有若干個步驟組成,它的執(zhí)行步驟必須是有限的,是可以終止的如果一個算法需要高速計算機(jī)(給學(xué)生看一個算法a=5,s=a/比如L/0可以嗎?)第二,就

4、是算法的執(zhí)行步驟必須在一個合理的時間內(nèi)結(jié)束。運(yùn)算幾百年才能得到結(jié)果,那它就不是一個有效的算法確定性:算法的描述必須是確定的,不能有二義性或歧義。自然數(shù),L到底是多少呢?可以是1,2,3,4)能行性:算法在邏輯上必須是可行的,不能是不可行的有0個或多個輸入:解決問題的前提是必須告訴計算機(jī)一些有用的數(shù)據(jù),也就是為算法建立一個初始狀態(tài)。這些數(shù)據(jù)必須是通過輸入,或者給未知量賦值的形式來進(jìn)行。那什么時候要用輸入語句,什么時候不要用輸入語句搞得清楚嗎?(輸入a,a=5前面的問題2沒有告訴你每個運(yùn)動隊的具體人數(shù),計算機(jī)能夠計算運(yùn)動隊的總?cè)藬?shù)嗎?就必須通過輸入語句從鍵盤上輸入一個數(shù)據(jù)給變量,如果象前面告訴你具

5、體數(shù)據(jù)的話只要用賦值語句就可以了)有一個或多個輸出:算法必須把結(jié)果反饋給用戶,使用戶得知問題處理的結(jié)果。輸出指令既可以輸出變量的值,也可以輸出具體數(shù)據(jù),也可以輸出表達(dá)式的值,教師提示:每個算法至少有一個輸出結(jié)果,但是一個算法是否只能有一個輸出結(jié)果呢?不是的,有的算法可能有多個輸出結(jié)果,就需要有多個輸出指令。既然我們知道了算法的定義和特征,那么我們用什么方式來表示算法呢?我們設(shè)計的算法又怎么表示呢?換句話說:怎么來描述一個算法?算法的表示方法有幾種?這就是我們今天要講的內(nèi)容:算法的表示方法教師提問:上節(jié)課我們講過的求高一年級運(yùn)動隊總?cè)藬?shù)的問題時采用什么方式進(jìn)行描述的?請學(xué)生在一起回憶解決問題的三

6、個步驟在幻燈片上顯示出來第一步:首先分析問題:確定題目要解決的是什么問題這道題我要求的是高一年級三個運(yùn)動隊的總?cè)藬?shù),其實就是一個求和的運(yùn)算,那我首先要讓計算機(jī)知道三個運(yùn)動隊各有多少人,也就是說要把籃球隊、羽毛球隊和體操隊的人數(shù)輸入到計算機(jī)里,采用什么指令?(輸入指令)籃球隊、羽毛球隊和手球隊的人數(shù)有沒有告訴你?那我就要開辟三個內(nèi)存的存儲單元來存放這三個運(yùn)動隊的人數(shù),這三個存儲單元我們稱作什么?(變量)可以給他起一個名字用來方便記憶。比如,L變量代表籃球隊的人數(shù),Y變量代表羽毛球隊的人數(shù),T變量代表手球隊的人數(shù),這三個變量名我是不是還可以取其他的名字比如(x,y,z)所以第一步就是輸入各個運(yùn)動隊

7、的人數(shù)并分別放到三個變量L,Y,T三個變量中去第二步要做什么?計算三個運(yùn)動隊的總?cè)藬?shù),怎么計算?假設(shè)我輸入的數(shù)據(jù)籃球隊有10個人,羽毛球隊有12個人,手球隊有15個人,那么總數(shù)是多少人?37人放到哪個變量里?我們要新開辟一個存儲單元用來存放三個運(yùn)動隊的人數(shù)總和,假設(shè)這個變量的名字叫sum,就是把運(yùn)動隊的人數(shù)總和(籃球隊的人數(shù)+羽毛球隊的人數(shù)+手球隊的人數(shù)L+Y+T)放到變量sum里去,注意這里的表示方法是sumJL+Y+T是把L+Y+T的值賦值給變量sum,J在編程的時候用=來代替,表示把右邊的值賦給左邊的變量,這個“=”不是數(shù)學(xué)意義上的等號表示相等,而表示賦值。第三步:程序到這里結(jié)束了沒有?

8、算法的最后一個特征是什么?有一個或多個輸出,最后你必須把求和的結(jié)果(也就是sum的值)告訴大家,用什么指令?輸出指令(這第一步、第二步、第三步是用什么方式表達(dá)出來的?提示學(xué)生,我們也可以用另外一種方法數(shù)學(xué)公式表達(dá)出來,那么這兩種表達(dá)方法其實是一種算法的表現(xiàn)方式,是哪一種?是不是用我們?nèi)祟惖淖匀徽Z言表達(dá)出來的?)學(xué)生回答:在大屏幕上打出問題2的自然語言表示方法算法的表示:自然語言、流程圖、偽代碼大家看到了,算法的設(shè)計分兩個內(nèi)容:一是尋找一種方法;二是描述一下實現(xiàn)這個方法的步驟。剛才我們已經(jīng)用自然語言的形式描述了求高一年級運(yùn)動隊總?cè)藬?shù)的算法。用自然語言來描述算法是比較容易理解,可是書寫繁瑣,有的時

9、候還會有歧異,比如有這樣一個算法:教師提問:1、小張上山,2、小張打死老虎(同學(xué)們怎么理解?),3、小張背虎下山,其中第二步既可以理解小張打死了老虎,也可以理解為小張在打一只死了的老虎,張三讓李四把他的筆記本拿來等。既然使用自然語言來描述容易產(chǎn)生歧義,那我們是不是可以用其他的方法來表示算法呢?我們可以用一種更好的方法表示算法,大家在逛大型超市或百貨商店時,如果要找某個地方常??梢愿鶕?jù)超市懸掛的引導(dǎo)標(biāo)牌來找到目的地,或者在辦理某件事時也可以根據(jù)指示牌上的圖形流程來解決問題,那么在計算機(jī)中我們也可以用簡單直觀的圖形來描述算法,這種描述方法我們稱作流程圖,在大屏幕上打出問題2的流程圖表示方法,并講述

10、把自然語言轉(zhuǎn)換成為流程圖的方法放幻燈片,出示算法的流程圖表示的基本元素。注意:每個流程圖符號有幾個入口,幾個出口偽代碼來表示:想一想:流程圖表示的算法計算機(jī)認(rèn)識嗎?計算機(jī)只認(rèn)識計算機(jī)程序設(shè)計語言。比如機(jī)器語言(只有0和1兩種代碼),匯編語言,高級語言(我們要接觸的VB語言和C語言)我們有一種很接近計算機(jī)程序設(shè)計語言的表示方法,它介于流程圖和程序設(shè)計語言之間,它和計算機(jī)程序代碼只有一點點差別,只要把相應(yīng)的指令替換成各種程序設(shè)計語言的相應(yīng)指令就是一個計算機(jī)程序了,在屏幕上打出偽代碼的解法。并講解流程圖如何轉(zhuǎn)換成為偽代碼4、程序代碼:在屏幕上打出該題目VB程序語言的解法,那么這道題如何用VB語言來寫

11、呢?首先是第一步輸入三個運(yùn)動隊的人數(shù),就是輸入L,Y,T,在VB里輸入指令是什么?Inputbox它的作用就是打開一個輸入框,把輸入的數(shù)據(jù)賦給一個變量格式是:變量名=inputbox(“提示符”)L=InputBox("籃球人數(shù)")y=InputBox("羽毛球人數(shù)")t=InputBox(手“球人")第二步是計算三個運(yùn)動隊的總?cè)藬?shù)sum=L+Y+T第三步是輸出運(yùn)動隊的總?cè)藬?shù)(輸出指令是什么?print)PRINTSUM請大家注意:在進(jìn)行VB程序設(shè)計時,變量所儲存的數(shù)據(jù)是有數(shù)據(jù)類型的,你所使用的這個變量到底是數(shù)值型數(shù)據(jù)還是字符型數(shù)據(jù),在書上P5

12、8頁上都有說明,比如我說一個電話號碼50906300是數(shù)值型的還是字符串型的數(shù)據(jù)?是字符串型的數(shù)據(jù),所以它無法參與數(shù)學(xué)運(yùn)算,所以我們在使用變量前要先定義變量的數(shù)據(jù)類型,很顯然,這道題我輸入的數(shù)據(jù)都是整數(shù),所以應(yīng)該怎么定義:DimLAsInteger(dim是定義的意思,把L定義成為整型數(shù)據(jù))DimyAsIntegerDimtAsInteger在計算機(jī)的屏幕上把VB編程的過程演示一遍,并著重講定義變量的重要性,在未定以前VB所使用的變量默認(rèn)是字符型的變量在屏幕上打出例題1:請用流程圖和偽代碼和VB語言表示算法鍵盤輸入兩個數(shù),輸出這兩個數(shù)和的平方。(教師從旁提示(這兩個數(shù)有沒有告訴你?要不要用輸入指令?需要用到幾個變量),學(xué)生在筆記本上完成,并請兩個同學(xué)到黑板上來完成)第一種方法:可

溫馨提示

  • 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

提交評論