《算法與程序設(shè)計(jì)》高一教案集
《《算法與程序設(shè)計(jì)》高一教案集》由會(huì)員分享,可在線閱讀,更多相關(guān)《《算法與程序設(shè)計(jì)》高一教案集(29頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1-1節(jié) 計(jì)算機(jī)解決問(wèn)題的過(guò)程 一、 教學(xué)目標(biāo) 1、 知識(shí)與技能 (1) 讓學(xué)生了解算法、窮舉法、程序設(shè)計(jì)語(yǔ)言、編寫程序和調(diào)試程序等概念。 (2) 讓學(xué)生知道對(duì)現(xiàn)實(shí)問(wèn)題的自然語(yǔ)言的描述,特別是類似程序設(shè)計(jì)語(yǔ)言的自然語(yǔ)言描述。 (3) 讓學(xué)生理解分析問(wèn)題、設(shè)計(jì)算法、編寫程序、調(diào)試程序這一用計(jì)算機(jī)解決問(wèn)題的基本步驟,認(rèn)識(shí)其在算法與程序設(shè)計(jì)中的作用。 2、 方法與過(guò)程 (1) 培養(yǎng)學(xué)生發(fā)現(xiàn)舊知識(shí)的規(guī)律、方法和步驟,并把它運(yùn)用到新知識(shí)中去的能力。 (2) 培養(yǎng)學(xué)生調(diào)試程序的能力。 (3) 培養(yǎng)學(xué)生合作、討論、觀摩、交流和自主學(xué)習(xí)的能力。 3、 情感態(tài)度和價(jià)值觀 通過(guò)“韓信點(diǎn)兵”這個(gè)富有生動(dòng)情節(jié)的實(shí)例和探究、講授、觀摩、交流等環(huán)節(jié),讓學(xué)生體驗(yàn)用計(jì)算機(jī)解決問(wèn)題的基本過(guò)程。 二、 重點(diǎn)難點(diǎn) 本節(jié)的重點(diǎn)用計(jì)算解決問(wèn)題的過(guò)程中的分析問(wèn)題、設(shè)計(jì)算法、和上機(jī)調(diào)試程序等步驟。用計(jì)算機(jī)解決問(wèn)題的過(guò)程中的分析問(wèn)題、設(shè)計(jì)算法也是本節(jié)的難點(diǎn)。 三、 教學(xué)環(huán)境 1、 教材處理 教學(xué)內(nèi)容選用中華人民共和國(guó)教育部制訂的《普通高中技術(shù)課程標(biāo)準(zhǔn)》(2003年4月版)中信息技術(shù)部分的選修模塊1“算法與程序設(shè)計(jì)”第一章的第一課“計(jì)算機(jī)解決問(wèn)題的過(guò)程”。教材選用《廣東省普通高中信息技術(shù)選修一:算法與程序設(shè)計(jì)》第三章第一節(jié),建議“算法與程序設(shè)計(jì)”模塊在高中一年級(jí)下學(xué)期或高中二年級(jí)開(kāi)設(shè)。 根據(jù)2003年4月版《普通高中技術(shù)課程標(biāo)準(zhǔn)》的闡述,“算法與程序設(shè)計(jì)”是普通高中信息技術(shù)的選修模塊之1,它的前導(dǎo)課程是信息技術(shù)的必修模塊“信息技術(shù)基礎(chǔ)”。學(xué)生在“信息技術(shù)基礎(chǔ)”模塊里已經(jīng)學(xué)習(xí)了計(jì)算機(jī)的基本操作,掌握了啟動(dòng)程序、窗口操作和文字編輯等基礎(chǔ)知識(shí)。學(xué)生可以利用上述的基礎(chǔ)知識(shí),用于本節(jié)課的啟動(dòng)Visual Basic程序設(shè)計(jì)環(huán)境,輸入程序代碼,運(yùn)行程序等操作。本節(jié)課“計(jì)算機(jī)解決問(wèn)題的過(guò)程”是“算法與程序設(shè)計(jì)”模塊的第一節(jié)課,上好這節(jié)課是使學(xué)生能否學(xué)好“算法與程序設(shè)計(jì)”這一模塊的關(guān)鍵。本節(jié)課的教學(xué)目的是讓學(xué)生理解分析問(wèn)題、設(shè)計(jì)算法、編寫程序和調(diào)試程序等用計(jì)算機(jī)解決問(wèn)題的基本過(guò)程,認(rèn)識(shí)其在算法與程序設(shè)計(jì)中的地位和作用,它也是后續(xù)課程如模塊化程序設(shè)計(jì)、各種算法設(shè)計(jì)等課程的基礎(chǔ)。 讓學(xué)生在人工解題中發(fā)現(xiàn)分析問(wèn)題、設(shè)計(jì)算法等步驟,并把它應(yīng)用到用計(jì)算機(jī)解決問(wèn)題中去,這是構(gòu)建主義中知識(shí)遷移的方法。本節(jié)課還采用了探究、講授、觀摩、交流、閱讀材料等多種教學(xué)活動(dòng)的有機(jī)結(jié)合的方法。 2、 預(yù)備知識(shí) 本節(jié)課相聯(lián)系的舊知識(shí)是計(jì)算機(jī)的基本操作中鼠標(biāo)、鍵盤操作,啟動(dòng)、關(guān)閉程序,窗口、菜單操作和文字編輯等基礎(chǔ)知識(shí),還有解決數(shù)學(xué)問(wèn)題的步驟等知識(shí)。 3、 硬件要求 可以進(jìn)行屏幕廣播的多媒體電腦室。教師自行設(shè)計(jì)制作的課件。準(zhǔn)備《計(jì)算機(jī)解決問(wèn)題的過(guò)程》教學(xué)活動(dòng)表。 4、 所需軟件 學(xué)生機(jī)要安裝VB6.0或以上版本。 5、 所需課時(shí) 2課時(shí)(100分鐘) 四、 教學(xué)過(guò)程 (一)引入 教師:“在科技發(fā)達(dá)的今天,我們到處都可以看到計(jì)算機(jī)的蹤影,感受到計(jì)算機(jī)給學(xué)習(xí)、生活帶來(lái)的方便。然而,在驚嘆計(jì)算機(jī)的神奇和享受的歡樂(lè)的時(shí)候,你是否了解計(jì)算解決問(wèn)題的基本過(guò)程?有沒(méi)有思考過(guò)其中的奧妙呢?下面我們先看一個(gè)古典的問(wèn)題:” 學(xué)生觀看約1分鐘的電視劇《漢劉邦》片斷,內(nèi)容大致如下: “韓信是我國(guó)西漢初著名的軍事家,劉邦得天下,軍事上全依靠他。韓信點(diǎn)兵,多多益善,不僅如此,還能經(jīng)常以少勝多,以弱勝?gòu)?qiáng)。在與楚軍決戰(zhàn)時(shí)韓信指揮諸侯聯(lián)軍,在垓下十面埋伏,擊敗楚軍,楚霸王項(xiàng)羽因此自殺?!? 片斷結(jié)束時(shí)屏幕出現(xiàn)“韓信點(diǎn)兵”問(wèn)題:“相傳漢高祖劉邦問(wèn)大將軍韓信統(tǒng)御兵士多少,韓信答說(shuō),每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人……。劉邦茫然而不知其數(shù)。你呢?” ?。ǘ﹩?wèn)題 教師:“下面我們先助劉邦解決一個(gè)簡(jiǎn)單的問(wèn)題?!? 展示題目: “韓信點(diǎn)兵”問(wèn)題1:求整除3余1、整除5余2、整除7余4的最小自然數(shù)。 (三)探究 把全班分成16個(gè)學(xué)習(xí)小組,每個(gè)小組的同學(xué)一起探究、討論問(wèn)題。利用已學(xué)過(guò)的數(shù)學(xué)知識(shí)找出題目已知什么求什么、明確已知和未知之間的關(guān)系和寫出求解問(wèn)題的解題步驟。并填寫《計(jì)算機(jī)解決問(wèn)題的過(guò)程》教學(xué)活動(dòng)表中的“探究問(wèn)題記錄表”。如下: 探究問(wèn)題記錄表 分析問(wèn)題(找出已知和未知、列出已知和未知之間的關(guān)系) 寫出解題步驟 結(jié)果 給5分鐘學(xué)生討論,教師在這過(guò)程中到各學(xué)習(xí)小組中,引導(dǎo)個(gè)別學(xué)習(xí)小組分析問(wèn)題、寫出解題步驟。教師提問(wèn)2~3個(gè)同學(xué),從中逐漸引導(dǎo)出類似如下的分析問(wèn)題和解題步驟,并給出算法的概念?!? 分析問(wèn)題(找出已知和未知、列出已知和未知之間的關(guān)系) 寫出解題步驟 設(shè)所求的數(shù)為X,則X應(yīng)滿足: X整除3余1 X整除5余2 X整除7余4 1、令X為1。 2、如果X整除3余1,X整除5余2, X整除7余4,這就是題目要求的數(shù),則記下這個(gè)X。 3、令X為X+1(為算下一個(gè)作準(zhǔn)備)。 4、如果算出,則結(jié)束;否則跳轉(zhuǎn)2。 5、寫出答案。 教師解釋第3步“另X為X+1”并指出它與數(shù)學(xué)中的區(qū)別,并從上面的解題步驟中總結(jié)出窮舉的算法。 教師:“剛才有些同學(xué)把題目解出來(lái)了,答案是67,韓信作為大將軍,統(tǒng)率士兵當(dāng)然不止67人,下面我們來(lái)解決一個(gè)數(shù)據(jù)量稍大的問(wèn)題?!? 展示題目: “韓信點(diǎn)兵”問(wèn)題2:求整除3余1、整除5余2、整除7余4、整除13余6、整除17余8的最小自然數(shù)。 給2分鐘學(xué)生分析上述問(wèn)題并寫出算法,不用計(jì)算。學(xué)生有了第1題的經(jīng)驗(yàn),很快會(huì)寫出和第一題類似的算法。如下: 分析問(wèn)題(找出已知和未知、列出已知和未知之間的關(guān)系) 寫出解題步驟 設(shè)所求的數(shù)為X,則X應(yīng)滿足: X整除3余1 X整除5余2 X整除7余4 X整除13余6 X整除17余8 1、令X為1。 2、如果X整除3余1, X整除5余2, X整除7余4, X整除13余6, X整除17余8,則記下這個(gè)X。 3、令X為X+1。 4、如果算出,則結(jié)束;否則跳轉(zhuǎn)2。 5、寫出答案。 教師:“上面的結(jié)果超過(guò)1萬(wàn),人工計(jì)算要很長(zhǎng)時(shí)間,在科技發(fā)達(dá)的今天,你想到什么?”(用計(jì)算機(jī)解題) ?。ㄋ模┯糜?jì)算機(jī)解決問(wèn)題 教師:“計(jì)算機(jī)怎么樣解決問(wèn)題?用計(jì)算機(jī)解決問(wèn)題,同樣要經(jīng)過(guò)分析問(wèn)題、設(shè)計(jì)算法兩步驟。”在講授過(guò)程中展示人工解題中分析問(wèn)題和設(shè)計(jì)算法這兩個(gè)步驟。 教師:“用計(jì)算機(jī)解題,是不是輸入上面的算法?上面用自然語(yǔ)言描述的算法,計(jì)算機(jī)不懂,必須翻譯成計(jì)算機(jī)的語(yǔ)言,這就是程序設(shè)計(jì)語(yǔ)言?!?教師展示與用Visual Basic語(yǔ)言編寫的程序作對(duì)照。簡(jiǎn)單解釋變Y的作用,并提示學(xué)生程序設(shè)計(jì)語(yǔ)言是我們以后學(xué)習(xí)的重點(diǎn)。 本例用Visual Basic語(yǔ)言編寫的程序請(qǐng)看教材如下: Private Sub Command1_Click() Dim X As Integer, Y As Integer X = 1: Y = 0 Do If X Mod 3 = 1 Then If X Mod 5 = 2 Then If X Mod 7 = 4 Then If X Mod 13 = 6 Then If X Mod 17 = 8 Then Y = X End If End If End If End If X = X + 1 Loop Until Y > 0 Print "韓信統(tǒng)御士兵數(shù):"; Y End Sub 教師:“程序編好以后,通過(guò)鍵盤輸入計(jì)算機(jī),并運(yùn)行程序查看結(jié)果這個(gè)過(guò)程叫調(diào)試程序?!? (五)觀摩 根據(jù)前面編制的程序,啟動(dòng)Visual Basic程序設(shè)計(jì)環(huán)境,輸入程序代碼,進(jìn)行調(diào)試,最后得到運(yùn)行的結(jié)果。具體操作步驟請(qǐng)看教材(第4、5頁(yè))。要求同組內(nèi)先完成的同學(xué)幫助還未完成的同學(xué)。幫助的時(shí)候不能代勞,只能動(dòng)口不動(dòng)手。。 教師演示操作步驟。 學(xué)生上機(jī)調(diào)試程序,教師作個(gè)別指導(dǎo),時(shí)間是10分鐘。 操作時(shí)有些學(xué)生很快完成,有些學(xué)生則很慢,解決案是布置操作快的同學(xué)閱讀教材并完成《計(jì)算機(jī)解決問(wèn)題的過(guò)程》教學(xué)活動(dòng)表中的填空題。較慢的同學(xué)在他們調(diào)試了約8分鐘后告訴他們可以通過(guò)網(wǎng)上鄰居下載程序。以便能在10分鐘內(nèi)調(diào)試出程序。 ?。┙涣? 教師:“前面我們學(xué)習(xí)了用計(jì)算機(jī)解決問(wèn)題的過(guò)程,它和人工解有什么關(guān)系呢?同一學(xué)習(xí)小組的同學(xué)一起探討人工求解問(wèn)題和用計(jì)算機(jī)求解問(wèn)題的異同,并把討論結(jié)果記錄在《計(jì)算機(jī)解決問(wèn)題的過(guò)程》教學(xué)活動(dòng)表的“討論記錄”表中。如下: 關(guān)于求解問(wèn)題的方式討論記錄 求解問(wèn)題的方式 相同點(diǎn) 不同點(diǎn) 人工求解問(wèn)題 用計(jì)算機(jī)求解問(wèn)題 教師提問(wèn)2~3個(gè)小組的討論結(jié)果,并引導(dǎo)出大致如下的形式結(jié)果: 求解問(wèn)題的方式 相同點(diǎn) 不同點(diǎn) 人工求解問(wèn)題 分析問(wèn)題、設(shè)計(jì)算法、得出結(jié)果、驗(yàn)算結(jié)果等 對(duì)題目進(jìn)行解答、運(yùn)算速度慢、不需要計(jì)算機(jī)等 用計(jì)算機(jī)求解問(wèn)題 編寫程序、調(diào)試程序、運(yùn)算速度快等 五、 課外拓展 相關(guān)資源 技術(shù)課程標(biāo)準(zhǔn)介紹:http://www.tyzx.com.cn/bmzy/jwc/uploadfile/kcbz/JISHU.PPT 東莞中學(xué)信息技術(shù)網(wǎng):http://itedu.dgzx.net/Article_Class.ASP?ClassID=32 普通高中技術(shù)課程網(wǎng):http://blog.cersp.com/6002/category/4662.aspx 1-2節(jié) 1-2節(jié) 算法和算法的描述 一、 教學(xué)目標(biāo) 1、 知識(shí)與技能 (1) 了解算法的定義及其表達(dá)方法; (2) 認(rèn)知流程圖的六種基本符號(hào); (3) 理解計(jì)算機(jī)解決問(wèn)題的一般過(guò)程。 2、 方法與過(guò)程 (1) 理解用不同的表達(dá)方法描述算法的優(yōu)缺點(diǎn); (2) 掌握用流程圖描述簡(jiǎn)單的算法。 3、 情感態(tài)度和價(jià)值觀 以生活中的實(shí)例引入算法,激發(fā)學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)生的主動(dòng)探究能力。 二、 重點(diǎn)難點(diǎn) (一)教學(xué)重點(diǎn) 1、 算法的定義; 2、 算法的三種表達(dá)方法; 3、 流程圖的六種基本符號(hào); 4、 用流程圖描述簡(jiǎn)單的算法。 (二)教學(xué)難點(diǎn) 5、 算法的描述(三種); 6、 用流程圖描述算法。 三、教學(xué)環(huán)境 1、教材處理 通過(guò)物理學(xué)中的實(shí)例了解算法的概念和算法的描述方法掌握用計(jì)算機(jī)解決實(shí)際問(wèn)題的一般步驟。用多媒體教學(xué)網(wǎng)開(kāi)展教學(xué);用“先自主探究,后教學(xué)指導(dǎo)”的方法進(jìn)行教學(xué)。 2、預(yù)備知識(shí) 學(xué)生已掌握了用計(jì)算機(jī)解決問(wèn)題的過(guò)程,掌握了計(jì)算機(jī)運(yùn)用基礎(chǔ)。 3、硬件要求 建議本節(jié)課在多媒體電腦教室中完成,最好有廣播教學(xué)系統(tǒng)或投影儀,為拓展學(xué)習(xí),學(xué)生機(jī)應(yīng)允許上互聯(lián)網(wǎng)。 4、所需軟件 學(xué)生機(jī)要安裝VB6.0或以上版本。 5、所需課時(shí):2課時(shí)(100分鐘) 四、教學(xué)過(guò)程 教學(xué)內(nèi)容 預(yù)期目標(biāo) 新課內(nèi)容: 一、對(duì)算法的初步了解 1.一個(gè)簡(jiǎn)單的物理問(wèn)題: 書中例6-1-1:求物體在恒力作用下的加速度。 根據(jù)在物理課中學(xué)過(guò)的知識(shí),要解決這個(gè)問(wèn)題有多種方法: 方法一: a) 測(cè)量出物體的質(zhì)量m、拉力F和滑動(dòng)摩擦力f b) 將測(cè)量所得的數(shù)據(jù)輸入計(jì)算機(jī) c) 根據(jù)牛頓第二定律F-f=m*a,計(jì)算出加速度a d) 輸出所得的結(jié)果 方法二: a) 測(cè)量出物體從靜止開(kāi)始移動(dòng)的距離s、時(shí)間t b) 將測(cè)量所得的數(shù)據(jù)輸入計(jì)算機(jī) c) 利用公式:s=a*t*t/2計(jì)算出加速度a d) 輸出所得的結(jié)果 2.算法的定義 這種為解決某一問(wèn)題而設(shè)計(jì)的確定的有限的步驟稱為算法。 二、算法的描述 要把解決問(wèn)題的步驟表達(dá)出來(lái),有多種方法可以表達(dá)算法。 1.用自然語(yǔ)言表達(dá) 用自然語(yǔ)言表達(dá)算法,就是把算法的各個(gè)步驟,依次用人們熟悉的自然語(yǔ)言表示出來(lái)。 優(yōu)點(diǎn):容易理解 缺點(diǎn):書寫較煩、不確定性、對(duì)復(fù)雜的問(wèn)題難以表達(dá)準(zhǔn)確、不能被計(jì)算機(jī)識(shí)別和執(zhí)行 2.用圖形符號(hào)表達(dá) 用圖形符號(hào)表達(dá)算法必須要有一組規(guī)定統(tǒng)一、含義確定的專用符號(hào)。 常用的“流程圖”所用的基本符號(hào) 圖形符號(hào) 符號(hào)名稱 說(shuō)明 流線 起始、終止框 表示算法的開(kāi)始或結(jié)束 起始框: 一流出線 終止框: 一流入線 輸入、輸出框 框中標(biāo)明輸入、輸出的內(nèi)容 只有一流入線和一流出線 處理框 框中標(biāo)明進(jìn)行什么處理 只有一流入線和一流出線 判定框 框中標(biāo)明判定條件并在框外標(biāo)明判定后的兩種結(jié)果的流向 一流入線兩流出線 (T和F )但同時(shí)只能一流出線起作用 流線 表示從某一框到另一框的流向 連接圈 表示算法流向出口或入口連接點(diǎn) 一條流線 優(yōu)點(diǎn):直觀、形象 缺點(diǎn):不能被計(jì)算機(jī)識(shí)別和執(zhí)行 開(kāi)始 M=m F1=F F2=f a=(F1-F2)/M 輸出a 結(jié)束 例6-1-1:“物體在恒力作用下的加速度”的算法用下圖表達(dá)。 3.用程序?qū)崿F(xiàn)算法 用計(jì)算機(jī)能理解和執(zhí)行的程序設(shè)計(jì)語(yǔ)言把算法表示出來(lái),然后把程序輸入到計(jì)算機(jī)并執(zhí)行,計(jì)算機(jī)才能按照預(yù)定的算法去解決問(wèn)題。 不同類型的計(jì)算機(jī)能夠識(shí)別的指令和語(yǔ)言不盡相同,即使對(duì)同一種計(jì)算機(jī)語(yǔ)言,不同類型的計(jì)算機(jī)對(duì)該語(yǔ)言的解釋程序也有差異。 因此,用程序表示算法時(shí),必須按照程序設(shè)計(jì)語(yǔ)言適用某類計(jì)算機(jī)的具體規(guī)定來(lái)進(jìn)行。 例:用Pascal語(yǔ)言表示“從鍵盤輸入一組數(shù)據(jù)并求該組數(shù)據(jù)的平均值”的程序如下: Program ex_aver Var I:integer;x,av:real; Begin Av:=0;I:=0; Do while not eof() Begin Readln(x); av:=av+x; I:=I+1; End av:=av/I; Writenln(“The average value is :”,av); End 三、用計(jì)算機(jī)解決問(wèn)題的一般過(guò)程 使用計(jì)算機(jī)解決一個(gè)問(wèn)題,一般包括四個(gè)過(guò)程 1.需求分析 “需求分析”是指對(duì)要解決的問(wèn)題進(jìn)行詳細(xì)的分析,弄清楚問(wèn)題的要求,包括需要輸入什么數(shù)據(jù),要得到什么結(jié)果,最后應(yīng)輸出什么。 “需求分析”就是確定要計(jì)算機(jī)“做什么”。 2.設(shè)計(jì)算法 弄清楚要計(jì)算機(jī)“做什么”后,就要設(shè)計(jì)計(jì)算法,明確要計(jì)算機(jī)“怎么做” 解決一個(gè)問(wèn)題,可能有多種算法。例如,數(shù)學(xué)題常常有“一題多解”。這就是說(shuō),解決一個(gè)問(wèn)題的算法可能不止一種。這是,應(yīng)該通過(guò)分析、比較、挑選一種最優(yōu)的算法。 3.編寫程序 計(jì)算機(jī)只能接受并執(zhí)行計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言編寫的程序。當(dāng)我們?yōu)榻鉀Q一個(gè)問(wèn)題確定了算法后,還必須將該算法用計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言編寫程序。這個(gè)過(guò)程成為“編碼”或“編程”。 4.上機(jī)調(diào)試與維護(hù) 編寫完成的程序,不一定完全符合實(shí)際問(wèn)題的要求,還必須在計(jì)算機(jī)上運(yùn)行這個(gè)程序,排除程序中可能出現(xiàn)的錯(cuò)誤,才能得到結(jié)果。這個(gè)過(guò)程稱為“上機(jī)調(diào)試”。 即使是經(jīng)過(guò)調(diào)試的程序,在使用一段時(shí)間后,仍然會(huì)被發(fā)現(xiàn)錯(cuò)誤或不足之處。這就需要對(duì)程序做進(jìn)一步的修改,使之更加完善。這個(gè)過(guò)程稱為“維護(hù)”。 在實(shí)際解決問(wèn)題時(shí),上述四個(gè)步驟可能會(huì)根據(jù)不同的問(wèn)題有所側(cè)重。 引入物理學(xué)中的例子,激發(fā)學(xué)生的學(xué)習(xí)興趣,有助于學(xué)生理解算法的概念 引導(dǎo)出算法的概念 介紹三種算法的表達(dá)方式,并對(duì)它們進(jìn)行比較,分析優(yōu)缺點(diǎn)。 給出流程圖的基本符號(hào),對(duì)其功能和使用情況加以說(shuō)明,以便今后在具體運(yùn)用中的正確使用。 給出流程圖的作法,通過(guò)詳細(xì)的解釋說(shuō)明使學(xué)生初步掌握流程圖的使用和基本畫法。 了解計(jì)算機(jī)解決問(wèn)題的一般過(guò)程,為今后用編程解決實(shí)際問(wèn)題打下基礎(chǔ)。 五、課外拓展 1、相關(guān)資源 東莞中學(xué)信息技術(shù)網(wǎng):http://itedu.dgzx.net/Article_Class.ASP?ClassID=32 普通高中技術(shù)課程網(wǎng):http://blog.cersp.com/6002/category/4662.aspx 2、課外練習(xí) 小明是小學(xué)一年級(jí)學(xué)生,請(qǐng)你為他設(shè)計(jì)一個(gè)小程序,專門用來(lái)練習(xí)加法運(yùn)算。具體講就是讓計(jì)算機(jī)產(chǎn)生兩個(gè)整數(shù)并組成加法豎式,再?gòu)逆I盤輸入一個(gè)結(jié)果數(shù),最后讓計(jì)算機(jī)來(lái)判斷結(jié)果是否正確。 1-3 程序與程序設(shè)計(jì)語(yǔ)言 一、教學(xué)目標(biāo) 1、知識(shí)與技能 使學(xué)生知道什么是源代碼,并理解算法、程序設(shè)計(jì)、程序設(shè)計(jì)語(yǔ)言之間的關(guān)系,了解程序設(shè)計(jì)語(yǔ)言的發(fā)展及種類。 2、過(guò)程與方法 使學(xué)生初步體驗(yàn)編程樂(lè)趣,了解如何編輯程序、編譯程序和連接程序。 3、情感態(tài)度與價(jià)值觀 讓學(xué)生進(jìn)一步領(lǐng)會(huì)算法和程序設(shè)計(jì)在解決問(wèn)題中的地位,體會(huì)編寫出程序的魅力,從而培養(yǎng)學(xué)生學(xué)習(xí)編程的興趣。 二、重點(diǎn)難點(diǎn) (1) 重點(diǎn):了解代碼所包含的算法思想; (2) 難點(diǎn):計(jì)算機(jī)是如何編輯程序、編譯程序和連接程序的。 三、 教學(xué)環(huán)境 1、教材處理 上一節(jié)課學(xué)習(xí)了三種描述算法的方法,但這三種算法計(jì)算機(jī)無(wú)法識(shí)別,必須編寫程序代碼,方可實(shí)現(xiàn)用計(jì)算機(jī)解決問(wèn)題。本節(jié)課將學(xué)習(xí)用VB編寫“韓信點(diǎn)兵”問(wèn)題的算法,然后同學(xué)們通過(guò)自主學(xué)習(xí),認(rèn)識(shí)一下VB程序設(shè)計(jì)方面的知識(shí)。 2、預(yù)備知識(shí) 學(xué)生已掌握了用計(jì)算機(jī)解決問(wèn)題的過(guò)程,并對(duì)算法及其作用有初步的認(rèn)識(shí)。 3、硬件要求 建議本節(jié)課在多媒體電腦教室中完成,最好有廣播教學(xué)系統(tǒng)或投影儀,為拓展學(xué)習(xí),學(xué)生機(jī)應(yīng)允許上互聯(lián)網(wǎng)。 4、所需軟件 學(xué)生機(jī)要安裝VB6.0或以上版本。 5、所需課時(shí) 2課時(shí)(100分鐘) 四、 教學(xué)過(guò)程 正課講解 (一) 嘗試用VB編寫程序 1、 么是VB? ——VB是一種基本BASIC語(yǔ)言的可視化程序開(kāi)發(fā)工具。 2、 編寫程序 ⑴從桌面上啟動(dòng)VB,彈出“新建工程”對(duì)話框,從“新建”頁(yè)面中選“標(biāo)準(zhǔn)EXE”,然后“打開(kāi)“按鈕,建立”標(biāo)準(zhǔn)EXE工程。 注:為了避免打開(kāi)時(shí)總是出現(xiàn)“新建工程”對(duì)話框,在首次啟動(dòng)時(shí),勾選“不再顯示這個(gè)對(duì)話框”。 ?、茊螕艄ぞ呦洹癈ommandButton”的按鈕,在Form1窗體中拖出一個(gè)“Command1”按鈕。 Command1是命令按鈕,它有6個(gè)屬性、2個(gè)事件和4個(gè)方法。 屬性 Caption 標(biāo)題 Default 決定窗體的默認(rèn)命令按鈕 Enabled 決定對(duì)象是否響應(yīng)用戶生成事件 Style 控件的外觀 Visible 決定對(duì)象是否可見(jiàn) Picture 顯示的圖形 事件 方法 Click 單擊 Drag 拖動(dòng) Refresh 刷新 KeyPress 字符鍵被單擊 Move 移動(dòng) SetFocus 設(shè)置焦點(diǎn),將當(dāng)前焦點(diǎn)強(qiáng)制設(shè)置到文本框?qū)ο笊? ⑶選中此按鈕,從屬性窗口中將Caption改為“韓信點(diǎn)兵”。 ⑷給按鈕添加代碼,在Private Sub Command1_Click()和 End Sub之間添加代碼: Dim N As Integer ‘聲明N為整型 N=1 ‘賦初始值 Do(N mod 3=2) and(N mod 5=3) and (N mod 7=2) Then ‘滿足條件打印N,不滿足繼續(xù)循環(huán) Print N Exit do End if N=N+1 Loop ?、蓮摹斑\(yùn)行”菜單中“單擊”啟動(dòng)命令,運(yùn)行程序。運(yùn)行后,單擊“韓信點(diǎn)兵”按鈕。 注:運(yùn)行時(shí),不能修改程序代碼。 實(shí)踐題:從“調(diào)試”菜單中點(diǎn)擊“逐語(yǔ)句”命令(F8),然后按F8鍵試著單步運(yùn)行程序,觀察代碼是如何運(yùn)行的,程序執(zhí)行注釋部分嗎?在程序運(yùn)行的過(guò)程中,用鼠標(biāo)指向變量N,看看它的值有什么變化,為什么會(huì)這樣變? (二) 算法、程序設(shè)計(jì)與程序設(shè)計(jì)語(yǔ)言之間的關(guān)系 ⑴算法 提出問(wèn)題:什么是算法?算法有哪些特征? ?、瞥绦蛟O(shè)計(jì)——尋求解決問(wèn)題的方法,并將其實(shí)現(xiàn)步驟寫成計(jì)算機(jī)可執(zhí)行的程序的過(guò)程。 ?、浅绦蛟O(shè)計(jì)語(yǔ)言——泛指一切用于書寫計(jì)算機(jī)程序的語(yǔ)言。 算法是程序設(shè)計(jì)的前提,它包含方法和步驟; 程序是實(shí)現(xiàn)算法中的思想的過(guò)程; 程序設(shè)計(jì)語(yǔ)言把算法轉(zhuǎn)化為計(jì)算機(jī)認(rèn)識(shí)的語(yǔ)言。 (三) 認(rèn)識(shí)程序設(shè)計(jì)語(yǔ)言 1、 發(fā)展過(guò)程 機(jī)器語(yǔ)言:由一串“0”和“1”構(gòu)成二進(jìn)制代碼。 匯編語(yǔ)言:是一種符號(hào)化(英文助記符)的機(jī)器語(yǔ)言。 高級(jí)語(yǔ)言:如Basic、C/C++、Fortran、Pascal、Cobol、Java等。 2、分類(按轉(zhuǎn)換方式不同分類) 編譯型語(yǔ)言 解釋型語(yǔ)言 編寫的源程序需要用編譯程序先翻譯成機(jī)器語(yǔ)言的目標(biāo)程序,然后再由連接裝配程序進(jìn)行連接裝配,生成可執(zhí)行程序,這樣才能被計(jì)算機(jī)執(zhí)行。 源程序輸入計(jì)算機(jī)后,運(yùn)行源程序,相應(yīng)的解釋程序會(huì)逐條分析源程序中的語(yǔ)句,每解釋一句由計(jì)算機(jī)執(zhí)行一句。 C/C++ 、 VB 、 Pascal 、 Cobol Qbasic 、 Lisp 3、編輯程序、編譯程序和連接程序 ⑴編輯程序 包含內(nèi)容:一是將源程序逐個(gè)字符輸入到計(jì)算機(jī)內(nèi)存,二是修改源程序,三將修改好的源程序保存在磁盤文件中。 ⑵編譯程序:將已編輯好的源程序(已存儲(chǔ)在磁盤文件中)翻譯成二進(jìn)制的目標(biāo)代碼。 二進(jìn)制代碼在UNIX下后綴為“.o”的文件,在DOS下是后綴為“.obj”文件。 ⑶連接:將各模塊的二進(jìn)制目標(biāo)代碼與系統(tǒng)標(biāo)準(zhǔn)模塊經(jīng)連接處理后,得到具有有絕對(duì)地址的可執(zhí)行文件,它是計(jì)算機(jī)直接執(zhí)行的文件。 在UNIX下它以“.out”為后綴,在MS-DOS以下“.exe”為后綴。 執(zhí)行過(guò)程: 五、 課外拓展 1、相關(guān)資源 東莞中學(xué)信息技術(shù)網(wǎng):http://itedu.dgzx.net/Article_Class.ASP?ClassID=32 普通高中技術(shù)課程網(wǎng):http://blog.cersp.com/6002/category/4662.aspx 2、課外練習(xí) 寫出“求100以內(nèi)能被3整除的數(shù)”的算法,并試編寫程序。 2-1節(jié) VB語(yǔ)言及程序開(kāi)發(fā)環(huán)境 一、 教學(xué)目標(biāo) 1、 知識(shí)與技能 掌握VB定義的常用的基本數(shù)據(jù)類型,常量與變量的定義方法,運(yùn)算符、函數(shù)和表達(dá)式的描述。熟悉VB程序設(shè)計(jì)語(yǔ)言的開(kāi)發(fā)環(huán)境,能調(diào)試簡(jiǎn)單的VB程序。 2、 方法與過(guò)程 本節(jié)涉及到基礎(chǔ)知識(shí)較多,所以要一個(gè)一個(gè)問(wèn)題解決,從一個(gè)簡(jiǎn)單的求圓的面積的程序入手,從中分析VB程序一般包括的四部分,基本數(shù)據(jù)類型、常量與變量,運(yùn)算符、函數(shù)和表達(dá)式,而且結(jié)合練習(xí)來(lái)加強(qiáng)對(duì)這些新知識(shí)的鞏固。通過(guò)介紹VB程序的開(kāi)發(fā)環(huán)境中的菜單、常用工具和常用窗口等,再通過(guò)上機(jī)操作運(yùn)行一個(gè)程序,讓學(xué)生更容易上手。 3、 情感態(tài)度和價(jià)值觀 這一節(jié)是學(xué)習(xí)VB程序的重要的入門課,授課時(shí)要注意結(jié)合學(xué)生的思路,逐個(gè)問(wèn)題解決,不可一蹴而就。 二、 重點(diǎn)難點(diǎn) 1、 教學(xué)重點(diǎn) (1) VB常用的的基本數(shù)據(jù)類型,常量與變量,運(yùn)算符和表達(dá)式 (2) VB程序的開(kāi)發(fā)環(huán)境 2、 教學(xué)難點(diǎn) 把本節(jié)的內(nèi)容加以運(yùn)用 三、 教學(xué)環(huán)境 1、 教材處理 教材選自《廣東省普通高中信息技術(shù)選修一:算法與程序設(shè)計(jì)》第二章第一節(jié),教材的內(nèi)容編排合理,導(dǎo)入的方式也很好,而且能結(jié)合練習(xí),所以直接使用教材的內(nèi)容,不作修改。練習(xí)的題量可以適當(dāng)?shù)卦黾印? 2、 預(yù)備知識(shí) 學(xué)生已掌握使用計(jì)算機(jī)解決問(wèn)題的四個(gè)步驟——分析問(wèn)題、建立模型、設(shè)計(jì)算法和編寫程序。 3、 硬件要求:建議本節(jié)課在多媒體電腦教室中完成,有廣播教學(xué)系統(tǒng)或投影儀。 4、 所需軟件:學(xué)生機(jī)要安裝VB6.0或以上版本。 5、 所需課時(shí):2課時(shí)(100分鐘) 四、 教學(xué)過(guò)程 導(dǎo)入: 以下是一個(gè)“求半徑為r的圓的面積”的程序,請(qǐng)你注意觀察程序的組成結(jié)構(gòu)及其功能,并思考如下的問(wèn)題: (1)程序有多少行,每一行的作用是什么? (2)如果按語(yǔ)句的作用區(qū)分,這個(gè)程序包含幾個(gè)部分? Private sub command1_click() ‘定義名為command1_click()的事件過(guò)程 Const pi as single=3.14 ‘說(shuō)明程序中pi是常量∏ Dim r as single,s as single ‘定義半徑r和面積s為單精度實(shí)型 r=inputbox(“r=”,”請(qǐng)輸入半徑”) ‘輸入r的值 s=pi*r*r ‘把表達(dá)式pi*r*r的值賦給s print “圓的面積s=”;s ‘把s的值輸出到當(dāng)前的窗體上 End sub ‘過(guò)程結(jié)束 考察上述程序,我們?nèi)菀卓吹剑撼绦蚬灿写a7行,每一行都是VB的一個(gè)語(yǔ)句,VB的程序就是由這樣的一組語(yǔ)句組成。每一個(gè)語(yǔ)句都是按照一定的規(guī)則書寫的。 總結(jié)上述分析,我們可以得到VB程序的一般包括如下部分: (1) 數(shù)據(jù)類型說(shuō)明部分 (2) 數(shù)據(jù)的輸入部分 (3) 數(shù)據(jù)的處理部分 (4) 數(shù)據(jù)的輸出部分 一、基本數(shù)據(jù)類型 描述客觀事物的數(shù)、字符以及所有能輸入到計(jì)算機(jī)中,并被計(jì)算機(jī)程序加工處理的集合稱為數(shù)據(jù)。數(shù)據(jù)既是計(jì)算機(jī)程序處理的對(duì)象,也是運(yùn)算產(chǎn)生的結(jié)果。 為了更好地處理各種數(shù)據(jù),VB定義了多種數(shù)據(jù)的類型?;緮?shù)據(jù)類型是系統(tǒng)預(yù)先定義的數(shù)據(jù)類型,表2-1中列出了VB定義的常用的基本數(shù)據(jù)類型。 例如在上述的程序中,既有單精度實(shí)型數(shù)的數(shù)據(jù)(如3.14等),也有字符類型的數(shù)據(jù),如“輸入半徑”、“圓的面積S=”。 二、 常量與變量 (1)常量 常量是指在程序運(yùn)行過(guò)程中始終保持不變的常量、字符串等。例如在上述的程序中,3.14、“r=”、“輸入半徑”等都是常量。 在程序設(shè)計(jì)中,以于一些經(jīng)常使用的常量,可以用常量說(shuō)明語(yǔ)句來(lái)定義。這樣可以提高程序的可讀性和可維護(hù)性。 常量說(shuō)明語(yǔ)句的格式是: Const 常量名 As 類型 = 表達(dá)式 在上述程序中,第2行就是一個(gè)常量說(shuō)明語(yǔ)句,說(shuō)明程序中需要使用的常量。 (2)變量 在程序處理數(shù)據(jù)時(shí),對(duì)于輸入的數(shù)據(jù)、參加運(yùn)算的數(shù)據(jù)、運(yùn)行結(jié)果等臨時(shí)數(shù)據(jù),通常把它們暫時(shí)存儲(chǔ)在計(jì)算機(jī)的內(nèi)存中。變量就是命名的內(nèi)存單元位置。在VB中,變量名必須是由英文字母開(kāi)頭,后面則可以由字母、數(shù)字或其它符號(hào)組成;變量的名稱最好與它所表示的內(nèi)容意義相同的英文單詞來(lái)確定。 (3)變量說(shuō)明 使用變量前,一般應(yīng)先說(shuō)明變量名及其類型,以使系統(tǒng)為其分配存儲(chǔ)單元,變量說(shuō)明語(yǔ)句格式如下: Dim 變量 As 類型 如Dim r as single,定義半徑r為單精度實(shí)型 三、運(yùn)算符、函數(shù)和表達(dá)式 (1)運(yùn)算符 運(yùn)算符是對(duì)數(shù)據(jù)進(jìn)行加工的過(guò)程。描述各種不同運(yùn)算的符號(hào)稱為運(yùn)算符,參與運(yùn)算的數(shù)據(jù)稱為操作數(shù)。在VB中,常用的運(yùn)算符有算術(shù)運(yùn)算符、字符串運(yùn)算符和邏輯運(yùn)算符等。 ①算術(shù)運(yùn)算符有: 運(yùn)算符號(hào) + - * / ^ \ MOD 含義 加號(hào) 減號(hào) 乘號(hào) 除號(hào) 乘方 整除 取余數(shù) 算術(shù)運(yùn)算符的運(yùn)算規(guī)則和數(shù)學(xué)中相同,如果意義不明確時(shí),可以加上括號(hào)使其看起來(lái)更明白。VB中只使用一種括號(hào)“()”,它可以多次嵌套。 ②字符串運(yùn)算符有:& VB中的字符串運(yùn)算符是“&”,該運(yùn)算符主要用于連接兩個(gè)或更多的字符串,例如:“"abcd"&"efg"”連接后結(jié)果為"abcdefg"。 (2)函數(shù) 在VB中有兩類函數(shù),分別是內(nèi)部函數(shù)和自定義函數(shù)轉(zhuǎn)換函數(shù)。常用的內(nèi)部函數(shù)有數(shù)值函數(shù)、字符函數(shù)、時(shí)間/日期函數(shù)和其它函數(shù)等,如表2-2所示,自定義函數(shù)是由程序員根據(jù)需要定義的函數(shù)。 在程序中要使用一個(gè)函數(shù)時(shí),只需要給出函數(shù)名和一個(gè)或多個(gè)參數(shù),就能得到函數(shù)值。調(diào)用函數(shù)的格式如下: 函數(shù)名(參數(shù)表) (3)表達(dá)式 表達(dá)式是指某個(gè)求值規(guī)則,它由運(yùn)算符和配對(duì)的圓括號(hào)將變量、常量、函數(shù)等操作數(shù)以合理的形式連接起來(lái)的式子。例如在上述的程序中,式子pi*r*r是合法的表達(dá)式。 四、 練習(xí) (1)下列數(shù)據(jù)屬于字符串常量的是( ) A.bcda B."kfjf" C.’fksj’ D.”j_hjh” (2)在VB語(yǔ)言中,下列數(shù)據(jù)中合法的長(zhǎng)整型常量是() A.09B B.2738940 C.99.7800 D.8.12345E12 (3)在VB語(yǔ)言中,下列變量中合法的變量是() A.b90 B.abc=9 C.print D.8888F1 (4)在VB語(yǔ)言中,下列表達(dá)式中合法的表達(dá)式是() A.a(chǎn)+b*|c| B.bct9 C.4-2*∏ D. pi*r*r 五、 可視化程序的開(kāi)發(fā)環(huán)境 前面的學(xué)習(xí)使我們知道,要較快地學(xué)會(huì)運(yùn)行調(diào)試VB程序,首先需要熟悉VB程序設(shè)計(jì)語(yǔ)言的開(kāi)發(fā)環(huán)境。VB程序設(shè)計(jì)語(yǔ)言的開(kāi)發(fā)環(huán)境的界面如下圖: VB程序設(shè)計(jì)語(yǔ)言的開(kāi)發(fā)環(huán)境中,控件工具箱、代碼窗口、窗體設(shè)計(jì)器窗口、工程資源管理器窗口、屬性窗口是一些常用的程序設(shè)計(jì)與調(diào)試工具,這些工具互相協(xié)調(diào)、互相補(bǔ)充,如果熟練、合理地使用會(huì)大大地減少應(yīng)用程序的開(kāi)發(fā)難度,提高工作效率。 五、 課外拓展 在了解、熟悉了VB程序設(shè)計(jì)語(yǔ)言的開(kāi)發(fā)環(huán)境以后,你肯定躍躍欲試,一顯身手。好吧,就讓我們一起來(lái)體驗(yàn)VB程序的運(yùn)行調(diào)試吧! 求s=123…n問(wèn)題的VB程序: private sub form_load() n=inputbox(“請(qǐng)輸入n的值:”,“輸入”) s=1 for i=1 to n s=s*I next I msgbox “s=”+str(s),0,”計(jì)算結(jié)果” end sub 當(dāng)N=22時(shí),運(yùn)行的結(jié)果是: 2-2節(jié) 程序的順序結(jié)構(gòu) 一、 教學(xué)目標(biāo) 1、 知識(shí)與技能 理解程序順序結(jié)構(gòu)的執(zhí)行流程,掌握賦值語(yǔ)句和輸入輸出語(yǔ)句,能夠編寫簡(jiǎn)單的順序結(jié)構(gòu)的程序,以解決生活中的一些計(jì)算問(wèn)題。 2、 方法與過(guò)程 本節(jié)從簡(jiǎn)單的問(wèn)題入手,如求圓的面積,讓學(xué)生初步掌握賦值語(yǔ)句和輸入輸出語(yǔ)句的使用方法及其功能。進(jìn)而轉(zhuǎn)入較為復(fù)雜的問(wèn)題,如編寫程序使從鍵盤上輸入一個(gè)三位數(shù),然后反方向輸出,并且運(yùn)用到上一章所學(xué)的運(yùn)算符、表達(dá)式等,對(duì)知識(shí)進(jìn)行鞏固,課程安排形成循序漸進(jìn)的梯度,充分挖掘?qū)W生潛力,讓有余力的學(xué)生可以有更大空間。 3、 情感態(tài)度和價(jià)值觀 程序設(shè)計(jì)選取的題目與高一所學(xué)的數(shù)學(xué)、物理中學(xué)到的新知識(shí)有密切的聯(lián)系,從而激發(fā)學(xué)生對(duì)程序設(shè)計(jì)的追求和向往。 二、 重點(diǎn)難點(diǎn) 1、 教學(xué)重點(diǎn) (1) 賦值語(yǔ)句和輸入輸出語(yǔ)句的使用 (2) 程序順序結(jié)構(gòu)的執(zhí)行流程 (3) 能編寫程序解決簡(jiǎn)單的應(yīng)用題 2、 教學(xué)難點(diǎn) 根據(jù)題目寫出正確的程序 三、 教學(xué)環(huán)境 1、 教材處理 教材選自《廣東省普通高中信息技術(shù)選修一:算法與程序設(shè)計(jì)》第二章第二節(jié),原教材的第一個(gè)程序例子有關(guān)居民生活消費(fèi)支出的計(jì)算,題目很簡(jiǎn)單,學(xué)生也能理解,但是涉及到的條件較多,寫程序時(shí)多次使用同樣的語(yǔ)句和函數(shù),整個(gè)程序看起來(lái)長(zhǎng),而且是簡(jiǎn)單的重復(fù)。 所以上課時(shí),把教材的內(nèi)容作了的簡(jiǎn)單的處理,以求圓的面積這個(gè)程序作為導(dǎo)入,學(xué)生更易理解和掌握。而且這個(gè)例子也符合一般程序包括數(shù)據(jù)類型說(shuō)明、數(shù)據(jù)輸入、數(shù)據(jù)處理和數(shù)據(jù)輸出四個(gè)部分,讓剛?cè)腴T的學(xué)生有規(guī)可依,進(jìn)而覺(jué)得程序也不是太難學(xué),從易到難進(jìn)行過(guò)渡,提高學(xué)生的學(xué)習(xí)興趣。 2、預(yù)備知識(shí):學(xué)生已掌握算法的概念及描述方法,定義常量與變量的方法,程序設(shè)計(jì)的四個(gè)步驟——分析問(wèn)題、建立模型、設(shè)計(jì)算法和編寫程序。 3、硬件要求:建議本節(jié)課在多媒體電腦教室中完成,有廣播教學(xué)系統(tǒng)或投影儀。 4、所需軟件:學(xué)生機(jī)要安裝VB6.0或以上版本。 5、所需課時(shí):2課時(shí)(100分鐘) 四、 教學(xué)過(guò)程 導(dǎo)入:演示求圓的面積這道題的程序,讓學(xué)生明白通過(guò)程序可以解決數(shù)學(xué)中的問(wèn)題,也給學(xué)生展示完整的程序代碼,這道程序的功能就是靠這些代碼來(lái)控制的,引起學(xué)生的注意,激發(fā)他們的求知欲。 一、演示上述的程序,并把程序代碼中的各行代碼的作用解釋一遍,順便把程序的執(zhí)行流程說(shuō)明一下,編寫的程序與設(shè)計(jì)的算法是一致的。 Private sub command1_click() ‘定義名為command1_click()的事件過(guò)程 Const pi as single=3.14 ‘說(shuō)明程序中pi是常量∏ Dim r as single,s as single ‘定義半徑r和面積s為單精度實(shí)型 r=inputbox(“r=”,”請(qǐng)輸入半徑”) ‘輸入r的值 s=pi*r*r ‘把表達(dá)式pi*r*r的值賦給s print “圓的面積s=”;s ‘把s的值輸出到當(dāng)前的窗體上 End sub ‘過(guò)程結(jié)束 二、 賦值語(yǔ)句 在上述的程序中,r=inputbox(“r=”,”請(qǐng)輸入半徑”),s=pi*r*r的含義分別是將賦值號(hào)右邊的函數(shù)inputbox(“r=”,”請(qǐng)輸入半徑”)的值賦給變量r, 將賦值號(hào)右邊的表達(dá)式pi*r*r的值賦給變量s。它們的作用都是將表達(dá)式的值賦給左邊的變量,這種語(yǔ)句稱為賦值語(yǔ)句。 賦值語(yǔ)句的基本格式是: 變量=表達(dá)式 這里的“=”是賦值符號(hào),它的含義是將表達(dá)式的值賦給左邊的變量。 觀察下列賦值語(yǔ)句的作用: (1) A=B,它是將變量B的值賦給變量A,但B的值并未改變。 (2) A=123表示將數(shù)值123賦給變量A。 (3) A=A+10表示將變量A的值加10后,再賦給變量A。如果原來(lái)A的值為30,則執(zhí)行此語(yǔ)句后,A的值為40。 (4) 如果A=30,B=40,則依次執(zhí)行語(yǔ)句T=A,A=B,B=T后,A、B兩個(gè)變量的值發(fā)生交換A=40,B=30。 三、 輸入數(shù)據(jù)的函數(shù) Inputbox()是提供從鍵盤輸入數(shù)據(jù)的函數(shù),利用它可產(chǎn)生一個(gè)對(duì)話框,提示用戶輸入數(shù)據(jù)并單擊命令按鈕。該函數(shù)返回值是字符類型。利用這個(gè)函數(shù),上述程序中的r=inputbox(“r=”,”請(qǐng)輸入半徑”),所以在程序運(yùn)行時(shí),從鍵盤上輸入數(shù)據(jù)賦值給變量r。 Inputbox()的語(yǔ)法格式為: Inputbox(提示信息,標(biāo)題,默認(rèn)值,位置) 其中: 提示信息:指對(duì)輸入數(shù)據(jù)的提示,顯示在對(duì)話框中,不能省略。 標(biāo)題:指運(yùn)行此函數(shù)后彈出的對(duì)話框的標(biāo)題。 默認(rèn)值:指默認(rèn)的輸入數(shù)據(jù)值。 位置:指運(yùn)行此函數(shù)后彈出的對(duì)話框的左上角在屏幕上的位置與提示信息和標(biāo)題是用引號(hào)引起來(lái)的字符串。例如:執(zhí)行下面的程序運(yùn)行情況: Private Sub Command1_Click() A = InputBox("A=", "輸入", 12, 100, 20) End Sub 運(yùn)行該程序,屏幕上窗口的左上角將位于坐標(biāo)為(100,20)的位置,標(biāo)題為“輸入”,窗口的提示信息為“A=”,而在輸入欄內(nèi)會(huì)出現(xiàn)默認(rèn)的數(shù)據(jù)12。如下圖所示: 四、 輸出數(shù)據(jù)的方法 Print是輸出數(shù)據(jù)、文本的一個(gè)重要方法。在求圓的面積程序中,print “圓的面積s=”;s 就是利用Print方法將計(jì)算出來(lái)的圓的面積s的值輸出到窗體上。 Print方法輸出數(shù)據(jù)的基本格式是: Print 輸出內(nèi)容 在這里,輸出內(nèi)容可以是數(shù)、變量、表達(dá)式,也可以是用引號(hào)括起來(lái)的字符串。 說(shuō)明: (1)如果輸出的內(nèi)容是數(shù)、變量、表達(dá)式,則輸出的是數(shù)、變量、表達(dá)式的值。如果是引號(hào)引起來(lái)的字符串,則原樣輸出。 例如:語(yǔ)句Print 3 的結(jié)果為 3 語(yǔ)句Print 2+2 的結(jié)果為 4 語(yǔ)句Print “你好” 的結(jié)果為 你好 (2)輸出內(nèi)容可以是一個(gè)或多個(gè)。如果是多個(gè)輸出內(nèi)容,則各輸出內(nèi)容之間可以用逗號(hào)或分號(hào)分隔;如果用分號(hào),則后面一個(gè)輸出內(nèi)容緊跟前一個(gè)輸出;如果是逗號(hào),則按照分區(qū)格式輸出。 例如:A=5,B=3 Print “A=”;A,“B=”;B 輸出結(jié)果為:A=5 B=3 A=5,B=3 Print “A=”;A;“B=”;B 輸出結(jié)果為:A=5B=3 (3)如果輸出內(nèi)容后面沒(méi)有符號(hào),則表示下一個(gè)Print換行輸出;如果Print中沒(méi)有輸出內(nèi)容,則表達(dá)輸出一個(gè)空行。 例如:A=5,B=3 Print “A=” ;A Print “B=” ;B 五、 練習(xí) 問(wèn)題1:已知長(zhǎng)方體的長(zhǎng)、寬、高,編寫一個(gè)程序,求長(zhǎng)方體的全面積和體積。 (1) 分析問(wèn)題 設(shè)長(zhǎng)方體的長(zhǎng)、寬、高分別為A、B、C,由于長(zhǎng)方體的六個(gè)面的面積兩兩對(duì)應(yīng)相等,所以長(zhǎng)方體的全面積為:S=2*(A*B+A*C+B*C),體積為:V=A*B*C。 (2)設(shè)計(jì)算法 ① 輸入A、B、C的值 ② 計(jì)算S=2*(A*B+A*C+B*C) ③ 計(jì)算V=A*B*C ④ 輸出S,V的值 (3)編寫程序 Private sub command1_click() Dim A as single,B as single,C as single,S as single,V as single A=Inputbox(“A=”,”輸入”) B=Inputbox(“B=”,”輸入”) C=Inputbox(“C=”,”輸入”) S=2*(A*B+A*C+B*C) V=A*B*C Print “全面積S=”;S,“體積V=”;V (4)調(diào)式程序 六、 小結(jié) 在以上的程序中,執(zhí)行時(shí)按語(yǔ)句出現(xiàn)的順序執(zhí)。即當(dāng)執(zhí)行第一條語(yǔ)句后,必然從第二條語(yǔ)句繼續(xù),順序執(zhí)行所有的語(yǔ)句,直到執(zhí)行完最后一條語(yǔ)句為止。像這樣的控制結(jié)構(gòu)稱為程序的順序結(jié)構(gòu)。順序結(jié)構(gòu)的最大特點(diǎn)是在這個(gè)結(jié)構(gòu)內(nèi)按由上到下的的書寫順序執(zhí)行,它只有一個(gè)入口和一個(gè)出口。這是一種最簡(jiǎn)單、最基本的結(jié)構(gòu)。如圖 五、 課外拓展 試編寫程序從鍵盤上輸入一個(gè)三位數(shù),然后將它反方向輸出。例如輸入456,輸出應(yīng)為654。 2-3節(jié) 程序的選擇結(jié)構(gòu) 一、 教學(xué)目標(biāo) 1、知識(shí)與技能 理解程序選擇結(jié)構(gòu)中的條件選擇語(yǔ)句的執(zhí)行流程,掌握條件選擇語(yǔ)句和多種選擇語(yǔ)句的使用方法,能夠編寫簡(jiǎn)單的選擇結(jié)構(gòu)的程序,以解決生活中的一些計(jì)算問(wèn)題。 2、方法與過(guò)程 本節(jié)從簡(jiǎn)單的問(wèn)題入手,通過(guò)一道求一個(gè)數(shù)的絕對(duì)值的題目,讓學(xué)生明白條件選取擇語(yǔ)句的執(zhí)行流程及使用方法。通過(guò)一道輸入學(xué)生分?jǐn)?shù),判斷該分?jǐn)?shù)是屬于哪種等級(jí)的題目,讓學(xué)生初步接觸多種選擇語(yǔ)句的使用。進(jìn)而再做類似的練習(xí),加強(qiáng)學(xué)生的理解,課程安排形成循序漸進(jìn)的梯度,充分挖掘?qū)W生潛力。 3、情感態(tài)度和價(jià)值觀 程序設(shè)計(jì)選取的題目都是生活中遇到的例子,加強(qiáng)學(xué)生利用本學(xué)科解決日學(xué)生活中的問(wèn)題的意識(shí)。 二、 重點(diǎn)難點(diǎn) 1、教學(xué)重點(diǎn) (1)條件選擇語(yǔ)句和多重選擇語(yǔ)句的使用 (2)程序條件選擇結(jié)構(gòu)的執(zhí)行流程 (3)會(huì)使用條件語(yǔ)句和多重選擇語(yǔ)句編寫程序解決簡(jiǎn)單的應(yīng)用題 2、教學(xué)難點(diǎn):根據(jù)題目寫出正確的程序 三、教學(xué)環(huán)境 1、教材處理 教材選自《廣東省普通高中信息技術(shù)選修一:算法與程序設(shè)計(jì)》第二章第三節(jié),原教材的第一個(gè)程序例子有關(guān)矩形的計(jì)算,涉及到解二元一次方程,使用的表達(dá)式也較為復(fù)雜,授課過(guò)程中可能花的時(shí)間太多。 所以上課時(shí),把教材的導(dǎo)入例子作了的簡(jiǎn)單的處理,以求一個(gè)數(shù)的絕對(duì)值作為導(dǎo)入,學(xué)生更易理解條件語(yǔ)句的執(zhí)行。至于多種選擇語(yǔ)句,教材選用一道求恩格爾系數(shù),從而判斷生活水平的高低的題目,授新課前,就簡(jiǎn)單說(shuō)明一下,再用另一道根據(jù)學(xué)生分?jǐn)?shù)判斷該成績(jī)是屬于哪一個(gè)等級(jí)的題目作為實(shí)踐,從而與學(xué)生的學(xué)習(xí)更有聯(lián)系,提高學(xué)習(xí)興趣。 2、預(yù)備知識(shí):學(xué)生已掌握算法的概念及描述方法,定義常量與變量的方法,程序設(shè)計(jì)的四個(gè)步驟——分析問(wèn)題、建立模型、設(shè)計(jì)算法和編寫程序。 3、硬件要求:建議本節(jié)課在多媒體電腦教室中完成,有廣播教學(xué)系統(tǒng)或投影儀。 4、所需軟件:學(xué)生機(jī)要安裝VB6.0或以上版本。 5、所需課時(shí):2課時(shí)(100分鐘) 四、教學(xué)過(guò)程 導(dǎo)入:演示求一個(gè)數(shù)的絕對(duì)值這道題的程序,讓學(xué)生明白通過(guò)程序可以解決數(shù)學(xué)中的問(wèn)題,也給學(xué)生展示完整的程序代碼,這道程序的功能就是靠這些代碼來(lái)控制的,引起學(xué)生的注意,激發(fā)他們的求知欲。 一、演示上述的程序,并把程序代碼中的各行代碼的作用解釋一遍,順便把程序的執(zhí)行流程說(shuō)明一下,編寫的程序與設(shè)計(jì)的算法是一致的。 程序2-3 Private sub command1_click() ‘定義名為command1_click()的事件過(guò)程 Dim A as single ‘定義求絕對(duì)值的數(shù)A為單精度實(shí)型 A=inputbox(“r=”,”請(qǐng)輸入半徑”) ‘輸入A的值 If A>=0 then ‘如果A>=0 Print “Y=”;A ‘輸出A的值 Else Print “Y=”;-A ‘輸出-A的值 End if End sub ‘過(guò)程結(jié)束 二、條件語(yǔ)句 在解決問(wèn)題的過(guò)程中,常常需要對(duì)事物進(jìn)行判斷和選擇,如上題中,求一個(gè)數(shù)A的絕對(duì)值,如果A>=0,則這個(gè)數(shù)的絕對(duì)值為A,否則為-A。在程序設(shè)計(jì)中,如何實(shí)現(xiàn)判斷和選擇呢?在上述代碼中,有一個(gè)用if開(kāi)頭的語(yǔ)句,這就是條件語(yǔ)句。 (一)條件語(yǔ)句的基本格式是: if 條件 then 語(yǔ)句組1 else 語(yǔ)句組2 或 if 條件 then 語(yǔ)句組1 else 語(yǔ)句組2 end if 其中,條件是一個(gè)邏輯表達(dá)式,語(yǔ)句組是一組VB的語(yǔ)句。 (二)條件執(zhí)行語(yǔ)句的執(zhí)行過(guò)程 條件語(yǔ)句的執(zhí)行過(guò)程是:當(dāng)條件成立時(shí),執(zhí)行then后面的語(yǔ)句組1,否則執(zhí)行語(yǔ)句組2,條件語(yǔ)句的執(zhí)行流程圖如下圖所示。 在條件語(yǔ)句的基本格式中有時(shí)可以省略else和語(yǔ)句組2,這時(shí)條件語(yǔ)句的執(zhí)行過(guò)程是當(dāng)條件成立時(shí),執(zhí)行then后面的語(yǔ)句組1,否則退出條件語(yǔ)句,執(zhí)行下面的語(yǔ)句。 (三)關(guān)系表達(dá)式 在程序2-3中,程序的第三行是一個(gè)條件語(yǔ)句,其中的條件A>=0表達(dá)式,一般稱為關(guān)系表達(dá)式,關(guān)系表達(dá)式是用關(guān)系運(yùn)算符連接起來(lái)的式子。 關(guān)系運(yùn)算符號(hào)有: 運(yùn)算符號(hào) = > >= < <= <> 含義 等于 大于 大于等于 小于 小于等于 不等于 當(dāng)關(guān)系表式成立時(shí)其值為真(Ture),當(dāng)表達(dá)式不成立時(shí)其值則為假(False);關(guān)系表達(dá)式的值既不是數(shù)值型量,也不是字符型量,而是一種新的數(shù)量類型——邏輯型。邏輯型只有兩個(gè)可能的值:假(False)和真(Ture)。 關(guān)系表達(dá)式的值定義如下: ?。?)對(duì)數(shù)值型的數(shù)據(jù)比較,是按照數(shù)值的大小來(lái)進(jìn)行比較。如13>6的值為真。 (2)對(duì)其它類型數(shù)據(jù)的比較,則按照其序號(hào)進(jìn)行比較。如"D">"B"其值為假。2- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
15 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 算法與程序設(shè)計(jì) 算法 程序設(shè)計(jì) 教案集
鏈接地址:http://ioszen.com/p-10215086.html