資源簡介 第2單元探究如何用計算機解決問題本單元學習的目的在于培養學生利用計算機解決問題的思維,能夠體驗如何運用PYTHON編程語言解決問題,并為未來編程學習打好基礎。通過本單元的學習,學生簡單了解PYTHON編程語言的特點及使用技巧,掌握其基本語法,會分析程序、設計程序,對于生活中簡單的問題可以用計算機解決通過對順序結構、選擇結構和循環結構等語言的探索,培養計算思維,從而提高核心素養。微項目1探究用程序加工數據的過程1.PYTHON語言【名詞解釋】PYTHON語言是一種面向對象的解釋型計算機程序設計語言。【概念分析】PYTHONI語言是完全面向對象的語言,其中的函數、模塊、數字、字符串等都是對象,完全支持繼承、派生等關系,有益于增強源代碼的復用性。PYTHON語言倡導用一種方法,最好是只用一種方法來解決問題,它是簡單主義語言的代表,閱讀PYTHON語言就像讀英語,會使開發者專注于解決問題而非語言本身。【概念應用】PYTHONI語言具有簡潔性、易讀性等特點,其規范性極強,模塊與模塊之間的界限由每行的首字符在本行的位置決定,這就決定了PYTHON語言要求極高的縮進原則,強制使用4個空格表示每級縮進。PYTHON語言因其易學、嚴道、易讀、易推護的特點成為程序設計者的理想編程件,被大規模軟件開發者使用等。2.面向對象【名詞解釋】面向對象是一種軟件開發的方法。它不同于程序設計中用算法按步驟來解決同題,面是將問題模塊分成一個個對象,用于描述這些模塊在解決問題的步驟中的行為。面向對象是計算機編程發展到一定階段的產物。【概念分析】面向對象包括面向對象的分析、設計和編程實現等。面向對象的概念和應用已超越了程序設計和軟件開發,擴展到如數據庫系統、交互式界面、應用結構、應用平臺、分布式系統、網絡管理結構、CAD技術、人工智能等領域。面向對象是一種對現實世界理解和抽象的方法。3.數據類型【名詞解釋】數據類型在數據結構中的定義是一個值的集合以及定義在這個值集上的一組操作。數據類型包括原始類型、多元組、記錄單元、代數數據類型、抽象數據類型參考類型以及函數類型。概念分析PYTHON語言具有六種數據類型,包括Number(數字)、String(字符串)Tuple(元組)、List(列表)、Set(集合)、Dictionary(字典),其中,前三種類型屬于不可變數據類型,后三種屬于可變數據類型。教材中已對前兩種類型作出介紹,下面簡要介紹一下后面幾種1.Tuple(元組)元組寫在小括號()里,元素之間用逗號(,)隔開,必須注意小括號和逗號都是在英文狀態下輸入,組中的元素類型可以不相同。可參考以下實例:#!/usrbin/python3m=('abc’,637,3.14,‘python’,70.2)n=(123,‘python’)print(m)#輸出完整元組print(m[0])#輸出元組的第一個元素print(m[1:3])#輸出從第二個元素開始到第三個元素print(m[2:1])#輸出從第三個元素開始的所有元素print(n2)#輸出兩次元組print(m+n)#連接元組以下為輸出結果:(‘abc’,637,3.14.‘python’,702)abc(637,3.14)(3.14,‘python’,70.2)(123,‘python’,123,‘python’)(‘abe’,637,3.14,‘python’,70.2,123,‘python’)2.List(列表)List(列表)是Python中使用最頻繁的數據類型。列表中元素的類型可以不相同,它支持數字、字符串甚至可以包含列表(所謂嵌套)。列表是寫在方括號[]之間、用逗號(,)分隔開的元素列表。和字符串一樣,列表同樣可以被索引和截取,列表被截取后返回一個包含所需元素的新列表。列表截取的語法格式如下:變量[頭下標:尾下標]索引值以0為開始值,-1為從末尾的開始位置。加號(+)是列表連接運算符,星號()是重復操作。如下實例:#!/usrbin/python3m=[‘abc’,637,3.14,‘python’,70.2]n=[123,‘python’]print(m)#輸出完整列表print(m[0])#輸出列表第一個元素print(m[1:3])#從第二個開始輸出到第三個元素print(m[2:1])#輸出從第三個元素開始的所有元素print(n2)#輸出兩次列表print(m+n)#連接列表以下是輸出結果:[‘abc’,637,3.14,’python’,70.2]Abc[637,3.14][3.14,’python’,70.2][123,’python’,123,’python’][‘abc’,637,3.14,’python’,70.2,123,’python’]3.Set(集合)集合(set)是一個無序不重復元素的序列。基本功能是進行成員關系測試和刪除重復元素。可以使用大括號{}或者set()函數例建集合,注意:創建一個空集合必須用set()而不是{},因為{}是用來創建一個空字典。以下為創建格式:p={valuer01,value02…)或者set(value)4.Dictionary(字典)字典(dictionary)是Python中另一個非常有用的內置數據類型。列表是有序的對象集合,字典是無序的對象集合。兩者之間的區別在于:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。字典是一種映射類型,字典用“{}”標識,它是一個無序的鍵(key):值(value)對集合。特別注意:鍵(key)必須使用不可變類型,在同一個字典中,鍵(key)必須是唯一的。【概念應用】在一些特殊的情況下,我們需要對數據類型進行轉換,只需將數據類型名稱轉換為函數名即可,以下幾個函數可完成相應數據類型的轉換。函數描述Int(x[,base])將x轉換成一個整數Float(x)將x轉換成一個浮點數Complex(real[,imag])創建一個復數Str(x)將對象x轉換成字符串Repr(x)將對象x轉換成表達式字符串Cval(str)用來計算在字符串中的有效python表達式,并返回一個對象Tuple(s)將序列s轉換成一個元組List(s)將序列s轉換成一個列表Set(s)轉換為可變集合Dict(d)創建一個字典,d必須是一個序列(key,value)元組技術手冊活動1:編寫“利息計算”程序代碼技術關鍵:Input(輸入命令)、print(輸出命令)。點拔:此題是計算利息的問題,根據“利息=本金利率”來計算。利用Input命令輸人本金,計算機利用利息計算公式計算利息,最后利用print命今輸出利息金額。這就是利用程序加工數據的完整過程。x=int(input(“金額:”))#利用inputa命令輸入本金xy=x1.5/100#計算利息ypint(“利息是:”,y)#利用print命令輸出利息y活動2:編寫“品質列表”程序技術關鍵:列表m[9]共有10個元素,下標從0開始,第1個元素為m[0],第2個元素為m[1]…第10個元素為m[9];列表元素的追加:m.append(’元素’)。M=[‘愛國’,’堅毅’,’樂觀’]printe(“你的品質:”,m)m.append(’努力’)#追加元素[’努力’]m.append(’細致’)#追加元素[‘細致’]print(“你的品質:”,m)print(“第一品質:”,m[0])技術探索:嘗試用文件存儲數據1、打開一個文件Fw=open(“group5.txt”,”w”)2、向文件寫入字符串Fw.write(“我的小組:”)3、向文件寫入字符并換行Fw.write(?“五組/n”)4、關閉打開的文件Fw.close()教學指引【指導學時】2課時【教學建議】Python語言是完全面向對象的語言,其書寫規范、清晰,若編碼人員有不好的編程習慣,則編譯可能無法通過,因此,在教學時要格外注意python語言的規范性。在項目研討過程中,要注意引導和鼓勵,利用簡單有趣的活動,激發學生的興趣、想象力、創造力,打破程序學習的神秘面紗,讓程序的學習不再枯燥難懂。活動1“編寫數據加工的程序”:為使學生體會在計算機中輸入、加工與輸出數據的過程,設計相應程序,完成數據加工的學習任務。初步了解python編程軟件的操作方法,能夠利用python語言解決簡單問題。活動2“探究數據的存儲方式”:使用列表來模擬存儲一些數據,編寫簡單的程序代碼,觀察輸出結果,從而研究數據的存儲方式。學會輸入命令(input)、輸出命令(print)的使用。第2單元探究如何用計算機解決問題微項目2用選擇結構程序做出判斷科技詞典1.選擇結構【名詞解釋】選擇結構又叫分支結構,它的執行是依據一定的條件作出判斷,根據判斷結果,選擇執行不同的分支。選擇結構并不是嚴格按照程序語句出現的順序執行,也并不會執行所有程序語句,而只是執行符合判斷條件的那部分語句。【概念分析】使用選擇結構的關鍵在于構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的分支語句。選擇結構適合帶有邏輯或關系比較等條件判斷的計算,設計這類程序時往往要先繪制流程圖描述算法,然后根據流程圖寫出程序代碼,把程序設計分析與程序語言分離,從而使問題簡單化,易于理解。2.變量【名詞解釋】變量是指在程序運行時,其值可以改變的量,是一個用變量名訪問的存儲空間,用于存儲變化的信息。【概念分析】變量同常量一樣可以看作是存放信息的“容器”,不同的是變量的“容器”里的信息不是固定的,是可以改變的。每個變量都對應一個存儲單元,變量名就是該存儲空間的標識,程序通過變量名訪問存儲單元里的數據。在Python中,變量不需要事先聲明,可以直接引用。【概念應用】Python中的變量不需要聲明,但是在使用前必須賦值,變量賦值以后該變量才會被創建。在python中利用“等號(=)”來給變量賦值。等號(=)運算符左邊是一個變量名,右邊是存儲在變量中的值。如以下實例所示:#!/usr/bin/python3I=100#整型變量M=1000.0#浮點型變量N=”python”#字符串Print(i)Print(m)Print(n)執行以上程序會輸出如下結果:1001000.0PythonPython允許同時為多個變量賦值。例如:A=b=c=1以上實例,創建一個整型對象,值為1,三個變量都指向同一個內存位置。我們也可以為多個對象指定多個變量。例如:a,b,c=1,2,”python”在以上實例中,兩個整型對象1和2的分配給變量a和b,字符串對象”python”分配給變量c。【技術手冊】1、驗證密碼是否輸入正確技術關鍵:條件表達式的使用(if…else);注意區分“==”(判斷是否等于)和“=”(賦值語句)。點拔:本問題的關鍵在于判斷輸入的密碼是否正確,若正確,輸出“歡迎您!”,若密碼輸入錯誤,則輸出“密碼錯誤”。Ifp==”xly23z”;Print(“歡迎您!”)else:print(“密碼錯誤”)2、比較兩個表達式的大小技術關鍵:表達式的計算;算數運算符的優先順序。點撥:兩個表達式的比較結果一般有三種情況(大于、小于和等于)。在判斷第一種情況后,需要在否則(else)情況下再進行判斷第二種情況,剩余的就是第三種情況。ifa>bprint(a,’>’,b)elseifaprint(a,’<’,b)eIseprint(a,’=’,b)3.多種情況的羅列推斷技術關鍵:對于多種可能的情況,使用“if…elif…else”進行判斷,其中“elif表示否則再判斷的意思。點撥:此題共分為四種情況,a.當輸入的年齡小于等于0時,顯示“你是在逗我吧!”;b.當輸人的年齡為1歲時,狗狗的年絵相當于14歲的人;c.當輸入的年齡為2歲時,狗狗的年齡相當于22歲的人;d.當輸入的年絵大于2歲時,狗狗的年絵相當于(22+(age-2)5)歲的人。ifage<=0:print(”你是在過我吧!”)elifage==1:print(”相當于14歲的人哦!”)elifage==2print(“相當于22歲的人哦!”)else:pint(”對應人類年齡:”,22+(age-2)5)教學指引【指導學時】2-3課時【教學建議】活動一:根據條件作出判斷。對于需要使用選擇程序作出判斷的同題,需具體問題具體分析,認識基本的選擇結語句,注意語句的縮進。活動二:根據多個條件逐步判斷。對于判斷條件比較多的問題,需要使用選結構的嵌套和復合選擇結構,注意比較運算符的正確使用。【數學范例】根據多個條件步推斷教學目標:1.學會條件語句結構,拿握其一般形式2.正確使用選擇結構的嵌套和復合選擇結構的運用3.了解比較運算符和邏輯運算符的使用方法,比較其異同教學方法項目教學法、合作探究法。教學過程:1.引入部分對于生活中判斷情況比較復雜的問題,可以用條件語句來解決。數師在屏幕上展示兩個不宜直接判斷大小的表達式,讓學生在不進行運算的基上直接判斷,但是學生并不能很容易地判斷出來,就可以交給計算機來完或。2新授部分小組合作學習,探究比較兩個表達式大小的所有情況,分別是大于、小于、等于三種。程序在進行判斷時,先判斷第一種情況,若不符合,則判斷第二種情況,若還不符合,再判斷第三種情況。小組探究選擇結構的嵌套的基本形式,如下:if(條件1)語句1elseif(條件2):語句2else:語句3小組合作,嘗試利用程序實現表達式大小的判斷過程,并思考:若需要將多種可能情況進行一一羅列,那么應該使用什么語句?接著,組內展開對“多種情況的羅列判斷”問題的研究,設計程序,并運行調試,體驗狗狗胸年齡與人相當的情況探索多重判斷的程序執行過程,并了解elif的作用。3.拓展部分自主學習“科學探究”中的內容,了解python中比較運算符的使用,學會使用運算判斷復雜的情況。合作完成“技術探索”中的內容,體驗邏輯運算與比較運算的異同,并合作完成兩個技術試驗,利用試驗來體驗and和or的不同,參考實驗過程中的條件值,分析返回結果。根據實驗內容提示,創造機器人聊天小程序。4.交流與反思(1)選擇結構的基本形式、適用條件。(2)體會選擇結構的嵌套,注意縮進等格式。(3)分析比較運算和邏輯運算的異同。(4)分享在本項目學習中的收獲與不足,與同學們探討。第2單元探究如何用計算機解決問題微項目3用循環結構程序自動化計算科技詞典1.循環結構【名詞解釋】循環結構是指在程序中需要反復執行某個功能面設置的一種程序結構。它由循環體中的條件來判斷健續執行循環體還是跳出循環。根據判斷條件,循環結構可分為以下兩種形式:先判斷后執行的循環結構(當型循環)和先執行后判斷的循環結構(直到型循環)。【概念分析】當條件成立的時候,執行循環體的代碼,當條件不成立的時候,跳出循環,執行循環結構后面的代碼。環結構用來描述重復執行某段算法的問題,可以減少源程序重復書寫的工作量,這是程序設計中最能發揮計算機特長的程序結構。一個完整的循環結構包含三個要素:循環變量、循環體和循環終止條件。【概念應用】循環結構包括兩種循環形式:(1)當型循環先判斷所給條件P是否成立,若P成立,則執行A(步驟);再判斷條件P是否成立;若P成立,則又執行A,如此反復,直到某一次條件P不成立時為止。(2)直到型循環先執行B,再判斷所給條件Q是否成立,若Q不成立,則再執行B,如此反復,直到Q成立,該循環過程結束。(條件P語句A假真)(語句B條件Q假真)技術手冊1.while循環Python中while語句的一般形式:whilel判斷條件:語句需要注意冒號和縮進。另外,在Python中沒有do…while循環。例如,使用while來計算1到100的總和#!/usrbin/envpython3n=100sum=0i=1whilei<=n:sum=sum+ii=i+1print(“1到%d之和為:%d”,(n,sum))執行結果如下:1到100之和為50502.for語句Python中for循環可以遍歷任何序列的項目,如一個列表或者一個字符串。for循環的一般格式如下for變量in序列語句for實例中也可以使用break語句,break語句用于跳出當前循環體。以下為遍歷“Python”中的字母:foriin’Python’print(“當前字母:”,i)教學指引指導學時13課時【數學建議】第一課時:體會循環的力量。解決累加的問題第二課時:了解計數循環的結構,掌for循環語句格式及使用條件。第三課時:探討條件循環結構,學會使用while循環語句,初步了解多重循環。【數學范例】探究條件循環的程序教學目標1.了解while環語句的基本形式2.學會用while循環語句解決生活中的同題。教學方法:自主探究結合分組團隊合作。教學過程教師可根據自己的教學風格和教學計劃合理地安排教學環節。下面以常規劃分為例給出一點過程上的提示,僅供參考。1.引人部分教師可以引導學生自行閱讀活動描述,然后通過問題啟發學生思考,最終將學生引導到用程序來解決問題的探究之路上。例如,講授活動2時,先讓學生體驗登錄網站時驗證碼的輸人,然后提出疑問:為防止惡意登錄,驗證碼的設置十分重要,那么同學們知道如何利用Python語言設計程序來實現驗證碼的輸入過程嗎?通過設置問題情境改發學生的學習興趣,使學生進行利用程序解決問題的探究過程。2.新授部分教師引導學生根據教材活動建議中提出的問題進行思考,然后結合小組討論,進行研究、實踐,并鼓勵學生匯報探究結果。驗證碼的輸入分為兩步:一是系統自動生成隨機驗證碼,二是驗證用戶輸入的驗證碼是否正確。經過計數循環專題的學習,學生已有的知識技能足以解決第一個步驟。第二個步驟教師可給出相應指導,讓學生通過小組合作討論,探究出系統自動生成隨機驗證碼的程序結構。教師繼續引導:while循環與or循環有相似之處,for環用于循環次數已知的情況,面while循環用于循環次數未知的情況,只有滿足條件時才能維續往后執行,否則跳出循環,while循環的一般形式如下While條件語句那么如何驗證用戶輸入的驗證碼是否正確呢?請同學們組內討論,利用while語環實現這個過程。學生完成之后,繼續思考,為進一步增強網絡信息的完全性,在用戶驗證碼輸人錯誤時立即產生一個新的驗證碼重新輸人,這個過程應該如何實現呢?請同學們研究討論。3.拓展部分數師引導學生合作討論“科學探究”,探究如何利用多重循環設計程序解決問題。教師可根據進度和時間情況,給于點按和指導,體現對學生的分層要求。4.小結與評價部分在課程結束前,教師幫助學生對本節課的計數循環、條件循環、多重循環等內容展開回顧、梳理與總結,可以采用互動提問和做練習的方式進行。教師幫助學生建立項目成果文件夾,將自己探究、調試過的相關程序分別保存在獨立的文件夾中,打包上傳,作為評價的部分依據,也可以幫助學生記錄自己學習和進步的歷程。 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