版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
科教版算法及程序設(shè)計教案
皿節(jié)計算機(jī)解決問題的過程
一、教學(xué)目標(biāo)
1、知識及技能
(1)讓學(xué)生了解算法、窮舉法、程序設(shè)計語言、編寫程序和調(diào)試程
序等概念。
(2)讓學(xué)生知道對現(xiàn)實問題的自然語言的描述,特別是類似程序設(shè)
計語言的自然語言描述。
(3)讓學(xué)生理解分析問題'設(shè)計算法、編寫程序、調(diào)試程序這一用
計算機(jī)解決問題的基本步驟■認(rèn)識其在算法及程序設(shè)計中的作用。
2、方法及過程
(1)培養(yǎng)學(xué)生發(fā)現(xiàn)舊知識的規(guī)律、方法和步驟?并把它運用到新知
識中去的能力。
(2)培養(yǎng)學(xué)生調(diào)試程序的能力。
(3)培養(yǎng)學(xué)生合作、討論、觀摩、交流和自主學(xué)習(xí)的能力。
3、情感態(tài)度和價值觀
通過"韓信點兵"這個富有生動情節(jié)的實例和探究、講授、觀摩、
交流等環(huán)節(jié)?讓學(xué)生體驗用計算機(jī)解決問題的基本過程。
二、重點難點
本節(jié)的重點用計算解決問題的過程中的分析問題、設(shè)計算法、和上機(jī)調(diào)試程
序等步驟。用計算機(jī)解決問題的過程中的分析問題、設(shè)計算法也是本節(jié)的難
點。
三、教學(xué)環(huán)境
1、教材處理
教學(xué)內(nèi)容選用中華人民共和國教育部制訂的《普通高中技術(shù)課程標(biāo)準(zhǔn)》
(2003年4月版)中信息技術(shù)部分的選修模塊1"算法及程序設(shè)計"第一
章的第一課"計算機(jī)解決問題的過程"。教材選用《廣東省普通高中信息技
術(shù)選修一:算法及程序設(shè)計》第三章第一節(jié),建議"算法及程序設(shè)計"模塊
在高中一年級下學(xué)期或高中二年級開設(shè)。
根據(jù)2003年4月版《普通高中技術(shù)課程標(biāo)準(zhǔn)》的闡述,"算法及程序
設(shè)計"是普通高中信息技術(shù)的選修模塊之1,它的前導(dǎo)課程是信息技術(shù)的必
修模塊"信息技術(shù)基礎(chǔ)"。學(xué)生在"信息技術(shù)基礎(chǔ)"模塊里已經(jīng)學(xué)習(xí)了計算
機(jī)的基本操作,掌握了啟動程序、窗口操作和文字編輯等基礎(chǔ)知識。學(xué)生可
以利用上述的基礎(chǔ)知識,用于本節(jié)課的啟動VisualBasic程序設(shè)計環(huán)境,輸
入程序代碼?運行程序等操作。本節(jié)課"計算機(jī)解決問題的過程"是"算法
及程序設(shè)計"模塊的第一節(jié)課?上好這節(jié)課是使學(xué)生能否學(xué)好"算法及程序
設(shè)計"這一模塊的關(guān)鍵。本節(jié)課的教學(xué)目的是讓學(xué)生理解分析問題、設(shè)計算
法、編寫程序和調(diào)試程序等用計算機(jī)解決問題的基本過程,認(rèn)識其在算法及
程序設(shè)計中的地位和作用,它也是后續(xù)課程如模塊化程序設(shè)計、各種算法設(shè)
計等課程的基礎(chǔ)。
讓學(xué)生在人工解題中發(fā)現(xiàn)分析問題、設(shè)計算法等步驟,并把它應(yīng)用到用
計算機(jī)解決問題中去?這是構(gòu)建主義中知識遷移的方法。本節(jié)課還采用了探
究、講授、觀摩、交流、閱讀材料等多種教學(xué)活動的有機(jī)結(jié)合的方法。
2、預(yù)備知識
本節(jié)課相聯(lián)系的舊知識是計算機(jī)的基本操作中鼠標(biāo)、鍵盤操作,啟動、
關(guān)閉程序,窗口、菜單操作和文字編輯等基礎(chǔ)知識,還有解決數(shù)學(xué)問題的步
驟等知識。
3、硬件要求
可以進(jìn)行屏幕廣播的多媒體電腦室。教師自行設(shè)計制作的課件。準(zhǔn)備《計算機(jī)
解決問題的過程》教學(xué)活動表。
4、所需軟件
學(xué)生機(jī)要安裝VB6.0或以上版本。
5'所需課時
2課時(100分鐘)
四、教學(xué)過程
(一)引入
教師:"在科技發(fā)達(dá)的今天,我們到處都可以看到計算機(jī)的蹤影,感受到計
算機(jī)給學(xué)習(xí)、生活帶來的方便。然而,在驚嘆計算機(jī)的神奇和享受的歡樂的時
候,你是否了解計算解決問題的基本過程?有沒有思考過其中的奧妙呢?下面
我們先看一個古典的問題:"
學(xué)生觀看約1分鐘的電視劇《漢劉邦》片斷,內(nèi)容大致如下:
"韓信是我國西漢初著名的軍事家,劉邦得天下?軍事上全依靠他。韓信點
兵?多多益善?不僅如此?還能經(jīng)常以少勝多?以弱勝強(qiáng)。在及楚軍決戰(zhàn)時韓
信指揮諸侯聯(lián)軍?在垓下十面埋伏,擊敗楚軍?楚霸王項羽因此自殺。"
片斷結(jié)束時屏幕出現(xiàn)"韓信點兵"問題:"相傳漢高祖劉邦問大將軍韓信統(tǒng)
御兵士多少,韓信答說,每3人一列余1人、5人一列余2人、7人一列余4
人、13人一列余6人……。劉邦茫然而不知其數(shù)。你呢?"
(二)問題
教師:"下面我們先助劉邦解決一個簡單的問題。"
展示題目:
"韓信點兵"問題1:求整除3余1、整除5余2、整除7余4的最小自然
數(shù)。
(三)探究
把全班分成16個學(xué)習(xí)小組,每個小組的同學(xué)一起探究、討論問題。利用已
學(xué)過的數(shù)學(xué)知識找出題目已知什么求什么、明確已知和未知之間的關(guān)系和寫出
求解問題的解題步驟。并填寫《計算機(jī)解決問題的過程》教學(xué)活動表中的"探
究問題記錄表"。如下:
探究問題記錄表
分析問題(找出已知和未
結(jié)
知、列出已知和未知之間寫出解題步驟
果
的關(guān)系)
給5分鐘學(xué)生討論,教師在這過程中到各學(xué)習(xí)小組中,引導(dǎo)個別學(xué)習(xí)小組
分析問題、寫出解題步驟。教師提問2~3個同學(xué),從中逐漸引導(dǎo)出類似如下的
分析問題和解題步驟,并給出算法的概念。
分析問題(找出已知和未
知、列出已知和未知之間寫出解題步驟
的矣系)
設(shè)所求的數(shù)為X,則X1、令X為1。
應(yīng)滿足:2、如果X整除3余1,X整除5
X整除3余1余2-
X整除5余2X整除7余4,這就是題目要
X整除7余4求的數(shù)?則記下這個X。
3、令X為X+1(為算下一個作準(zhǔn)
備)。
4、如果算出,則結(jié)束;否則跳轉(zhuǎn)2。
5、寫出答案。
教師解釋第3步"另x為x+r并指出它及數(shù)學(xué)中的區(qū)別?并從上面的解題
步驟中總結(jié)出窮舉的算法。
教師:"剛才有些同學(xué)把題目解出來了?答案是67?韓信作為大將軍,統(tǒng)率
士兵當(dāng)然不止67人,下面我們來解決一個數(shù)據(jù)量稍大的問題。"
展示題目:
"韓信點兵"問題2:求整除3余1、整除5余2、整除7余4、整除13余
6、整除17余8的最小自然數(shù)。
給2分鐘學(xué)生分析上述問題并寫出算法,不用計算。學(xué)生有了第1題的經(jīng)驗?
很快會寫出和第一題類似的算法。如下:
分析問題(找出已知和未
知、列出已知和未知之間寫出解題步驟
的關(guān)系)
設(shè)所求的數(shù)為X,則X1、令X為:1。
應(yīng)滿足:2、如果X整除3余1,
X整除3余1X整除5余2,
X整除5余2X整除7余4,
X整除7余4X整除13余6,
X整除13余6X整除17余8,則記下這個
X整除17余8X。
3、令X為X+1。
4、如果算出,則結(jié)束;否則跳轉(zhuǎn)2。
5、寫出答案。
教師:"上面的結(jié)果超過1萬,人工計算要很長時間,在科技發(fā)達(dá)的今天,
你想到什么?"(用計算機(jī)解題)
(四)用計算機(jī)解決問題
教師:"計算機(jī)怎么樣解決問題?用計算機(jī)解決問題,同樣要經(jīng)過分析問
題、設(shè)計算法兩步驟?!痹谥v授過程中展示人工解題中分析問題和設(shè)計算法這
兩個步驟。
教師:"用計算機(jī)解題?是不是輸入上面的算法?上面用自然語言描述的算
法,計算機(jī)不懂,必須翻譯成計算機(jī)的語言,這就是程序設(shè)計語言。"教師展
示及用VisualBasic語言編寫的程序作對照。簡單解釋變Y的作用?并提示學(xué)
生程序設(shè)計語言是我們以后學(xué)習(xí)的重點。
本例用VisualBasic語言編寫的程序請看教材如下:
PrivateSubCommandl_Click()
DimXAsInteger,YAsInteger
X=1:Y=O
Do
IfXMod3=lThen
IfXMod5=2Then
IfXMod7=4Then
IfXMod13=6Then
IfXMod17=8ThenY=X
EndIf
EndIf
EndIf
EndIf
X=X+1
LoopUntilY>0
Print"韓信統(tǒng)御士兵數(shù):";Y
EndSub
教師:"程序編好以后,通過鍵盤輸入計算機(jī),并運行程序查看結(jié)果這個過程
叫調(diào)試程序。"
(五)觀摩
根據(jù)前面編制的程序?啟動VisualBasic程序設(shè)計環(huán)境,輸入程序代碼?進(jìn)
行調(diào)試?最后得到運行的結(jié)果。具體操作步驟請看教材(第4、5頁)。要求同
組內(nèi)先完成的同學(xué)幫助還未完成的同學(xué)。幫助的時候不能代勞?只能動口不動
手OO
教師演示操作步驟。
學(xué)生上機(jī)調(diào)試程序,教師作個別指導(dǎo),時間是10分鐘。
操作時有些學(xué)生很快完成.有些學(xué)生則很慢,解決案是布置操作快的同學(xué)閱
讀教材并完成《計算機(jī)解決問題的過程》教學(xué)活動表中的填空題。較慢的同學(xué)
在他們調(diào)試了約8分鐘后告訴他們可以通過網(wǎng)上鄰居下載程序。以便能在10分
鐘內(nèi)調(diào)試出程序。
(六)交流
教師:"前面我們學(xué)習(xí)了用計算機(jī)解決問題的過程,它和人工解有什么關(guān)系
呢?同一學(xué)習(xí)小組的同學(xué)一起探討人工求解問題和用計算機(jī)求解問題的異同?
并把討論結(jié)果記錄在《計算機(jī)解決問題的過程》教學(xué)活動表的"討論記錄"表
中。如下:
關(guān)于求解問題的方式討論記錄
求解問題的方式相同點不同點
人工求解問題
用計算機(jī)求解問
題
教師提問2~3個小組的討論結(jié)果,并引導(dǎo)出大致如下的形式結(jié)果:
求解問題的方式相同點不同點
對題目進(jìn)行解答'運
人工求解問題分析問題'設(shè)計算法、算速度慢、不需要計
得出結(jié)果、驗算結(jié)果算機(jī)等
用計算機(jī)求解問等編寫程序'調(diào)試程序'
題運算速度快等
五、課外拓展
相關(guān)資源
技術(shù)課程標(biāo)準(zhǔn)介紹:
東莞中學(xué)信息技術(shù)網(wǎng):
普通高中技術(shù)課程網(wǎng):
L2節(jié)1-2節(jié)算法和算法的描述
一、教學(xué)目標(biāo)
1、知識及技能
(1)了解算法的定義及其表達(dá)方法;
(2)認(rèn)知流程圖的六種基本符號;
(3)理解計算機(jī)解決問題的一般過程。
2、方法及過程
(1)理解用不同的表達(dá)方法描述算法的優(yōu)缺點;
(2)掌握用流程圖描述簡單的算法。
3、情感態(tài)度和價值觀
以生活中的實例引入算法,激發(fā)學(xué)生的學(xué)習(xí)興趣?培養(yǎng)學(xué)生的主動探究能力。
二、重點難點
(-)教學(xué)重點
1、算法的定義;
2、算法的三種表達(dá)方法;
3、流程圖的六種基本符號;
4、用流程圖描述簡單的算法。
(二)教學(xué)難點
5、算法的描述(三種);
6、用流程圖描述算法。
三、教學(xué)環(huán)境
1、教材處理
通過物理學(xué)中的實例了解算法的概念和算法的描述方法掌握用計算機(jī)解決實際
問題的一般步驟。用多媒體教學(xué)網(wǎng)開展教學(xué);用"先自主探究,后教學(xué)指導(dǎo)"
的方法進(jìn)行教學(xué)。
2、預(yù)備知識
學(xué)生已掌握了用計算機(jī)解決問題的過程,掌握了計算機(jī)運用基礎(chǔ)。
3、硬件要求
建議本節(jié)課在多媒體電腦教室中完成?最好有廣播教學(xué)系統(tǒng)或投影儀?為拓展
學(xué)習(xí),學(xué)生機(jī)應(yīng)允許上互聯(lián)網(wǎng)。
4、所需軟件
學(xué)生機(jī)要安裝VB6.0或以上版本。
5、所需課時:2課時(100分鐘)
四、教學(xué)過程
教學(xué)內(nèi)容預(yù)期目標(biāo)
新課內(nèi)容:
一'對算法的初步了解
1?一個簡單的物理問題:
書中例6-1-1:求物體在恒力作用下的加速度。
根據(jù)在物理課中學(xué)過的知識,要解決這個問題有
多種方法:
方法一:
a)測量出物體的質(zhì)量m、拉力F和滑動摩擦
力f
b)將測量所得的數(shù)據(jù)輸入計算機(jī)
c)根據(jù)牛頓第二定律F-f=m*a-計算出加速引入物理學(xué)中的例
度a子,激發(fā)學(xué)生的學(xué)習(xí)
d)輸出所得的結(jié)果興趣,有助于學(xué)生理
方法二:解算法的概念
a)測量出物體從靜止開始移動的距離s、時間
t
b)將測量所得的數(shù)據(jù)輸入計算機(jī)
c)利用公式:s=a*t*t/2計算出加速度a
引導(dǎo)出算法的概念
d)輸出所得的結(jié)果
介紹三種算法的表
2?算法的定義
這種為解決某一問題而設(shè)計的確定的有限的步達(dá)方式,并對它們進(jìn)
驟稱為算法。行比較?分析優(yōu)缺
占。
二、算法的描述/\\\
要把解決問題的步驟表達(dá)出來,有多種方法可以
給出流程圖的基本
表達(dá)算法。
符號,對其功能和使
1?用自然語言表達(dá)用情況加以說明,以
用自然語言表達(dá)算法就是把算法的各個步驟
??便今后在具體運用
依次用人們熟悉的自然語言表示出來。
中的正確使用。
優(yōu)點:容易理解
缺點:書寫較煩、不確定性、對復(fù)雜的問題難以
表達(dá)準(zhǔn)確、不能被計算機(jī)識別和執(zhí)行
2?用圖形符號表達(dá)
用圖形符號表達(dá)算法必須要有一組規(guī)定統(tǒng)一、含
義確定的專用符號。
常用的"流程圖"所用的基本符號
圖形符符號名說明流線
號
稱
起始、表示算法起始框:
11終止框的開始或一流出線
z^7結(jié)束終止框:
1___1一流入線
輸入、框中標(biāo)明只有一流入線
給出流程圖的作法?
輸出框輸入'輸出和一流出線
通過詳細(xì)的解釋說
的內(nèi)容
_A
明使學(xué)生初步掌握
處理框框中標(biāo)明只有一流入線
流程圖的使用和基
0進(jìn)行什么和一流出線
本畫法。
處理
判定框框中標(biāo)明一流入線兩流
判定條件出線
并在框外(T和F
標(biāo)明判定)但同時只能
后的兩種一流出線起作
結(jié)果的流用
向
流線表示從某
一框到另
一框的流
向
連接圈表示算法一條流線
流向出口
或入口連
接點
優(yōu)點:直觀、形象
缺點:不能被計算機(jī)識別和執(zhí)行
例6-1-1:"物體在恒力作用下的加速度"的算
了解計算機(jī)解決問
題的一般過程,為今
后用編程解決實際
問題打下基礎(chǔ)。
L
/輸//
3?用程序?qū)崿F(xiàn)算法
用計算機(jī)能理解和執(zhí)行的程序設(shè)計語言把算法
表示出來,然后把程序輸入到計算機(jī)并執(zhí)行?計
算機(jī)才能按照預(yù)定的算法去解決問題。
不同類型的計算機(jī)能夠識別的指令和語言不盡
相同?即使對同一種計算機(jī)語言?不同類型的計
算機(jī)對該語言的解釋程序也有差異。
因此,用程序表示算法時,必須按照程序設(shè)計語
言適用某類計算機(jī)的具體規(guī)定來進(jìn)行。
例:用Pascal語言表示"從鍵盤輸入一組數(shù)據(jù)
并求該組數(shù)據(jù)的平均值"的程序如下:
Programex_aver
VarI:integer;x,av:real;
Begin
Av:=0;I:=0;
Dowhilenoteof()
Begin
Readln(x);av:=av+x;
I:=I+1;
End
av:=av/I;
Writenln("Theaveragevalueis,av);
End
三'用計算機(jī)解決問題的一般過程
使用計算機(jī)解決一個問題?一般包括四個過程
1?需求分析
"需求分析"是指對要解決的問題進(jìn)行詳細(xì)的分
析,弄清楚問題的要求,包括需要輸入什么數(shù)據(jù)-
要得到什么結(jié)果?最后應(yīng)輸出什么。
"需求分析"就是確定要計算機(jī)"做什么"。
2?設(shè)計算法
弄清楚要計算機(jī)"做什么"后?就要設(shè)計計算法?
明確要計算機(jī)"怎么做"
解決一個問題■可能有多種算法。例如,數(shù)學(xué)題
常常有"一題多解"。這就是說,解決一個問題
的算法可能不止一種。這是,應(yīng)該通過分析、比
較、挑選一種最優(yōu)的算法。
3?編寫程序
計算機(jī)只能接受并執(zhí)行計算機(jī)程序設(shè)計語言編
寫的程序。當(dāng)我們?yōu)榻鉀Q一個問題確定了算法
后,還必須將該算法用計算機(jī)程序設(shè)計語言編寫
程序。這個過程成為"編碼"或"編程"。
4?上機(jī)調(diào)試及維護(hù)
編寫完成的程序?不一定完全符合實際問題的要
求,還必須在計算機(jī)上運行這個程序,排除程序
中可能出現(xiàn)的錯誤?才能得到結(jié)果。這個過程稱
為"上機(jī)調(diào)試"。
即使是經(jīng)過調(diào)試的程序?在使用一段時間后,仍
然會被發(fā)現(xiàn)錯誤或不足之處。這就需要對程序做
進(jìn)一步的修改,使之更加完善。這個過程稱為"維
護(hù)"。
在實際解決問題時,上述四個步驟可能會根據(jù)不
同的問題有所側(cè)重。
五、課外拓展
1'相關(guān)資源
東莞中學(xué)信息技術(shù)網(wǎng):
普通高中技術(shù)課程網(wǎng):
2、課外練習(xí)
小明是小學(xué)一年級學(xué)生,請你為他設(shè)計一個小程序?專門用來練習(xí)加法運算。
具體講就是讓計算機(jī)產(chǎn)生兩個整數(shù)并組成加法豎式-再從鍵盤輸入一個結(jié)果數(shù),
最后讓計算機(jī)來判斷結(jié)果是否正確。
1-3程序及程序設(shè)計語言
-、教學(xué)目標(biāo)
1、知識及技能
使學(xué)生知道什么是源代碼,并理解算法、程序設(shè)計、程序設(shè)計語言之間的關(guān)系?
了解程序設(shè)計語言的發(fā)展及種類。
2、過程及方法
使學(xué)生初步體驗編程樂趣■了解如何編輯程序、編譯程序和連接程序。
3、情感態(tài)度及價值觀
讓學(xué)生進(jìn)一步領(lǐng)會算法和程序設(shè)計在解決問題中的地位,體會編寫出程序的魅
力?從而培養(yǎng)學(xué)生學(xué)習(xí)編程的興趣。
二'重點難點
(1)重點:了解代碼所包含的算法思想;
(2)難點:計算機(jī)是如何編輯程序、編譯程序和連接程序的。
三、教學(xué)環(huán)境
1、教材處理
上一節(jié)課學(xué)習(xí)了三種描述算法的方法,但這三種算法計算機(jī)無法識別?
必須編寫程序代碼,方可實現(xiàn)用計算機(jī)解決問題。本節(jié)課將學(xué)習(xí)用VB編寫
"韓信點兵"問題的算法?然后同學(xué)們通過自主學(xué)習(xí)■認(rèn)識一下VB程序設(shè)
計方面的知識。
2、預(yù)備知識
學(xué)生已掌握了用計算機(jī)解決問題的過程?并對算法及其作用有初步的認(rèn)
識。
3、硬件要求
建議本節(jié)課在多媒體電腦教室中完成,最好有廣播教學(xué)系統(tǒng)或投影儀,為拓展
學(xué)習(xí),學(xué)生機(jī)應(yīng)允許上互聯(lián)網(wǎng)。
4、所需軟件
學(xué)生機(jī)要安裝VB6.0或以上版本。
5、所需課時
2課時(100分鐘)
四、教學(xué)過程
正課講解
(-)嘗試用VB編寫程序
1'么是VB?
——VB是一種基本BASIC語言的可視化程序開發(fā)工具。
2、編寫程序
⑴從桌面上啟動VB,彈出"新建工程"對話框,從"新建"頁面中選"標(biāo)準(zhǔn)EXE",
然后"打開"按鈕,建立"標(biāo)準(zhǔn)EXE工程。
注:為了避免打開時總是出現(xiàn)"新建工程"對話框,在首次啟動時,勾選
"不再顯示這個對話框"。
⑵單擊工具箱"CommandButton"的按鈕?在Forml窗體中拖出一個
"Commandl"按鈕。
Commandl是命令按鈕?它有6個屬性、2個事件和4個方法。
屬性
Caption標(biāo)題Default決定窗體的默認(rèn)命令按鈕
Enabled決定對象是否響應(yīng)用Style控件的外觀
戶生成事件
Visible決定對象是否可見Picture顯示的圖形
事件方法
Click單擊Drag拖動Refresh刷新
KeyPress字符鍵被Move移動SetFocus設(shè)置焦點將當(dāng)
單擊前焦點強(qiáng)制設(shè)
置到文本框?qū)?/p>
象上
⑶選中此按鈕?從屬性窗口中將Caption改為"韓信點兵"。
⑷給按鈕添加代碼?在PrivateSubCommandl_Click()和EndSub之
間添加代碼:DimNAsInteger'聲明N為整型
N=1'賦初始值Do(Nmod3=2)and(Nmod5=3)and(Nmod7=2)
Then'滿足條件打印N?不滿足繼續(xù)循環(huán)
PrintN
Exitdo
Endif
N=N+1
Loop
⑸從"運行"菜單中"單擊"啟動命令■運行程序。運行后,單擊"韓信點兵"
按鈕。注:運行時,不能修改程序代碼。
實踐題:從"調(diào)試"菜單中點擊"逐語句"命令(F8),然后按F8鍵試著
單步運行程序?觀察代碼是如何運行的,程序執(zhí)行注釋部分嗎?在程序運行的
過程中?用鼠標(biāo)指向變量N?看看它的值有什么變化?為什么會這樣變?
(二)算法、程序設(shè)計及程序設(shè)計語言之間的關(guān)系
⑴算法
提出問題:什么是算法?算法有哪些特征?
⑵程序設(shè)計——尋求解決問題的方法,并將其實現(xiàn)步驟寫成計算機(jī)可執(zhí)行的程
序的過程。
⑶程序設(shè)計語言——泛指一切用于書寫計算機(jī)程序的語言。
算法是程序設(shè)計的前提,它包含方法和步驟;
程序是實現(xiàn)算法中的思想的過程;
程序設(shè)計語言把算法轉(zhuǎn)化為計算機(jī)認(rèn)識的語言。
(三)認(rèn)識程序設(shè)計語言
1、發(fā)展過程
機(jī)器語言:由一串"0"和"1"構(gòu)成二進(jìn)制代碼。
匯編語言:是一種符號化(英文助記符)的機(jī)器語言。
高級語言:如Basic'C/C++'Fortran、Pascal'Cobol'Java等°
2、分類(按轉(zhuǎn)換方式不同分類)
編譯型語言解釋型語言
編寫的源程序需要用編譯程序先翻譯成源程序輸入計算機(jī)后?運行源程序?相
機(jī)器語言的目標(biāo)程序?然后再由連接裝應(yīng)的解釋程序會逐條分析源程序中的語
配程序進(jìn)行連接裝配,生成可執(zhí)行程序句,每解釋一句由計算機(jī)執(zhí)行一句。
這樣才能被計算機(jī)執(zhí)行。
C/C++、VB、Pascal、CobolQbasic、Lisp
3、編輯程序、編譯程序和連接程序
⑴編輯程序
包含內(nèi)容:一是將源程序逐個字符輸入到計算機(jī)內(nèi)存,二是修改源程序,
三將修改好的源程序保存在磁盤文件中。
⑵編譯程序:將已編輯好的源程序(已存儲在磁盤文件中)翻譯成二進(jìn)制的目
標(biāo)代碼。
二進(jìn)制代碼在UNIX下后綴為的文件在DOS下是后綴為".obj"
文件。
⑶連接:將各模塊的二進(jìn)制目標(biāo)代碼及系統(tǒng)標(biāo)準(zhǔn)模塊經(jīng)連接處理后-得到具有
有絕對地址的可執(zhí)行文件?它是計算機(jī)直接執(zhí)行的文件。
在UNIX下它以".out"為后綴,在MS-DOS以下".exe"為后綴°
執(zhí)行過程:
五、課外拓展
1、相—資源
東莞中學(xué)信息技術(shù)網(wǎng):
普通高中技術(shù)課程網(wǎng):
2、課外練習(xí)
寫出"求100以內(nèi)能被3整除的數(shù)"的算法,并試編寫程序。
2」節(jié)VB語言及程序開發(fā)環(huán)境
-'教學(xué)目標(biāo)
1、知識及技能
掌握VB定義的常用的基本數(shù)據(jù)類型,常量及變量的定義方法?運算符、
函數(shù)和表達(dá)式的描述。熟悉VB程序設(shè)計語言的開發(fā)環(huán)境,能調(diào)試簡單的VB
程序。
2'方法及過程
本節(jié)涉及到基礎(chǔ)知識較多,所以要一個一個問題解決,從一個簡單的求
圓的面積的程序入手,從中分析VB程序一般包括的四部分,基本數(shù)據(jù)類型、
常量及變量,運算符、函數(shù)和表達(dá)式,而且結(jié)合練習(xí)來加強(qiáng)對這些新知識的
鞏固。通過介紹VB程序的開發(fā)環(huán)境中的菜單、常用工具和常用窗口等,再
通過上機(jī)操作運行一個程序,讓學(xué)生更容易上手。
3、情感態(tài)度和價值觀
這一節(jié)是學(xué)習(xí)VB程序的重要的入門課,授課時要注意結(jié)合學(xué)生的思路?
逐個問題解決,不可一蹴而就。
二、重點難點
1、教學(xué)重點
(1)VB常用的的基本數(shù)據(jù)類型,常量及變量,運算符和表達(dá)式
(2)VB程序的開發(fā)環(huán)境
2、教學(xué)難點
把本節(jié)的內(nèi)容加以運用
三、教學(xué)環(huán)境
1、教材處理
教材選自《廣東省普通高中信息技術(shù)選修一:算法及程序設(shè)計》第二章第一
節(jié),教材的內(nèi)容編排合理,導(dǎo)入的方式也很好,而且能結(jié)合練習(xí),所以直接
使用教材的內(nèi)容,不作修改。練習(xí)的題量可以適當(dāng)?shù)卦黾印?/p>
2、預(yù)備知識
學(xué)生已掌握使用計算機(jī)解決問題的四個步驟——分析問題、建立模型、
設(shè)計算法和編寫程序。
3、硬件要求:建議本節(jié)課在多媒體電腦教室中完成?有廣播教學(xué)系
統(tǒng)或投影儀。
4、所需軟件:學(xué)生機(jī)要安裝VB6.0或以上版本。
5、所需課時:2課時(100分鐘)
四、教學(xué)過程
導(dǎo)入:
以下是一個"求半徑為r的圓的面積"的程序請你注意觀察程序的組成結(jié)構(gòu)及
其功能?并思考如下的問題:
(1)程序有多少行,每一行的作用是什么?
(2)如果按語句的作用區(qū)分,這個程序包含幾個部分?
Privatesubcommandl_clickO'定義名為commandl_click()的事件過
程
Constpiassingle=3.14'說明程序中pi是常量口
Dimrassingle,sassingle'定義半徑r和面積s為單精度實型
r=inputbox("r="請輸入半徑")’輸入r的值
s=pi*r*r'把表達(dá)式pi*r*r的值賦給s
print"圓的面積s=";s'把s的值輸出到當(dāng)前的窗體上
Endsub'過程結(jié)束
考察上述程序,我們?nèi)菀卓吹剑撼绦蚬灿写a7行,每一行都是VB的一個
語句■VB的程序就是由這樣的一組語句組成。每一個語句都是按照一定的規(guī)則
書寫的。
總結(jié)上述分析,我們可以得到VB程序的一般包括如下部分:
(1)數(shù)據(jù)類型說明部分
(2)數(shù)據(jù)的輸入部分
(3)數(shù)據(jù)的處理部分
(4)數(shù)據(jù)的輸出部分
-、基本數(shù)據(jù)類型
描述客觀事物的數(shù)、字符以及所有能輸入到計算機(jī)中,并被計算機(jī)程序加工
處理的集合稱為數(shù)據(jù)。數(shù)據(jù)既是計算機(jī)程序處理的對象,也是運算產(chǎn)生的結(jié)果。
為了更好地處理各種數(shù)據(jù)?VB定義了多種數(shù)據(jù)的類型。基本數(shù)據(jù)類型是系
統(tǒng)預(yù)先定義的數(shù)據(jù)類型,表2-1中列出了VB定義的常用的基本數(shù)據(jù)類型。
例如在上述的程序中,既有單精度實型數(shù)的數(shù)據(jù)(如3.14等),也有字符
類型的數(shù)據(jù)-如"輸入半徑"、"圓的面積S="。
二、常量及變量
(1)常量
常量是指在程序運行過程中始終保持不變的常量、字符串等。例如在上述
的程序中?3.14、"r="、"輸入半徑"等都是常量。
在程序設(shè)計中?以于一些經(jīng)常使用的常量■可以用常量說明語句來定義。
這樣可以提高程序的可讀性和可維護(hù)性。
常量說明語句的格式是:
Const常量名As類型=表達(dá)式
在上述程序中?第2行就是一個常量說明語句?說明程序中需要使用的常
旱0
(2)變量
在程序處理數(shù)據(jù)時,對于輸入的數(shù)據(jù)、參加運算的數(shù)據(jù)、運行結(jié)果等臨時
數(shù)據(jù),通常把它們暫時存儲在計算機(jī)的內(nèi)存中。變量就是命名的內(nèi)存單元位
置。在VB中,變量名必須是由英文字母開頭,后面則可以由字母、數(shù)字或
其它符號組成;變量的名稱最好及它所表示的內(nèi)容意義相同的英文單詞來確
定。
(3)變量說明
使用變量前?一般應(yīng)先說明變量名及其類型?以使系統(tǒng)為其分配存儲單元-
變量說明語句格式如下:
Dim變量As類型
如Dimrassingle?定義半徑r為單精度實型
三、運算符、函數(shù)和表達(dá)式
(1)運算符
運算符是對數(shù)據(jù)進(jìn)行加工的過程。描述各種不同運算的符號稱為運算符,參
及運算的數(shù)據(jù)稱為操作數(shù)。在VB中,常用的運算符有算術(shù)運算符、字符串運算
符和邏輯運算符等。
①算術(shù)運算符有:
*
運算符+-/A\MOD
號
含義加號減號乘號除號乘方整除取余數(shù)
算術(shù)運算符的運算規(guī)則和數(shù)學(xué)中相同,如果意義不明確時,可以加上括號使其
看起來更明白。VB中只使用一種括號"()’,它可以多次嵌套。
②字符串運算符有:&
VB中的字符串運算符是"&",該運算符主要用于連接兩個或更多的字符串?
例如:""abed"&"efg""連接后結(jié)果為"abedefg"°
(2)函數(shù)
在VB中有兩類函數(shù)?分別是內(nèi)部函數(shù)和自定義函數(shù)轉(zhuǎn)換函數(shù)。常用的內(nèi)
部函數(shù)有數(shù)值函數(shù)、字符函數(shù)、時間/日期函數(shù)和其它函數(shù)等-如表2-2所示?
自定義函數(shù)是由程序員根據(jù)需要定義的函數(shù)。
在程序中要使用一個函數(shù)時?只需要給出函數(shù)名和一個或多個參數(shù)?就能
得到函數(shù)值。調(diào)用函數(shù)的格式如下:
函數(shù)名(參數(shù)表)
(3)表達(dá)式
表達(dá)式是指某個求值規(guī)則?它由運算符和配對的圓括號將變量、常量、函
數(shù)等操作數(shù)以合理的形式連接起來的式子例如在上述的程序中式子pi*r*r
是合法的表達(dá)式。
四、練習(xí)
(1)下列數(shù)據(jù)屬于字符串常量的是()
A-bcdaB."kfjf"C/fksjzD."j_hjh"
(2)在VB語言中?下列數(shù)據(jù)中合法的長整型常量是()
A-09BB.2738940C.99.7800D.8.12345E12
(3)在VB語言中>下列變量中合法的變量是()
A-b90B.abc=9C.printD.8888F1
(4)在VB語言中,下列表達(dá)式中合法的表達(dá)式是()
A-a+b*|c|B.bet4-9C.4-2*[~|D.pi*r*r
五、可視化程序的開發(fā)環(huán)境
前面的學(xué)習(xí)使我們知道?要較快地學(xué)會運行調(diào)試VB程序?首先需要熟
悉VB程序設(shè)計語言的開發(fā)環(huán)境。VB程序設(shè)計語言的開發(fā)環(huán)境的界面如下
圖:
VB程序設(shè)計語言的開發(fā)環(huán)境中,控件工具箱、代碼窗口、窗體設(shè)計器
窗口、工程資源管理器窗口、屬性窗口是一些常用的程序設(shè)計及調(diào)試工具?
這些工具互相協(xié)調(diào)、互相補(bǔ)充,如果熟練、合理地使用會大大地減少應(yīng)用程
序的開發(fā)難度,提高工作效率。
五、課外拓展
在了解、熟悉了VB程序設(shè)計語言的開發(fā)環(huán)境以后,你肯定躍躍欲試,一顯
身手。好吧,就讓我們一起來體驗VB程序的運行調(diào)試吧!
求s=lx2x3x...xn問題的VB程序:
privatesubform」oad()
n=inputbox("請輸入n的值1"輸入")
S=1
fori=lton
s=s*I
nextI
msgbox"s="+str(s)Q,"計算結(jié)果"
endsub
當(dāng)N=22時,運行的結(jié)果是:
2一2節(jié)程序的順序結(jié)構(gòu)
-'教學(xué)目標(biāo)
1、知識及技能
理解程序順序結(jié)構(gòu)的執(zhí)行流程,掌握賦值語句和輸入輸出語句,能夠編寫簡
單的順序結(jié)構(gòu)的程序,以解決生活中的一些計算問題。
2、方法及過程
本節(jié)從簡單的問題入手,如求圓的面積,讓學(xué)生初步掌握賦值語句和輸入輸
出語句的使用方法及其功能。進(jìn)而轉(zhuǎn)入較為復(fù)雜的問題?如編寫程序使從鍵盤
上輸入一個三位數(shù)?然后反方向輸出?并且運用到上一章所學(xué)的運算符、表達(dá)
式等?對知識進(jìn)行鞏固,課程安排形成循序漸進(jìn)的梯度?充分挖掘?qū)W生潛力?
讓有余力的學(xué)生可以有更大空間。
3、情感態(tài)度和價值觀
程序設(shè)計選取的題目及高一所學(xué)的數(shù)學(xué)、物理中學(xué)到的新知識有密切的聯(lián)
系?從而激發(fā)學(xué)生對程序設(shè)計的追求和向往。
二、重點難點
1、教學(xué)重點
(1)賦值語句和輸入輸出語句的使用
(2)程序順序結(jié)構(gòu)的執(zhí)行流程
(3)能編寫程序解決簡單的應(yīng)用題
2、教學(xué)難點
根據(jù)題目寫出正確的程序
三、教學(xué)環(huán)境
1、教材處理
教材選自《廣東省普通高中信息技術(shù)選修一:算法及程序設(shè)計》第二章第二
節(jié),原教材的第一個程序例子有關(guān)居民生活消費支出的計算,題目很簡單,學(xué)
生也能理解,但是涉及到的條件較多,寫程序時多次使用同樣的語句和函數(shù)?
整個程序看起來長?而且是簡單的重復(fù)。
所以上課時,把教材的內(nèi)容作了的簡單的處理,以求圓的面積這個程序作為
導(dǎo)入?學(xué)生更易理解和掌握。而且這個例子也符合一般程序包括數(shù)據(jù)類型說明、
數(shù)據(jù)輸入、數(shù)據(jù)處理和數(shù)據(jù)輸出四個部分,讓剛?cè)腴T的學(xué)生有規(guī)可依?進(jìn)而覺
得程序也不是太難學(xué)?從易到難進(jìn)行過渡,提高學(xué)生的學(xué)習(xí)興趣。
2、預(yù)備知識:學(xué)生已掌握算法的概念及描述方法,定義常量及變量的方法,程
序設(shè)計的四個步驟——分析問題、建立模型、設(shè)計算法和編寫程序。
3'硬件要求:建議本節(jié)課在多媒體電腦教室中完成,有廣播教學(xué)系統(tǒng)或投影儀。
4、所需軟件:學(xué)生機(jī)要安裝VB6.0或以上版本。
5、所需課時:2課時(100分鐘)
四、教學(xué)過程
導(dǎo)入:演示求圓的面積這道題的程序,讓學(xué)生明白通過程序可以解決數(shù)學(xué)中的
問題,也給學(xué)生展示完整的程序代碼,這道程序的功能就是靠這些代碼來控制
的-引起學(xué)生的注意?激發(fā)他們的求知欲。
-、演示上述的程序?并把程序代碼中的各行代碼的作用解釋一遍,順便把
程序的執(zhí)行流程說明一下?編寫的程序及設(shè)計的算法是一致的。
Privatesubcommandl_clickO'定義名為commandl_click()的事件過
程
Constpiassingle=3.14'說明程序中pi是常量n
Dimrassingle,sassingle'定義半徑r和面積s為單精度實型
r=inputbox("r="請輸入半徑")’輸入r的值
s=pi*r*r'把表達(dá)式pi*r*r的值賦給s
print"圓的面積s=";s'把s的值輸出到當(dāng)前的窗體上
Endsub'過程結(jié)束
二、賦值語句
在上述的程序中-r=inputbox("r=":請輸入半徑"),s=pi*r*r的含義分
別是將賦值號右邊的函數(shù)inputbox("r="請輸入半徑")的值賦給變量r,將
賦值號右邊的表達(dá)式pi*r*r的值賦給變量s。它們的作用都是將表達(dá)式的值賦給
左邊的變量?這種語句稱為賦值語句。
賦值語句的基本格式是:
變量;表達(dá)式
這里的是賦值符號,它的含義是將表達(dá)式的值賦給左邊的變量。
觀察下列賦值語句的作用:
(1)A=B-它是將變量B的值賦給變量A,但B的值并未改變。
(2)A=123表示將數(shù)值123賦給變量A。
(3)A=A+10表示將變量A的值加10后,再賦給變量A。如果原
來A的值為30?則執(zhí)行此語句后,A的值為40。
(4)如果A=30-B=40,則依次執(zhí)行語句T=A,A=B,B=T后,A、
B兩個變量的值發(fā)生交換A=40-B=30。
三、輸入數(shù)據(jù)的函數(shù)
Inputbox。是提供從鍵盤輸入數(shù)據(jù)的函數(shù),利用它可產(chǎn)生一個對話框,提
示用戶輸入數(shù)據(jù)并單擊命令按鈕。該函數(shù)返回值是字符類型。利用這個函數(shù),
上述程序中的r=inputbox("r="請輸入半徑")?所以在程序運行時?
從鍵盤上輸入數(shù)據(jù)賦值給變量r。
Inputbox。的語法格式為:
Inputbox(提示信息,標(biāo)題?默認(rèn)值,位置)
其中:
提示信息:指對輸入數(shù)據(jù)的提示,顯示在對話框中?不能省略。
標(biāo)題:指運行此函數(shù)后彈出的對話框的標(biāo)題。
默認(rèn)值:指默認(rèn)的輸入數(shù)據(jù)值。
位置:指運行此函數(shù)后彈出的對話框的左上角在屏幕上的位置及提示信息
和標(biāo)題是用引號引起來的字符串。例如:執(zhí)行下面的程序運行情況:
PrivateSubCommandl_ClickO
A=InputBox("A=","輸入",12,100,20)
EndSub
運行該程序,屏幕上窗口的左上角將位于坐標(biāo)為(100-20)的位置,標(biāo)題為"輸
入",窗口的提示信息為"A=",而在輸入欄內(nèi)會出現(xiàn)默認(rèn)的數(shù)據(jù)12。如下圖所
示:
四、輸出數(shù)據(jù)的方法
Print是輸出數(shù)據(jù)、文本的一個重要方法。在求圓的面積程序中,print
"圓的面積s=";s就是利用Print方法將計算出來的圓的面積s的值輸出
到窗體上。
Print方法輸出數(shù)據(jù)的基本格式是:
Print輸出內(nèi)容
在這里,輸出內(nèi)容可以是數(shù)、變量、表達(dá)式,也可以是用引號括起來的
字符串。
說明:
(1)如果輸出的內(nèi)容是數(shù)、變量、表達(dá)式?則輸出的是數(shù)、變量、表
達(dá)式的值。如果是引號引起來的字符串■則原樣輸出。
例如:語句Print3的結(jié)果為3
語句Print2+2的結(jié)果為4
語句Print"你好"的結(jié)果為你好
(2)輸出內(nèi)容可以是一個或多個。如果是多個輸出內(nèi)容?則各輸出內(nèi)
容之間可以用逗號或分號分隔;如果用分號,則后面一個輸出內(nèi)容緊跟前一
個輸出;如果是逗號?則按照分區(qū)格式輸出。
例如:A=5,B=3
Print"A=";A,"B=";B
輸出結(jié)果為:A=5B=3
A=5,B=3
Print"A=";A;"B=";B
輸出結(jié)果為:A=5B=3
(3)如果輸出內(nèi)容后面沒有符號,則表示下一個Print換行輸出;如果
Print中沒有輸出內(nèi)容?則表達(dá)輸出一個空行。
例如:A=5,B=3
Print"A=";A
Print"B=";B
五、練習(xí)
問題1:已知長方體的長、寬、高,編寫一個程序,求長方體的全面積和體
積。
(1)分析問題
設(shè)長方體的長、寬、高分別為A、B、C,由于長方體的六個面的面積兩兩
對應(yīng)相等,所以長方體的全面積為:S=2*(A*B+A*C+B*C),體積為:V=A*B*C。
(2)設(shè)計算法
①輸入A、B、C的值
②計算S=2*(A*B+A*C+B*C)
③計算V=A*B*C
@輸出S,V的值
(3)編寫程序
Privatesubcommandl_clickO
DimAassingle,Bassingle,Cassingle,Sassingle,Vassingle
A=Inputbox("/\=""輸入")
B=Inputbox("B,"輸入")
C=Inputbox("C=";'輸入")
S=2*(A*B+A*C+B*C)
V=A*B*C
Print"全面積S=H;S,"體積V=";V
(4)調(diào)式程序
六、小結(jié)
在以上的程序中,執(zhí)行時按語句出現(xiàn)的順序執(zhí)即當(dāng)執(zhí)行第一條語句后-
必然從第二條語句繼續(xù),順序執(zhí)行所有的語句,直到執(zhí)行完最后一條語句為
止。像這樣的控制結(jié)構(gòu)稱為程序的順序結(jié)構(gòu)。順序結(jié)構(gòu)的最大特點是在這個
結(jié)構(gòu)內(nèi)按由上到下的的書寫順序執(zhí)行,它只有一個人口和一個出口。這是一
種最簡單、最基本的結(jié)構(gòu)。如圖
五、課外拓展
試編寫程序從鍵盤上輸入一個三位數(shù),然后將它反方向輸出。例如輸入456,
輸出應(yīng)為654。
2-3節(jié)程序的選擇結(jié)構(gòu)
一、教學(xué)目標(biāo)
1、知識及技能
理解程序選擇結(jié)構(gòu)中的條件選擇語句的執(zhí)行流程?掌握條件選擇語句和多種選
擇語句的使用方法?能夠編寫簡單的選擇結(jié)構(gòu)的程序?以解決生活中的一些計
算問題。
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度智慧城市建設(shè)合作誠意金合同范本4篇
- 2025年度教育機(jī)構(gòu)品牌使用權(quán)及課程資源轉(zhuǎn)讓合同4篇
- 二零二五版生態(tài)農(nóng)業(yè)示范點植物養(yǎng)護(hù)與產(chǎn)業(yè)扶貧合作協(xié)議4篇
- 專業(yè)木工建設(shè)協(xié)議范本(2024年版)一
- 2025年度辦公用品試用合同標(biāo)準(zhǔn)范本4篇
- 2025年度跨境電商物流信息化系統(tǒng)合同4篇
- 二零二五年度林業(yè)病蟲害防治承包樹木合同4篇
- 2025年度新能源儲能場合作經(jīng)營協(xié)議(能源革命)4篇
- 2025年度櫥柜定制與綠色建材應(yīng)用合同4篇
- 二零二五年度中醫(yī)養(yǎng)生中心員工服務(wù)合同范本4篇
- 2023年上海英語高考卷及答案完整版
- 西北農(nóng)林科技大學(xué)高等數(shù)學(xué)期末考試試卷(含答案)
- 金紅葉紙業(yè)簡介-2 -紙品及產(chǎn)品知識
- 《連鎖經(jīng)營管理》課程教學(xué)大綱
- 《畢淑敏文集》電子書
- 頸椎JOA評分 表格
- 員工崗位能力評價標(biāo)準(zhǔn)
- 定量分析方法-課件
- 朱曦編著設(shè)計形態(tài)知識點
- 110kV變電站工程預(yù)算1
- 某系統(tǒng)安全安全保護(hù)設(shè)施設(shè)計實施方案
評論
0/150
提交評論