體驗計算機解決問題的過程 課件 -2022-2023學(xué)年高中信息技術(shù)粵教版(2019)必修1_第1頁
體驗計算機解決問題的過程 課件 -2022-2023學(xué)年高中信息技術(shù)粵教版(2019)必修1_第2頁
體驗計算機解決問題的過程 課件 -2022-2023學(xué)年高中信息技術(shù)粵教版(2019)必修1_第3頁
體驗計算機解決問題的過程 課件 -2022-2023學(xué)年高中信息技術(shù)粵教版(2019)必修1_第4頁
體驗計算機解決問題的過程 課件 -2022-2023學(xué)年高中信息技術(shù)粵教版(2019)必修1_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

3.1體驗計算機解決問題的過程———粵教版高中信息技術(shù)1人工解決問題的過程2計算機解決問題的過程目錄CONTENTS2.1分析問題2.2設(shè)計算法2.3編寫程序2.4調(diào)試運行程序探究活動

如何設(shè)計從A市到B市耗時最少的旅行路線方案呢?假如我們從鐵路公司、各航空公司和汽車客運公司網(wǎng)站得知,直達B市的交通工具只有火車和汽車兩種,出發(fā)地有B1,B2,…,Bk市(沒有A市),從A市出發(fā)到B1,B2,…,Bk市的交通工具有飛機、火車和汽車三種,這樣從A市經(jīng)B1,B2,…,Bk市到B市的交通情況如圖所示:從A市經(jīng)B1,B2,…,Bk市到B市的交通情況計算機解決問題的過程A分析問題當(dāng)數(shù)據(jù)量很大,人工處理效率很低時,我們可以借助計算機,通過編寫計算機程序解決問題提。編寫計算機程序解決問題要經(jīng)過分析問題、設(shè)計算法、編寫程序、調(diào)試運行程序等若干個步驟。B設(shè)計算法編寫程序C調(diào)試運行C求解問題的方式相同點不同點人工求解問題分析問題、設(shè)計算法、得出結(jié)果、驗算結(jié)果每次只能對特定的問題進行解答,運算速度慢,不需要借助計算機工具。用計算機求解問題編寫程序、調(diào)試程序、運行速度快,通用性強。人工求解與計算機求解問題的方式的異同總結(jié)1、人工解決問題的過程采用人工方法來解決問題,首先需要明確所要解決的問題和給出的條件,然后再根據(jù)已有的經(jīng)驗和知識確定解決問題的方法,從而解決問題。2、計算機解決問題的過程當(dāng)數(shù)據(jù)量很大,人工處理效率很低時,我們可以借助計算機,通過編寫計算機程序解決問題提。編寫計算機程序解決問題要經(jīng)過分析問題、設(shè)計算法、編寫程序、調(diào)試運行程序等若干個步驟。3.2算法及其描述——粵教版高中信息技術(shù)1什么是算法2算法的特征目錄4三種基本程序控制結(jié)構(gòu)3描述算法的常用方法

算法是指在有限步驟內(nèi)求解某一問題所使用的一組定義明確的規(guī)則。通俗地說,算法就是用計算機求解某一問題的方法,是能被機械地執(zhí)行的動作或指令的有窮集合。什么是算法?設(shè)給定的兩個正整數(shù)為m和n,求它們的最大公約數(shù)的步驟為:①以m除以n,令所得余數(shù)為r;②若r=0,則輸出結(jié)果n,算法結(jié)束;否則,繼續(xù)步驟③;③令m=n,n=r,并返回步驟①繼續(xù)進行。

在《幾何原本》一書中,歐幾里得闡述了關(guān)于求兩個正整數(shù)的最大公約數(shù)的過程,這就是著名的歐幾里得算法——輾轉(zhuǎn)相除法,其具體過程如下:算法的特征有窮性A確定性B數(shù)據(jù)輸入C數(shù)據(jù)輸出D一個算法所包含的計算步驟是有限的。算法執(zhí)行的每一個步驟必須有確切的定義,不能出現(xiàn)模棱兩可的情況一個算法必須有零個或多個數(shù)據(jù)輸入,以刻畫運算對象的初始情況一個算法有一個或多個數(shù)據(jù)輸出,以反映輸入數(shù)據(jù)加工后的結(jié)果,沒有輸出的算法無意義D算法中每個計算步驟都可以在有限時間內(nèi)完成可行性描述算法的常用方法1、用自然語言描述算法:

