高中信息技術(shù)算法與程序設(shè)計:計算機解決問題的基課件_第1頁
高中信息技術(shù)算法與程序設(shè)計:計算機解決問題的基課件_第2頁
高中信息技術(shù)算法與程序設(shè)計:計算機解決問題的基課件_第3頁
高中信息技術(shù)算法與程序設(shè)計:計算機解決問題的基課件_第4頁
高中信息技術(shù)算法與程序設(shè)計:計算機解決問題的基課件_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

有問題就解決清晰的思路適合的方法步驟有效的表達有問題就解決清晰的思路1算法與程序設(shè)計計算機解決問題的基本過程算法與程序設(shè)計計算機解決問題的基本過程2聽話聰明的計算機按照指令做事兒用計算器計算、用Word處理文字、單擊“確定”按鈕確認你的操作編寫游戲代碼、編寫網(wǎng)頁代碼運算器

程序原始數(shù)據(jù)輸入設(shè)備存儲器控制器輸出設(shè)備計算結(jié)果存取數(shù)程序指令輸入命令輸出命令聽話聰明的計算機按照指令做事兒運算器程序輸入設(shè)備存3懂事智慧的我們發(fā)現(xiàn)、分析問題設(shè)計解決方案(適合于計算機)完成方案(計算機能夠執(zhí)行)解決問題懂事智慧的我們發(fā)現(xiàn)、分析問題4y=x2+3x-1

x≥0

y=0x<0分段函數(shù)以VB語言為例設(shè)計程序Dimx,yAsIntegerx=Val(Text1.Text)Ifx>=0Theny=x^2+3*x-1Elsey=0EndIfPrint"y=";y;建立分段函數(shù)的數(shù)學(xué)模型,即寫出表達式。輸入X的值。判斷X的取值,根據(jù)X的取值,選擇Y的表達式,計算y值。輸出Y的值。y=x2+3x-1x≥0

y=05計算機解決問題的過程分析問題——問題非正式描述→正式化或嚴格化描述→精確到底你要解決什么問題→建立數(shù)學(xué)模型或構(gòu)造模型設(shè)計算法

