




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
有問題就解決清晰的思路適合的方法步驟有效的表達(dá)有問題就解決清晰的思路1算法與程序設(shè)計(jì)計(jì)算機(jī)解決問題的基本過程算法與程序設(shè)計(jì)計(jì)算機(jī)解決問題的基本過程2聽話聰明的計(jì)算機(jī)按照指令做事兒用計(jì)算器計(jì)算、用Word處理文字、單擊“確定”按鈕確認(rèn)你的操作編寫游戲代碼、編寫網(wǎng)頁代碼運(yùn)算器
程序原始數(shù)據(jù)輸入設(shè)備存儲器控制器輸出設(shè)備計(jì)算結(jié)果存取數(shù)程序指令輸入命令輸出命令聽話聰明的計(jì)算機(jī)按照指令做事兒運(yùn)算器程序輸入設(shè)備存3懂事智慧的我們發(fā)現(xiàn)、分析問題設(shè)計(jì)解決方案(適合于計(jì)算機(jī))完成方案(計(jì)算機(jī)能夠執(zhí)行)解決問題懂事智慧的我們發(fā)現(xiàn)、分析問題4y=x2+3x-1
x≥0
y=0x<0分段函數(shù)以VB語言為例設(shè)計(jì)程序Dimx,yAsIntegerx=Val(Text1.Text)Ifx>=0Theny=x^2+3*x-1Elsey=0EndIfPrint"y=";y;建立分段函數(shù)的數(shù)學(xué)模型,即寫出表達(dá)式。輸入X的值。判斷X的取值,根據(jù)X的取值,選擇Y的表達(dá)式,計(jì)算y值。輸出Y的值。y=x2+3x-1x≥0
y=05計(jì)算機(jī)解決問題的過程分析問題——問題非正式描述→正式化或嚴(yán)格化描述→精確到底你要解決什么問題→建立數(shù)學(xué)模型或構(gòu)造模型設(shè)計(jì)算法
——精確解決問題的步驟→用適當(dāng)?shù)姆绞桨阉惴?zhǔn)確地描述出來編寫程序——用一種計(jì)算機(jī)能接受的程序設(shè)計(jì)語言來描述問題求解的算法調(diào)試程序——查找和改正程序中存在的錯誤,使程序能順利地執(zhí)行,得出正確結(jié)果。同舟共濟(jì)共創(chuàng)輝煌計(jì)算機(jī)解決問題的過程分析問題設(shè)計(jì)算法編寫程序調(diào)試程序同舟共6算法概念算法是在有限步驟內(nèi)求解某一問題所使用的一組定義明確的規(guī)則。通俗地說就是用計(jì)算機(jī)求解某一問題的方法,是能被機(jī)械地執(zhí)行的動作或指令的有窮集合。算法概念7算法特征輸入。一個算法有零個或多個輸入,以刻畫運(yùn)算對象的初始情況。確定性。算法的每一個步驟必須要確切地定義,不能有歧義。有窮性。一個算法在執(zhí)行有窮步之后必須結(jié)束。輸出。算法有一個或多個與輸入有某個特定關(guān)系的輸出。能行性。算法中有待執(zhí)行的運(yùn)算和操作必須是相當(dāng)基本的,它們都是能夠精確地進(jìn)行的,算法執(zhí)行者甚至不需要掌握算法的含義即可根據(jù)該算法的每一步驟要求進(jìn)行操作,并最終得出正確的結(jié)果。算法特征8輾轉(zhuǎn)相除法——求最大公約數(shù)古希臘數(shù)學(xué)家對公約數(shù)求解問題研究提出的算法稱為“輾轉(zhuǎn)相除法”(歐幾里得算法)。具體方法是用較大的數(shù)除以較小的數(shù),余數(shù)和較小的數(shù)構(gòu)成新的一對數(shù),繼續(xù)上面的除法,直到大數(shù)被小數(shù)除盡,則較小的數(shù)就是最大公約數(shù)。例如:求16和12的最大公約數(shù)(16,12)→(12,4)→(8,4)→(4,4)輾轉(zhuǎn)相除法——求最大公約數(shù)古希臘數(shù)學(xué)家對公約數(shù)求解問9算法的描述用自然語言描述算法算法的描述語言是人們?nèi)粘S玫恼Z言。自然語言通俗易懂,但其歧義性會導(dǎo)致算法執(zhí)行的不確定性;表述較長會導(dǎo)致算法太長;循環(huán)和分支較多時(shí),很難清晰地表示出來;描述的算法不便翻譯成計(jì)算機(jī)程序設(shè)計(jì)語言。例如:求兩個正整數(shù)m和n的最大公約數(shù)的步驟:以m除以n,令所得的余數(shù)為r。若r=0,則輸出結(jié)果n,算法結(jié)束;否則,繼續(xù)步驟3。令m=n,n=r,并返回步驟1繼續(xù)進(jìn)行。將一個問題分為一系列的邏輯步驟,這樣就易于將其轉(zhuǎn)化為一個計(jì)算機(jī)程序。算法的描述用自然語言描述算法例如:求兩個正整數(shù)m和n的最大公10算法的描述用流程圖描述算法圖形名稱功能開始/結(jié)束表示算法的開始或結(jié)束輸入/輸出表示算法中變量的輸入或輸出處理表示算法變量的計(jì)算與賦值判斷表示算法條件判斷流程線表示算法中的流向連接點(diǎn)表示算法的轉(zhuǎn)接流程圖的基本圖形及其功能用流程圖描述算法清晰簡潔,容易表達(dá)選擇結(jié)構(gòu);利于不同環(huán)境的程序設(shè)計(jì)。算法的描述用流程圖描述算法圖形名稱功能開始/結(jié)束表示算法的開11依次完成——順序結(jié)構(gòu)第一步第二步第……步開始結(jié)束依次完成——順序結(jié)構(gòu)第一步第二步第……步開始結(jié)束12做判斷——選擇結(jié)構(gòu)事件X事件A事件B滿足條件嗎?YN開始結(jié)束選擇是指處理過程可能沿著兩個或更多的計(jì)算路線進(jìn)行。做判斷——選擇結(jié)構(gòu)事件X事件A事件B滿足條件嗎?YN開始結(jié)束13不斷重復(fù)——循環(huán)結(jié)構(gòu)循環(huán)變量變化區(qū)間設(shè)置循環(huán)體循環(huán)變量改變變量在區(qū)間內(nèi)嗎?YN開始結(jié)束重復(fù)執(zhí)行一個或多個步驟。不斷重復(fù)——循環(huán)結(jié)構(gòu)循環(huán)變量變化區(qū)間設(shè)置循環(huán)體循環(huán)變量改變變14求最大公約數(shù)r=m除以n的余數(shù)r=0是否開始結(jié)束輸入正整數(shù)m和n輸出n的值m=n,n=r流程圖描述:求最大公約數(shù)r=m除以n的余數(shù)r=0是否開始結(jié)束輸入正整數(shù)15繪制流程圖的技巧開始時(shí)要把注意力集中在問題的邏輯上,畫出流程圖的主要執(zhí)行路徑。主要部分完成之后,加入選擇和循環(huán)。一個流程圖只有一個起始點(diǎn)和一個結(jié)束點(diǎn)。盡可能使流程圖和機(jī)器無關(guān),不要使用和計(jì)算機(jī)相關(guān)的術(shù)語。沒有必要在流程圖中將每個步驟都畫出來,只要描述出那些有意義的即可。使用一些明確的描述性的詞恰當(dāng)?shù)乇硎締栴}不要用一些模棱兩可的詞語。讓其他編程人員或用戶能夠輕松地看懂你的流程圖。繪制流程圖的技巧開始時(shí)要把注意力集中在問題的邏輯上,畫出流程16分段函數(shù)流程圖以VB語言為例設(shè)計(jì)程序Dimx,yAsIntegerx=Val(Text1.Text)Ifx>=0Theny=x^2+3*x-1Elsey=0EndIfPrint"y=";y;y=0y=x2+3x-1x≥0YN開始結(jié)束輸入X的值輸出y的值分段函數(shù)流程圖以VB語言為例設(shè)計(jì)程序y=0y=x2+3x-117算法的描述用偽代碼描述算法偽代碼是用介于自然語言和計(jì)算機(jī)語言之間的文字和符號來描述算法的工具。用偽代碼描述算法回避了程序設(shè)計(jì)語言嚴(yán)格、煩瑣的書寫格式,容易轉(zhuǎn)換為程序設(shè)計(jì)語言,但偽代碼的語句不容易規(guī)范,有時(shí)會產(chǎn)生誤解。算法的描述用偽代碼描述算法18求最大公約數(shù)自然語言描述:例如:求兩個正整數(shù)m和n的最大公約數(shù)的步驟:輸入正整數(shù)m和n以m除以n,令所得的余數(shù)為r。若r=0,則輸出結(jié)果n,算法結(jié)束;否則,繼續(xù)步驟3。令m=n,n=r,并返回步驟1繼續(xù)進(jìn)行。r=m除以n的余數(shù)r=0是否開始結(jié)束輸入正整數(shù)m和n輸出n的值m=n,n=r偽代碼描述:最大公約數(shù)Inputm,nr=mmodnDowhiler≠0m=nn=rr=mmodnLoopPrintn流程圖描述:求最大公約數(shù)自然語言描述:r=m除以n的余數(shù)r=0是否開始19算法在解決問題中的核心地位和重要作用尋找解決問題的算法實(shí)質(zhì)上是尋找問題的解決方案,是要找到描述特定類型問題是如何被解決的指令的集合。只有找到了一種可以指導(dǎo)工作執(zhí)行的算法,通過使用算法來得到并轉(zhuǎn)化智慧,我們才可以構(gòu)建一臺可以表現(xiàn)智能行為的機(jī)器來執(zhí)行這個工作。機(jī)器表現(xiàn)的智能等級受到通過算法轉(zhuǎn)化的智慧所限制。算法的好壞直接影響著程序的通用性和有效性,影響著問題解決的效率。算法在解決問題中的核心地位和重要作用尋找解決問題的算法實(shí)質(zhì)上20算法與程序設(shè)計(jì)計(jì)算機(jī)或者與計(jì)算機(jī)通信或者與人交流,我們必須將算法轉(zhuǎn)變?yōu)橐粋€清晰的指令的集合,并且將這些指令用程序設(shè)計(jì)語言來表示。一般分為:機(jī)器語言、匯編語言、高級語言。一個與計(jì)算機(jī)兼容的算法的描述稱為一個程序。程序設(shè)計(jì)是設(shè)計(jì)程序的過程,就是把計(jì)算機(jī)運(yùn)作指令有計(jì)劃地串在一起,使計(jì)算機(jī)完成我們所期望的工作,讓計(jì)算機(jī)按照我們的期望來運(yùn)作。算法是程序設(shè)計(jì)的核心,是程序設(shè)計(jì)的靈魂。算法與程序設(shè)計(jì)計(jì)算機(jī)或者與計(jì)算機(jī)通信或者與人交流,我們必須將21用輾轉(zhuǎn)相除法和窮舉法求兩個整數(shù)的最大公約數(shù)輾轉(zhuǎn)相除法設(shè)計(jì)的程序:PrivateSubCommand1_Click()m=9147485n=5147480r=mModnDoWhiler<>0m=nn=rr=mModnLoopCurrentY=100Print"最大公約數(shù)=";nEndSub窮舉法設(shè)計(jì)的程序:PrivateSubCommand2_Click()m=9147485n=5147480i=mDoWhilemModi<>0OrnModi<>0i=i-1LoopCurrentY=100Print"最大公約數(shù)=";iEndSub解決某一問題的算法的思想可以多種多樣。好算法讓我們事半功倍。用輾轉(zhuǎn)相除法和窮舉法求兩個整數(shù)的最大公約數(shù)輾轉(zhuǎn)相除法設(shè)計(jì)的程22小結(jié)理論:計(jì)算機(jī)解決問題的基本過程。建立數(shù)學(xué)模型,構(gòu)造非數(shù)值類數(shù)據(jù)的模型。算法的效率、通用性、多樣性。在計(jì)算機(jī)領(lǐng)域中有的問題不可解。思路:了解工具的功能→掌握工具的使用方法和步驟→用我們的認(rèn)知來改進(jìn)現(xiàn)有工具,制造新工具,延伸、拓展我們的智能。小結(jié)理論:23人們洞察世界的優(yōu)秀的模型,利用計(jì)算機(jī)解決現(xiàn)實(shí)世界的問題。人們關(guān)心現(xiàn)實(shí)社會而不是程序,程序是人們更好地理解世界的機(jī)制。人們洞察世界的優(yōu)秀的模型,利用計(jì)算機(jī)解決現(xiàn)實(shí)世界的問題。人們24輸出簡單的有規(guī)則的字符幾何圖形CurrentY=500PrintTab(20–i*3);Fori=1To3NextiForj=1To5NextjPrint“#”;Print第一行輸出的位置,每一行第一個字符輸出的位置。圖形有3行。每行有5列。每行輸出相同的“#”號。顯示完一行后,換行顯示下一行。輸出簡單的有規(guī)則的字符幾何圖形CurrentY=50025輸出簡單的有規(guī)則的字符幾何圖形代碼PrivateSubForm_Click()
CurrentY=500Fori=1To5PrintTab(20-i*3);Forj=1To5Print"人";NextjPrintNexti
CurrentY=500Fori=1To5PrintTab(20+i*3);Forj=1To5Print"人";NextjPrintNextiEndSub修改項(xiàng):行參數(shù):由3改為5;字符參數(shù):由“#”改為“人”每行第一個字符的輸出位置參數(shù):由20-i*3改為20+i*3,隨著i的增大而增大,距離屏幕左邊線越來越遠(yuǎn),即圖形向右移動。復(fù)制藍(lán)色程序塊→粘貼,修改每行第一個字符的輸出位置參數(shù),輸出對稱圖形。輸出簡單的有規(guī)則的字符幾何圖形代碼PrivateSubF26讓我想一想抽象在計(jì)算機(jī)科學(xué)中有什么作用?在程序設(shè)計(jì)中數(shù)據(jù)是如何表示及處理的?社會問題:教育軟件現(xiàn)在被賣給18個月或者更小的兒童。有人建議這樣的軟件應(yīng)該有聲音和圖像,否則這個軟件就不適合兒童,反對者說這是很糟糕的親子關(guān)系的替代品。你的意見呢?如果沒有更多關(guān)于軟件的知識,你支持哪個觀點(diǎn)?讓我想一想抽象在計(jì)算機(jī)科學(xué)中有什么作用?27飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊(duì)敢死隊(duì)敢死隊(duì)好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費(fèi)交付給交付給交付給警方根據(jù)高房價(jià)法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國28飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊(duì)敢死隊(duì)敢死隊(duì)好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費(fèi)交付給交付給交付給警方根據(jù)高房價(jià)法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國29飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊(duì)敢死隊(duì)敢死隊(duì)好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費(fèi)交付給交付給交付給警方根據(jù)高房價(jià)法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國30飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊(duì)敢死隊(duì)敢死隊(duì)好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費(fèi)交付給交付給交付給警方根據(jù)高房價(jià)法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國31飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊(duì)敢死隊(duì)敢死隊(duì)好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費(fèi)交付給交付給交付給警方根據(jù)高房價(jià)法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國32飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊(duì)敢死隊(duì)敢死隊(duì)好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費(fèi)交付給交付給交付給警方根據(jù)高房價(jià)法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國33飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊(duì)敢死隊(duì)敢死隊(duì)好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費(fèi)交付給交付給交付給警方根據(jù)高房價(jià)法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國34飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊(duì)敢死隊(duì)敢死隊(duì)好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費(fèi)交付給交付給交付給警方根據(jù)高房價(jià)法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國35飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊(duì)敢死隊(duì)敢死隊(duì)好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費(fèi)交付給交付給交付給警方根據(jù)高房價(jià)法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國36飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊(duì)敢死隊(duì)敢死隊(duì)好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費(fèi)交付給交付給交付給警方根據(jù)高房價(jià)法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國37有問題就解決清晰的思路適合的方法步驟有效的表達(dá)有問題就解決清晰的思路38算法與程序設(shè)計(jì)計(jì)算機(jī)解決問題的基本過程算法與程序設(shè)計(jì)計(jì)算機(jī)解決問題的基本過程39聽話聰明的計(jì)算機(jī)按照指令做事兒用計(jì)算器計(jì)算、用Word處理文字、單擊“確定”按鈕確認(rèn)你的操作編寫游戲代碼、編寫網(wǎng)頁代碼運(yùn)算器
程序原始數(shù)據(jù)輸入設(shè)備存儲器控制器輸出設(shè)備計(jì)算結(jié)果存取數(shù)程序指令輸入命令輸出命令聽話聰明的計(jì)算機(jī)按照指令做事兒運(yùn)算器程序輸入設(shè)備存40懂事智慧的我們發(fā)現(xiàn)、分析問題設(shè)計(jì)解決方案(適合于計(jì)算機(jī))完成方案(計(jì)算機(jī)能夠執(zhí)行)解決問題懂事智慧的我們發(fā)現(xiàn)、分析問題41y=x2+3x-1
x≥0
y=0x<0分段函數(shù)以VB語言為例設(shè)計(jì)程序Dimx,yAsIntegerx=Val(Text1.Text)Ifx>=0Theny=x^2+3*x-1Elsey=0EndIfPrint"y=";y;建立分段函數(shù)的數(shù)學(xué)模型,即寫出表達(dá)式。輸入X的值。判斷X的取值,根據(jù)X的取值,選擇Y的表達(dá)式,計(jì)算y值。輸出Y的值。y=x2+3x-1x≥0
y=042計(jì)算機(jī)解決問題的過程分析問題——問題非正式描述→正式化或嚴(yán)格化描述→精確到底你要解決什么問題→建立數(shù)學(xué)模型或構(gòu)造模型設(shè)計(jì)算法
——精確解決問題的步驟→用適當(dāng)?shù)姆绞桨阉惴?zhǔn)確地描述出來編寫程序——用一種計(jì)算機(jī)能接受的程序設(shè)計(jì)語言來描述問題求解的算法調(diào)試程序——查找和改正程序中存在的錯誤,使程序能順利地執(zhí)行,得出正確結(jié)果。同舟共濟(jì)共創(chuàng)輝煌計(jì)算機(jī)解決問題的過程分析問題設(shè)計(jì)算法編寫程序調(diào)試程序同舟共43算法概念算法是在有限步驟內(nèi)求解某一問題所使用的一組定義明確的規(guī)則。通俗地說就是用計(jì)算機(jī)求解某一問題的方法,是能被機(jī)械地執(zhí)行的動作或指令的有窮集合。算法概念44算法特征輸入。一個算法有零個或多個輸入,以刻畫運(yùn)算對象的初始情況。確定性。算法的每一個步驟必須要確切地定義,不能有歧義。有窮性。一個算法在執(zhí)行有窮步之后必須結(jié)束。輸出。算法有一個或多個與輸入有某個特定關(guān)系的輸出。能行性。算法中有待執(zhí)行的運(yùn)算和操作必須是相當(dāng)基本的,它們都是能夠精確地進(jìn)行的,算法執(zhí)行者甚至不需要掌握算法的含義即可根據(jù)該算法的每一步驟要求進(jìn)行操作,并最終得出正確的結(jié)果。算法特征45輾轉(zhuǎn)相除法——求最大公約數(shù)古希臘數(shù)學(xué)家對公約數(shù)求解問題研究提出的算法稱為“輾轉(zhuǎn)相除法”(歐幾里得算法)。具體方法是用較大的數(shù)除以較小的數(shù),余數(shù)和較小的數(shù)構(gòu)成新的一對數(shù),繼續(xù)上面的除法,直到大數(shù)被小數(shù)除盡,則較小的數(shù)就是最大公約數(shù)。例如:求16和12的最大公約數(shù)(16,12)→(12,4)→(8,4)→(4,4)輾轉(zhuǎn)相除法——求最大公約數(shù)古希臘數(shù)學(xué)家對公約數(shù)求解問46算法的描述用自然語言描述算法算法的描述語言是人們?nèi)粘S玫恼Z言。自然語言通俗易懂,但其歧義性會導(dǎo)致算法執(zhí)行的不確定性;表述較長會導(dǎo)致算法太長;循環(huán)和分支較多時(shí),很難清晰地表示出來;描述的算法不便翻譯成計(jì)算機(jī)程序設(shè)計(jì)語言。例如:求兩個正整數(shù)m和n的最大公約數(shù)的步驟:以m除以n,令所得的余數(shù)為r。若r=0,則輸出結(jié)果n,算法結(jié)束;否則,繼續(xù)步驟3。令m=n,n=r,并返回步驟1繼續(xù)進(jìn)行。將一個問題分為一系列的邏輯步驟,這樣就易于將其轉(zhuǎn)化為一個計(jì)算機(jī)程序。算法的描述用自然語言描述算法例如:求兩個正整數(shù)m和n的最大公47算法的描述用流程圖描述算法圖形名稱功能開始/結(jié)束表示算法的開始或結(jié)束輸入/輸出表示算法中變量的輸入或輸出處理表示算法變量的計(jì)算與賦值判斷表示算法條件判斷流程線表示算法中的流向連接點(diǎn)表示算法的轉(zhuǎn)接流程圖的基本圖形及其功能用流程圖描述算法清晰簡潔,容易表達(dá)選擇結(jié)構(gòu);利于不同環(huán)境的程序設(shè)計(jì)。算法的描述用流程圖描述算法圖形名稱功能開始/結(jié)束表示算法的開48依次完成——順序結(jié)構(gòu)第一步第二步第……步開始結(jié)束依次完成——順序結(jié)構(gòu)第一步第二步第……步開始結(jié)束49做判斷——選擇結(jié)構(gòu)事件X事件A事件B滿足條件嗎?YN開始結(jié)束選擇是指處理過程可能沿著兩個或更多的計(jì)算路線進(jìn)行。做判斷——選擇結(jié)構(gòu)事件X事件A事件B滿足條件嗎?YN開始結(jié)束50不斷重復(fù)——循環(huán)結(jié)構(gòu)循環(huán)變量變化區(qū)間設(shè)置循環(huán)體循環(huán)變量改變變量在區(qū)間內(nèi)嗎?YN開始結(jié)束重復(fù)執(zhí)行一個或多個步驟。不斷重復(fù)——循環(huán)結(jié)構(gòu)循環(huán)變量變化區(qū)間設(shè)置循環(huán)體循環(huán)變量改變變51求最大公約數(shù)r=m除以n的余數(shù)r=0是否開始結(jié)束輸入正整數(shù)m和n輸出n的值m=n,n=r流程圖描述:求最大公約數(shù)r=m除以n的余數(shù)r=0是否開始結(jié)束輸入正整數(shù)52繪制流程圖的技巧開始時(shí)要把注意力集中在問題的邏輯上,畫出流程圖的主要執(zhí)行路徑。主要部分完成之后,加入選擇和循環(huán)。一個流程圖只有一個起始點(diǎn)和一個結(jié)束點(diǎn)。盡可能使流程圖和機(jī)器無關(guān),不要使用和計(jì)算機(jī)相關(guān)的術(shù)語。沒有必要在流程圖中將每個步驟都畫出來,只要描述出那些有意義的即可。使用一些明確的描述性的詞恰當(dāng)?shù)乇硎締栴}不要用一些模棱兩可的詞語。讓其他編程人員或用戶能夠輕松地看懂你的流程圖。繪制流程圖的技巧開始時(shí)要把注意力集中在問題的邏輯上,畫出流程53分段函數(shù)流程圖以VB語言為例設(shè)計(jì)程序Dimx,yAsIntegerx=Val(Text1.Text)Ifx>=0Theny=x^2+3*x-1Elsey=0EndIfPrint"y=";y;y=0y=x2+3x-1x≥0YN開始結(jié)束輸入X的值輸出y的值分段函數(shù)流程圖以VB語言為例設(shè)計(jì)程序y=0y=x2+3x-154算法的描述用偽代碼描述算法偽代碼是用介于自然語言和計(jì)算機(jī)語言之間的文字和符號來描述算法的工具。用偽代碼描述算法回避了程序設(shè)計(jì)語言嚴(yán)格、煩瑣的書寫格式,容易轉(zhuǎn)換為程序設(shè)計(jì)語言,但偽代碼的語句不容易規(guī)范,有時(shí)會產(chǎn)生誤解。算法的描述用偽代碼描述算法55求最大公約數(shù)自然語言描述:例如:求兩個正整數(shù)m和n的最大公約數(shù)的步驟:輸入正整數(shù)m和n以m除以n,令所得的余數(shù)為r。若r=0,則輸出結(jié)果n,算法結(jié)束;否則,繼續(xù)步驟3。令m=n,n=r,并返回步驟1繼續(xù)進(jìn)行。r=m除以n的余數(shù)r=0是否開始結(jié)束輸入正整數(shù)m和n輸出n的值m=n,n=r偽代碼描述:最大公約數(shù)Inputm,nr=mmodnDowhiler≠0m=nn=rr=mmodnLoopPrintn流程圖描述:求最大公約數(shù)自然語言描述:r=m除以n的余數(shù)r=0是否開始56算法在解決問題中的核心地位和重要作用尋找解決問題的算法實(shí)質(zhì)上是尋找問題的解決方案,是要找到描述特定類型問題是如何被解決的指令的集合。只有找到了一種可以指導(dǎo)工作執(zhí)行的算法,通過使用算法來得到并轉(zhuǎn)化智慧,我們才可以構(gòu)建一臺可以表現(xiàn)智能行為的機(jī)器來執(zhí)行這個工作。機(jī)器表現(xiàn)的智能等級受到通過算法轉(zhuǎn)化的智慧所限制。算法的好壞直接影響著程序的通用性和有效性,影響著問題解決的效率。算法在解決問題中的核心地位和重要作用尋找解決問題的算法實(shí)質(zhì)上57算法與程序設(shè)計(jì)計(jì)算機(jī)或者與計(jì)算機(jī)通信或者與人交流,我們必須將算法轉(zhuǎn)變?yōu)橐粋€清晰的指令的集合,并且將這些指令用程序設(shè)計(jì)語言來表示。一般分為:機(jī)器語言、匯編語言、高級語言。一個與計(jì)算機(jī)兼容的算法的描述稱為一個程序。程序設(shè)計(jì)是設(shè)計(jì)程序的過程,就是把計(jì)算機(jī)運(yùn)作指令有計(jì)劃地串在一起,使計(jì)算機(jī)完成我們所期望的工作,讓計(jì)算機(jī)按照我們的期望來運(yùn)作。算法是程序設(shè)計(jì)的核心,是程序設(shè)計(jì)的靈魂。算法與程序設(shè)計(jì)計(jì)算機(jī)或者與計(jì)算機(jī)通信或者與人交流,我們必須將58用輾轉(zhuǎn)相除法和窮舉法求兩個整數(shù)的最大公約數(shù)輾轉(zhuǎn)相除法設(shè)計(jì)的程序:PrivateSubCommand1_Click()m=9147485n=5147480r=mModnDoWhiler<>0m=nn=rr=mModnLoopCurrentY=100Print"最大公約數(shù)=";nEndSub窮舉法設(shè)計(jì)的程序:PrivateSubCommand2_Click()m=9147485n=5147480i=mDoWhilemModi<>0OrnModi<>0i=i-1LoopCurrentY=100Print"最大公約數(shù)=";iEndSub解決某一問題的算法的思想可以多種多樣。好算法讓我們事半功倍。用輾轉(zhuǎn)相除法和窮舉法求兩個整數(shù)的最大公約數(shù)輾轉(zhuǎn)相除法設(shè)計(jì)的程59小結(jié)理論:計(jì)算機(jī)解決問題的基本過程。建立數(shù)學(xué)模型,構(gòu)造非數(shù)值類數(shù)據(jù)的模型。算法的效率、通用性、多樣性。在計(jì)算機(jī)領(lǐng)域中有的問題不可解。思路:了解工具的功能→掌握工具的使用方法和步驟→用我們的認(rèn)知來改進(jìn)現(xiàn)有工具,制造新工具,延伸、拓展我們的智能。小結(jié)理論:60人們洞察世界的優(yōu)秀的模型,利用計(jì)算機(jī)解決現(xiàn)實(shí)世界的問題。人們關(guān)心現(xiàn)實(shí)社會而不是程序,程序是人們更好地理解世界的機(jī)制。人們洞察世界的優(yōu)秀的模型,利用計(jì)算機(jī)解決現(xiàn)實(shí)世界的問題。人們61輸出簡單的有規(guī)則的字符幾何圖形CurrentY=500PrintTab(20–i*3);Fori=1To3NextiForj=1To5NextjPrint“#”;Print第一行輸出的位置,每一行第一個字符輸出的位置。圖形有3行。每行有5列。每行輸出相同的“#”號。顯示完一行后,換行顯示下一行。輸出簡單的有規(guī)則的字符幾何圖形CurrentY=50062輸出簡單的有規(guī)則的字符幾何圖形代碼PrivateSubForm_Click()
CurrentY=500Fori=1To5PrintTab(20-i*3);Forj=1To5Print"人";NextjPrintNexti
CurrentY=500Fori=1To5PrintTab(20+i*3);Forj=1To5Print"人";NextjPrintNextiEndSub修改項(xiàng):行參數(shù):由3改為5;字符參數(shù):由“#”改為“人”每行第一個字符的輸出位置參數(shù):由20-i*3改為20+i*3,隨著i的增大而增大,距離屏幕左邊線越來越遠(yuǎn),即圖形向右移動。復(fù)制藍(lán)色程序塊→粘貼,修改每行第一個字符的輸出位置參數(shù),輸出對稱圖形。輸出簡單的有規(guī)則的字符幾何圖形代碼PrivateSubF63讓我想一想抽象在計(jì)算機(jī)科學(xué)中有什么作用?在程序設(shè)計(jì)中數(shù)據(jù)是如何表示及處理的?社會問題:教育軟件現(xiàn)在被賣給18個月或者更小的兒童。有人建議這樣的軟件應(yīng)該有聲音和圖像,否則這個軟件就不適合兒童,反對者說這是很糟糕的親子關(guān)系的替代品。你的意見呢?如果沒有更多關(guān)于軟件的知識,你支持哪個觀點(diǎn)?讓我想一想抽象在計(jì)算機(jī)科學(xué)中有什么作用?64飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊(duì)敢死隊(duì)敢死隊(duì)好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費(fèi)交付給交付給交付給警方根據(jù)高房價(jià)法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國65飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊(duì)敢死隊(duì)敢死隊(duì)好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費(fèi)交付給交付給交付給警方根據(jù)高房價(jià)法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國66飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度金融服務(wù)合同變更操作流程
- 二零二五年度家具行業(yè)知識產(chǎn)權(quán)保護(hù)合作協(xié)議樣本
- 2025年度船舶娛樂活動管理船員合同
- 2025年度租房合同安全事故預(yù)防與責(zé)任劃分協(xié)議
- 二零二五年度農(nóng)村宅基地使用權(quán)交易合同
- 2025年度租賃地產(chǎn)租賃合同變更協(xié)議
- 二零二五年度苗圃種植技術(shù)許可轉(zhuǎn)讓合同
- 二零二五年度陜西制造業(yè)勞動合同風(fēng)險(xiǎn)防范合同
- 二零二五年度家用電器退換貨服務(wù)合同匯編
- 二零二五年度冷庫租賃與冷鏈物流應(yīng)急響應(yīng)協(xié)議
- 化妝品監(jiān)督管理?xiàng)l例培訓(xùn)2024
- 生產(chǎn)車間質(zhì)量培訓(xùn)
- 中醫(yī)適宜技術(shù)-中藥熱奄包
- 2024年江蘇省南通市國家保安員資格考試題庫國編版
- 石油天然氣技術(shù)人員招聘面試題與參考回答(某大型國企)
- 防火涂料質(zhì)量保證書
- 第九課 漂亮的班牌 教案 五下信息科技河南大學(xué)版
- 人教版高中語文必修3-梳理探究2《文學(xué)作品的個性化解讀》-(共45張)(部編)課件
- 礦產(chǎn)資源開發(fā)合同備忘錄范本
- 2024年廣州市高三二模普通高中畢業(yè)班綜合測試(二) 英語試卷及答案
- 大模型在刑偵技術(shù)中的應(yīng)用探索
評論
0/150
提交評論