用自然語言描述算法,就是用人們?nèi)粘K玫恼Z言,如:漢語、英語等來描述算法。例如:從A市到B市耗時最少的旅行路線問題的算法描述就使用了自然語言。優(yōu)點缺點簡單直接,比較容易掌握缺點算法中含有多個分支或循環(huán)時難以清晰表示;自然語言的歧義性2、用流程圖描述算法:

用流程圖描述算法是用程序框圖描述算法的一種表示方法,和自然語言描述相比,使用流程圖描述算法可使算法的流程描述更加清晰、簡潔。圖

形名

稱功

能開始/結(jié)束表示算法的開始或結(jié)束輸入/輸出表示算法中變量的輸入或輸出處理表示算法中變量的計算與賦值判斷表示算法中的條件判斷流程線表示算法中的流向連接點表示算法中的轉(zhuǎn)接流程圖的基本圖形及功能用流程圖描述歐幾里得算法算法的流程圖表示

歐幾里得算法偽代碼3、用偽代碼描述算法:

用偽代碼描述算法就是用介于自然語言和計算機語言之間的文字和符號來描述算法。inputm,nr=mmodndowhiler≠0m=nn=r

r=mmodnloopprintn討論分析歸納算法三種描述方法的優(yōu)劣算法描述的方法優(yōu)

勢不

足自然語言表示法流程圖表示法偽代碼表示法用人們?nèi)粘K玫恼Z言,比較容易掌握當(dāng)算法中含有多分支或循環(huán)操作較多時很難清晰地表示出來,由于自然語言的歧義性,容易導(dǎo)致算法執(zhí)行的不確定性。用程序框圖來描述,流程描述清晰簡潔。所占篇幅較大,由于允許使用流程線,過于靈活,不受約束。用介于自然語言和計算機語言之間的文字和符號來描述,書寫方便,格式緊湊,易于理解,便于向計算機程序設(shè)計語言過渡。由于編程語言的種類繁多,偽代碼的語句不容易規(guī)范,有時會產(chǎn)生誤解。三種基本控制結(jié)構(gòu)三種結(jié)構(gòu)順序機構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)使用三種基本控制結(jié)構(gòu)的組合來描述算法,可以改善算法的清晰度,提高算法的可讀性,原因如下:(1)以控制結(jié)構(gòu)為單位,只有一個入口和一個出口,各單位之間接口簡單,比較容易獨立地理解每一單位。(2)縮小了算法的靜態(tài)描述與動態(tài)執(zhí)行過程之間的差異,使得兩者容易對應(yīng),易于理解。項目任何復(fù)雜的算法都可以用三種基本結(jié)構(gòu)組合來表示

順序結(jié)構(gòu)表示程序中的各步操作按出現(xiàn)的先后順序執(zhí)行。順序結(jié)構(gòu)的程序設(shè)計是最簡單的,只要按照解決問題的順序?qū)懗鱿鄳?yīng)的語句就行,它的執(zhí)行順序是自上而下,依次執(zhí)行順序結(jié)構(gòu)選擇結(jié)構(gòu)

選擇結(jié)構(gòu)表示程序的處理步驟出現(xiàn)了分支,需要根據(jù)某一特定的條件選擇其中的一個分支執(zhí)行。選擇結(jié)構(gòu)有單選擇、雙選擇和多選擇三種。

If…else條件語句

執(zhí)行邏輯:對條件進行判斷,如果條件返回值為true則執(zhí)行。否則執(zhí)行else后的語句。循環(huán)結(jié)構(gòu)

循環(huán)結(jié)構(gòu)表示程序反復(fù)執(zhí)行某個或某些操作,直到判斷條件為假(或為真)時才可終止循環(huán)。循環(huán)的五大要素:

