資源簡介 (共36張PPT)信息技術(shù)王鳳龍靈璧縣第二中學(xué) 王鳳龍靈璧縣第二中學(xué) 王鳳龍粵教版普通高中教科書信息技術(shù) 必修13.2 算法及其描述靈璧縣第二中學(xué) 王鳳龍學(xué)習(xí)內(nèi)容(P48)問題思考杯子A杯子B杯子C有3個同樣大小裝飲料的杯子,杯子A裝雪碧,杯子A裝可樂,杯子C是空杯。請用語言描述如何將杯子A和杯子B中的飲料相互交換呢?信息技術(shù)王鳳龍信息技術(shù)王鳳龍信息技術(shù)王鳳龍杯子A杯子C杯子C杯子A杯子A杯子B杯子C問題解決杯子B杯子B杯子A杯子B杯子C① 將杯子A的飲料倒入杯子C中② 將杯子B的飲料倒入杯子A中③ 將杯子C的飲料倒入杯子B中經(jīng)典/常見算法之“變量互換算法”程序實現(xiàn)信息技術(shù)王鳳龍信息技術(shù)王鳳龍信息技術(shù)王鳳龍杯子A杯子C杯子C杯子A杯子A杯子B杯子C問題解決杯子B杯子B杯子A杯子B杯子C① 將杯子A的飲料倒入杯子C中② 將杯子B的飲料倒入杯子A中③ 將杯子C的飲料倒入杯子B中經(jīng)典/常見算法之“變量互換算法”程序實現(xiàn)算法與程序的關(guān)系:算法是解決問題的方法與步驟,是程序設(shè)計的"靈魂"與"核心" ,而程序是算法的計算機(jī)代碼的具體實現(xiàn)。分析問題設(shè)計算法編寫程序調(diào)試運行信息技術(shù)王鳳龍信息技術(shù)王鳳龍算法工程師 各大互聯(lián)網(wǎng)公司的算法工程師享有優(yōu)厚的待遇,但同時也有著較高的技術(shù)要求以上數(shù)據(jù)來自于BOSS直聘以上數(shù)據(jù)來自于BOSS直聘信息技術(shù)王鳳龍一、算法的概念廣義、狹義P48信息技術(shù)王鳳龍算法的概念算法有廣義和狹義之分。廣義的算法是指解決問題或完成任務(wù)所需要的一系列步驟,其執(zhí)行者往往是人。西紅柿炒雞蛋做法合肥旅游計劃自動擋汽車啟動步驟信息技術(shù)王鳳龍算法的概念算法有廣義和狹義之分。狹義的算法特指計算機(jī)解決問題的步驟,是能夠被計算機(jī)機(jī)械執(zhí)行的動作或指令的有限集合。① 開始② 令t=1,s=1;③ s = s × t;④ t = t + 1;⑤ 如果 t<10,則轉(zhuǎn)到步驟③;⑥ 否則,輸出 s的值;⑦ 結(jié)束輸入 a,b,cΔ = b**2 - 4*a*cif (Δ < 0)輸出 方程無實根else if (Δ == 0)x = -b / (2*a)輸出 方程有兩個相等的實根:xelse if (Δ > 0)x1 = (-b + 求平方根(delta)) / (2*a)x2 = (-b - 求平方根(delta)) / (2*a)輸出 方程有兩個不相等的實根:x1、x2求10的階乘 算法求兩個數(shù)的最大值 算法解一元二次方程 算法信息技術(shù)王鳳龍算法的特征下列兩個都是“求前100項正整數(shù)和”的算法,哪個正確、可行呢?算法A算法B信息技術(shù)王鳳龍二、算法的特征有窮性、確定性、可行性、數(shù)據(jù)輸入、數(shù)據(jù)輸出P49信息技術(shù)王鳳龍算法執(zhí)行的每一個步驟的表述都必須是確定的,無歧義的算法的特征有窮性一個算法的執(zhí)行步驟必須是有限的算法的每一個步驟都是可執(zhí)行的并且能在有限的時間內(nèi)完成求所有正整數(shù)的和求前100項正整數(shù)的和輸出所有5的倍數(shù)輸出100以內(nèi)所有5的倍數(shù)確定性可行性加入若干糖漿加入少許珍珠加入適量奶茶搖一搖……加入30克糖漿加入80g珍珠加入140ml奶茶搖一搖……給我來一杯中杯的椰果奶茶系統(tǒng)等待若干秒系統(tǒng)等待0.5秒寫出π的值寫出π的值,精確到小數(shù)點后六位我 算法的特征0個或多個輸入算法可以有零個或多個輸入1個或多個輸入算法至少有一個或多個輸出輸出不僅可以是數(shù)值、文本,也可以是圖形、圖像、視頻、聲音、文件、電子信號、頁面跳轉(zhuǎn)等信息技術(shù)王鳳龍0個輸入2個輸入輸入除了是文本、數(shù)值,還可以是圖片、視頻、聲音、文件、生物特征、電子信號、傳感器信號等信息技術(shù)王鳳龍三、算法的描述自然語言、流程圖★、偽代碼P49信息技術(shù)王鳳龍信息技術(shù)王鳳龍出租車計費算法 設(shè)計出租車計費規(guī)則包含以下幾個方面:1. 初始費用:也就是起步價,前3公里(含3公里的)的費用固定為8元。2. 里程費用:行駛超過3公里后,每增加1公里將按2元計費。請你根據(jù)上述場景描述設(shè)計出租車計費的算法?設(shè)定出租車行駛的公里數(shù)為s,所需費用為money。根據(jù)題意可知,當(dāng)s≤3時,money=10,當(dāng)s>3時,money= 8+(s-3)*2,求出money的值即為所需的費用。分析問題信息技術(shù)王鳳龍用【自然語言】描述算法自然語言是人們在日常生活中交流使用的語言,如漢語、英語等。自然語言描述算法通俗易懂,容易掌握。但當(dāng)步驟較多時,用自然語言就難以將其清晰地描述出來,并且由于自然語言本身的特征,導(dǎo)致描述時容易出現(xiàn)歧義和難以理解。輸入行駛里程s;money = 0;如果s≤3,則money = 10;否則,money = 8+(s-3)*2;輸出費用moneyt=0;x=1;y=1;z=1;如果滿足式子6x+5y+4z=50,則解的個數(shù)加1(即t=t+1,表示右邊式子的值賦值給左邊式子),并輸出這個解(即輸出t,x,y,z的值);z=z+1;如果z≤12則轉(zhuǎn)步驟5,否則繼續(xù)步驟;y=y+1;如果y≤10則轉(zhuǎn)步驟4,否則繼續(xù)步驟j;x=x+1;如果x≤8則轉(zhuǎn)步驟3,否則繼續(xù)步驟!2;結(jié)束。自然語言描述 出租車計費算法自然語言描述 求方程6x+5y+4z=50正整數(shù)解算法這門沒有鎖我不是吃素的有歧義和難理解窮舉法信息技術(shù)王鳳龍用【流程圖】描述算法流程圖是通過規(guī)定的圖形和帶有箭頭的流程線來描述算法的一種方法。相對于自然語言,流程圖在描述算法時具有直觀形象、結(jié)構(gòu)清晰、簡潔明了等優(yōu)點。因此,流程圖廣泛應(yīng)用于項目管理、軟件開發(fā)、工程、教育等各個領(lǐng)域。圖 形 名 稱 功 能開始/結(jié)束框 表示算法的開始或結(jié)束輸入/輸出框 表示算法中變量的輸入或輸出處理框 表示算法中變量的計算和賦值判斷框 表示算法中的條件判斷流程線 表示算法中的流向流程圖描述 出租車計費算法流程圖的基本圖形及其功能信息技術(shù)王鳳龍用流程圖描述算法 運行題1題2若輸入11、25,則上述流程圖輸出________上述流程圖的輸出結(jié)果為________1424s t1 22 36 424 5若輸入36、28,則上述流程圖輸出________8信息技術(shù)王鳳龍偽代碼求方程6x+5y+4z=50正整數(shù)解的流程圖算法t=0for x in range(1,9):for y in range(1,11):for z in range(1,13):if(x*6+y*5+z*4==50):{t=t+1;輸出解x、y、z;}給出解的個數(shù)tPython程序信息技術(shù)王鳳龍信息技術(shù)王鳳龍用【偽代碼】描述算法偽代碼是一種用介于自然語言和計算機(jī)語言之間的文字和符號來描述算法的方式,其風(fēng)格很像計算機(jī)程序設(shè)計語言,但又不是真正的可以被計算機(jī)理解的代碼。相對于自然語言和流程圖,偽代碼結(jié)構(gòu)清晰、格式緊湊,更易于向計算機(jī)程序過渡。偽代碼描述 出租車計費算法輸入公里數(shù) smoney = 0if (s<=3) :{money = 8;}else{money = 8+(s-3)*2;}輸出 moneypython語言編寫的程序C語言編寫的程序信息技術(shù)王鳳龍信息技術(shù)王鳳龍算法的描述描述方式 特點 優(yōu)點 缺點自然語言 序號標(biāo)注+大量文字 通俗易懂、容易掌握 不易描述,容易歧義流程圖 各種圖形 直觀形象、簡潔清晰 繪制較繁瑣,占空間較大偽代碼 程序代碼+極少量文字 結(jié)構(gòu)清晰、便于過渡 需要一定的編碼基礎(chǔ)輸入行駛里程s;money = 0;如果s≤3,則money = 10;否則,money = 8+(s-3)*2;輸出費用money輸入公里數(shù) smoney = 0if (s<=3)money = 8elsemoney = 8+(s-3)*2輸出 money自然語言流程圖偽代碼信息技術(shù)王鳳龍信息技術(shù)王鳳龍四、算法的三種基本控制結(jié)構(gòu)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)P52信息技術(shù)王鳳龍算法的三種基本控制結(jié)構(gòu)任何復(fù)雜的算法都可以使用以下三種基本控制結(jié)構(gòu)組合表示順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)自上而下一條線有分支、無回路有分支、有回路信息技術(shù)王鳳龍算法的三種基本控制結(jié)構(gòu) 判斷選擇結(jié)構(gòu)求兩個數(shù)的最大值 算法順序結(jié)構(gòu)求圓的周長和面積 算法循環(huán)結(jié)構(gòu)求4的階乘 算法信息技術(shù)王鳳龍信息技術(shù)王鳳龍總結(jié)信息技術(shù)王鳳龍信息技術(shù)王鳳龍真題練習(xí)(1/5)A. 自然語言B. 機(jī)器語言C. 流程圖D. 偽代碼1、以下不屬于算法的描述方式的是 ( ) B2、用介于自然語言和計算機(jī)語言之間的文字和符號來描述,并且便于向計算機(jī)程序設(shè)計語言過渡的算法是 ( ) A. 自然語言B. 機(jī)器語言C. 流程圖D. 偽代碼A. 輸入邊長,求正方形的面積B. 求前一百項正整數(shù)和C. 求兩個數(shù)的最大公約數(shù)D. 輸出所有3的倍數(shù)3、下列問題不能用算法描述的是 ( ) DD信息技術(shù)王鳳龍4、算法的輸出結(jié)果至少應(yīng)有 ( ) A.0個B. 1個C. 2個D. 3個信息技術(shù)王鳳龍真題練習(xí)(2/5)B靈璧縣第二中學(xué) 王鳳龍5、API是指空氣污染指數(shù),右圖圖1虛線部分的程序框圖應(yīng)該是 ( ) A.B.D.C.圖1D信息技術(shù)王鳳龍靈璧縣第二中學(xué) 王鳳龍6、右圖圖2流程圖使用的算法控制結(jié)構(gòu)是 ( ) A. 順序結(jié)構(gòu)B. 選擇結(jié)構(gòu)C. 循環(huán)結(jié)構(gòu)圖27、若用戶輸入5、9、7,則右圖圖2流程圖的輸出結(jié)果為 ( ) A. 9B. 5C. 7信息技術(shù)王鳳龍真題練習(xí)(3/5)BA8、右圖圖3流程圖使用的算法控制結(jié)構(gòu)是 ( ) A. 順序結(jié)構(gòu)B. 選擇結(jié)構(gòu)C. 循環(huán)結(jié)構(gòu)信息技術(shù)王鳳龍真題練習(xí)(4/5)C靈璧縣第二中學(xué) 王鳳龍圖39、右圖圖3流程圖的輸出結(jié)果為 ( ) A. 9、18B. 12、18C. 9、30C. 12、30BK S0 03 36 99 181210、小明設(shè)置了一個每天早上都響的鬧鐘。平時鬧鐘響后,他會關(guān)掉鬧鐘然后起床,但如果是周末他會關(guān)掉鬧鐘睡到自然醒,下面流程圖中(1)、(2) 處分別應(yīng)該填入 ( ) 信息技術(shù)王鳳龍真題練習(xí)(5/5)A靈璧縣第二中學(xué) 王鳳龍A. 是(Y)、否(N)B. 否(N)、是(Y)C. 是(Y)、是(Y)C. 否(N)、否(N)信息技術(shù)王鳳龍信息技術(shù)王鳳龍信息技術(shù)王鳳龍信息技術(shù)王鳳龍常見算法思想:窮舉法窮舉法又稱為暴力破解法。其基本思想是窮盡題目條件范圍所有可能是解的情況,從而找到符合題目要求的解。因此,窮舉法適用于題目解的個數(shù)有限且可以一一列舉的情況。用戶輸入一個數(shù)字,猜這個數(shù)是多少 輸出1000~9999范圍內(nèi)所有能被13和17同時整除的整數(shù) 雞兔同籠,共有35個頭,94只腳。求雞和兔各多少只 以上解題程序均使用python語言編寫信息技術(shù)王鳳龍信息技術(shù)王鳳龍常見算法思想:解析法窮舉法是通過找出解決問題的前提條件與結(jié)果之間關(guān)系的數(shù)學(xué)表達(dá)式,并通過表達(dá)式的計算來實現(xiàn)問題求解的方法,具體表現(xiàn)為利用成熟的數(shù)量關(guān)系、公式和定理來解析各種問題。以上解題程序均使用python語言編寫輸入圓的半徑,求圓的周長和面積利用求根公式解一元二次方程雞兔同籠信息技術(shù)王鳳龍作業(yè)利用思維導(dǎo)圖軟件整理本節(jié)課知識第三章 算法基礎(chǔ)信息技術(shù)王鳳龍信息技術(shù)王鳳龍附頁:流程圖應(yīng)用考試報名流程圖工業(yè)生產(chǎn)流程圖項目管理流程圖信息技術(shù)王鳳龍信息技術(shù)王鳳龍附頁:程序運行結(jié)果求方程6x+5y+4z=50正整數(shù)解的Python程序程序運行結(jié)果信息技術(shù)王鳳龍本節(jié)課到此結(jié)束 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