算法及其實現課件_第1頁
算法及其實現課件_第2頁
算法及其實現課件_第3頁
算法及其實現課件_第4頁
算法及其實現課件_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

高中<信息技術根底>〔必修〕算法及其實現農夫過河一個農夫帶著一條狼、一頭山羊和一籃蔬菜要過河,但只需一條船。乘船時,農夫只能帶一樣東西。農夫在場的時候,這三樣東西相安無事。一旦農夫不在,狼會吃羊,羊會吃菜。請設計一個算法,使農夫能平安的將這三樣東西帶過河。農夫帶狼、山羊、蔬菜過河步驟解一:1、農夫帶羊過河2、農夫回來3、把狼帶過河4、把羊帶回來5、帶蔬菜過河6、農夫回來7、把羊帶過河解二:1、農夫帶羊過河2、農夫回來3、帶蔬菜過河4、把羊帶回來5、把狼帶過河6、農夫回來7、把羊帶過河算法的定義:所謂“算法〞〔algorithm〕就是解題方法的準確描畫。算法的特點:算法的特點是求解步驟必需是有限的,而且每個環節都必需是明確和可行的。問:如何判別一個算法的好壞?數學家華羅庚的<統籌方法>中著名的〞泡茶算法〞:灌涼水洗茶壺拿茶葉泡茶喝洗茶杯洗開水壺燒開水灌涼水洗茶壺拿茶葉泡茶喝洗茶杯洗開水壺燒開水灌涼水洗茶壺拿茶葉泡茶喝洗茶杯洗開水壺燒開水方法甲方法丙方法乙t(請同窗們對這幾種算法進展評價!)算法的表示:

為了表示一個算法,常用的算法表示方式有:自然言語、流程圖和計算機言語。常用的計算機言語有:C、C++、Basic、VB和java等。自然言語表示法自然言語就是人們日常運用的言語,可以是漢語、英語或數學言語等.用自然言語描畫算法的優點是通俗易懂,當算法中的操作步驟都是順序執行時比較容易了解.缺陷是通常所用文字會比較冗長,還容易出現“歧義性〞.流程圖是人們經常用來描畫算法的工具,流程圖用圖框及流程線來表示算法籠統直觀。美國國家規范化協會〔ANSI〕規定了流程圖符號。1.處置框〔〕:框中指出要處置的內容,有出口和入口。2.輸入、輸出框〔〕:表示輸入和輸出數據。3.判別框〔〕:表示條件判別及產生分支的情況。4.銜接框〔〕:銜接因頁面寫不下而斷開的流程線。5.流程線〔〕:有向線段,控制流程方向。6.開場、終了框〔〕:表示本段算法的開場或終了。例1:要設計一個算法,對恣意輸入的三個整數x、y和z,找出并輸出其中的最大值。按照它的思想,我們只需求先比較x和y,得到一個較大的值max,再用max與y比較,將兩者中較大的值作為結果輸出即可。用自然言語,可以將這個算法描畫為:〔1〕輸入變量x、y和z的值。〔2〕比較x和y。假設x>y,那么x存入以max命名的存儲單元中;否那么,y送max。〔3〕比較z和max。假設z>max,那么z送max。〔4〕輸出結果max。這個算法也可以用下面的流程圖來描畫。圖中的Y表示Yes,N表示No。開場輸入變量x、y和z的值x>yz>maxmax←xmax←ymax←z輸出變量max的值終了圖框內的符號“←〞是賦值號,表示將賦值號右邊的表達式運算的結果值存入左邊的變量。例如,“max←x〞、i←i+1YN練習1:畫出“我們走路時躲避妨礙〞這個過程的流程圖YN有妨礙嗎?往前直走開場終了躲避妨礙察看道路情況開場輸入變量n的值輸出變量f的值終了i≤n?Nf←1i←1f←f*ii←i+1Y程序設計實例例2:求n階乘〔n!=1×2×3×…×n〕首先輸入變量n的值,變量f和i被賦以初值1,然后判別i≤n能否成立,假設成立,執行賦值語句f←f*i和i←i+1,并回到判別處,否那么終了循環,最后輸出f的值。練習2.在抽屜中尋覓東西的過程。NY尋覓

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論