a.循環(huán)變量

b.循環(huán)變量的初始值

c.循環(huán)的增值d.循環(huán)的條件e.循環(huán)體1、下面關(guān)于算法的描述,正確的是()。A.算法不可以用自然語言描述B.一個算法必須保證它的執(zhí)行步驟是有限的C.算法只能用偽代碼來描述D.算法的流程圖表示法可以有多個輸入,但只能有一個輸出2、算法的重要特征不包括以下哪一項?()。

A.確定性B.有窮性C.唯一性D.數(shù)據(jù)輸出3、流程圖中菱形框表()

A.輸入/輸出B.判斷C.處理D.開始/結(jié)束4.執(zhí)行右邊的流程圖,最后s=()A.16B.22C.6D.11課堂練習(xí)參考答案:1.B2.C3.B4.A總結(jié)什么是算法

算法是指在有限步驟內(nèi)求解某一問題所使用的一組定義明確的規(guī)則。算法的特征有窮性、確定性、數(shù)據(jù)輸入、數(shù)據(jù)輸出、可行性算法的描述自然語言描述、流程圖描述、偽代碼描述基本控制結(jié)構(gòu)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)算法及其描述3.3計算機程序與程序設(shè)計語言粵教版高中信息技術(shù)目錄一計算機程序二計算機程序設(shè)計語言機器語言匯編語言高級語言010203探究活動實踐2019年7月20日IEEESpectrum發(fā)布了第四屆頂級編程語言交互排行榜前十位的高級語言依次分別是:Python、C、Java、C++、C#、R、JavaScript、PHP、Go、Assembly,請小組分工合作,通過網(wǎng)絡(luò)搜索,分別找出它們誕生的時間。計算機程序計算機程序是指為了得到某種結(jié)果而可以由計算機等具有信息處理能力的裝置執(zhí)行的代碼化指令序列,或者可被自動轉(zhuǎn)換成代碼化指令序列的符號化指令序列或者符號化語句序列。簡而言之,計算機程序就是指計算機可以識別運行的指令集合。計算機的工作原理鏈接計算機的工作過程實際上就是周而復(fù)始地獲取指令、執(zhí)行指令的過程。1、輸入設(shè)備2、存儲器4、控制器3、運算器5、輸出設(shè)備中央處理器CPU:鍵盤、鼠標(biāo)、掃描儀:內(nèi)存、硬盤、U盤、光盤:執(zhí)行算術(shù)、邏輯運算:分析指令,控制指令的執(zhí)行,協(xié)調(diào)其它部件工作:顯示器、打印機計算機的組成鏈接計算機內(nèi)部采用二進制形式表示存儲指令和數(shù)據(jù)計算機程序設(shè)計語言機器語言匯編語言高級語言

計算機程序設(shè)計語言,是指一組用來定義計算機程序的語法規(guī)則,通常簡稱為“編程語言”。它是一種被標(biāo)準(zhǔn)化的交流技巧,用于向計算機發(fā)出指令。編程語言的發(fā)展歷程機器語言由“0”和“1”組成的二進制代碼指令組表示,能夠被計算機直接接收和執(zhí)行的,被稱為“機器語言”,機器語言是第一代計算機語言。指令序號機器指令指令功能11011000000001001把加數(shù)9送到累加器AL中。20000010000001000把累加器AL中的內(nèi)容與另一個數(shù)8相加,結(jié)果存在累加器AL中(即完成9+8的運算)。311110100停止操作。

每一條機器指令都包含兩個主要部分:操作(指出計算機應(yīng)做什么)和被操作的對象(指出處理的數(shù)據(jù)或它的地址)。機器語言的特點

早期人們與計算機的通信都是通過機器語言編寫的程序完成的,程序中的所有語句都被分解成一系列由0和1組成的代碼記錄在穿孔帶上。能被計算機接收和執(zhí)行,運行效率高01程序難以理解02程序設(shè)計任務(wù)繁重,修改效率低03移植性差04匯編語言