——精確解決問題的步驟→用適當?shù)姆绞桨阉惴蚀_地描述出來編寫程序——用一種計算機能接受的程序設(shè)計語言來描述問題求解的算法調(diào)試程序——查找和改正程序中存在的錯誤,使程序能順利地執(zhí)行,得出正確結(jié)果。同舟共濟共創(chuàng)輝煌計算機解決問題的過程分析問題設(shè)計算法編寫程序調(diào)試程序同舟共6算法概念算法是在有限步驟內(nèi)求解某一問題所使用的一組定義明確的規(guī)則。通俗地說就是用計算機求解某一問題的方法,是能被機械地執(zhí)行的動作或指令的有窮集合。算法概念7算法特征輸入。一個算法有零個或多個輸入,以刻畫運算對象的初始情況。確定性。算法的每一個步驟必須要確切地定義,不能有歧義。有窮性。一個算法在執(zhí)行有窮步之后必須結(jié)束。輸出。算法有一個或多個與輸入有某個特定關(guān)系的輸出。能行性。算法中有待執(zhí)行的運算和操作必須是相當基本的,它們都是能夠精確地進行的,算法執(zhí)行者甚至不需要掌握算法的含義即可根據(jù)該算法的每一步驟要求進行操作,并最終得出正確的結(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è)計語言。例如:求兩個正整數(shù)m和n的最大公約數(shù)的步驟:以m除以n,令所得的余數(shù)為r。若r=0,則輸出結(jié)果n,算法結(jié)束;否則,繼續(xù)步驟3。令m=n,n=r,并返回步驟1繼續(xù)進行。將一個問題分為一系列的邏輯步驟,這樣就易于將其轉(zhuǎn)化為一個計算機程序。算法的描述用自然語言描述算法例如:求兩個正整數(shù)m和n的最大公10算法的描述用流程圖描述算法圖形名稱功能開始/結(jié)束表示算法的開始或結(jié)束輸入/輸出表示算法中變量的輸入或輸出處理表示算法變量的計算與賦值判斷表示算法條件判斷流程線表示算法中的流向連接點表示算法的轉(zhuǎn)接流程圖的基本圖形及其功能用流程圖描述算法清晰簡潔,容易表達選擇結(jié)構(gòu);利于不同環(huán)境的程序設(shè)計。算法的描述用流程圖描述算法圖形名稱功能開始/結(jié)束表示算法的開11依次完成——順序結(jié)構(gòu)第一步第二步第……步開始結(jié)束依次完成——順序結(jié)構(gòu)第一步第二步第……步開始結(jié)束12做判斷——選擇結(jié)構(gòu)事件X事件A事件B滿足條件嗎?YN開始結(jié)束選擇是指處理過程可能沿著兩個或更多的計算路線進行。做判斷——選擇結(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繪制流程圖的技巧開始時要把注意力集中在問題的邏輯上,畫出流程圖的主要執(zhí)行路徑。主要部分完成之后,加入選擇和循環(huán)。一個流程圖只有一個起始點和一個結(jié)束點。盡可能使流程圖和機器無關(guān),不要使用和計算機相關(guān)的術(shù)語。沒有必要在流程圖中將每個步驟都畫出來,只要描述出那些有意義的即可。使用一些明確的描述性的詞恰當?shù)乇硎締栴}不要用一些模棱兩可的詞語。讓其他編程人員或用戶能夠輕松地看懂你的流程圖。繪制流程圖的技巧開始時要把注意力集中在問題的邏輯上,畫出流程16分段函數(shù)流程圖以VB語言為例設(shè)計程序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è)計程序y=0y=x2+3x-117算法的描述用偽代碼描述算法偽代碼是用介于自然語言和計算機語言之間的文字和符號來描述算法的工具。用偽代碼描述算法回避了程序設(shè)計語言嚴格、煩瑣的書寫格式,容易轉(zhuǎn)換為程序設(shè)計語言,但偽代碼的語句不容易規(guī)范,有時會產(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ù)進行。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算法在解決問題中的核心地位和重要作用尋找解決問題的算法實質(zhì)上是尋找問題的解決方案,是要找到描述特定類型問題是如何被解決的指令的集合。只有找到了一種可以指導(dǎo)工作執(zhí)行的算法,通過使用算法來得到并轉(zhuǎn)化智慧,我們才可以構(gòu)建一臺可以表現(xiàn)智能行為的機器來執(zhí)行這個工作。機器表現(xiàn)的智能等級受到通過算法轉(zhuǎn)化的智慧所限制。算法的好壞直接影響著程序的通用性和有效性,影響著問題解決的效率。算法在解決問題中的核心地位和重要作用尋找解決問題的算法實質(zhì)上20算法與程序設(shè)計計算機或者與計算機通信或者與人交流,我們必須將算法轉(zhuǎn)變?yōu)橐粋€清晰的指令的集合,并且將這些指令用程序設(shè)計語言來表示。一般分為:機器語言、匯編語言、高級語言。一個與計算機兼容的算法的描述稱為一個程序。程序設(shè)計是設(shè)計程序的過程,就是把計算機運作指令有計劃地串在一起,使計算機完成我們所期望的工作,讓計算機按照我們的期望來運作。算法是程序設(shè)計的核心,是程序設(shè)計的靈魂。算法與程序設(shè)計計算機或者與計算機通信或者與人交流,我們必須將21用輾轉(zhuǎn)相除法和窮舉法求兩個整數(shù)的最大公約數(shù)輾轉(zhuǎn)相除法設(shè)計的程序:PrivateSubCommand1_Click()m=9147485n=5147480r=mModnDoWhiler<>0m=nn=rr=mModnLoopCurrentY=100Print"最大公約數(shù)=";nEndSub窮舉法設(shè)計的程序:PrivateSubCommand2_Click()m=9147485n=5147480i=mDoWhilemModi<>0OrnModi<>0i=i-1LoopCurrentY=100Print"最大公約數(shù)=";iEndSub解決某一問題的算法的思想可以多種多樣。好算法讓我們事半功倍。用輾轉(zhuǎn)相除法和窮舉法求兩個整數(shù)的最大公約數(shù)輾轉(zhuǎn)相除法設(shè)計的程22小結(jié)理論:計算機解決問題的基本過程。建立數(shù)學(xué)模型,構(gòu)造非數(shù)值類數(shù)據(jù)的模型。算法的效率、通用性、多樣性。在計算機領(lǐng)域中有的問題不可解。思路:了解工具的功能→掌握工具的使用方法和步驟→用我們的認知來改進現(xiàn)有工具,制造新工具,延伸、拓展我們的智能。小結(jié)理論:23人們洞察世界的優(yōu)秀的模型,利用計算機解決現(xiàn)實世界的問題。人們關(guān)心現(xiàn)實社會而不是程序,程序是人們更好地理解世界的機制。人們洞察世界的優(yōu)秀的模型,利用計算機解決現(xiàn)實世界的問題。人們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修改項:行參數(shù):由3改為5;字符參數(shù):由“#”改為“人”每行第一個字符的輸出位置參數(shù):由20-i*3改為20+i*3,隨著i的增大而增大,距離屏幕左邊線越來越遠,即圖形向右移動。復(fù)制藍色程序塊→粘貼,修改每行第一個字符的輸出位置參數(shù),輸出對稱圖形。輸出簡單的有規(guī)則的字符幾何圖形代碼PrivateSubF26讓我想一想抽象在計算機科學(xué)中有什么作用?在程序設(shè)計中數(shù)據(jù)是如何表示及處理的?社會問題:教育軟件現(xiàn)在被賣給18個月或者更小的兒童。有人建議這樣的軟件應(yīng)該有聲音和圖像,否則這個軟件就不適合兒童,反對者說這是很糟糕的親子關(guān)系的替代品。你的意見呢?如果沒有更多關(guān)于軟件的知識,你支持哪個觀點?讓我想一想抽象在計算機科學(xué)中有什么作用?27飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊敢死隊敢死隊好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費交付給交付給交付給警方根據(jù)高房價法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國28飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊敢死隊敢死隊好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費交付給交付給交付給警方根據(jù)高房價法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國29飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊敢死隊敢死隊好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費交付給交付給交付給警方根據(jù)高房價法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國30飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊敢死隊敢死隊好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費交付給交付給交付給警方根據(jù)高房價法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國31飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊敢死隊敢死隊好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費交付給交付給交付給警方根據(jù)高房價法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國32飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊敢死隊敢死隊好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費交付給交付給交付給警方根據(jù)高房價法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國33飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊敢死隊敢死隊好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費交付給交付給交付給警方根據(jù)高房價法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國34飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊敢死隊敢死隊好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費交付給交付給交付給警方根據(jù)高房價法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國35飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊敢死隊敢死隊好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費交付給交付給交付給警方根據(jù)高房價法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國36飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊敢死隊敢死隊好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費交付給交付給交付給警方根據(jù)高房價法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國37有問題就解決清晰的思路適合的方法步驟有效的表達有問題就解決清晰的思路38算法與程序設(shè)計計算機解決問題的基本過程算法與程序設(shè)計計算機解決問題的基本過程39聽話聰明的計算機按照指令做事兒用計算器計算、用Word處理文字、單擊“確定”按鈕確認你的操作編寫游戲代碼、編寫網(wǎng)頁代碼運算器

