第二章 算法與問題解決 課件 2022-2023學(xué)年浙教版(2019)高中信息技術(shù)必修1_第1頁
第二章 算法與問題解決 課件 2022-2023學(xué)年浙教版(2019)高中信息技術(shù)必修1_第2頁
第二章 算法與問題解決 課件 2022-2023學(xué)年浙教版(2019)高中信息技術(shù)必修1_第3頁
第二章 算法與問題解決 課件 2022-2023學(xué)年浙教版(2019)高中信息技術(shù)必修1_第4頁
第二章 算法與問題解決 課件 2022-2023學(xué)年浙教版(2019)高中信息技術(shù)必修1_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第二章算法與問題解決引入一個(gè)農(nóng)夫要將一匹狼、一只羊和一筐菜運(yùn)到河對(duì)岸。但他的船太小,一次只能帶一樣。當(dāng)他不在時(shí),狼要吃羊、羊會(huì)吃菜。怎樣乘船才能安全地把這些東西運(yùn)過河?分析問題食物鏈解決問題第一次:先帶羊過去;第二次:把狼帶過去,返程時(shí)再把羊帶回來;第三次:把蔬菜帶過去;第四次:最后把羊帶過去。尋找解決問題方法,可以稱之為算法解決問題第一次:先帶羊過去;第二次:把狼帶過去,返程時(shí)再把羊帶回來;第三次:把蔬菜帶過去;第四次:最后把羊帶過去。尋找解決問題方法,可以稱之為算法算法的概念古代的算法古代的算法主要指的是”算術(shù)”,即數(shù)值的算術(shù)運(yùn)算。隨著科學(xué)技術(shù)的發(fā)展,算法的外延和內(nèi)涵逐漸發(fā)生著變化。廣義算法算法指的是解決問題或完成任務(wù)的一系列步驟。既包括傳統(tǒng)意義上計(jì)算任務(wù),也可以是生活中各種事物的處理。計(jì)算機(jī)算法計(jì)算機(jī)領(lǐng)域內(nèi),算法指的是用計(jì)算機(jī)解決問題的步驟。是為了解決問題而讓計(jì)算機(jī)有序執(zhí)行的、無歧義的,有限步驟的集合。算法的特征問題:1、判斷拋物線y=5x2+4x+6與X軸是否有交點(diǎn)。2、設(shè)計(jì)一個(gè)算法,要求輸入X的一個(gè)值后,輸出相應(yīng)的絕對(duì)值。算法:1、計(jì)算?=42-4*5*6;2、如果?>0,執(zhí)行步驟3,否則執(zhí)行步驟4;3、輸出有交點(diǎn),結(jié)束;4、輸出無交點(diǎn),結(jié)束。分析項(xiàng)目拋物線絕對(duì)值執(zhí)行步驟個(gè)數(shù)每一步是否明確可執(zhí)行是否有輸入是否有輸出4是否是4是是是算法的特征有窮性:計(jì)算步驟是有限的確定性:每一個(gè)步驟必須有確切的定義數(shù)據(jù)輸入:必須有0個(gè)或多個(gè)數(shù)據(jù)輸入數(shù)據(jù)輸出:必須有1個(gè)或多個(gè)數(shù)據(jù)輸出可行性:每個(gè)步驟都可以在有限時(shí)間內(nèi)完成死循環(huán)?隨便進(jìn)行?大致就行?0個(gè)輸入是算法本身給出了初始條件無功而返?可以得出結(jié)果。算法的要素如何確定工作多久?如何記錄進(jìn)水量的?如何記錄工作時(shí)間?時(shí)間達(dá)標(biāo)了會(huì)干嘛?不達(dá)標(biāo)會(huì)干嘛?數(shù)據(jù)運(yùn)算控制轉(zhuǎn)移算法的描述我們剛剛是如何描述一個(gè)算法的?文字描述→自然語言流程圖算法的描述流程圖偽代碼算法的描述算法的描述用計(jì)算機(jī)程序設(shè)計(jì)語音描述算法基本結(jié)構(gòu)—順序結(jié)構(gòu)算法描述的方法優(yōu)勢不足自然語言表示法用人們?nèi)粘K玫恼Z言,比較容易掌握。當(dāng)算法中含有多分支或循環(huán)操作較多時(shí)很難清晰地表示出來,由于自然語言的歧義性,容易導(dǎo)致算法執(zhí)行的不確定性。流程圖表示法用程序框圖來描述,流程描述清晰簡潔。所占篇幅較大,由于允許使用流程線,過于靈活,不受約束。偽代碼表示法用介于自然語言和計(jì)算機(jī)語言之間的文字和符號(hào)來描述,書寫方便,格式緊湊,易于理解,便于向計(jì)算機(jī)程序設(shè)計(jì)語言過渡。由于編程語言的種類繁多,偽代碼的語句不容易規(guī)范,有時(shí)會(huì)產(chǎn)生誤解。計(jì)算機(jī)程序設(shè)計(jì)語言用計(jì)算機(jī)專門的語言來描述,精確性高,計(jì)算機(jī)可以直接運(yùn)行??梢浦玻煌O(shè)備對(duì)于相同的代碼都能運(yùn)行計(jì)算機(jī)語言的學(xué)習(xí)成本高3.2Python語言程序設(shè)計(jì)3.2.1Python語言基礎(chǔ)編程環(huán)境圖3.2.1IDLE的操作界面解釋器操作界面編輯器操作界面編程環(huán)境解釋器操作界面編輯器操作界面敲一次回車運(yùn)行一行代碼編輯完成后,運(yùn)行所有代碼拓展鏈接集成開發(fā)環(huán)境(IDE)是提供程序開發(fā)環(huán)境的應(yīng)用程序,一般包括代碼編輯器、調(diào)試器和圖形用戶界面工具。目前,用于編寫Python程序的IDE較多,如IDLE、Spyder、Wing、PyCharm等。如圖3.2.2是Spyder的操作界面。圖3.2.2spyder的操作界面編輯器解釋器數(shù)據(jù)類型與表達(dá)式表3.2.1Python常見數(shù)據(jù)類型42.0是什么類型呢?“42.0”是什么類型呢?python是弱類型語言,相對(duì)于強(qiáng)類型語言,它不需要聲明變量的類型。甚至粗暴到連聲明關(guān)鍵字都省略了。數(shù)據(jù)按照其本身特征可以分為若干類型,常見的Python基本數(shù)據(jù)類型如表所示。數(shù)據(jù)類型與表達(dá)式數(shù)據(jù)信息分析運(yùn)算010203Python算術(shù)運(yùn)算符Python關(guān)系運(yùn)算符Python邏輯運(yùn)算符算術(shù)運(yùn)算符算術(shù)運(yùn)算是運(yùn)用算術(shù)運(yùn)算符進(jìn)行數(shù)的加、減、乘、除等數(shù)學(xué)運(yùn)算。優(yōu)先程度最高級(jí)別為1,級(jí)別數(shù)字越大,優(yōu)先級(jí)越低。a.2**10b.3*4–5*6c.123-123//100*100d."Who"+"Am"+"I?"字符串運(yùn)算符:”*”用于重復(fù)字符串關(guān)系運(yùn)算符關(guān)系運(yùn)算的結(jié)果是一個(gè)布爾值,若兩個(gè)數(shù)據(jù)之間指定的關(guān)系成立,則結(jié)果為真(True),否則為假(False)。關(guān)系運(yùn)算符的優(yōu)先級(jí)全部相同,但低于算術(shù)運(yùn)算符,優(yōu)先級(jí)為4關(guān)系運(yùn)算符表3.2.3Python關(guān)系運(yùn)算符邏輯運(yùn)算法表3.2.4Python邏輯運(yùn)算符邏輯運(yùn)算符經(jīng)常用于描述復(fù)雜情況的判斷。邏輯運(yùn)算符的優(yōu)先級(jí)各不相同:not優(yōu)先級(jí)為5,and優(yōu)先級(jí)為6,or優(yōu)先級(jí)為7。運(yùn)算符的優(yōu)先級(jí)優(yōu)先程度最高級(jí)別為1,級(jí)別數(shù)字越大,優(yōu)先級(jí)越低。和數(shù)學(xué)一樣,括號(hào)的優(yōu)先級(jí)最高,高于任何運(yùn)算符,有括號(hào)先算括號(hào)變量和賦值語句運(yùn)算符描述實(shí)例=基本賦值運(yùn)算符c=a+b將a+b的運(yùn)算結(jié)果賦值給c+=加法賦值運(yùn)算符c+=a等效于c=c+a?=減法賦值運(yùn)算符c?=a等效于c=c?a*=乘法賦值運(yùn)算符c*=a等效于c=c*a/=除法賦值運(yùn)算符c/=a等效于c=c/a%=取模賦值運(yùn)算符c%=a等效于c=c%a**=冪賦值運(yùn)算符c**=a等效于c=c**a//=取整除賦值運(yùn)算符c//=a等效于c=c//aa=160----變量為整型b=“test”----變量為字符型x=y=z=1----多重賦值x,y,z,=1,2,“string”----多元賦值abx=y=z=x,y,z,變量在首次賦值時(shí)產(chǎn)生,沒賦值即不存在a35a5變量就是存放值的一段內(nèi)存空間a=5a=31.變量名通常由字母,數(shù)字,下劃線(_)組成;2.數(shù)字不能作為變量名開頭;3.不能以python中的關(guān)鍵字命名(False、and、if);

