資源簡介 (共22張PPT)第三章算法基礎算法為什么要學習算法和程序設計?根源在于:解決問題1計算機解決問題的過程2算法的概念及特征CONTENT3算法的描述方法4三種基本程序結構5了解計算機程序設計語言的發(fā)展算法1計算機解決問題的過程1、分析問題2、設計算法3、編寫程序4、調試運行程序解決問題算法2算法算法是指在有限的步驟內求解某一問題所使用的一組定義明確的規(guī)則。簡單的說,算法就是解決問題的具體方法和步驟生活中的“算法”制作美食組裝家具算法有哪些特征?算法2算法的特征有窮性確定性數(shù)據(jù)輸入數(shù)據(jù)輸出可行性12345一個算法所包含的計算步驟是有限的。算法執(zhí)行的每一個步驟必須有確切的定義,不能有模棱兩可的情況。一個算法有零個或多個數(shù)據(jù)輸入。一個算法有一個或多個數(shù)據(jù)輸出,沒有輸出的算法是沒有意義的。每個步驟都可以在有限時間內完成。算法3算法的描述方法1、自然語言描述(漢語、英語...)例:比較x和y誰大?自然語言描述:程序開始,如果x大于y,那么x大,否則y大,程序結束。算法圖形 名稱 功能開始/結束框 表示算法的開始或結束輸入/輸出框 表示算法中變量的輸入或輸出處理框 表示算法中變量的計算與賦值判斷框 表示算法中的條件判斷流程線 表示算法中的流向連接點 表示算法中的轉接3算法的描述方法2、流程圖描述算法2、流程圖描述算法:例:求任意兩個整數(shù)a,b的和?3算法的描述方法算法3、偽代碼描述算法:例:求整數(shù)a,b的和input (a,b)sum=a+bprint(sum)3算法的描述方法算法3算法的描述方法算法描述的方法 優(yōu)勢 不足自然語言 用人們日常所用的語言,比較容易掌握。 當算法中含有多分支或循環(huán)操作較多時很難清晰地表示出來,由于自然語言的歧義性,容易導致算法執(zhí)行的不確定性。流程圖 用程序框圖來描述,流程描述清晰簡潔。 所占篇幅較大,由于允許使用流程線,過于靈活,不受約束。偽代碼 用介于自然語言和計算機語言之間的文字和符號來描述,書寫方便,格式緊湊,易于理解,便于向計算機程序設計語言過渡。 由于編程語言的種類繁多,偽代碼的語句不容易規(guī)范,有時會產(chǎn)生誤解。算法4三種基本控制結構代碼段1代碼段2順序結構代碼段1代碼段2條件成立不成立代碼段條件成立不成立選擇結構循環(huán)結構任何算法都可以用順序、選擇、循環(huán)這三種基本控制結構的組合來表示。算法4三種基本控制結構1.順序結構運用在生活中哪些地方?2.選擇結構運用在生活中哪些地方?3.循環(huán)結構運用在生活中哪些地方?爬樓梯、學習教材...判斷是否帶傘、穿羽絨服、玩游戲...工廠里的機器人重復勞動、不斷走路...算法5計算機程序設計語言的發(fā)展計算機程序1計算機程序設計語言2即計算機可以識別、運行的指令集合。一組用來定義計算機程序的語法規(guī)則,通常簡稱為“編程語言”。它是一種被標準化的交流技巧,用于向計算機發(fā)出指令。步驟算法5計算機程序設計語言的發(fā)展1.機器語言:2.匯編語言:3.高級語言:由0、1組成,計算機能直接識別執(zhí)行類似于英語縮略詞的符號語言,計算機需翻譯編譯才能執(zhí)行接近數(shù)學語言或自然語言,計算機需翻譯編譯才能執(zhí)行。例如:python、c++、Java等編程語言。算法5計算機程序設計語言的發(fā)展eg: 以9+8為例機器語言匯編語言高級語言機器語言1011000000001001000001000000100011110100MOV AL,9ADD AL,8HTLprint(9+8)把加數(shù)9送到累加器上加8停止算法5計算機程序設計語言的發(fā)展機器語言匯編語言高級語言機器語言不需要翻譯移植性差需要翻譯移植性較差需要翻譯移植性非常好算法5計算機程序設計語言的發(fā)展編譯程序:計算機把高級語言程序的每一條語句都編譯成機器語言,并保存成二進制文件后才運行的程序。解釋程序:計算機在執(zhí)行高級語言程序時,逐條語句解釋成機器語言并立即執(zhí)行的程序。算法課堂練習1. 下列敘述中,正確的是( )。A.用機器語言編寫的程序可讀性最差B.匯編語言編寫的程序是所有語言中運算效率最高的C.用Python、C、VB等語言編寫的程序可以被計算機直接執(zhí)行D.匯編語言接近于數(shù)學語言和人的自然語言,最容易被人們理解2.計算機能直接識別、理解執(zhí)行的語言是( )A.匯編語言 B. Python語言 C.Basic語言 D.機器語言AD算法課堂練習3.下面關于算法的描述,正確的是( )A.算法不可以用自然語言描述B.算法只能用流程圖描述C.一個算法必須保證它的執(zhí)行步驟是有限的D.算法的流程圖表示法有零個或多個輸入,但只能有一個輸入4.以下不屬于高級語言的是( )A.Java語言 B.Python語言 C.匯編語言 D.C語言CC算法課堂練習5.人們利用計算機解決問題的基本過程為( )。①調試運行程序 ②分析問題 ③設計算法 ④問題解決 ⑤編寫程序A.①②③④⑤ B.②③⑤①④C.②④③⑤① D.④②③⑤①6.計算機能直接識別、理解執(zhí)行的語言是( )。A.匯編語言 B.機器語言 C.Basic語言 D.Python語言7.用自然語言來描述算法,比用流程圖來描述算法更清晰、簡潔。( )8.用自然語言描述算法,就是用漢語、英語等日常用語來描述算法。( )9.一個完整的算法,不管用什么方法表示,都至少有一個輸入數(shù)據(jù)。( )BB×√×算法 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