資源簡介 (共43張PPT)3.1體驗計算機解決問題的過程———粵教版高中信息技術1人工解決問題的過程2計算機解決問題的過程目錄CONTENTS2.1 分析問題2.2 設計算法2.3 編寫程序2.4 調試運行程序探究活動如何設計從A市到B市耗時最少的旅行路線方案呢?假如我們從鐵路公司、各航空公司和汽車客運公司網站得知,直達B市的交通工具只有火車和汽車兩種,出發地有B1,B2,…,Bk市(沒有A市),從A市出發到B1,B2,…,Bk市的交通工具有飛機、火車和汽車三種,這樣從A市經B1,B2,…,Bk市到B市的交通情況如圖所示:從A市經B1,B2,…,Bk市到B市的交通情況計算機解決問題的過程A分析問題當數據量很大,人工處理效率很低時,我們可以借助計算機,通過編寫計算機程序解決問題提。編寫計算機程序解決問題要經過分析問題、設計算法、編寫程序、調試運行程序等若干個步驟。B設計算法編寫程序C調試運行C求解問題的方式 相同點 不同點人工求解問題 分析問題、設計算法、得出結果、驗算結果 每次只能對特定的問題進行解答,運算速度慢,不需要借助計算機工具。用計算機求解問題 編寫程序、調試程序、運行速度快,通用性強。人工求解與計算機求解問題的方式的異同總結1、人工解決問題的過程采用人工方法來解決問題,首先需要明確所要解決的問題和給出的條件,然后再根據已有的經驗和知識確定解決問題的方法,從而解決問題。2、計算機解決問題的過程當數據量很大,人工處理效率很低時,我們可以借助計算機,通過編寫計算機程序解決問題提。編寫計算機程序解決問題要經過分析問題、設計算法、編寫程序、調試運行程序等若干個步驟。3.2算法及其描述——粵教版高中信息技術1什么是算法2算法的特征目錄4三種基本程序控制結構3描述算法的常用方法算法是指在有限步驟內求解某一問題所使用的一組定義明確的規則。通俗地說,算法就是用計算機求解某一問題的方法,是能被機械地執行的動作或指令的有窮集合。什么是算法?設給定的兩個正整數為m和n,求它們的最大公約數的步驟為:①以m除以n,令所得余數為r;②若r=0,則輸出結果n,算法結束;否則,繼續步驟③;③令m=n,n=r,并返回步驟①繼續進行。在《幾何原本》一書中,歐幾里得闡述了關于求兩個正整數的最大公約數的過程,這就是著名的歐幾里得算法——輾轉相除法,其具體過程如下:算法的特征有窮性A確定性B數據輸入C數據輸出D一個算法所包含的計算步驟是有限的。算法執行的每一個步驟必須有確切的定義,不能出現模棱兩可的情況一個算法必須有零個或多個數據輸入,以刻畫運算對象的初始情況一個算法有一個或多個數據輸出,以反映輸入數據加工后的結果,沒有輸出的算法無意義D算法中每個計算步驟都可以在有限時間內完成可行性描述算法的常用方法1、用自然語言描述算法:用自然語言描述算法,就是用人們日常所用的語言,如:漢語、英語等來描述算法。例如:從A市到B市耗時最少的旅行路線問題的算法描述就使用了自然語言。優點缺點簡單直接,比較容易掌握缺點算法中含有多個分支或循環時難以清晰表示;自然語言的歧義性2、用流程圖描述算法:用流程圖描述算法是用程序框圖描述算法的一種表示方法,和自然語言描述相比,使用流程圖描述算法可使算法的流程描述更加清晰、簡潔。圖 形 名 稱 功 能開始/結束 表示算法的開始或結束輸入/輸出 表示算法中變量的輸入或輸出處理 表示算法中變量的計算與賦值判斷 表示算法中的條件判斷流程線 表示算法中的流向連接點 表示算法中的轉接流程圖的基本圖形及功能用流程圖描述歐幾里得算法算法的流程圖表示歐幾里得算法偽代碼3、用偽代碼描述算法:用偽代碼描述算法就是用介于自然語言和計算機語言之間的文字和符號來描述算法。input m,nr=m mod ndo while r≠0m=nn=rr=m mod nloopprint n討論分析歸納算法三種描述方法的優劣算法描述的方法 優 勢不 足自然語言表示法流程圖表示法偽代碼表示法用人們日常所用的語言,比較容易掌握當算法中含有多分支或循環操作較多時很難清晰地表示出來,由于自然語言的歧義性,容易導致算法執行的不確定性。用程序框圖來描述,流程描述清晰簡潔。所占篇幅較大,由于允許使用流程線,過于靈活,不受約束。用介于自然語言和計算機語言之間的文字和符號來描述,書寫方便,格式緊湊,易于理解,便于向計算機程序設計語言過渡。由于編程語言的種類繁多,偽代碼的語句不容易規范,有時會產生誤解。三種基本控制結構三種結構順序機構選擇結構循環結構使用三種基本控制結構的組合來描述算法,可以改善算法的清晰度,提高算法的可讀性,原因如下:(1)以控制結構為單位,只有一個入口和一個出口,各單位之間接口簡單,比較容易獨立地理解每一單位。(2)縮小了算法的靜態描述與動態執行過程之間的差異,使得兩者容易對應,易于理解。項目任何復雜的算法都可以用三種基本結構組合來表示順序結構表示程序中的各步操作按出現的先后順序執行。順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行順序結構選擇結構選擇結構表示程序的處理步驟出現了分支,需要根據某一特定的條件選擇其中的一個分支執行。選擇結構有單選擇、雙選擇和多選擇三種。 If…else條件語句 執行邏輯:對條件進行判斷,如果條件返回值為true 則執行。否則執行else后的語句。循環結構循環結構表示程序反復執行某個或某些操作,直到判斷條件為假(或為真)時才可終止循環。循環的五大要素: a.循環變量 b.循環變量的初始值 c.循環的增值d.循環的條件e.循環體1、下面關于算法的描述,正確的是( )。A.算法不可以用自然語言描述B.一個算法必須保證它的執行步驟是有限的C.算法只能用偽代碼來描述D.算法的流程圖表示法可以有多個輸入,但只能有一個輸出2、算法的重要特征不包括以下哪一項?( )。 A.確定性 B.有窮性 C.唯一性 D.數據輸出3、流程圖中菱形框表( ) A.輸入/輸 出 B.判斷 C.處理 D.開始/結束4.執行右邊的流程圖,最后s=( )A.16 B.22 C.6 D.11課堂練習參考答案:1.B 2.C 3.B 4.A總 結什么是算法算法是指在有限步驟內求解某一問題所使用的一組定義明確的規則。算法的特征有窮性、確定性、數據輸入、數據輸出、可行性算法的描述自然語言描述、流程圖描述、偽代碼描述基本控制結構順序結構、選擇結構、循環結構算法及其描述3.3計算機程序與程序設計語言粵教版高中信息技術目 錄一計算機程序二計算機程序設計語言機器語言匯編語言高級語言010203探究活動實踐2019年7月20日IEEE Spectrum 發布了第四屆頂級編程語言交互排行榜前十位的高級語言依次分別是:Python、C、Java、C++、C#、R、JavaScript、PHP、Go、Assembly,請小組分工合作,通過網絡搜索,分別找出它們誕生的時間。計算機程序計算機程序是指為了得到某種結果而可以由計算機等具有信息處理能力的裝置執行的代碼化指令序列,或者可被自動轉換成代碼化指令序列的符號化指令序列或者符號化語句序列。簡而言之,計算機程序就是指計算機可以識別運行的指令集合。計算機的工作原理鏈 接計算機的工作過程實際上就是周而復始地獲取指令、執行指令的過程。1、 輸入設備2 、存儲器4 、控制器3 、運算器5 、輸出設備中央處理器CPU:鍵盤、鼠標、掃描儀:內存、硬盤、U盤、光盤: 執行算術、邏輯運算:分析指令,控制指令的執行,協調其它部件工作:顯示器、打印機計算機的組成鏈 接計算機內部采用二進制形式表示存儲指令和數據計算機程序設計語言機器語言匯編語言高級語言計算機程序設計語言,是指一組用來定義計算機程序的語法規則,通常簡稱為“編程語言”。它是一種被標準化的交流技巧,用于向計算機發出指令。編程語言的發展歷程機器語言由“0”和“1”組成的二進制代碼指令組表示,能夠被計算機直接接收和執行的,被稱為“機器語言”,機器語言是第一代計算機語言。指令序號 機器指令 指令功能1 10110000 00001001 把加數9送到累加器AL中。2 00000100 00001000 把累加器AL中的內容與另一個數8相加,結果存在累加器AL中(即完成9+8的運算)。3 11110100 停止操作。每一條機器指令都包含兩個主要部分:操作(指出計算機應做什么)和被操作的對象(指出處理的數據或它的地址)。機器語言的特點早期人們與計算機的通信都是通過機器語言編寫的程序完成的,程序中的所有語句都被分解成一系列由0和1組成的代碼記錄在穿孔帶上。能被計算機接收和執行,運行效率高01程序難以理解02程序設計任務繁重,修改效率低03移植性差04匯編語言使用了一種類似英文縮略詞且帶有助記性符號的語言,來替代一個特定的指令的二進制串,每條指令都和一條機器指令相對應。只是指令碼和操作數都采用符號形式,這種程序設計語言被稱為匯編語言。指令序號 匯編語言指令 指令功能1 MOV AL 9 把加數9送到累加器AL中。2 ADD AL 8 把累加器AL中的內容與另一個數8相加,結果存在累加器AL中(即完成9+8的運算)。3 HTL 停止操作。指令碼”ADD”代表加法,用”MOV”代表數據傳遞,相對機器語言理解較容易,糾錯維護也更容易。匯編語言的特點計算機不能直接認識這些符號,還需要一個專門的語言翻譯器,負責將程序中的每條語句都翻譯成用二進制數表示的機器語言。不能被計算機直接執行比機器語言易理解移植性不好執行效率高高級語言高級語言是一種接近于數學語言或人的自然語言,并且不再過度地倚賴某種特定的機器或環境,必須經過翻譯器將其翻譯成機器語言。高級語言編寫的程序也不能被計算機識別和執行,必須經過編譯程序或解釋程序將其翻譯成及其語言,并保存成二進制文件才能運行執行,所以高級語言按照其執行方式分為編譯性和解釋性兩種類型。高級語言的分類分類 執行方式 舉例特點編譯型 計算機把高級語言程序的每一條語句都編譯成機器語言,并保存成二進制文件后才運行的程序。 C、C++、Delphi 程序執行效率高,依賴編譯器,跨平臺性差些。解釋型 計算機在執行高級語言程序時,逐條語句解釋成機器語言并立即執行的程序。 Python、JavaScript 、Perl 、Shell 執行效率比較低,依賴解釋器,跨 平臺性好。哪一種方式的源文件容易保存下來?高級語言特點及發展過程由于高級語言抽象度高,源代碼無須與硬件、系統底層操作對應,所以移植性非常好,理想的情況下甚至不必為不同的系統平臺或者機器改動源代碼。結構化程序設計語言A面向過程程序設計語言B面向非過程程序設計語言C高級語言的發展過程拓展自動計算思想發展回顧計算與自動計算要解決以下四個問題:①數據的表示;②數據的存儲及自動存儲;③計算規則表示;④計算規則的執行及自動執行。1642年,法國科學家帕斯卡發明了著名的帕斯卡機械計算機,首次確立了計算機器的概念。1674年,萊布尼茨提出了“二進制”數的概念。1847年,英國的數學家布爾發表著作《邏輯的數學分析》和《思維規律的研究——邏輯與概率的數學理論基礎》,創立了一門全新的學科——布爾代數,為百年后出現的數字計算機的開關設計提供了重要的數學方法和理論基礎。1938年,香農發表了著名的論文《繼電器和開關電路的符號分析》,首次用布爾代數進行開關電路分析,并證明布爾代數的邏輯運算可以通過繼電器電路來實現,明確地給出了實現加、減、乘、除等運算的電子電路的設計方法。這篇論文成為開關電路理論的開端。1936年,阿蘭·圖靈提出了抽象計算模型——“圖靈機”。1940年,“控制論之父”維納提出了計算機五原則:①不是模擬式,而是數字式;②由電子元件構成,盡量減少機械部件;③采用二進制,而不是十進制;④內部存放計算表,計算控制規則;⑤在計算機內部存儲數據。1945年,美國賓夕法尼亞大學“莫爾小組”汲取前人關于計算機的結構、存儲程序和二進制編碼等研究思想,設計制造了世界上的一臺早期計算機ENIAC。1、計算機程序就是指計算機可以識別運行的( )集合。 A.文件 B.數據 C.指令 D.字符串2、計算機能直接識別、理解執行的語言是( ?。.匯編語言 B.Python語言 C.Basic語言 D.機器語言3、以下語言中計算機執行效率最高的是( )。 A.C語言 B.匯編語言 C.Java語言 D.Python語言4、程序是以( )代碼的形式存放在存儲器中,并采用( )作為數字計算機的數制基礎。A.二進制 二進制 B.二進制 十進制C.二進制 八進制 D.二進制 十六進制課堂練習參考答案:1、C 2.D 3.B 4.A總結第三章小結 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