3.help('keywords')查看4.建議變量名要有意義;5.不建議用漢字和拼音去命名;6.變量名要區(qū)分大小寫(A和a是兩個(gè)不同的變量);7.建議使用駝峰型(GuessAge或guessAge)和下3.3.劃線(guess_age)來命名;8.常量通常使用全部大寫來命名.課堂小練在PythonShell中輸入:2+3*7,按回車鍵后,輸出的結(jié)果是 ( )A.35 B.33 C.23 D.2+3*7 AAA選項(xiàng)錯(cuò)誤BBB選項(xiàng)錯(cuò)誤CCC選項(xiàng)正確,本題考查算術(shù)運(yùn)算符,即數(shù)學(xué)中的運(yùn)算DDD選項(xiàng)錯(cuò)誤2.已知x="20",y="21",z=x+y,則print(z)的結(jié)果是 ( )A.41 B.2021C.''41'' D.''20"''21"AAA選項(xiàng)錯(cuò)誤BBB選項(xiàng)正確,本題考查算術(shù)運(yùn)算符在字符串中的運(yùn)算CCC選項(xiàng)錯(cuò)誤DDD選項(xiàng)錯(cuò)誤課堂小練

AA

BBB正確,本題考查算術(shù)運(yùn)算符CC

DD

4.下列表達(dá)式的值為False的是 ( )A.0orTrue B.TrueorFalseC.2<1and2<3

溫馨提示

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

評(píng)論

0/150

提交評(píng)論