資源簡介 (共28張PPT)第三章 算法基礎信息技術 必修1粵教版普通高中教科書數據與計算復習回顧1、算法:算法是指在有限步驟內求解某一問題所使用的一組定義明確的規則。通俗地說,算法就是用計算機求解某一問題的方法,是能被機械地執行的動作或指令的有窮集合。2、算法的特征:1、有窮性:一個算法在執行有窮步之后必須結束。2、確定性:算法執行的每一步驟必須有確切的定義,不能出現模棱兩可的情況3、數據輸入:一個算法必須有零個或多個輸入,以刻畫運算對象的初始情況。4、數據輸出:一個算法有一個或多個輸出,以反映對輸入數據加工后的結果。沒有輸出的算法是沒有意義的。5、可行性:算法中執行的任何計算步驟都可以內分解為基本的課執行的操作步驟,即每個計算步驟都可以在有限的時間內完成。自然語言表示法 流程圖表示法 偽代碼表示法示例 輾轉相除法的算法描述 ①輸入兩個正整數m,n(m>n); ②計算m除以n所得的余數r; ③m=n,n=r; ④若r=0,則m,n的最大公約數等于m;否則轉到步驟②; ⑤輸出最大公約數m; ⑥結束。if m < n:m, n = n, mr = 1while r != 0:r = m% nm = nn = rprint m復習回顧3、算法的描述復習回顧4、三種基本控制結構復習回顧5、選題探究選題一:1.求1000以內的水仙花數水仙花數的含義:“水仙花數”是一個三位數其各位數字的立方和等于該數本身。例如:13+53+33=153。求1000以內的水仙花數自然語言描述:1、從第一個三位數n開始2、將三位數拆分為百位數a、個位數b和十位數c2、計算a3+b3+c3=n是否成立,如果成立,輸出n3、n=n+14、執行到999結束流程圖描述:選題二:韓信點兵原有士兵約1500,死傷四五百,現點兵,3人一排,結果多出2名;接著命令士兵5人一排,結果多出3名;他又命令士兵7人一排,結果又多出2名,士兵約一千多,具體多少人 自然語言描述:1、起始n=10002、判斷n整除3余數2是否成立,如果成立轉3,否則轉53、判斷n整除3余數2是否成立,如果成立轉4,否則轉54、判斷n整除3余數2是否成立,如果成立轉輸出n,否則轉55、n=n+16、判斷n<=1100是否成立,成立轉2,否則轉77、結束流程圖描述:復習回顧5、選題探究導入我們來看看選題的程序實現(啟動Python的IDLE運行以下程序):選題一:1.求1000以內的水仙花數選題二:韓信點兵for j in range(1,10):n=int(input("請輸入士兵人數范圍:"))for i in range(n,0,-1):if i%3==1 and i%5==2 and i%7==4:print("士兵人數是:",i)breakif i==1:print("無解")j=j+1n=0i=100while(i<1000):a=i//100b=i//10%10c=i%10if a**3+b**3+c**3==a*100+b*10+c:n=n+1print("第",n,"個水仙花數:",i)i=i+1問題:1、什么是計算機程序?2、程序是如何運行的?3、程序語言有那些?新知3.3.1計算機程序3.3.2計算機程序設計語言目錄CONTENTS3.3 計算機程序計算機程序是指計算機可以識別運行的指令集合。計算機程序的概念控制3.3.1 計算機程序探究活動一:計算機程序選題一:1.求1000以內的水仙花數選題二:韓信點兵for j in range(1,10):n=int(input("請輸入士兵人數范圍:"))for i in range(n,0,-1):if i%3==1 and i%5==2 and i%7==4:print("士兵人數是:",i)breakif i==1:print("無解")j=j+1n=0i=100while(i<1000):a=i//100b=i//10%10c=i%10if a**3+b**3+c**3==a*100+b*10+c:n=n+1print("第",n,"個水仙花數:",i)i=i+11、 計算機程序的概念3.3.1 計算機程序探究活動一:計算機程序2、計算機的工作過程計算機的五大組成部分:運算器、控制器、存儲器、輸入設備、輸出設備。運算器(內)存儲器控制器輸入設備輸出設備數據流控制流程序數據請求信號響應信號反饋信號操作指令響應信號請求信號取數存數地址指令3.3.1 計算機程序探究活動一:計算機程序2、計算機的工作過程3.3.2 計算機程序設計語言1、 計算機程序語言探究活動二:計算機程序設計語言用自然語言、流程圖或偽代碼所描述的算法不能被計算機直接執行,還必須將算法按一定規則編寫成計算機能識別和運行的程序。計算機程序設計語言,是指一組用來定義計算機程序的語法規則,通常簡稱“編程語言”。3.3.2 計算機程序設計語言2、 計算機程序語言的發展歷程探究活動二:計算機程序設計語言機器語言匯編語言高級語言發展歷程3.3.2 計算機程序設計語言探究活動二:計算機程序設計語言2、 計算機程序語言的發展歷程1機器語言(第一代計算機語言)由于電子元件的物理特性,計算機只能識別0和1組成的二進制數,因而二進制是計算機語言的基礎。早期的程序設計語言是由二進制代碼指令組表示的,這樣的語言能被計算機直接接收和執行,稱為“機器語言”。1101011000101100101011103.3.2 計算機程序設計語言探究活動二:計算機程序設計語言2、 計算機程序語言的發展歷程1機器語言(第一代計算機語言)早期人們與計算機的通信都是通過機器語言編寫的程序完成的,程序中的所有語句都被分解成一系列由0和1組成的代碼記錄在穿孔帶上,如圖3-12所示。3.3.2 計算機程序設計語言探究活動二:計算機程序設計語言2、 計算機程序語言的發展歷程缺點:1、難以被理解,程序設計任務繁重,修改程序效率低下;2、每臺計算機的指令系統各不相同,在一臺計算機上執行的程序要移植到另一臺計算機時,需要重新編程,造成重復工作。(移植性差)優點:由于使用的是針對特定型號計算機的語言,因此運算效率是所有語言中最高的。1機器語言(第一代計算機語言)3.3.2 計算機程序設計語言探究活動二:計算機程序設計語言2、 計算機程序語言的發展歷程2匯編語言(第二代計算機語言)用類似英文縮略詞且帶有助記性符號的語言來替代一個特定的指令二進制串,每條指令都與一條機器指令相對應,只是指令碼和操作數采用符號形式,這就是“匯編語言”。3.3.2 計算機程序設計語言探究活動二:計算機程序設計語言2、 計算機程序語言的發展歷程2匯編語言(第二代計算機語言)但是,計算機是不能直接認識這些符號的,計算機還需要一個專門的語言翻譯器,負責將程序中的每條語句都翻譯成用二進制數表示的機器語言(圖3-13)翻譯程序匯編語言機器語言匯編語言被翻譯成機器語言示意圖3.3.2 計算機程序設計語言探究活動二:計算機程序設計語言2、 計算機程序語言的發展歷程2匯編語言(第二代計算機語言)缺點:匯編語言同樣與特定機器及特定微處理器相關,移植性不好優點:1、運算效率高;2、準確發揮計算機硬件的功能和特長,編寫的程序精練、質量高,易于理解,至今在一些領域(例如,對時效性要求很高的程序、大型程序的核心模塊、工業控制方面等)仍是一種常用而強有力的軟件開發工具。3.3.2 計算機程序設計語言探究活動二:計算機程序設計語言2、 計算機程序語言的發展歷程2高級語言(第三代計算機語言)高級語言接近于數學語言和人的自然語言,并且不再過度地依賴某種特定的機器或環境。編譯程序是計算機把高級語言程序的每一條語句都編譯成機器語言,并保存成二進制文件后才運行的程序。解釋程序是計算機在執行高級語言程序時,逐條語句解釋成機器語言并立即執行的程序。編譯程序或解釋程序高級語言機器語言高級語言被翻譯成機器語言示意圖2019年7月20日IEEE Spectrum 發布了第四屆頂級編程語言交互排行榜前十位的高級語言依次分別是:Python、C、Java、C++、C#、R、JavaScript、PHP、Go、Assembly,請小組分工合作,通過網絡搜索,分別找出它們誕生的時間,并完成時間線的制作。探究活動二:計算機程序設計語言常見的高級程序設計語言3.3.2 計算機程序設計語言2、 計算機程序語言的發展歷程3.3.2 計算機程序設計語言探究活動二:計算機程序設計語言2、 計算機程序語言的發展歷程3.3.2 計算機程序設計語言探究活動二:計算機程序設計語言2、 計算機程序語言的發展歷程優點:1、代碼簡單,易于理解;2、抽象度高,源代碼無須與硬件、系統底層操作對應,移植性非常好。print(9+8)用高級語言實現“9+8”的運算指令:2高級語言(第三代計算機語言)3.3.2 計算機程序設計語言討論探究活動二:計算機程序設計語言三代計算機語言的優勢與不足語言類型 是否翻譯(編譯) 優勢 不足一 機器語言 否 能被計算機接受和執行,運算效率最高。 程序難以理解,程序設計任務繁重,移植性差。二 匯編語言 是 針對計算機特定硬件而編制的匯編語言程序,比機器語言易于理解,效率仍十分高。 不能被計算機直接運行,移植性不好。三 高級語言 是 接近于數學語言或人的自然語言,易于理解,移植性好。 不能被計算機直接運行。總結項目實施1、 結合微課安裝Python程序2、 參照項目范例的樣式,撰寫相應的項目成果報告各個小組協作完成項目以下任務:成果交流與評價1、各個小組將完成的項目成果在小組或班級進行展示與交流2、 各個小組結合活動過程和項目活動評價表,開展學習活動評價。“綜合得分”為:“學生互評”為30%+“學生自評”為30% +“教師評”為40%項目及分值 評分標準與分值 得分 自評 互評 師評作品選題 20 準確把握項目學習的意義和目的。 5選題切合實際、符合科學。 5選題有應用價值、創新價值。 5選題適宜解決、可行性高。 5規劃與分析 15 準確分析設計的目的。 10準確分析方案的需求。 10準確描述方案的功能。 10工具與方法 10 合理使用數字化工具及資源。 10圍繞項目進行自主、協作學習。 10步驟與過程 30 能完整經歷計算機解決問題的過程 10運用流程圖描述算法 10通過探討和網絡檢索了解計算機程序和計算機語言 10合計得分 100THANK YOU 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