使用了一種類似英文縮略詞且?guī)в兄浶苑柕恼Z言,來替代一個特定的指令的二進制串,每條指令都和一條機器指令相對應(yīng)。只是指令碼和操作數(shù)都采用符號形式,這種程序設(shè)計語言被稱為匯編語言。指令序號匯編語言指令指令功能1MOVAL9把加數(shù)9送到累加器AL中。2ADDAL8把累加器AL中的內(nèi)容與另一個數(shù)8相加,結(jié)果存在累加器AL中(即完成9+8的運算)。3HTL停止操作。指令碼”ADD”代表加法,用”MOV”代表數(shù)據(jù)傳遞,相對機器語言理解較容易,糾錯維護也更容易。匯編語言的特點計算機不能直接認識這些符號,還需要一個專門的語言翻譯器,負責(zé)將程序中的每條語句都翻譯成用二進制數(shù)表示的機器語言。不能被計算機直接執(zhí)行比機器語言易理解移植性不好執(zhí)行效率高高級語言

高級語言是一種接近于數(shù)學(xué)語言或人的自然語言,并且不再過度地倚賴某種特定的機器或環(huán)境,必須經(jīng)過翻譯器將其翻譯成機器語言。高級語言編寫的程序也不能被計算機識別和執(zhí)行,必須經(jīng)過編譯程序或解釋程序?qū)⑵浞g成及其語言,并保存成二進制文件才能運行執(zhí)行,所以高級語言按照其執(zhí)行方式分為編譯性和解釋性兩種類型。高級語言的分類分類執(zhí)行方式舉例特點編譯型計算機把高級語言程序的每一條語句都編譯成機器語言,并保存成二進制文件后才運行的程序。C、C++、Delphi程序執(zhí)行效率高,依賴編譯器,跨平臺性差些。解釋型計算機在執(zhí)行高級語言程序時,逐條語句解釋成機器語言并立即執(zhí)行的程序。Python、JavaScript、Perl、Shell執(zhí)行效率比較低,依賴解釋器,跨平臺性好。哪一種方式的源文件容易保存下來?高級語言特點及發(fā)展過程

由于高級語言抽象度高,源代碼無須與硬件、系統(tǒng)底層操作對應(yīng),所以移植性非常好,理想的情況下甚至不必為不同的系統(tǒng)平臺或者機器改動源代碼。結(jié)構(gòu)化程序設(shè)計語言A面向過程程序設(shè)計語言B面向非過程程序設(shè)計語言C高級語言的發(fā)展過程拓展自動計算思想發(fā)展回顧計算與自動計算要解決以下四個問題:①數(shù)據(jù)的表示;②數(shù)據(jù)的存儲及自動存儲;③計算規(guī)則表示;④計算規(guī)則的執(zhí)行及自動執(zhí)行。1642年,法國科學(xué)家帕斯卡發(fā)明了著名的帕斯卡機械計算機,首次確立了計算機器的概念。1674年,萊布尼茨提出了“二進制”數(shù)的概念。1847年,英國的數(shù)學(xué)家布爾發(fā)表著作《邏輯的數(shù)學(xué)分析》和《思維規(guī)律的研究——邏輯與概率的數(shù)學(xué)理論基礎(chǔ)》,創(chuàng)立了一門全新的學(xué)科——布爾代數(shù),為百年后出現(xiàn)的數(shù)字計算機的開關(guān)設(shè)計提供了重要的數(shù)學(xué)方法和理論基礎(chǔ)。1938年,香農(nóng)發(fā)表了著名的論文《繼電器和開關(guān)電路的符號分析》,首次用布爾代數(shù)進行開關(guān)電路分析,并證明布爾代數(shù)的邏輯運算可以通過繼電器電路來實現(xiàn),明確地給出了實現(xiàn)加、減、乘、除等運算的電子電路的設(shè)計方法。這篇論文成為開關(guān)電路理論的開端。1936年,阿蘭·圖靈提出了抽象計算模型——“

溫馨提示

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

評論

0/150

提交評論