-算法和流程圖_第1頁
-算法和流程圖_第2頁
-算法和流程圖_第3頁
-算法和流程圖_第4頁
-算法和流程圖_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、算法和流程圖一、學(xué)習(xí)目的和學(xué)習(xí)內(nèi)容學(xué)習(xí)各種軟件的使用 讓計(jì)算機(jī)按照我們的意圖去完成一件事 編程序(軟件)給別人用;國際信息學(xué)(計(jì)算機(jī))奧林匹克競賽全國中學(xué)生信息學(xué)奧賽江蘇省中學(xué)生信息學(xué)奧賽;比賽的內(nèi)容就是編程比賽;這也是我們的學(xué)習(xí)目的和內(nèi)容;計(jì)算機(jī)程序設(shè)計(jì)語言:人類語言用程序設(shè)計(jì)語言(如Pascal 語言)表示再翻譯成機(jī)器語言;二、計(jì)算機(jī)解決問題的步驟做任何一件事都要有一定的的步驟,如求1+2+3+4+5+6+7+8+9+10 ;計(jì)算機(jī)解題步驟:分析問題 確定解決問題的方法和步驟(即算法) 選擇一種計(jì)算機(jī)語言,根據(jù)算法編寫計(jì)算機(jī)程序 讓計(jì)算機(jī)執(zhí)行這個(gè)程序獲得結(jié)果三、算法的概念1、為解決某一個(gè)問

2、題而采取的方法和步驟,稱為算法。或者說算法是解決一個(gè)問題的方法的精確描述。如:已知半徑,計(jì)算圓的面積的算法。算法讀入半徑R的值 計(jì)算圓的面積S= *R*R 輸出圓的面積S。注意:算法不一定唯一,如求1+2+3+4+5+6+7+8+9+10 的算法。2、算法的特點(diǎn): 有窮性:必須在執(zhí)行了有窮個(gè)計(jì)算步驟后終止; 確定性:每一個(gè)步驟必須是精確的、無二義性的; 可行性:可以用計(jì)算機(jī)解決、能在有限步、有限時(shí)間內(nèi)完成; 有輸入: 有輸出:四、算法舉例例一:交換兩個(gè)大小相同的杯子中的液體(A 水、 B酒)。算法 1:1、再找一個(gè)大小與A 相同的空杯子C;2、 A C;3、 B A;4、 C B;結(jié)束。或(

3、B C、 A B、C A)算法 2:1、再找兩個(gè)空杯子C 和 D;2、 A C、 B D;3、 C B、 D A;結(jié)束。注意:一個(gè)算法往往具有代表性,能解決一類問題,如例一可以引申為:交換兩個(gè)變量的值。例二:輸入1 個(gè)數(shù)給計(jì)算機(jī),若為正數(shù)則打印出來。算法:輸入1 個(gè)數(shù) X;判斷 X0 ?;若 X0,則打印X;結(jié)束。例三:分別輸入10 個(gè)數(shù),打印出其中的正數(shù)。算法:設(shè)T 為計(jì)數(shù)器。輸入第一個(gè)數(shù)X, 1 T;判斷 X0 ? ;若 X0,則打印輸出;判斷 T10 ?若 T10,則表示10 個(gè)數(shù)已經(jīng)處理完,結(jié)束。否則,再輸入下一個(gè)數(shù)X,且 T+1 T,然后轉(zhuǎn)繼續(xù)執(zhí)行。例四:從 10 個(gè)數(shù)中挑選出最大的

4、一個(gè)數(shù),打印輸出。誘導(dǎo):以從10 個(gè)人中挑出最高的人為例,讓學(xué)生發(fā)揮想象。算法 1:“打擂臺”或“比武招親”,設(shè)MAX為大力士, T 為計(jì)數(shù)器。 先輸入 1 個(gè)數(shù) MAX,1 T;(擂主) 再輸入下一個(gè)數(shù)X,T+1 T;(上一個(gè)挑戰(zhàn)者) 比較 XMAX?;(比武)若 XMAX成立, X MAX;(打敗擂主,即新的大力士產(chǎn)生)否則, MAX仍然是最厲害,即值不變;(敗下陣來)判斷 T=10 ?;(看看還有沒有挑戰(zhàn)者)若 T=10 成立,則說明10 個(gè)數(shù)已比較玩,最大的數(shù)在MAX中,輸出MAX即可;否則,轉(zhuǎn)繼續(xù)找下一個(gè)挑戰(zhàn)者比武。(頒獎(jiǎng))(下一個(gè))算法2:兩個(gè)兩個(gè)打(淘汰賽)。1234567891

5、0例五:計(jì)算1*2*3*4*5*6*7*8*9*10。描述:階乘10!算法 1:找兩個(gè)容器T 和 I ; T 為累乘器,初值為1;I為計(jì)數(shù)器,初值為1。 1 T, 1 I ; T*I T; I+1 I ; 判斷 I10 ? 成立,則輸出 T,結(jié)束。否則,轉(zhuǎn)繼續(xù)乘。提問: 1、 T 的初值可不可以為0?不能2 、 I 的初值可不可以放 0?不能3 、 I 的初值可不可以放 2?可以4 、 I 可不可以放 10?可以,怎么改算法?讓學(xué)生完成。5 、可不可以先判斷后執(zhí)行?6 、現(xiàn)在要求 1+2+3+4+5+6+7+8+9+10,如何辦?讓學(xué)生完成。五、算法的表示形式1、 文字描述:二義性,如:甲叫乙

6、把他的書拿來;小明連王剛都不認(rèn)識;2、 偽代碼:用符號,不直觀;3、 流程圖:簡潔、直觀、無二義性。有很多種,我們學(xué)N-S 流程圖。六、結(jié)構(gòu)化程序設(shè)計(jì)和N-S 流程圖經(jīng)過證明:任何一個(gè)算法都可以用以下3 種基本結(jié)構(gòu)表示:1、順序結(jié)構(gòu):例一;2、分支結(jié)構(gòu):例二、例三中的、例四中的;3、循環(huán)結(jié)構(gòu):例三中的、例四中的、例五;兩種循環(huán):直到型和當(dāng)型。相應(yīng)的 N-S 圖:A條件AB成立不成立CAB直到條件成立時(shí)為止當(dāng)條件成立時(shí)做A注意:一個(gè)算法往往需要幾個(gè)簡單結(jié)構(gòu)復(fù)合在一起才能表示,即復(fù)合結(jié)構(gòu)。練習(xí):用 N-S 圖畫出以上5 個(gè)例子的流程圖,舉例讓學(xué)生模仿。將第一個(gè)數(shù)1 T1T, 1 IMAX,將將下一個(gè)數(shù)X, T*I T+1TTT+1 TX MAXYN直到 I10 為止X MAX直到 T=10 為止輸出 T當(dāng)型循環(huán)輸出 MAX例五例四(算法一)找一個(gè) C輸入 1 個(gè)數(shù) X輸入第一個(gè)數(shù)X , 1 TA CX0當(dāng) TAYNX 0C B打印 XYN例一(算法1)例二打印 X輸入下一個(gè)數(shù)XT+1 T 學(xué)生將直到型循 和當(dāng)型循 相互 :關(guān) 是條件的取反。七、 后作 1、 求 1+1/2+1/3+1/4+ +1/10 。2、 求

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論