




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第十一章 算法初步與框圖一、知識網(wǎng)絡(luò)算法初步算法與程序框圖算法語句算法案例算法概念框圖的邏輯結(jié)構(gòu)輸入語句賦值語句循環(huán)語句條件語句輸出語句順序結(jié)構(gòu)循環(huán)結(jié)構(gòu)條件結(jié)構(gòu)第一節(jié) 算法與程序框圖知識回顧1算法的概念:算法通常是指按一定規(guī)則解決某一類問題的明確和有限的步驟2.程序框圖又稱流程圖,是一種用程序框、流程線及文字說明來表示算法的圖形.3.程序框圖的三種基本邏輯結(jié)構(gòu)是順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu)4.算法的描述方式有:自然語言、程序框圖、程序語言5.算法的基本特征:明確性:算法的每一步執(zhí)行什么是明確的;順序性:算法的“前一步”是“后一步”的前提, “后一步”是“前一步”的繼續(xù);有限性:算法必須在有限步
2、內(nèi)完成任務(wù),不能無限制的持續(xù)進行;通用性:算法應(yīng)能解決某一類問題.典例精析例1.如圖所示是一個算法的程序框圖,則該程序框圖所表示的功能是 解析:首先要理解各程序框的含義,輸入a,b,c三個數(shù)之后,接著判斷a,b的大小,若b小,則把b賦給a,否則執(zhí)行下一步,即判斷a與c的大小,若c小,則把c賦給a, 否則執(zhí)行下一步,這樣輸出的a是a,b,c三個數(shù)中的最小值.所以該程序框圖所表示的功能是求a,b,c三個數(shù)中的最小值.評注: 求a,b,c三個數(shù)中的最小值的算法設(shè)計也可以用下面程序框圖來表示.例2.下列程序框圖表示的算法功能是( )(1)計算小于100的奇數(shù)的連乘積(2)計算從1開始的連續(xù)奇數(shù)的連乘積
3、(3)計算從1開始的連續(xù)奇數(shù)的連乘積,當乘積大于100時,計算奇數(shù)的個數(shù)(4)計算成立時的最小值解析:為了正確地理解程序框圖表示的算法,可以將執(zhí)行過程分解,分析每一步執(zhí)行的結(jié)果.可以看出程序框圖中含有當型的循環(huán)結(jié)構(gòu),故分析每一次循環(huán)的情況,列表如下:第一次:;第二次:;第三次:,此時不成立,輸出結(jié)果是7,程序框圖表示的算法功能是求使成立時的最小值.選D.評注:通過列表,我們能清楚了解程序的每一步中的各個變量是怎樣變化的,這正是程序運行的本質(zhì)所在.本題若要求編寫求使成立時的最小值的程序框圖或程序時,很容易弄錯輸出的結(jié)果,應(yīng)注意.例3.在音樂唱片超市里,每張唱片售價為25元,顧客如果購買5張以上(
4、含5張)唱片,則按九折收費,如果購買10張以上(含10張)唱片,則按八折收費,請設(shè)計算法步驟并畫出程序框圖,要求輸入張數(shù)x,輸出實際收費y(元).分析:先寫出與之間的函數(shù)關(guān)系式,有,再利用條件結(jié)構(gòu)畫程序框圖解:算法步驟如下:第一步,輸入購買的張數(shù),第二步,判斷是否小于5,若是,計算;否則,判斷是否小于10,若是,計算;否則,計算.第三步,輸出. 程序框圖如下:評注:凡必須先根據(jù)條件做出判斷,然后再決定進行哪一個步驟的問題,在畫程序框圖時,必須引入判斷框,采用條件結(jié)構(gòu)設(shè)計算法.如果變量分三級(或以上)時,就需要用到條件結(jié)構(gòu)的嵌套,不能忽視結(jié)果中“是”、“否”的書寫,否則不知道執(zhí)行哪一條路徑.一般
5、地,分段的分段函數(shù),需要引入個判斷框.條件結(jié)構(gòu)有以下兩種基本類型.否是輸出X否例4.畫出求的值的程序框圖.分析:這是一個有規(guī)律的數(shù)列求和問題,每次都進行了相同的運算,故應(yīng)用循環(huán)結(jié)構(gòu)進行算法設(shè)計.解:程序框圖如下:(1)當型循環(huán)(2)直到型循環(huán)評注: (1) 解題關(guān)鍵是選擇好計數(shù)變量和累加變量的初始值,并寫出用表示的數(shù)列的通項公式是 ;(2)循環(huán)結(jié)構(gòu)主要用在一些有規(guī)律的重復(fù)計算的算法中,如累加求和,累乘求積等問題.在循環(huán)結(jié)構(gòu)中,要注意根據(jù)條件,設(shè)計合理的計數(shù)變量、累加(積)變量以及它們的初始值等,特別要注意循環(huán)結(jié)構(gòu)中條件的表述要恰當、精確,以免出現(xiàn)多一次或少一次循環(huán).(3)循環(huán)結(jié)構(gòu)分為兩類:一類
6、是當型循環(huán)結(jié)構(gòu),如下左圖所示;另一類是直到型循環(huán)結(jié)構(gòu),如下右圖所示. 變式訓(xùn)練畫出求的值的程序框圖.解:程序框圖如下:例5.某工廠2005年的生產(chǎn)總值為200萬元,技術(shù)改進后預(yù)計以后后每年的年生產(chǎn)總值都比上一年增長5%.設(shè)計一個程序框圖,輸出預(yù)期年生產(chǎn)總值超過300萬元的最早年份及2005年到此年份之前(不包此年份)的年生產(chǎn)總值的和.分析:本例可用循環(huán)結(jié)構(gòu)來實現(xiàn). (1) 確定“循環(huán)體”:設(shè)a為某年的年生產(chǎn)總值,n為年份,S為年產(chǎn)值的總和,則循環(huán)體為(2)初始化變量:n的初始值為2005,a的初始值為200,S的初始值為0.(3)設(shè)定循環(huán)控制條件:解: 程序框圖如下:評注:本問題的關(guān)健是設(shè)計好
7、循環(huán)體,注意與之間的對應(yīng)關(guān)系.本題若將放在之后,則輸出時須重新賦值,否則的值為超過300萬的年份的下一年.本題也可用當型循環(huán)結(jié)構(gòu)來表示.變式訓(xùn)練:設(shè)計一個程序框圖,求使的最小的值,并輸出此時的值.解:程序框圖如下:基礎(chǔ)自測一、選擇題1下列說法正確的是( )A算法就是某個問題的解題過程;B算法執(zhí)行后可以產(chǎn)生不同的結(jié)果;C解決某一個具體問題算法不同結(jié)果不同;D算法執(zhí)行步驟的次數(shù)不可以很大,否則無法實施1解析:選項A ,算法不能等同于解法;選項B,例如:判斷一個正整數(shù)是否為質(zhì)數(shù),結(jié)果為“是質(zhì)數(shù)”和“不是質(zhì)數(shù)”兩種;選項C,解決某一個具體問題算法不同結(jié)果應(yīng)該相同,否則算法構(gòu)造的有問題;選項D,算法可以
8、為很多次,但不可以無限次2、如圖所示的程序框圖中,則第3個輸出的數(shù)是( ) A1 B. C.2 D. 2.解析:前3個分別輸出的數(shù)是1,2.故選C.開始結(jié)束是否輸出3如圖給出的是求的值的一個程序框圖,其中判斷框內(nèi)應(yīng)填入的條件是 ( )A.i10? B.i20? D.i10?選4.閱讀右邊的程序框圖,若輸入的是100,則輸出的變量和的值依次是( )A2550,2500B2550,2550C2500,2500D2500,25504.解析:依據(jù)框圖可得,.選A. 52006年1月份開始實施的個人所得稅法規(guī)定:全月總收入不超過元的免征個人工資、薪金所得稅,超過元部分需征稅設(shè)全月總收入金額為元,前三級稅
9、率如下左表所示:級數(shù)全月應(yīng)納稅金額稅率1不超過元部分5%2超過至元部分10%3超過至元部分15%開始結(jié)束輸入x輸出0輸出輸出0 x1600?1600 x2100?2100,等于=,小于=,小于等于=,不等于.常用函數(shù):絕對值A(chǔ)BS,平方根SQR,取整INT.4.算法案例(1)輾轉(zhuǎn)相除法和更相減損術(shù)輾轉(zhuǎn)相除法和更相減損術(shù)都是求兩個正整數(shù)的最大公約數(shù)的方法.(1)輾轉(zhuǎn)相除法就是對于給定的兩個正整數(shù),用大數(shù)除以小數(shù),若余數(shù)不為0,則將小數(shù)和余數(shù)構(gòu)成新的一對數(shù),繼續(xù)上面的除法,反復(fù)執(zhí)行此步驟,直到大數(shù)被小數(shù)除盡,則這時較小的數(shù)就是原來兩個數(shù)的最大公約數(shù).(2)更相減損術(shù)就是對于給定的兩個正整數(shù),若它們
10、都是偶數(shù),則將它們反復(fù)除以2(假設(shè)進行了k次),直到它們至少有一個不是偶數(shù)后,將大數(shù)減小數(shù),然后將差和較小的數(shù)構(gòu)成一對新數(shù),繼續(xù)上面的減法,反復(fù)執(zhí)行此步驟,直到差和較小的數(shù)相等,此時相等的數(shù)再乘以原來約簡的即為所求兩數(shù)的最大公約數(shù).(2)秦九韶算法秦九韶算法是求多項式值的優(yōu)秀算法.設(shè),改寫為如下形式:設(shè)這樣求n次多項式的值就轉(zhuǎn)化為求n個一次多項式的值.當多項式中有些項不存在時,可將這幾項看做,補齊后再利用秦九韶算法進行計算.對于一個n次多項式,只需做n次乘法和n次加法運算即可.(3)進位制K進制數(shù)的基數(shù)為k,k進制數(shù)是由之間的數(shù)字構(gòu)成的.將十進制的數(shù)轉(zhuǎn)化為k進制數(shù)的方法是除k取余法.典例精析例
11、1寫出用循環(huán)語句描述求的值的算法程序.解:算法程序如下:(1)當型循環(huán)(2)直到型循環(huán) 評注: 在編寫算法的程序時,可先畫出程序框圖,抓住程序框圖表示算法這個核心.注意分別用當型循環(huán)和直到型循環(huán)語句編寫的程序中,循環(huán)條件的區(qū)別與聯(lián)系. 例2、某市對排污水進行綜合治理,征收污水處理費,系統(tǒng)對各廠一個月內(nèi)排出的污水量噸收取的污水處理費元,運行程序如下所示:請寫出y與m的函數(shù)關(guān)系,并求排放污水150噸的污水處理費用.解: 這個程序反映的是一個分段函數(shù)因為所以,故該廠應(yīng)繳納污水處理費1400元.評注: 解決分段函數(shù)要用條件語句來處理.本題可畫出程序框圖幫助理解.例3求三個數(shù)72,120,168的最大公
12、約數(shù).解法1:用輾轉(zhuǎn)相除法先求120,168的最大公約數(shù),因為所以120,168的最大公約數(shù)是24.再求72,24的最大公約數(shù),因為,所以72,24的最大公約數(shù)為24,即72,120,168的最大公約數(shù)為24.解法2:用更相減損術(shù)先求120,168的最大公約數(shù),168-120=48,120-48=72,72-48=24,48-24=24所以120,168的最大公約數(shù)為24.再求72,24的最大公約數(shù),72-24=48,48-24=2472,24的最大公約數(shù)為24,即72,120,168的最大公約數(shù)為24.評注: 輾轉(zhuǎn)相除法與更相減損術(shù)均是求兩個正整數(shù)的最大公約數(shù)的方法,要理解和掌握它們的操作步
13、驟.變式:試寫出求正整數(shù)的最小公倍數(shù)的算法程序.解:或例4.用秦九韶算法求多項式在時的值.分析:先改寫多項式,再由內(nèi)向外計算.評注: 用秦九韶算法求多項式值,關(guān)健是正確將多項式改寫,然后由內(nèi)向外計算求得.本題也可簡寫為下式:例5.完成下列進制的轉(zhuǎn)化解: (2)用8反復(fù)去除101,直到商為0止,所得的余數(shù)(從末位讀起)就是十進制數(shù)101的8進制表示所以評注:將進制的數(shù)轉(zhuǎn)化為進制的數(shù)的方法是先將進制的數(shù)轉(zhuǎn)化為十進制的數(shù),再將這個數(shù)轉(zhuǎn)化為進制的數(shù).變式訓(xùn)練:下面是把二進制數(shù)化為十進制數(shù)的一個程序框圖,判斷框內(nèi)應(yīng)填入的條件是( )解: ,故判斷框內(nèi)應(yīng)填入的條件.選C.基礎(chǔ)自測一、選擇題1下列給出的賦值
14、語句中正確的是( )A B C D 1. 解析:賦值語句的功能.選 B 2 當時,下面的程序輸出的結(jié)果是 ( )A B C D 2解析: . 選 C 3運行下列程序:當輸入56,42時,輸出的結(jié)果是56 42 84 143.解析:該程序的功能是用輾轉(zhuǎn)相除法求正整數(shù)的最大公約數(shù),故選D4下邊程序運行后輸出的結(jié)果為( ) A B C D 4.解析:.選 D 二、填空題5 三個數(shù)的最大公約數(shù)是_ 5 解析:.填6.閱讀下列程序:當程序輸入值為123時,問運行的結(jié)果是_.6.解析:算術(shù)運算符和MOD分別用取商和余數(shù).該程序的功能是把一個三位數(shù)各位上的數(shù)字顛倒過來.所以運行的結(jié)果是321.7已知n次多項式,如果在一種算法中,計算(k2,3,4,n)的值需要k1次乘法,計算的值共需要9次運算(6次乘法,3次加法),那么計算的值共需要 次運算.下面給出一種減少運算次數(shù)的算法:(k0,
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物廠轉(zhuǎn)讓合作協(xié)議書
- 巫啟賢唱歌撕破協(xié)議書
- 地暖被破壞免責協(xié)議書
- 續(xù)修宗譜協(xié)議書
- 安置房主體合同協(xié)議書
- 聯(lián)營工程協(xié)議書
- 等價對換協(xié)議書
- 股改服務(wù)協(xié)議書
- 受傷者交通事故協(xié)議書
- 空調(diào)風機協(xié)議書
- 2025-2030中國液晶面板行業(yè)發(fā)展分析及投資預(yù)測報告
- 生成式人工智能對高校畢業(yè)生就業(yè)的影響及對策分析
- 小學(xué)脊柱側(cè)彎教育
- 大數(shù)據(jù)技術(shù)在媒體運營中的價值試題及答案
- 2025年五金采購合同與價格明細
- 2025年高考語文古詩詞鑒賞主題閱讀與理解試題
- 樸樸北森測評試題及答案
- 中鐵建設(shè)面試試題及答案
- 2025年消控室考核試題及答案
- 餐廳食材驗收培訓(xùn)
- 水泥廠班組生產(chǎn)中的安全
評論
0/150
提交評論