• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      流程圖(程序框圖)高考題型例解

      2012-08-27 02:41:52湖北省水果湖高級中學伍先軍
      中學數(shù)學雜志 2012年3期
      關(guān)鍵詞:程序框圖流程圖表達式

      ☉湖北省水果湖高級中學 伍先軍 趙 宇

      在所有實施新課改的省份的高考數(shù)學試題中,都不約而同地出現(xiàn)了流程圖(程序框圖).

      圖1是2011年全國新課標高考數(shù)學試題中的第5題:

      執(zhí)行圖1所示的程序框圖,如果輸入的N是6,那么輸出的p是( )

      A.120

      B.720

      C.1 440

      D.5 040

      編制流程圖(程序框圖)是利用計算機編程解決問題的關(guān)鍵性的一步.流程圖就是用來描述解決問題的操作步驟的.它由功能圖標和流程線組成.流程圖的功能圖標有4種:圓角矩形、平行四邊形、矩形、菱形,分別表示不同的功能.流程線的一端帶有箭頭,表示程序運行的走向(見圖2).

      解流程圖(程序框圖)題,不外乎有兩種基本的解法:

      ①機械模擬,②模塊歸納.

      所謂“機械模擬”,是指我們按照流程線的走向,一步一步地忠實地模擬計算機操作,得到最終結(jié)果.一般適用于數(shù)據(jù)規(guī)模較小、功能單一的程序.

      所謂“模塊歸納”,是指我們把一個較大的復雜的程序,劃分為一個或多個功能相對獨立的較小的子模塊,分析每個子模塊的入口數(shù)據(jù)、出口數(shù)據(jù),以及這個子模塊對入口數(shù)據(jù)進行了怎樣的操作從而得到出口數(shù)據(jù)的,這樣,我們就歸納得出:這個子模塊的實質(zhì),就是一個從輸入數(shù)據(jù)到輸出數(shù)據(jù)的映射關(guān)系,即函數(shù),可抽象地記為:

      輸出變量(或中間變量)=f(輸入變量1,輸入變量2,…,輸入變量n).

      圖2

      表1

      若干個小的子模塊再組成一個大的功能模塊,最終,我們就能掌握整個程序的總體功能,再用數(shù)學的方式解決,寫出程序運行結(jié)果.對于一些功能較復雜、數(shù)據(jù)規(guī)模較大的大中型程序,這種“模塊歸納”的方式是比較合適的.進行模塊歸納時,要特別注意某些變量的初值和終值(統(tǒng)稱為端點)對輸出變量(或中間變量)的影響,在歸納得出函數(shù)關(guān)系后,要返回到流程圖中去進行端點校驗.

      解高考流程圖題的根本方法:

      【簡單題】只需機械模擬即可.

      【稍難題】先機械模擬理清算法實質(zhì),再模塊歸納得出函數(shù)關(guān)系(或不等式),最后端點校驗以確保正確.

      【變式題】在掌握機械模擬和模塊歸納兩種方法后隨機應變.

      解流程圖題四十字口訣(原創(chuàng)):

      鉛筆作指針,箭頭永向前.

      表格當內(nèi)存,舊值換新顏.

      決策看條件,循環(huán)是關(guān)鍵.

      輸入和輸出,函數(shù)來相連.

      下面以2011年全國新課標高考數(shù)學試題第5題為例說明.

      從流程圖(見本文開頭)的“開始”圖標開始,順著流程線走,從現(xiàn)在開始,我就變成一臺計算機了!我用左手拿一支鉛筆,筆尖指向當前即將執(zhí)行的語句(相當于語句指針),右手拿一支筆,在表格中即時記錄、修改變量的值.

      左手鉛筆指向“輸入N”,現(xiàn)在我遇到了一個字母N,N是什么?N就是一個變量,我先在草稿紙上畫一個表格,在表頭寫上變量的名字N(見表1),當做計算機存儲空間中的一個存儲單元,現(xiàn)在輸入N的值是6,在N的下面寫上6.

      下一句:左手鉛筆指向語句“k=1,p=1”,這本是兩句,合在一起寫了.現(xiàn)在遇到了兩個新的變量k和p,把這兩個變量的名稱也寫入到表格的表頭中,現(xiàn)在本語句執(zhí)行后它們的值都為1了,在它們的名稱下都寫下1.

      繼續(xù)!左手鉛筆指向語句p=p·k.這是賦值語句,其中的“=”稱為賦值號,完全不同于數(shù)學中的等號,它表示將“=”右邊的表達式(可以是一個常量數(shù)據(jù),或者是一個變量,也可以是一個表達式,本句是表達式p·k)的值(計算后),賦給“=”左邊的變量.因此,“=”左邊只能是變量,不能是常量或表達式.

      那么,計算機是如何執(zhí)行p=p·k的呢?先計算“=”右邊的算術(shù)表達式p·k的值:從存儲空間中讀取變量p的當前值為1(讀取操作不改變變量的值),讀取變量k的當前值為1,在CPU(中央處理器)中計算1·1,結(jié)果為1,再將結(jié)果1寫入(賦給)“=”左邊的變量p所在的存儲空間,現(xiàn)在p的值被改為1了(即使它原來的值就是1,計算機仍會執(zhí)行寫入操作,寫入操作會改變變量的值).此時,劃掉此前的值1,寫上新值1.

      繼續(xù)!左手鉛筆指向決策圖標:判斷k<N是否成立,計算機讀取變量k的當前值為1,變量N的當前值為6,計算關(guān)系表達式1<6的值,顯然1<6是成立的,計算的結(jié)果是真(用“是”、“真”或“True”等表示),程序此時轉(zhuǎn)向“是”分支,執(zhí)行k=k+1(左手鉛筆指向此句).同樣,這也是一條賦值語句,先計算k+1的值:讀取k的當前值為1,在CPU中計算1+1,結(jié)果為2,再將結(jié)果2寫入到變量k,故k的值改為2了(劃掉此前的值1).

      繼續(xù)!再次執(zhí)行p=p·k,讀取p的值為1,k的值為2,計算1·2,得2,將結(jié)果2賦給(寫入)變量p,即p的值改為2了(劃掉此前的值1).

      繼續(xù)!判斷k<N是否成立,計算機讀取變量k的值為2,變量N的值為6,計算關(guān)系表達式2<6,顯然2<6是成立的,計算的結(jié)果是真,程序繼續(xù)執(zhí)行“是”分支,執(zhí)行k=k+1,先計算k+1的值:讀取k的值為2,2+1得3,寫入到變量k,故k的值改為3了(劃掉此前的值2).

      如此繼續(xù)執(zhí)行,你會發(fā)現(xiàn):賦值語句p=p·k,條件判斷k<N,賦值語句k=k+1,這3條語句被反復執(zhí)行了多次,這種結(jié)構(gòu),在流程圖中構(gòu)成了“環(huán)形”,在計算機語言中稱為“循環(huán)結(jié)構(gòu)”.顯然,這種循環(huán)結(jié)構(gòu)必須要有結(jié)束退出的時候,否則,計算機就會陷入“死循環(huán)”,這是程序設計者必須注意的.

      你可以不厭其煩地一步一步地模擬計算機執(zhí)行下去,直到k=N,此時k<N不成立了,就轉(zhuǎn)向“否”分支,輸出p的值為720.

      那么,怎樣提高解題效率呢?換言之,如果本題輸入的N的值更大,你能較快地得出答案嗎?

      關(guān)鍵在于流程圖中的“環(huán)形結(jié)構(gòu)”,也就是循環(huán)結(jié)構(gòu).在循環(huán)結(jié)構(gòu)中往往有兩種功能的語句:“關(guān)鍵運算”和“條件控制”.所謂“關(guān)鍵運算”是指輸出變量(本例為p)參與的運算,本例即p=p·k.所謂“條件控制”是指循環(huán)條件(本例即k<N)中的變量(本例為k)參與的運算,本例即k=k+1.通過這兩種功能的語句,你可以得出這段循環(huán)語句的功能就是連乘(注意變量p的初值必須為1,變量p常稱為累乘器),乘數(shù)從k=1到k=N,每次增加1(這里的變量k常稱為計數(shù)器),然后觀察循環(huán)之前計數(shù)器的初值和循環(huán)結(jié)束時計數(shù)器的終值,重點分析計數(shù)器的初值和終值是否參與了關(guān)鍵運算(端點校驗),最后得出結(jié)論:這段程序計算的是p=1*2*…*N(即N的階乘N?。?,現(xiàn)在無論輸入的N值是多少,你都可以迅速地用數(shù)學的方法計算結(jié)果了.這就是前述的“模塊歸納”.

      猜你喜歡
      程序框圖流程圖表達式
      “順勢而下”破解程序框圖
      一個混合核Hilbert型積分不等式及其算子范數(shù)表達式
      表達式轉(zhuǎn)換及求值探析
      中學生數(shù)理化·高一版(2019年1期)2019-06-26 12:45:36
      淺析C語言運算符及表達式的教學誤區(qū)
      程序框圖問題的精彩交匯
      專利申請審批流程圖
      河南科技(2016年8期)2016-09-03 08:08:22
      專利申請審批流程圖
      河南科技(2016年6期)2016-08-13 08:18:29
      寧海縣村級權(quán)力清單36條
      算法與程序·程序框圖
      卓资县| 盐城市| 淮北市| 旬阳县| 罗甸县| 额敏县| 绥宁县| 富源县| 搜索| 宁蒗| 大庆市| 商河县| 阳曲县| 江孜县| 遂宁市| 卢氏县| 泽库县| 名山县| 缙云县| 富民县| 绥棱县| 宜章县| 沁水县| 商南县| 会泽县| 墨玉县| 东平县| 偃师市| 杂多县| 武乡县| 象山县| 嘉黎县| 柯坪县| 镇江市| 峨眉山市| 扎鲁特旗| 三河市| 白朗县| 喀喇沁旗| 清水河县| 舒城县|