第一篇:《程序框圖、順序結(jié)構(gòu)》教學(xué)設(shè)計
《程序框圖、順序結(jié)構(gòu)》教學(xué)設(shè)計
監(jiān)利縣實驗高中
萬平方
一、內(nèi)容及其解析
本節(jié)內(nèi)容是在學(xué)生學(xué)習(xí)了算法的概念的基礎(chǔ)上進行的,學(xué)生知道“在數(shù)學(xué)中,算法通常是按照一定規(guī)則解決某一類問題的明確的和有限的步驟”.在算法概念的表述中,有范圍限定詞 “在數(shù)學(xué)中”,因此學(xué)習(xí)的內(nèi)容均為數(shù)學(xué)中的問題.有一個有前綴限制的基本特征詞“步驟”,前綴中,“按照一定規(guī)則” 指的是解決具體問題時的依據(jù)和表達方式,關(guān)注的是算法的基本邏輯結(jié)構(gòu)(順序、條件和循環(huán)),也表示算法具有有序性.“解決某一類問題”,強調(diào)的是算法適用對象的常態(tài),突出算法的研究價值以及它的普遍適用性,也表明特殊問題的解題與一般問題的算法,存在聯(lián)系又有區(qū)別.“明確和有限”,表示算法的每一步都是明確的、可執(zhí)行的,總的步驟是有限的.在算法概念中,還特別指出,“算法通??梢跃幊捎嬎銠C程序,讓計算機執(zhí)行并解決問題”.這對高中學(xué)習(xí)的算法提出了要求,也決定了高中算法學(xué)習(xí)的范圍.即僅提出算法概念,認識算法基本邏輯結(jié)構(gòu)是不夠的,還必須學(xué)習(xí)計算機能執(zhí)行的算法程序,能用程序表達算法,讓計算機來驗證我們解決問題的算法是否可行.在我們利用計算機解決問題的時候,首先要設(shè)計計算機程序,在設(shè)計計算機程序時我們首先要畫出程序運行的流程圖,使整個程序的執(zhí)行過程直觀化,使抽象的問題十分清晰和具體.有了這個流程圖,再去設(shè)計程序就有了依據(jù),從而就可以把整個程序用機器語言表述出來,因此程序框圖是我們設(shè)計程序的基本和開端,也是使用計算機處理問題前的一個必要的步驟.算法有三種表達方法:算法的自然語言、程序框圖和算法程序.算法的自然語言表達,即算法步驟,是與人的表達最接近算法表達方式;算法的程序表達是計算機可以識別的語言,但與人的表達距離較遠;而算法的程序框圖表達能直觀、明確表達算法的基本邏輯結(jié)構(gòu),又能在前兩種算法表達之間架設(shè)橋梁,形成編寫程序的基礎(chǔ).由此可見,程序框圖是算法的直觀、準(zhǔn)確的表達,是自然語言表達的延伸,也是后面學(xué)習(xí)算法基本語句的基礎(chǔ).程序框圖的學(xué)習(xí)起著承上啟下的作用.二、目標(biāo)及其解析
[課程目標(biāo)] 通過模仿、操作、探索,經(jīng)歷通過設(shè)計程序框圖表達解決問題的過程.在具體問題的解決過程中,理解程序框圖的三種基本邏輯結(jié)構(gòu):順序、條件分支、循環(huán).[教學(xué)目標(biāo)] 理解程序框圖的概念;會用通用的圖形符號表示算法,掌握算法的順序結(jié)構(gòu),了解算法的條件結(jié)構(gòu)與循環(huán)結(jié)構(gòu);掌握畫程序框圖的基本規(guī)則.[目標(biāo)解析] 1.知道用程序框圖表達算法可以使算法的結(jié)構(gòu)更直觀、更條理、更明確,知道算法程序框圖的設(shè)計順序是先用自然語言表達算法步驟,再一一對應(yīng)的翻譯成程序框圖,然后仔細推敲,使程序框圖簡化、細化和精確化.2.明確程序框圖的基本要求,理解算法的順序結(jié)構(gòu)特征,會正確畫出算法的順序結(jié)構(gòu)框圖.3.通過模仿、操作、探索,經(jīng)歷通過設(shè)計算法的順序結(jié)構(gòu)解決問題的過程.4.認識到算法是數(shù)學(xué)及其應(yīng)用的重要組成部分,是計算科學(xué)的重要基礎(chǔ),算法更強調(diào)思維的條理化、邏輯化和程序化,更注重問題解決的一般性,初步體會算法思想.5.通過程序框圖畫法規(guī)則的學(xué)習(xí),體會程序化、規(guī)范化的算法思想,滲透對學(xué)生進行規(guī)范教育.6.了解算法的條件結(jié)構(gòu)與循環(huán)結(jié)構(gòu).三、教學(xué)問題診斷分析
1.由于學(xué)生初次接觸程序框圖,可能會感到陌生,因此可以舉生活中的例子,也可以舉函數(shù)圖像的例子,讓學(xué)生感到程序框圖并不神秘,讓學(xué)生感覺到程序框圖表達算法更直觀、更條理、更明確.2.由于學(xué)生對算法思想沒有深刻的認識,所以教學(xué)中要從學(xué)生熟悉的問題入手,讓學(xué)生從算法的角度給熟悉的問題一個解決辦法.但另一方面,學(xué)生可能會對很自然的、熟悉的問題不重視,因此要明確算法解決的是一類問題,算法是程序化的步驟,要強調(diào)算法適用對象的常態(tài),突出算法的研究價值以及它的普遍適用性.3.由于程序框圖是算法的一種新的表達形式,因此要明確算法的自然語言表達與程序框圖表達的聯(lián)系與區(qū)別,讓學(xué)生掌握算法程序框圖的設(shè)計順序是先用自然語言表達算法步驟,再一一對應(yīng)的翻譯成程序框圖,然后仔細推敲,使程序框圖簡化、細化和精確化.另外程序框圖的符號表示可能學(xué)生一下子接受不了,需要給學(xué)生以消化的時空.4.由于學(xué)生沒有上機操作,學(xué)生可能會對設(shè)計的程序框圖是否正確心存疑慮.因此,教學(xué)上要強調(diào)程序框圖只是把算法步驟的自然語言表達翻譯成了程序框圖表達,并不神秘,只要我們能把一類問題的解題步驟程序化,再按照規(guī)范操作就不會出錯.四、教法與學(xué)法分析
《普通高中數(shù)學(xué)課程標(biāo)準(zhǔn)》指出,課程算法是高中數(shù)學(xué)課程中新內(nèi)容,其思想是非常重要的,但并不神秘.算法內(nèi)容是將數(shù)學(xué)中的算法與計算機技術(shù)建立聯(lián)系,形式化地表示算法.為了有條理地、清晰地表達算法,往往需要將解決問題的過程整理成程序框圖;為了能在計算機上實現(xiàn),還需要將自然語言或程序框圖翻譯成計算機語言.學(xué)習(xí)算法的主要目的是使學(xué)生體會算法的思想,提高邏輯思維能力.不要將此部分內(nèi)容簡單處理成程序語言的學(xué)習(xí)和程序設(shè)計.因此,教學(xué)中首先要讓學(xué)生明確學(xué)生程序框圖的目的,列舉生活中與函數(shù)的例子,增強學(xué)生學(xué)習(xí)的信心與興趣.由于算法程序框圖的設(shè)計順序是先用自然語言表達算法步驟,再一一對應(yīng)的翻譯成程序框圖,然后仔細推敲,使程序框圖簡化、細化和精確化.所以教學(xué)中必須通過實例進行,通過算法的自然語言表達與程序框圖表達的對照學(xué)習(xí),在解決具體問題的過程中學(xué)習(xí)一些基本邏輯結(jié)構(gòu)和語句.至于學(xué)法,《課程標(biāo)準(zhǔn)》說的也很明確,那就是通過模仿、操作、探索,經(jīng)歷通過設(shè)計程序框圖表達解決問題的過程.要激發(fā)學(xué)生的學(xué)習(xí)興趣和創(chuàng)新潛能,為學(xué)生形成積極主動的、多樣的學(xué)習(xí)方式創(chuàng)造有利的條件.以幫助學(xué)生養(yǎng)成獨立思考,積極探索的習(xí)慣.五、教學(xué)過程設(shè)計
復(fù)習(xí)提問:什么是算法?算法可以怎么表示?想過這樣表示有什么缺點沒有? 問題1.1:我們在高一學(xué)習(xí)過函數(shù),請問函數(shù)的表達方法有幾種? [設(shè)計意圖]
比較遷移.教師說明:比較一下,我們可以將自然語言描述的算法看作“列表法”,那么算法的“圖像法”有是什么呢?這就是我們要學(xué)習(xí)的程序框圖.程序框圖并不陌生,剛才我們進教室看到實驗高中新生報名流程圖就是例子.問題1.2:你能感覺流程圖有什么優(yōu)點嗎? [設(shè)計意圖] 初步感受流程圖的優(yōu)點.問題2.1: 上節(jié)我們學(xué)習(xí)了“判斷整數(shù)?n?2?是否為質(zhì)數(shù)”的算法,還記得是哪些步驟嗎?它用圖形怎樣表示呢?
[設(shè)計意圖] 學(xué)生畫出程序框圖,培養(yǎng)學(xué)生的動手能力.初步感受流程圖是算法的直觀的、準(zhǔn)確的表達.先整體認識,后面再局面分析.問題2.2: 觀察所給的流程圖,看看它們有哪些不同的幾何形狀? [設(shè)計意圖] 促進對前面算法自然語言表達的理解,為程序框圖的定義的得出打下基礎(chǔ).培養(yǎng)觀察分析歸納能力,初步感受算法的程序框圖.問題2.3:對照課本程序框圖表自制作表格并填寫,包括各程序框、名稱、功能.[設(shè)計意圖] 培養(yǎng)自學(xué)能力和識記能力,掌握各個圖形的形狀、作用及使用規(guī)則.認識程序框圖里出現(xiàn)的基本圖形符號,并且能很好地掌握他們,是接下來學(xué)習(xí)程序框圖的前提,所以在學(xué)習(xí)用程序框圖來描述算法之前,必須先了解這些符號所代表的意義,那樣才能讓后面的學(xué)習(xí)更加順利.問題3.1: 觀察所給的程序框圖,說明什么是程序框圖? 程序框圖又叫流程圖,是一種用程序框、流程線及文字說明來表示算法的圖形.[設(shè)計意圖] 通過觀察,培養(yǎng)分析歸納能力.問題3.2:程序框圖是怎么表示算法的? 在程序框圖中,一個或幾個程序框表示算法的一個步驟;帶有方向箭頭的流程線將程序框連接起來,表示算法步驟的執(zhí)行順序.[設(shè)計意圖] 感受程序框圖是建立在算法自然語言表達基礎(chǔ)上的圖形表示.將新知識納入到原來認知系統(tǒng)中.練習(xí)1:1.流程圖的判斷框,有一個入口和n個出口,則n的值為()(A)1
(B)2
(C)3
(D)4 2.下列圖形符號表示輸入輸出框的是()
(A)矩形框
(B)平行四邊形框
(C)圓角矩形框
(D)菱形框 3.下列圖形符號表示處理數(shù)據(jù)或計算框的是()
(A)矩形框
(B)平行四邊形框
(C)圓角矩形框
(D)菱形框 [設(shè)計意圖] 讓學(xué)生熟悉程序框圖的符號.問題4: “判斷整數(shù)?n?2?是否為質(zhì)數(shù)”的程序框圖有哪幾種邏輯結(jié)構(gòu)? [設(shè)計意圖] 初步向?qū)W生們介紹在程序框圖里存在的三種不同的基本邏輯結(jié)構(gòu).由于這部分知識是學(xué)生新接觸到的內(nèi)容,所以主要由老師引導(dǎo)學(xué)生一同找出圖中存在的三種不同的邏輯結(jié)構(gòu),根據(jù)它們各自所呈現(xiàn)的不同特點總結(jié)出它們的特征,之后由老師說出它們的名稱.這里對邏輯結(jié)構(gòu)的初步認識,也是為后面對它們的深入探究打下基礎(chǔ).教師說明:(1)三者的特點:①順序結(jié)構(gòu)在程序框圖中的體現(xiàn)是用流程線將程序框自上而下地連接起來,按順序執(zhí)行算法步驟;
②條件結(jié)構(gòu)在程序框圖中是用判斷框來表示,判斷框內(nèi)寫上條件,兩個出口分別對應(yīng)著條件滿足和條件不滿足時所執(zhí)行的不同指令;
③循環(huán)結(jié)構(gòu)在程序框圖中是利用判斷框來表示,判斷框內(nèi)寫上條件,兩個出口分別對應(yīng)著條件成立和條件不成立時所執(zhí)行的不同指令,其中一個要指向循環(huán)體,然后再從循環(huán)體回到判斷框的入口處.(2)條件結(jié)構(gòu)與循環(huán)結(jié)構(gòu)的區(qū)別與聯(lián)系
區(qū)別:循環(huán)結(jié)構(gòu)有重復(fù)性,條件結(jié)構(gòu)具有選擇性、不重復(fù);
聯(lián)系:循環(huán)結(jié)構(gòu)中必定包含一個條件結(jié)構(gòu),用以判斷循環(huán)的條件.問題5: 已知一個三角形的三邊長分別為a,b,c,利用海倫—秦九韶公式設(shè)計一個計算三角形面積的算法,并畫出程序框圖表示.[設(shè)計意圖] 例題選自課本的例3,它針對的只是順序結(jié)構(gòu).在題目里涉及到一個學(xué)生不熟悉的概念,那就是海倫公式,所以首先要讓學(xué)生們了解那是什么,否則將無從解題.之后就引導(dǎo)學(xué)生分析算法,這個過程可以培養(yǎng)學(xué)生積極思考的能力.然后由學(xué)生自己作出這道題的程序框圖,鍛煉學(xué)生的動手能力,加深對順序結(jié)構(gòu)的理解.練習(xí)2:任意給定一個正實數(shù),設(shè)計一個算法求以這個數(shù)為半徑的圓的面積,并畫出程序框圖表示.[設(shè)計意圖] 這是對課本第5頁的練習(xí)第1題提出的新要求,旨在讓學(xué)生體會算法的兩種表達方法的聯(lián)系,進一步體會設(shè)計程序框圖的步驟.問題6: 寫出下面程序框圖的運行結(jié)果.[設(shè)計意圖] 培養(yǎng)學(xué)生讀圖的能力,進一步理解算法的順序框圖.練習(xí)3: 根據(jù)右邊的程序框圖所表示的算法,輸出的結(jié)果是______.
答案 2
解析 該算法的第1步分別將X,Y,Z賦于1,2,3三個數(shù),第2步使X取Y的值,即X 取值變成2,第3步使Y取X的值,即Y的值也是2,第4步讓Z取Y的值,即Z取值也是2,從而第5步輸出時,Z的值是2.[設(shè)計意圖] 培養(yǎng)學(xué)生讀圖的能力,初步感受賦值的含義
.問題6: 本節(jié)課你有哪些收獲?還有哪里疑問?
[設(shè)計意圖] 讓學(xué)生小結(jié)本節(jié)課所學(xué)知識.1.程序框圖的概念與意義.2.順序結(jié)構(gòu)的程序框圖的基本特征:(1)必須有兩個起止框,穿插輸入、輸出框和處理框,沒有判斷框.(2)各程序框從上到下用流程線依次連接.(3)處理框按計算機執(zhí)行順序沿流程線依次排列.3.條件結(jié)構(gòu)與循環(huán)結(jié)構(gòu)在后面學(xué)習(xí).作業(yè):
1.畫出今天學(xué)習(xí)的程序框圖.2.已知x=4,y=2,畫出計算w=3x+4y的值的程序框圖.(這是一道要求作出具有順序結(jié)構(gòu)的程序框圖題,很基礎(chǔ),一般的學(xué)生都能獨立完成)
[設(shè)計意圖] 課后作業(yè)的布置是為了檢驗學(xué)生對本節(jié)課內(nèi)容的理解和運用程度以及實際接受情況,并促使學(xué)生進一步鞏固和掌握所學(xué)內(nèi)容.知識性內(nèi)容的小結(jié),可把課堂教學(xué)傳授的知識盡快化為學(xué)生的素質(zhì);數(shù)學(xué)思想方法的小結(jié),可使學(xué)生更深刻地理解數(shù)學(xué)思想方法在解題中的地位和應(yīng)用.
第二篇:《順序結(jié)構(gòu)》 教學(xué)設(shè)計
鹽城中學(xué)
何娟
《順序結(jié)構(gòu)》教學(xué)設(shè)計
一、教材分析
本節(jié)課是《算法與程序設(shè)計》(選修)
鹽城中學(xué)
何娟
★
學(xué)習(xí)方法:模仿學(xué)習(xí)、自主探究學(xué)習(xí),小組交流合作學(xué)習(xí)
六、設(shè)計思想
尊重學(xué)生解決問題的思維過程,模擬學(xué)生的學(xué)習(xí)體驗和情感體驗,在以學(xué)生為主體、教師為主導(dǎo)的架構(gòu)下,搭建以生為本的學(xué)習(xí)的平臺,幫助學(xué)生通過學(xué)與練,以不斷解決問題為手段,一步步完成學(xué)習(xí)任務(wù)。
新課標(biāo)中提出了信息技術(shù)課程要以進一步提高學(xué)生信息素養(yǎng)為宗旨,強調(diào)通過合作解決實際問題,掌握信息技術(shù),感受信息文化,增強信息意識,提高學(xué)生總體的信息素養(yǎng)。而在本節(jié)課中就堅持了以教師為主導(dǎo),學(xué)生為主體,發(fā)展能力和提高素質(zhì)為主線的啟發(fā)式教學(xué)思想,努力為學(xué)生創(chuàng)設(shè)了開放式的學(xué)習(xí)環(huán)境。
本節(jié)課以一個簡單的例子——計算圖形的周長、面積并打印為主線介紹順序結(jié)構(gòu)的特點、執(zhí)行過程和基本思想,并通過這個程序抽象出代碼設(shè)計的四個基本部分:定義常變量、輸入數(shù)據(jù)、處理數(shù)據(jù)、輸出數(shù)據(jù)。讓學(xué)生通過模仿學(xué)習(xí)、自主學(xué)習(xí)相結(jié)合的方式編寫程序,發(fā)現(xiàn)問題,探究解決問題,最后學(xué)會自我總結(jié)。
七、教學(xué)過程
1.分組體驗,導(dǎo)入新課
導(dǎo)入:上節(jié)課我們學(xué)習(xí)了賦值語句,現(xiàn)在屏幕上有三道題目,請同學(xué)選擇其一解答。學(xué)生分組體驗程序的運行結(jié)果。題一:
Dim a As Integer Dim b As Integer a = a + 1 a = 3 b = a b = b + 1 Print a, b 運行結(jié)果:3 4 題二:
Dim a As Integer Dim b As Integer a = 3 a = a + 1 b = a b = b + 1 Print a, b 運行結(jié)果:4 5
題三:
Dim a As Integer Dim b As Integer
鹽城中學(xué)
何娟
a = 3 b = a a = a + 1 b = b + 1 Print a, b 運行結(jié)果:4 4 教師:經(jīng)過觀察,我們發(fā)現(xiàn)上述三個例子中涉及到的語句都是一模一樣的,可是為什么得到結(jié)果不一樣呢?
學(xué)生:順序不同。
教師:對,由于這個程序的執(zhí)行過程是按語句書寫的先后順序一句一句執(zhí)行的,每次給變量賦的值不同,所以得到的結(jié)果不一樣。這種按語句順序執(zhí)行的結(jié)構(gòu)我們成為順序結(jié)構(gòu),在以后的學(xué)習(xí)過程中我們還將學(xué)習(xí)另外兩種結(jié)構(gòu):分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。分支結(jié)構(gòu)根據(jù)不同的條件判斷來決定程序執(zhí)行的走向,循環(huán)結(jié)構(gòu)根據(jù)條件判斷,需要重復(fù)執(zhí)行某一段代碼。而順序結(jié)構(gòu)每一條語句執(zhí)行且只執(zhí)行一次,沒有跳過某一條語句,也沒有重復(fù)執(zhí)行某一條語句。老師這里有三幅圖,圖中顯示的路途方式和程序設(shè)計的三種基本結(jié)構(gòu)非常的類似,同學(xué)們仔細觀察一下,你能猜出哪一幅圖對應(yīng)于順序結(jié)構(gòu)嗎?
圖1
圖2
圖3 學(xué)生:圖1
2.學(xué)科遷移,設(shè)計代碼
鹽城中學(xué)
何娟
教師:這節(jié)課我們著重學(xué)習(xí)順序結(jié)構(gòu)。請看這道題目:已知圓的半徑為1000,編寫程序求解其周長和面積,并作圖。如果是一道數(shù)學(xué)題,同學(xué)肯定不費吹灰之力,可是編程怎么求解呢?同學(xué)可能一時犯了難,沒關(guān)系,既然同學(xué)們對數(shù)學(xué)的解題步驟比較熟悉,我們姑且把把它當(dāng)作一道數(shù)學(xué)題來解答。首先,我們分析一下,題目中涉及到幾個變量?哪幾個?
學(xué)生:三個,半徑、周長和面積。
教師:和數(shù)學(xué)中一樣,我們分別用r、c、s表示這三個變量。請一位同學(xué)書寫相關(guān)語句
學(xué)生操作:
教師:剛才的三個變量哪些是已知條件?
學(xué)生:半徑
教師:其值是多少?
學(xué)生:1000 教師:好,利用賦值語句給半徑賦值,代碼是?
學(xué)生回答,教師操作:r=1000 教師:此時,我們已經(jīng)知道r的值了,那么如何通過已知條件求解出c和s呢?請一位同學(xué)在教師機上演示。
學(xué)生操作:c=2*3.14*r
s=3.14*r*r
(書寫過程中若有語法錯誤,請其他同學(xué)糾正)設(shè)疑:程序編寫到這里是否行了呢?同學(xué)的意見出現(xiàn)了分歧,都說實踐是檢驗真理的唯一標(biāo)準(zhǔn),那么我們就讓機器來驗證吧
教師:程序并沒有如我們所料想的那樣顯示結(jié)果,事實證明我們的程序存在一些小問題,那究竟是哪里出錯了呢?正如同學(xué)們知道的,我們其實已經(jīng)把周長和面積的值求出來了,可是程序為什么不顯示結(jié)果呢?對!我們把求出來的結(jié)果存放在變量c和s中,而對于用戶而言,并不知道變量c和s的存在,他只關(guān)心屏幕上有沒有顯示結(jié)果,所以,我們還應(yīng)該打印變量c和s。代碼是?
學(xué)生:print c,s 教師:這樣的代碼已經(jīng)能完成基本功能了,為了使用戶看得更清楚明了,再添加一些說明性文字。Print “圓的周長為”;c Print “圓的面積為”;s 教師:接下來我們還要作圖。你們平時是怎么畫圓的?
學(xué)生:用圓規(guī)畫圓,先確定圓心位置,然后確定半徑畫圓。
教師:vb中提供了circle方法可以象圓規(guī)一樣畫圓,請同學(xué)看老師演示代碼
Circle(2000, 2000), 1000其中(2000,2000)是圓心位置,1000是圓半徑。需要說明的是,vb中的坐標(biāo)系和數(shù)學(xué)中不同,原點(0,0)的位置為窗口左上角,窗口左邊框為縱軸正方向,窗口上邊框為橫軸正方向。關(guān)于circle方法我還提供了一個小資料,同學(xué)們可以根據(jù)小資料修改不同參數(shù)畫出不一樣的圓。
3.現(xiàn)學(xué)現(xiàn)賣,小試牛刀
鹽城中學(xué)
何娟
課堂實踐一:已知圓的半徑為1000,編寫程序畫出此圓,然后求解其周長和面積。(提供代碼圖片和circle小資料)
展示學(xué)生程序:老師不但可選成功的程序,也可選取較不成功的作品,但要有典型意義。
4.層層遞進,探究實踐
教師:現(xiàn)在我們已經(jīng)能夠求出指定半徑圓的周長和面積并作圖了,如果我們把這個程序給用戶使用,他們可能會想這個程序只能求半徑為1000的圓,我要是能輸入其他的半徑值就好了,而用戶不一定懂得修改程序代碼,直接修改程序行不通,同學(xué)們能不能想想辦法讓用戶能自己輸入半徑的值?
學(xué)生1:我們可以用文本框
學(xué)生2:還可以用inputbox函數(shù)
教師:那就剛才程序的基礎(chǔ)上修改代碼實現(xiàn)你的想法吧。
課堂實踐二:根據(jù)用戶輸入的半徑值求圓的周長和面積并作圖。解法一:
鹽城中學(xué)
何娟
解法2:
展示學(xué)生程序:演示幾個學(xué)生的程序,請學(xué)生相互評價指出優(yōu)點和不足,教師適當(dāng)點評。教師總結(jié):一個完整的代碼通常包括這樣幾個部分:
1、定義常變量
2、輸入
3、處理
4、輸出
5.課堂小結(jié),提出希望
一直以來,在我們的印象中,編程是件很難的事。但是通過這節(jié)課的學(xué)習(xí),我們發(fā)現(xiàn)編程也是有章可循的,希望同學(xué)們能喜愛上編程,讓程序?qū)W習(xí)變成一件快樂的事,編寫出更多更好的程序,成為
第三篇:02.《順序結(jié)構(gòu)》教學(xué)案例(本站推薦)
高中 《順序結(jié)構(gòu)》教學(xué)案例
案例名稱:順序結(jié)構(gòu) 適用范圍:高中一年級
教 材:教科版《算法與程序設(shè)計》(選修模塊)2.3.1順序結(jié)構(gòu) 課 時:1課時 作 者:戈萬紅
單 位:江蘇省東海高級中學(xué)(222300)E-----Mail:jsdhgwh@163.com *教學(xué)課題】順序結(jié)構(gòu) *適用年級】普通高中一年級
*所用教材】教育科學(xué)出版社選修課之一《算法與程序設(shè)計》
*學(xué)生分析】學(xué)習(xí)了一段時間的VB基礎(chǔ)知識后,由于種種原因,學(xué)生普遍認為《算法與程序設(shè)計》難度比較大,滋生一些畏難情緒。本節(jié)課的內(nèi)容相對簡單,希望通過編程解決和自己密切相關(guān)的問題來激發(fā)學(xué)生學(xué)習(xí)編程的興趣,增強學(xué)生學(xué)習(xí)編程的信心。
*教材分析】第三節(jié)程序的基本結(jié)構(gòu)是建立在前兩節(jié)的基礎(chǔ)上的,在本節(jié)乃至本章既是重點又是難點,本節(jié)課要學(xué)習(xí)的順序結(jié)構(gòu)則相對簡單,學(xué)生容易掌握。
*教學(xué)目的】
1、知識技能:掌握順序結(jié)構(gòu)的功能,交換兩變量的算法。
2、過程與方法:用程序設(shè)計方法解決實際問題。
3、情感態(tài)度與價值觀:培養(yǎng)學(xué)生對程序設(shè)計的興趣和嚴(yán)謹(jǐn)?shù)乃季S習(xí)慣。*教學(xué)重點】
1、順序結(jié)構(gòu)的格式和功能。
2、交換兩個變量的值。*教學(xué)難點】交換兩個變量的值。
*主要教法】自主探究、講解、演示、實踐等 *教學(xué)環(huán)境】微機房多媒體演示系統(tǒng) *教學(xué)過程】:
一.創(chuàng)設(shè)情境,復(fù)習(xí)導(dǎo)入
(一)學(xué)生完成課本P31頁實踐中第二小題,檢測學(xué)生對賦值語句和函數(shù)掌握情況。程序參考代碼如下:
Private Sub Command1_Click()Dim d As Single, i As Single Dim m As Integer,f As Single d = Val(Text1.Text)i = Val(Text2.Text)m = Val(Text3.Text)f = d *((1 + i)^ m-1)/ i Text4.Text = Str(f)End Sub
(二)讓學(xué)生交換最后兩行語句的位置,運行程序,觀察結(jié)果有什么不同,為什么?
(三)學(xué)生通過實踐觀察得出:把給變量f賦值語句換到最后,則Text4文本框就不能正確顯示變量f的值。引導(dǎo)學(xué)生探究原因,得出沒有給變量f賦值,則Text4文本框只能顯示變量f初始值。兩。
二、合作討論,探索新知
(一)由改變上面兩個語句的順序引發(fā)的問題,引導(dǎo)學(xué)生討論得出順序結(jié)構(gòu)的含義。
(二)老師給出任務(wù):有兩個杯子,其中一只杯子里裝的是糖水,另一只杯子里裝的是鹽水,如何交換兩個杯子中的液體?
(三)學(xué)生用頭腦風(fēng)暴法思考,討論,找到一個比較好的切實可行的辦法:找來一個空杯子,作為中轉(zhuǎn)來解決這個問題。
(四)老師繼續(xù)問:在程序設(shè)計中如何交換兩個變量的值?學(xué)生討論,實踐。
(五)廣播部分同學(xué)的代碼窗口,找出典型錯誤并進行修改,加深學(xué)生對交換變量思想的理解。
(六)請同學(xué)們盡量多地嘗試各種輸入和輸出方法。
(七)廣播部分學(xué)生代碼窗口,讓學(xué)生觀察有哪幾種輸入和輸出方法,然后共同歸納常用幾種輸入方式:文本框、Inputbox函數(shù);常用輸出方式:Print語句、MsgBox函數(shù)、文本框和標(biāo)簽等。
(八)學(xué)生練習(xí)使用各種輸出語句來輸出交換后變量a和變量b的值。
三、回歸生活,學(xué)以致用
師:請每位同學(xué)算出自己出生多少天,多少小時了。生:太復(fù)雜了,算不出來。
師:把復(fù)雜的事交給電腦來完成吧。讓我們編個小程序就能輕易解決這個問題。生:老師,我不知道如何下手。你可以提示一下嗎? 師:要知道自己出生多少天,必須知道什么? 生:自己的生日和現(xiàn)在的日期。師:現(xiàn)在的日期如何表示? 生:date()師:兩個日期型相減其結(jié)果是什么類型?
生:數(shù)值型。老師,我們知道怎么計算自己出生的天數(shù)了。(老師巡視,提醒學(xué)生注意使用相關(guān)的日期函數(shù),個別進行指導(dǎo)。)生:老師,我的答案不準(zhǔn)確,體現(xiàn)不出我是幾點出生的,如何更精確一點? 師:這個問題問得好。有哪位同學(xué)可以幫他解決這個問題?
生:計算出出生的小時數(shù)后,再用當(dāng)前時間減去出生時間,就可以得到精確的小時數(shù)。
四、適當(dāng)拓展,延伸課堂
(一)老師給出任務(wù):通過自己設(shè)計的程序,同學(xué)們現(xiàn)在可以很快算出自己出生的天數(shù)和小時,當(dāng)然也可以隨時幫其他人算出出生的天數(shù)和小時數(shù)。下面我想再請同學(xué)們編個程序解決這樣的問題:假如你可以活到100歲,那么你還可以活多少天?
(二)學(xué)生思考后開始繼續(xù)編程。
(三)通過編程計算的結(jié)果,引導(dǎo)學(xué)生思考:人的生命是有限的,要熱愛生命,在有限的生命中,如何活得更充實、更精彩、更有意義;如何保持一顆樂觀、健康和積極向上的心態(tài)。
*教學(xué)反思】本案例通過復(fù)習(xí)賦值語句,然后老師交換語句的位置,使程序運行的結(jié)果不同,再讓學(xué)生找出問題產(chǎn)生的原因,從而使學(xué)生明確一般的程序都是按由上到下的順序一行一行執(zhí)行,這樣加深了學(xué)生對順序結(jié)構(gòu)的理解。由于順序結(jié)構(gòu)的格式和功能比較簡單,把理解“交換兩個變量值的算法”作為本節(jié)課重點。這個問題我采用頭腦風(fēng)暴法,先讓學(xué)生自主探究如何交換兩個杯子中的不同液體的方法,學(xué)生思維異?;钴S,找出很多解次問題的方法,和學(xué)生一起討論歸納后總結(jié)出一種比較好的方法。有了解決生活中的相似問題的方法,然后引導(dǎo)學(xué)生探究“如何交換兩個變量值”,這樣降低了VB中“如何交換兩個變量值”這個問題的難度。
因為本節(jié)課內(nèi)容相對較少,我把VB中常用輸入和輸出的方式穿插在程序中讓學(xué)生進行歸納總結(jié)。用和學(xué)生密切相關(guān)的問題“你出生多少天,多少小時”來應(yīng)用和鞏固所學(xué)知識,在這個問題的基礎(chǔ)上繼續(xù)進行拓展:“假如你可以活到100歲,那么你還可以活多少天?”最后進行升華:“人的生命是有限的,如何使有限的生命更有意義?”經(jīng)過這樣的處理,本節(jié)課內(nèi)容得到充實,使課堂容量加大。
第四篇:2.3順序結(jié)構(gòu)的教學(xué)設(shè)計_圖文(精)
順序結(jié)構(gòu)的教學(xué)設(shè)計 學(xué)生分析: 學(xué)生在高一必修模塊接觸過一些關(guān)于程序設(shè)計的知識,而對于高二學(xué)生只有在數(shù)學(xué)必修模塊三中有對算法及程序的描述。因此學(xué)生對于程序設(shè)計的知識還是相對匱乏的。因此,在學(xué)習(xí)設(shè)計的過程中,應(yīng)弱化對于某一編程語言的學(xué)習(xí),應(yīng)更注重學(xué)生編程思想的培養(yǎng)。
教學(xué)目標(biāo) 知識與技能: 理解程序設(shè)計的順序結(jié)構(gòu)基本思想、掌握順序結(jié)構(gòu)語句特點。過程與方法: 培養(yǎng)用算法分析問題的能力能夠使用順序結(jié)構(gòu)編寫簡單的程序解決具體問題。情感態(tài)度與價值觀: 體會用結(jié)構(gòu)化方法解決數(shù)學(xué)問題的便捷性。明確結(jié)構(gòu)化在程序設(shè)計中的重要作用。激勵嘗試使用多種方法解決問題。培養(yǎng)良好的編程習(xí)慣和態(tài)度。教學(xué)重點: 理解程序設(shè)計的順序結(jié)構(gòu)基本思想。教學(xué)難點
順序結(jié)構(gòu)實現(xiàn)語句的格式和功能。
編寫簡單的程序的過程。變量的特點。教學(xué)方法
任務(wù)驅(qū)動法、直觀演示法、師生互動法 教學(xué)過程
一、新課導(dǎo)入
師:隨著計算機和網(wǎng)絡(luò)的普及,“編程”這個詞匯越來越被大家熟悉。有時候一說起XXX 會編程序,都覺得這人很牛。編程真的是這么深不可測的事情么?非也非也,實際上編程很簡單。它簡單到...簡單到就像一個游戲!師:運行游戲電燈小人。介紹游戲規(guī)則和玩法,展示小人點燈過程。或安排學(xué)生上臺試玩游戲!生:認真觀看教師游戲。
師:通過游戲,大家可以看到小人點燈的過程實際上是按照,從左到右,從上到下的順序進行的,中間沒有分支,沒有重復(fù)。這種結(jié)構(gòu)就是我們今天向大家介紹的順序結(jié)構(gòu)。
設(shè)計意圖: 展示游戲運行過程,引起學(xué)生的好奇心,探索新鮮事物欲望。更讓學(xué)生認識到編程并不復(fù)雜,引入本課主題——順序結(jié)構(gòu)。聯(lián)系實際,拉近程序與生活的距離。
二、展望新課
師:今天同學(xué)們要設(shè)計的程序來源于一堂體育課的游戲。
A B
有一次在上體育課的時候, a 同學(xué)想和 b 同學(xué)做一個換球的游戲,同學(xué)們能不能幫他們出出主意?(如 a 原來拿籃球, b 原來拿排球,交換后, a 拿排球, b 拿籃球 游戲規(guī)則:要求每次交換只允許每人手中最多有一個球。1.順序結(jié)構(gòu)的第一次親密接觸: 1.依照人的正常邏輯,必有學(xué)生想到直接互拋法來交換兩個球的方法。分析算法,引出程序
算法 1 直接互拋法: Step1 : a(或 b 拿籃球 Step2 : b(或 a 拿排球 step3 : a 將籃球(或排球給 b step4 : b 將排球(或籃球給 a step5 :結(jié)束
生:兩個學(xué)生先用簡潔語言描述交換的過程,并演示。設(shè)計意圖: 以游戲形式展開討論,學(xué)生的興趣被調(diào)動起來。限定交換規(guī)則為下面的算法 2 和算法 3 做鋪墊。
師:算法1程序可描述為: Dim a as single Dim b as single a=1 b=2 a=b b=a print a,b 師:請同學(xué)們對比算法 1 與算法 1 程序,你能猜猜程序每一行語句的含義嗎?(提示 1 代表籃球, 2 代表排球, single為整型的意思
程序界面
分析程序設(shè)計的過程的一般步驟:
1.數(shù)據(jù)類型說明部分。2.數(shù)據(jù)的輸入部分。3.數(shù)據(jù)的處理部分。4.數(shù)據(jù)的輸出部分。算法 1 程序完善如下: …… a = 1 b = 2 Print “交換前 :a=“;a, ”b=“;b a = b b = a Print ” 交換后 :a=“;a, ”b=“;b 讓學(xué)生理解記憶,并將程序?qū)懙降谝淮斡H密接觸中運行程序不正確,設(shè)下疑點。生:輸入代碼(一定學(xué)生自己手動輸入,否則無法了解編程的完整過程 [提問]:程序運行結(jié)果為什么會和我們交換的結(jié)果不一致呢? 預(yù)測:學(xué)生運行程序可能出現(xiàn)的情況: 1.程序正確運行,但無法實現(xiàn)正確交換。2.程序無法正確運行,出現(xiàn)編譯錯誤。
教師應(yīng)針對第2種情況予以說明,程序代碼輸入是否有誤,輸入法狀態(tài)是否切換正確。
變量的特點:每個變量占用一個內(nèi)存空間,有新的內(nèi)容被送到這個變量中,舊的內(nèi)容就被沖刷掉了。
師:分析變量在程序運行中的過程,使得學(xué)生清晰理解。
結(jié)論:程序運行結(jié)果不能滿足要求,直接互拋法程序不成功。設(shè)計意圖
讓學(xué)生對程序的格式有一個初步的印象,增強學(xué)生對程序編寫的信心。算法 1 是不符合游戲規(guī)則的算法,因此直接給出程序,類似于語文中倒敘的方式,然后再分析。引入自然,加深印象,學(xué)生可以在默寫的過程,理清程序的結(jié)構(gòu)。激勵教學(xué)法,使學(xué)生對學(xué)習(xí)充滿期望和信心
順序結(jié)構(gòu)的第二次親密接觸: 師:編寫程序貴在有創(chuàng)新,而創(chuàng)新的關(guān)鍵就是算法,一種新的算法不亞于建造一種新的機型。引導(dǎo)學(xué)生進行算法2探討。
淮南市第三批學(xué)科帶頭人評選公開課材料 生:學(xué)生分析每一行程序?qū)?yīng)的含義,學(xué)生操作運行程序,觀察結(jié)果做隨堂筆記學(xué)生立刻發(fā) 現(xiàn)程序運行結(jié)果不正確。學(xué)生簡潔說明交換過程,并模擬演示 算法2 “ 第三人 ” 交換法: Step1 : a(或 b 拿籃球,b(或 a 拿排球 step2 :輸出交換前 a,b 的值 step3 :第三人 a(或 b step4 :第三人 a(或 b step5 : b(或 a第三人 Step6 :輸出交換后 a,b 的值 Step7 :程序結(jié)束 師:縱觀整個算法,第三人扮演著什么角色? 小結(jié):第三人就像一個郵遞員,它是 a 和 b 換球的中轉(zhuǎn)站 模仿第一次親密接觸的程序,讓學(xué)生將算法 2 程序?qū)懙降诙斡H密接觸中(教師隨堂輔導(dǎo))算法 2 程序如下(傳遞變量 c : Dim a as single Dim b as single a = 1 b = 2 Print ”交換前 :a=“;a, ”b=“;b c = a a = b b = c Print ”交換后 :a=“;a, ”b=“;b 師:分析變量在程序運行中的過程,使得學(xué)生清晰理解。-6-淮南市第三批學(xué)科帶頭人評選公開課材料 結(jié)論:小小“郵箱員”,結(jié)論:小小“郵箱員” 交換真方便 學(xué)生思考,并回答學(xué)生自己模仿算法 1 程序編寫算法 2 程序 學(xué)生觀看教師演示,并 思考了解中間變量作用,加深對程序的理解。順序結(jié)構(gòu)的第三次親密接觸: 順序結(jié)構(gòu)的第三次親密接觸: 游戲規(guī)則 2 :允許某一瞬間有人可以同時拿著兩個球 師:有了前面兩個程序編寫的經(jīng)驗,同學(xué)們已經(jīng)基本掌握了程序編寫的過程。即分析問題,尋找算法,計算機識別模式轉(zhuǎn)化,及程序語言編寫程序的過程。同學(xué)們還能不能帶給我們更 多的驚喜呢? 算法較復(fù)雜,可引導(dǎo)學(xué)生從模擬的算法中,將提示的交換程序補充完整。算法 3近距離互換: …… a=1 b=2 Print “交換前 :a=”;a, “b=”;b a=a+b b=a-b-7-淮南市第三批學(xué)科帶頭人評選公開課材料 a=a-b Print “交換后 :a=”;a, “b=”;b 師:分析交換過程 a,b 的值 學(xué)生回答 設(shè)計意圖: 既是復(fù)述程序設(shè)計的過程,讓學(xué)生記憶一個程序設(shè)計的概念,又能擴大學(xué)生的思維方式 算法復(fù)雜,學(xué)生可能無法
想到,可以讓學(xué)生描述程序在交換過程中變量 a,b 的值理解程序 的運算過程。
三、拓展延伸 師:1.請修改剛才算法 2 的程序,按課本 33 面的代碼輸入。2.輸入測試數(shù)據(jù)為 1,2; 2.3,3.2;-1.8,8.1;h,1-8-淮南市第三批學(xué)科帶頭人評選公開課材料 1,j H,J 記錄運行結(jié)果,分析為什么會出現(xiàn)以上結(jié)果。設(shè)計意圖: 一個程序做出來以后,這個程序有沒有價值是要通過大量的數(shù)據(jù)進行測試,如果缺少測 試環(huán)節(jié),這個程序是沒有辦法進行使用的。這里數(shù)據(jù)的測試目的有二,其一:讓學(xué)生了解一 個完成程序的設(shè)計過程是包括測試的;其二:程序需要有一定的容錯性,從而也引出下節(jié)內(nèi) 容選擇結(jié)構(gòu)??偨Y(jié)歸納 師:縱觀上述三個程序,無論是算法1的程序,還是算法2和算法3的程序,從運行的 結(jié)構(gòu)上說都有一個共同的特點。從程序開始到程序結(jié)束,程序運行有沒有出現(xiàn)某一行語句重 復(fù)運行,或者某一行語句不執(zhí)行的情況呢? 程序設(shè)計的順序結(jié)構(gòu):在程序執(zhí)行過程中,語句按先后順序一行一行執(zhí)行,沒有分支,沒有重復(fù),直到程序結(jié)束。學(xué)生回答 設(shè)計意圖: 通過三次體驗順序結(jié)構(gòu)的程序設(shè)計,學(xué)生能夠深刻理解順序結(jié)構(gòu)的基本思想。教學(xué)反思: 本節(jié)通過兩個變量相互交換值來進行探討,教師以體育課中換球為例,生動形象的比喻 程序設(shè)計中變量的交換,并通過學(xué)生現(xiàn)場演示來讓學(xué)生寫出兩個變量互換的算法,并上機實 驗測試結(jié)果是否正確與否,通過測試發(fā)現(xiàn)結(jié)果并不讓人滿意,進一步修改算法,讓學(xué)生了解 讓學(xué)生了解 顯示生活中的互換與程序設(shè)計中的互換是存在差別的。顯示生活中的互換與程序設(shè)計中的互換是存在差別的。同時也為后面多種算法解決問題埋 下伏筆,讓學(xué)生充分認識到中間變量的作用和特征。讓學(xué)生親自輸入代碼,體驗編程的過程 中可能會出現(xiàn)的問題,測試數(shù)據(jù)測試程序容錯性,讓學(xué)生對程序開發(fā)設(shè)計有個完整的認識。-9-
第五篇:1.1 算法與程序框圖 教學(xué)設(shè)計 教案
教學(xué)準(zhǔn)備
1.教學(xué)目標(biāo)
(1)了解算法的含義,體會算法思想.
(2)會用自然語言和數(shù)學(xué)語言描述簡單具體問題的算法;
(3)學(xué)習(xí)有條理地、清晰地表達解決問題的步驟,培養(yǎng)邏輯思維能力與表達能力
2.教學(xué)重點/難點
重點:算法的含義、解二元一次方程組的算法設(shè)計. 難點:把自然語言轉(zhuǎn)化為算法語言.
3.教學(xué)用具
課件
4.標(biāo)簽
算法
教學(xué)過程 情境導(dǎo)入
電影《神槍手》中描述的凌靖是一個天生的狙擊手,他百發(fā)百中,最難打的位置對他來說也是輕而易舉,是香港警察狙擊手隊伍的第一神槍手.作為一名狙擊手,要想成功地完成一次狙擊任務(wù),一般要按步驟完成以下幾步: 第一步:觀察、等待目標(biāo)出現(xiàn)(用望遠鏡或瞄準(zhǔn)鏡); 第二步:瞄準(zhǔn)目標(biāo);
第三步:計算(或估測)風(fēng)速、距離、空氣濕度、空氣密度; 第四步:根據(jù)第三步的結(jié)果修正彈著點; 第五步:開槍;
第六步:迅速轉(zhuǎn)移(或隱蔽). 以上這種完成狙擊任務(wù)的方法、步驟在數(shù)學(xué)上我們叫算法. ●課堂探究 預(yù)習(xí)提升
1.定義:算法可以理解為由基本運算及規(guī)定的運算順序所構(gòu)成的完整的解題步驟,或者看成按照要求設(shè)計好的有限的確切的計算序列,并且這樣的步驟或序列能夠解決一類問題. 2.描述方式
自然語言、數(shù)學(xué)語言、形式語言(算法語言)、框圖. 3.算法的要求
(1)寫出的算法,必須能解決一類問題,且能重復(fù)使用;
(2)算法過程要能一步一步執(zhí)行,每一步執(zhí)行的操作,必須確切,不能含混不清,而且經(jīng)過有限步后能得出結(jié)果. 4.算法的特征
(1)有限性:一個算法應(yīng)包括有限的操作步驟,能在執(zhí)行有窮的操作步驟之后結(jié)束.
(2)確定性:算法的計算規(guī)則及相應(yīng)的計算步驟必須是唯一確定的.
(3)可行性:算法中的每一個步驟都是可以在有限的時間內(nèi)完成的基本操作,并能得到確定的結(jié)果.
(4)順序性:算法從初始步驟開始,分為若干個明確的步驟,前一步是后一步的前提,后一步是前一步的后續(xù),且除了最后一步外,每一個步驟只有一個確定的后續(xù).
(5)不唯一性:解決同一問題的算法可以是不唯一的. 課堂典例講練
命題方向1 對算法意義的理解 例1.下列敘述中,①植樹需要運苗、挖坑、栽苗、澆水這些步驟;
②按順序進行下列運算:1+1=2,2+1=3,3+1=4,?99+1=100; ③從青島乘動車到濟南,再從濟南乘飛機到倫敦觀看奧運會開幕式; ④3x>x+1;
⑤求所有能被3整除的正數(shù),即3,6,9,12,?.能稱為算法的個數(shù)為()A.2
B.3
C.4
D.5 【解析】根據(jù)算法的含義和特征:①②③都是算法;④⑤不是算法.其中④,3x>x+1不是一個明確的步驟,不符合明確性;⑤的步驟是無窮的,與算法的有限性矛盾. 【答案】B
[規(guī)律總結(jié)] 1.正確理解算法的概念及其特點是解決問題的關(guān)鍵.
2.針對判斷語句是否是算法的問題,要看它的步驟是否是明確的和有效的,而且能在有限步驟之內(nèi)解決這一問題.
【變式訓(xùn)練】 下列對算法的理解不正確的是________ ①一個算法應(yīng)包含有限的步驟,而不能是無限的
②算法可以理解為由基本運算及規(guī)定的運算順序構(gòu)成的完整的解題步驟 ③算法中的每一步都應(yīng)當(dāng)有效地執(zhí)行,并得到確定的結(jié)果 ④一個問題只能設(shè)計出一個算法
【解析】由算法的有限性指包含的步驟是有限的故①正確; 由算法的明確性是指每一步都是確定的故②正確;
由算法的每一步都是確定的,且每一步都應(yīng)有確定的結(jié)果故③正確; 由對于同一個問題可以有不同的算法故④不正確. 【答案】④
命題方向2 解方程(組)的算法 例2.給出求解方程組的一個算法.
[思路分析]解線性方程組的常用方法是加減消元法和代入消元法,這兩種方法沒有本質(zhì)的差別,為了適用于解一般的線性方程組,以便于在計算機上實現(xiàn),我們用高斯消元法(即先將方程組化為一個三角形方程組,再通過回代方程求出方程組的解)解線性方程組. [規(guī)范解答]方法一:算法如下:
第一步,①×(-2)+②,得(-2+5)y=-14+11,即方程組可化為
第二步,解方程③,可得y=-1,④ 第三步,將④代入①,可得2x-1=7,x=4,第四步,輸出4,-1.方法二:算法如下:
第一步,由①式可以得到y(tǒng)=7-2x,⑤ 第二步,把y=7-2x代入②,得x=4.第三步,把x=4代入⑤,得y=-1.第四步,輸出4,-1.[規(guī)律總結(jié)]1.本題用了2種方法求解,對于問題的求解過程,我們既要強調(diào)對“通法、通解”的理解,又要強調(diào)對所學(xué)知識的靈活運用.
2.設(shè)計算法時,經(jīng)常遇到解方程(組)的問題,一般是按照數(shù)學(xué)上解方程(組)的方法進行設(shè)計,但應(yīng)注意全面考慮方程解的情況,即先確定方程(組)是否有解,有解時有幾個解,然后根據(jù)求解步驟設(shè)計算法步驟. 【變式訓(xùn)練】
【解】 算法如下:S1,①+2×②得5x=1;③ S2,解③得x=;
S3,②-①×2得5y=3;④ S4,解④得y=;
命題方向3 篩選問題的算法設(shè)計
例3.設(shè)計一個算法,對任意3個整數(shù)a、b、c,求出其中的最小值. [思路分析]比較a,b比較m與c―→最小數(shù) [規(guī)范解答]算法步驟如下:
1.比較a與b的大小,若a
2.比較m與c的大小,若m 【變式訓(xùn)練】在下列數(shù)字序列中,寫出搜索89的算法: 21,3,0,9,15,72,89,91,93.[解析]1.先找到序列中的第一個數(shù)m,m=21; 2.將m與89比較,是否相等,如果相等,則搜索到89; 3.如果m與89不相等,則往下執(zhí)行; 4.繼續(xù)將序列中的其他數(shù)賦給m,重復(fù)第2步,直到搜索到89.命題方向4 非數(shù)值性問題的算法 例4.一個人帶三只狼和三只羚羊過河,只有一條船,同船可以容一個人和兩只動物,沒有人在的時候,如果狼的數(shù)量不少于羚羊的數(shù)量,狼就會吃掉羚羊.(1)設(shè)計安全渡河的算法; (2)思考每一步算法所遵循的共同原則是什么? [解析](1)1.人帶兩只狼過河; 2.人自己返回; 3.人帶一只狼過河; 4.人自己返回; 5.人帶兩只羚羊過河; 6.人帶兩只狼返回; 7.人帶一只羚羊過河; 8.人自己返回; 9.人帶兩只狼過河. (2)在人運送動物過河的過程中,人離開岸邊時必須保證每個岸邊的羚羊的數(shù)目大于狼的數(shù)目. [規(guī)律總結(jié)]1.對于非數(shù)值性的問題,在設(shè)計算法時,應(yīng)當(dāng)先建立過程模型,也就是找到解決問題的方案,再把它細化為一步連接一步組成的步驟.從而設(shè)計出算法. 2.首先應(yīng)想到先運兩只狼,這是唯一的首選步驟,只有這樣才可避免狼吃羊,帶過一只羊后,必須將狼帶回來才行. 【變式訓(xùn)練】兩個大人和兩個小孩一起渡河,渡口只有一條小船,每次只能渡一個大人或兩個小孩,他們四人都會劃船,但都不會游泳,他們?nèi)绾味珊樱空垖懗瞿愕亩珊臃桨讣八惴ǎ?[解析]因為一次只能渡過一個大人或兩個小孩,而船還要回來渡其他人,所以只能讓兩個小孩先過河,渡河的方案算法為: 1.兩個小孩同船渡過河去; 2.一個小孩劃船回來; 3.一個大人獨自劃船渡過河去; 4.對岸的小孩劃船回來; 5.兩個小孩再同船渡過河去; 6.一個小孩劃船回來; 7.余下的一個大人獨自劃船渡過河去; 8.對岸的小孩劃船回來; 9.兩個小孩再同船渡過河去. 課后習(xí)題 1.以下對算法的描述正確的個數(shù)是()①對一類問題都有效; ②對個別問題有效; ③計算可以一步步地進行,每一步都有唯一的結(jié)果; ④是一種通法,只要按部就班地做,總能得到結(jié)果. A.1個 B.2個 C.3個 D.4個 [答案]C [解析]①③④正確,均符合算法的概念與要求,②不正確. 2.算法的有限性是指()A.算法的最后必包含輸出 B.算法中每個操作步驟都是可執(zhí)行的 C.算法的步驟必須有限 D.以上說法均不正確 [答案]C [解析]由算法的要求可知,應(yīng)選C.3.下列語句中是算法的個數(shù)是()①從廣州到北京旅游,先坐火車,再坐飛機抵達; ②解一元一次方程的步驟是去分母、去括號、移項、合并同類項、系數(shù)化為1; ③方程x2-1=0有兩個實根; ④求1+2+3+4的值,先計算1+2=3,再由3+3=6,6+4=10得最終結(jié)果10.A.1個 B.2個 C.3個 D.4個 [答案]C [分析]解答本題可先正確理解算法的概念及其特點,然后逐一驗證每個語句是否正確. [解析]①中說明了從廣州到北京的行程安排,完成任務(wù);②中給出了一元一次方程這一類問題的解決方法;④中給出了求1+2+3+4的一個過程,最終得出結(jié)果.對于③,并沒有說明如何去算,故①②④是算法,③不是算法. 4.設(shè)計一個算法求方程5x+2y=22的正整數(shù)解,其最后輸出的結(jié)果應(yīng)為________. [答案](2,6),(4,1)[解析]因為求方程的正整數(shù)解,所以應(yīng)將x從1開始輸入,直到方程成立. x=2時,y==6; 5.已知一個學(xué)生的語文成績?yōu)?9,數(shù)學(xué)成績?yōu)?6,外語成績?yōu)?9.求它的總分和平均成績的一個算法為: 1.取A=89,B=96,C=99; 2.____①____; 3.____②____; 4.輸出D,E.[解析]求總分需將三個數(shù)相加,求平均分,另需讓總分除以3即可. x=4時,y==1.[答案]①計算總分D=A+B+C ②計算平均成績E=