資源描述:
《算法-算法的表示》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、2010年嘉興市信息學聯(lián)賽輔導02.算法-算法的表示嘉興一中實驗學校算法的表示自然語言偽代碼流程圖算法的表示——自然語言自然語言:用人們的日常語言進行算法的描述。第一步:1加2得3,記住3;第二步:3加3得6,記住6;第三步:6加4得10,記住10;……用自然語言描述算法通俗易懂,但它的缺點是:⒈比較繁瑣冗長⒉容易出現(xiàn)“歧義性”張三要李四把他的筆記本拿來。躺在床上沒多久,他想起來了。算法的表示——偽代碼偽代碼:用一種介于自然語言和計算機語言之間的符號或文字來描述算法。如果x小于0那么打印x否則打印-xifx<0then
2、printxelseprint-x算法的表示——流程圖請閱讀以下流程圖,猜想這幅流程圖解決的是什么算法問題:開始A<0輸出A輸出-A結束是否算法的表示——流程圖起止框判斷框處理框輸入輸出框流程線開始A=>CB=>AC=>B結束例1.A和B互換A→CB→AC→B流程圖例2.求A、B中的大者。如果A>=B則A大輸出A,否則輸出B開始A>=B輸出A輸出B結束是否流程圖例3.求(n為整數(shù),且n>1)開始0→ss+1→ss+3→ss+2→s……s+n→s輸出s結束同樣的操作一共重復了多少次?流程圖開始0→t,0→st+1→t,t
3、+s→st+1→t,t+s→st+1→t,t+s→s……t+1→t,t+s→s輸出s結束發(fā)現(xiàn)s所加上的數(shù)都比原來大1開始0→ss+1→ss+3→ss+2→s……s+n→s輸出s結束開始0→ss+1→ss+3→ss+2→s……s+n→s輸出s結束重復了n次流程圖開始0→t,0→s當?shù)臅r候,不停地做t+1→t,t+s→s輸出s結束當做到第n次的時候t的值是多少?開始0→t,0→st+1→t,t+s→st+1→t,t+s→st+1→t,t+s→s……t+1→t,t+s→s輸出s結束n次t小于等于n流程圖設S代表累加之和,k代
4、表加數(shù)①使S=0,k=0;②使k的值加1;③使S+k,得到的和仍放在S中;④如果k小于等于n,則返回重新執(zhí)行第②步;如果k>n則不再返回②,停止循環(huán),此時S中的值就是開始t=0,0→st≤nt+1→t,s+t→s輸出s結束是否流程圖開始t=0,0→st>nt+1→t,s+t→s輸出s結束是否分析該流程圖,說明其功能流程圖開始t=0,0→st≤nt+1→t,s+t→s輸出s結束是否開始t=0,0→st>nt+1→t,s+t→s輸出s結束是否比較:這兩個流程圖所表示的算法有何不同?流程圖例4.從鍵盤輸入十個數(shù),輸出這十個數(shù)
5、中的最大值A362710159128十個數(shù):比較次數(shù)N一二三四五六七八九十A的值3667101010101210流程圖①選一數(shù)放在A中,設一計數(shù)器N,開始時N的值置為零(表示此時已比較了零次);②如果N的值小于9,則繼續(xù)執(zhí)行第③步,如果N的值大于或等于9(表示已比較了至少9次),停止循環(huán),打印A的值,并跳出整個算法,此時A中的數(shù)就是最大的數(shù);③將下一個數(shù)與A中的數(shù)相比,大者放入A中;④使N的值增加1(表示增加一次“比較次數(shù)”);⑤執(zhí)行第②步N+1→N打印A的值結束開始輸入一個數(shù)→A0=>NN<9輸入一個數(shù)→BA≥BB→
6、A否是是否流程圖課后練習用兩種方法畫“求n!(n為整數(shù),且n>0)”的流程圖(n!=1*2*3*4*...*n)給定一個正整數(shù)N(N>2),判定它是否為素數(shù).