程序原始數(shù)據(jù)輸入設(shè)備存儲器控制器輸出設(shè)備計算結(jié)果存取數(shù)程序指令輸入命令輸出命令聽話聰明的計算機按照指令做事兒運算器程序輸入設(shè)備存40懂事智慧的我們發(fā)現(xiàn)、分析問題設(shè)計解決方案(適合于計算機)完成方案(計算機能夠執(zhí)行)解決問題懂事智慧的我們發(fā)現(xiàn)、分析問題41y=x2+3x-1

x≥0

y=0x<0分段函數(shù)以VB語言為例設(shè)計程序Dimx,yAsIntegerx=Val(Text1.Text)Ifx>=0Theny=x^2+3*x-1Elsey=0EndIfPrint"y=";y;建立分段函數(shù)的數(shù)學(xué)模型,即寫出表達式。輸入X的值。判斷X的取值,根據(jù)X的取值,選擇Y的表達式,計算y值。輸出Y的值。y=x2+3x-1x≥0

y=042計算機解決問題的過程分析問題——問題非正式描述→正式化或嚴格化描述→精確到底你要解決什么問題→建立數(shù)學(xué)模型或構(gòu)造模型設(shè)計算法

——精確解決問題的步驟→用適當?shù)姆绞桨阉惴蚀_地描述出來編寫程序——用一種計算機能接受的程序設(shè)計語言來描述問題求解的算法調(diào)試程序——查找和改正程序中存在的錯誤,使程序能順利地執(zhí)行,得出正確結(jié)果。同舟共濟共創(chuàng)輝煌計算機解決問題的過程分析問題設(shè)計算法編寫程序調(diào)試程序同舟共43算法概念算法是在有限步驟內(nèi)求解某一問題所使用的一組定義明確的規(guī)則。通俗地說就是用計算機求解某一問題的方法,是能被機械地執(zhí)行的動作或指令的有窮集合。算法概念44算法特征輸入。一個算法有零個或多個輸入,以刻畫運算對象的初始情況。確定性。算法的每一個步驟必須要確切地定義,不能有歧義。有窮性。一個算法在執(zhí)行有窮步之后必須結(jié)束。輸出。算法有一個或多個與輸入有某個特定關(guān)系的輸出。能行性。算法中有待執(zhí)行的運算和操作必須是相當基本的,它們都是能夠精確地進行的,算法執(zhí)行者甚至不需要掌握算法的含義即可根據(jù)該算法的每一步驟要求進行操作,并最終得出正確的結(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è)計語言。例如:求兩個正整數(shù)m和n的最大公約數(shù)的步驟:以m除以n,令所得的余數(shù)為r。若r=0,則輸出結(jié)果n,算法結(jié)束;否則,繼續(xù)步驟3。令m=n,n=r,并返回步驟1繼續(xù)進行。將一個問題分為一系列的邏輯步驟,這樣就易于將其轉(zhuǎn)化為一個計算機程序。算法的描述用自然語言描述算法例如:求兩個正整數(shù)m和n的最大公47算法的描述用流程圖描述算法圖形名稱功能開始/結(jié)束表示算法的開始或結(jié)束輸入/輸出表示算法中變量的輸入或輸出處理表示算法變量的計算與賦值判斷表示算法條件判斷流程線表示算法中的流向連接點表示算法的轉(zhuǎn)接流程圖的基本圖形及其功能用流程圖描述算法清晰簡潔,容易表達選擇結(jié)構(gòu);利于不同環(huán)境的程序設(shè)計。算法的描述用流程圖描述算法圖形名稱功能開始/結(jié)束表示算法的開48依次完成——順序結(jié)構(gòu)第一步第二步第……步開始結(jié)束依次完成——順序結(jié)構(gòu)第一步第二步第……步開始結(jié)束49做判斷——選擇結(jié)構(gòu)事件X事件A事件B滿足條件嗎?YN開始結(jié)束選擇是指處理過程可能沿著兩個或更多的計算路線進行。做判斷——選擇結(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繪制流程圖的技巧開始時要把注意力集中在問題的邏輯上,畫出流程圖的主要執(zhí)行路徑。主要部分完成之后,加入選擇和循環(huán)。一個流程圖只有一個起始點和一個結(jié)束點。盡可能使流程圖和機器無關(guān),不要使用和計算機相關(guān)的術(shù)語。沒有必要在流程圖中將每個步驟都畫出來,只要描述出那些有意義的即可。使用一些明確的描述性的詞恰當?shù)乇硎締栴}不要用一些模棱兩可的詞語。讓其他編程人員或用戶能夠輕松地看懂你的流程圖。繪制流程圖的技巧開始時要把注意力集中在問題的邏輯上,畫出流程53分段函數(shù)流程圖以VB語言為例設(shè)計程序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è)計程序y=0y=x2+3x-154算法的描述用偽代碼描述算法偽代碼是用介于自然語言和計算機語言之間的文字和符號來描述算法的工具。用偽代碼描述算法回避了程序設(shè)計語言嚴格、煩瑣的書寫格式,容易轉(zhuǎn)換為程序設(shè)計語言,但偽代碼的語句不容易規(guī)范,有時會產(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ù)進行。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算法在解決問題中的核心地位和重要作用尋找解決問題的算法實質(zhì)上是尋找問題的解決方案,是要找到描述特定類型問題是如何被解決的指令的集合。只有找到了一種可以指導(dǎo)工作執(zhí)行的算法,通過使用算法來得到并轉(zhuǎn)化智慧,我們才可以構(gòu)建一臺可以表現(xiàn)智能行為的機器來執(zhí)行這個工作。機器表現(xiàn)的智能等級受到通過算法轉(zhuǎn)化的智慧所限制。算法的好壞直接影響著程序的通用性和有效性,影響著問題解決的效率。算法在解決問題中的核心地位和重要作用尋找解決問題的算法實質(zhì)上57算法與程序設(shè)計計算機或者與計算機通信或者與人交流,我們必須將算法轉(zhuǎn)變?yōu)橐粋€清晰的指令的集合,并且將這些指令用程序設(shè)計語言來表示。一般分為:機器語言、匯編語言、高級語言。一個與計算機兼容的算法的描述稱為一個程序。程序設(shè)計是設(shè)計程序的過程,就是把計算機運作指令有計劃地串在一起,使計算機完成我們所期望的工作,讓計算機按照我們的期望來運作。算法是程序設(shè)計的核心,是程序設(shè)計的靈魂。算法與程序設(shè)計計算機或者與計算機通信或者與人交流,我們必須將58用輾轉(zhuǎn)相除法和窮舉法求兩個整數(shù)的最大公約數(shù)輾轉(zhuǎn)相除法設(shè)計的程序:PrivateSubCommand1_Click()m=9147485n=5147480r=mModnDoWhiler<>0m=nn=rr=mModnLoopCurrentY=100Print"最大公約數(shù)=";nEndSub窮舉法設(shè)計的程序:PrivateSubCommand2_Click()m=9147485n=5147480i=mDoWhilemModi<>0OrnModi<>0i=i-1LoopCurrentY=100Print"最大公約數(shù)=";iEndSub解決某一問題的算法的思想可以多種多樣。好算法讓我們事半功倍。用輾轉(zhuǎn)相除法和窮舉法求兩個整數(shù)的最大公約數(shù)輾轉(zhuǎn)相除法設(shè)計的程59小結(jié)理論:計算機解決問題的基本過程。建立數(shù)學(xué)模型,構(gòu)造非數(shù)值類數(shù)據(jù)的模型。算法的效率、通用性、多樣性。在計算機領(lǐng)域中有的問題不可解。思路:了解工具的功能→掌握工具的使用方法和步驟→用我們的認知來改進現(xiàn)有工具,制造新工具,延伸、拓展我們的智能。小結(jié)理論:60人們洞察世界的優(yōu)秀的模型,利用計算機解決現(xiàn)實世界的問題。人們關(guān)心現(xiàn)實社會而不是程序,程序是人們更好地理解世界的機制。人們洞察世界的優(yōu)秀的模型,利用計算機解決現(xiàn)實世界的問題。人們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修改項:行參數(shù):由3改為5;字符參數(shù):由“#”改為“人”每行第一個字符的輸出位置參數(shù):由20-i*3改為20+i*3,隨著i的增大而增大,距離屏幕左邊線越來越遠,即圖形向右移動。復(fù)制藍色程序塊→粘貼,修改每行第一個字符的輸出位置參數(shù),輸出對稱圖形。輸出簡單的有規(guī)則的字符幾何圖形代碼PrivateSubF63讓我想一想抽象在計算機科學(xué)中有什么作用?在程序設(shè)計中數(shù)據(jù)是如何表示及處理的?社會問題:教育軟件現(xiàn)在被賣給18個月或者更小的兒童。有人建議這樣的軟件應(yīng)該有聲音和圖像,否則這個軟件就不適合兒童,反對者說這是很糟糕的親子關(guān)系的替代品。你的意見呢?如果沒有更多關(guān)于軟件的知識,你支持哪個觀點?讓我想一想抽象在計算機科學(xué)中有什么作用?64飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊敢死隊敢死隊好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費交付給交付給交付給警方根據(jù)高房價法國警方交付給飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國65飯卡打開巴士風(fēng)格反對廣泛的的非官是大蘇打發(fā)的發(fā)非官方共和國符合國家和國際撒的方大哥給飛得更高是個搜狗是歸屬感是搞后呵呵敢死隊敢死隊敢死隊好地方個地方豆腐花哈哈動畫的發(fā)揮和家具風(fēng)格就國防軍廣泛幾個房間房管局房管局法國加工費交付給交付給交付給警方根據(jù)高房價法國警方交付給飯卡打開巴士風(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論