版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1.3認(rèn)識數(shù)據(jù)抽象高中信息技術(shù)/教科版/選擇性必修1目錄1.情景導(dǎo)入2.新知講授3.拓展練習(xí)4.課堂小結(jié)1.情境導(dǎo)入大多數(shù)人家里都有電視機(jī),那么有誰知道電視機(jī)接收節(jié)目、顯示畫面的原理?如果不知道這些原理,是否影響我們使用電視機(jī)來收看節(jié)目?本節(jié)我們將通過“電視機(jī)的抽象”“程序化電視機(jī)”等活動了解電視機(jī)的運行原理,建立抽象的概念。2.新知講授什么是抽象在計算機(jī)科學(xué)中,抽象(abstraction)是一種拋棄局部“物理的”細(xì)節(jié),從整體“邏輯的”角度來看待事物的方式。所謂“邏輯的”,一般指事物的性質(zhì)、功能、相互關(guān)聯(lián)等,而“物理的”,則是事物的具體構(gòu)成、實現(xiàn)細(xì)節(jié)和運作方式等。抽象關(guān)注“能做什么”,而不涉及“怎么做”,具有更大的靈活性和可擴(kuò)展性。抽象也是相對的,可以在不同層次上進(jìn)行抽象。
任務(wù)一
電視機(jī)中的抽象
活動1了解用戶眼中的電視機(jī)每家每戶的電視機(jī)在外觀、尺寸、內(nèi)部結(jié)構(gòu)和節(jié)目接收方式上會有很多不同,但在收看節(jié)目方面,許多人都能夠在短時間里熟悉一臺電視機(jī)的操作方式,熟練地收看節(jié)目。無論電視機(jī)是什么品牌、多大尺寸,只要功能相同,都可以通過相同的操作界面來使用電視機(jī)收看節(jié)目。如果電視機(jī)遙控器丟失,可以購買“萬能遙控器”來操作電視,這說明了什么問題?說明電視機(jī)的基本功能都相同,甚至遙控器與電視機(jī)通信的方式也基本相同。從抽象的角度來看,用戶看到的是電視機(jī)邏輯的一面。用戶使用的是電視機(jī)設(shè)計者提供的一系列能夠收看和切換電視節(jié)目的功能,這些功能會通過遙控器上的按鈕來提供,電視機(jī)身上也有-些按鈕,這些按鈕也可以被稱為操作界面或接口(interface)。序號電視機(jī)的功能操作按鈕1開機(jī)/關(guān)機(jī)電源開關(guān)2根據(jù)號碼選擇頻道數(shù)字鍵盤3切換節(jié)目源4切換頻道5調(diào)節(jié)音量填一填“節(jié)目源”按鈕“頻道”上下箭頭按鈕“音量”上下箭頭按鈕
任務(wù)一
電視機(jī)中的抽象
活動1了解用戶眼中的電視機(jī)抽象和接口通過抽象方法,我們可以專注于問題解決方案的頂層邏輯功能設(shè)計,從問題的整體和全局出發(fā),定義一系列接口,讓用戶可以通過調(diào)用接口來執(zhí)行邏輯功能,而無須關(guān)心接口的具體物理實現(xiàn)細(xì)節(jié)。這樣,對于用戶來說,問題的復(fù)雜程度就大大簡化了。采用抽象方式來處理問題及其解決方案,能夠自頂向下層層分解復(fù)雜度,更加有條理地解決復(fù)雜問題,并通過同一邏輯方案的不同物理實現(xiàn)(implementation),使得問題解決方案具有靈活性和可擴(kuò)展性。
任務(wù)一
電視機(jī)中的抽象
活動1了解用戶眼中的電視機(jī)你知道電視機(jī)機(jī)殼內(nèi)的秘密嗎?
任務(wù)一
電視機(jī)中的抽象
活動2了解機(jī)殼之內(nèi)的物理實現(xiàn)同樣是一臺電視機(jī),觀眾只需要一臺遙控器就可以觀看電視節(jié)目,無需關(guān)心電視機(jī)運行的原理。而對于家電維修員,不僅要知道如何使用電視機(jī),而且需要知道保證電視機(jī)功能正常的物理實現(xiàn)細(xì)節(jié)。他需要理解節(jié)目畫面如何被顯示、遙控器信號如何被接收、如何連接內(nèi)部的音箱等。成像模塊是電視機(jī)畫面輸出的核心部件,雖然各種電視機(jī)的操作界面相似,但形成畫面的成像模塊卻可能差別甚大,閱讀下表的內(nèi)容,了解不同成像方式實現(xiàn)的一些細(xì)節(jié),試著查找資料,填寫表中的空白部分。類型/特性成像模塊畫面尺寸顯示分辨率顯像管電視機(jī)陰極射線管(CRT)較小較低平板電視機(jī)投影電視機(jī)填一填較高液晶顯示屏較大光源透射投影大中等不同成像方式電視機(jī)的技術(shù)實現(xiàn)對比表
任務(wù)一
電視機(jī)中的抽象
活動2了解機(jī)殼之內(nèi)的物理實現(xiàn)計算機(jī)程序是如何抽象的呢?程序中的抽象編寫程序的時候,也常常需要抽象。Python提供了很多內(nèi)置函數(shù)庫,我們可以直接調(diào)用這些函數(shù),而無須關(guān)心或者了解這些函數(shù)功能具體是如何實現(xiàn)的。例如,要計算某個數(shù)的平方根,可以在導(dǎo)入Python的math標(biāo)準(zhǔn)模塊之后,直接調(diào)用math.sqrt()函數(shù)來求值,而不用了解這個函數(shù)是如何對整數(shù)或者浮點數(shù)開平方的。如果我們把電視機(jī)的邏輯功能接口寫成Python函數(shù)的形式,那么用戶收看一次節(jié)目的過程就可以寫成一段程序了。下表是電視機(jī)功能接口的定義表。接口功能定義TVSet.powerOn()開啟電源TVSet.shift(source)切換節(jié)目源,可選“TV”“AV”“HDMI”“USBTVSet.channelUp()直接切換頻道,n為數(shù)字TVSet.channel(n)頻道號加一切換TVSet.channelDow()頻道號減一切換TVSet.volumeUp()音量增強(qiáng)TVSet.volumeDow()音量減弱TVSet.powerOff()關(guān)閉電源
任務(wù)二
程序化的電視機(jī)
活動1收看虛擬的電視機(jī)
任務(wù)二
程序化的電視機(jī)
活動1收看虛擬的電視機(jī)補(bǔ)充完整下列程序,完成一次節(jié)目收看,并在計算機(jī)上運行和驗證程序。01.#導(dǎo)入電視機(jī)模塊02.importtv03.myTV=tv.TVSet()04.myTV.powerOn()05.07.08.06.09.10.11.12.#新建一個電視機(jī)對象#開啟電源#切換到“TV”節(jié)目源#收看6頻道#看下一個頻道#看下一個頻道#看下一個頻道#看上一個頻道#調(diào)小音量#關(guān)閉電源myTV.shift(“Tv”)myTV.channel(6)myTV.channelUp()myTV.channelUp()myTV.channelUp()myTV.channelDown()myTV.volumeDown()myTV.powerOff()過程抽象和數(shù)據(jù)抽象過程抽象調(diào)用求平方根函數(shù)就是一個過程抽象(proceduralabstraction)的例子,我們不需要知道求平方根是怎么運算的,只需要知道這個函數(shù)叫什么、如何使用。如果按照說明正確調(diào)用函數(shù),那么這個函數(shù)就能實現(xiàn)它所聲稱的功能,而實現(xiàn)細(xì)節(jié)則被隱藏起來,或者說被抽象了。過程抽象和數(shù)據(jù)抽象數(shù)據(jù)抽象如果把現(xiàn)實世界中的事物抽象成一類數(shù)據(jù)對象,就可以只從其邏輯功能來描述這些數(shù)據(jù)對象的性質(zhì)、功能和它們之間的關(guān)聯(lián),而不涉及這些數(shù)據(jù)對象的具體實現(xiàn)細(xì)節(jié)。這就是跟過程抽象相似的數(shù)據(jù)抽象(dataabstraction)實現(xiàn)操作接口用戶實際上,在編寫電視收看程序的時候,已經(jīng)用到了電視機(jī)的數(shù)據(jù)抽象。利用Python語言的面向?qū)ο髾C(jī)制,我們在電視機(jī)模塊tv中定義了一個電視機(jī)類TVSet。請從教科書配套資源中找到tv.py文件,查看其中電視機(jī)類TVSet的每一個方法說明,了解電視機(jī)類TVSet的使用方法,并將每個方法的名稱摘抄在下表中。序號方法名稱功能描述1233
任務(wù)二
程序化的電視機(jī)
活動2了解電視機(jī)類TVSet的使用說明powerOn電視機(jī)開機(jī)、屏播放音樂、顯示信息shift檢查節(jié)目有效性、切換節(jié)目源,顯示信息channel切換頻道,顯示信息,切換畫面volumeUp音量增強(qiáng),設(shè)置音量,顯示畫面,顯示信息請從教科書配套資源中找到虛擬現(xiàn)實頭盔模塊vrhmd,修改前面的電視收看程序,完成全景影像節(jié)目收看。
任務(wù)二
程序化的電視機(jī)
活動3了解虛擬現(xiàn)實頭盔01.#導(dǎo)人虛擬現(xiàn)實頭盔模塊02.importvrhmd03.myTV=vrhmd.TVSet()04.myTV.powerOn()05.07.08.06.09.10.11.12.#切換到“VR”節(jié)目源#收看6頻道#看下一個頻道#看下一個頻道#看下一個頻道#看上一個頻道#調(diào)小音量#關(guān)閉電源myTV.shift(“VR”)myTV.channel(6)myTV.channelUp()myTV.channelUp()myTV.channelUp()myTV.channelDown()myTV.volumeDown()myTV.powerOff()數(shù)據(jù)封裝數(shù)據(jù)抽象實現(xiàn)了數(shù)據(jù)封裝(encapsulation),其優(yōu)勢不僅在于能夠把邏輯功能和實現(xiàn)細(xì)節(jié)分離,分解問題的復(fù)雜度,而且還使得數(shù)據(jù)對象的可擴(kuò)展性大大增強(qiáng),在更換邏輯功能的具體實現(xiàn)方案后,只要接口的功能和定義不變,就無須修改上層程序代碼。利用抽象方法,可以將一個高復(fù)雜度的問題分解為若干層次。這種層層抽象的細(xì)分結(jié)構(gòu),既有效限制了每個層次上的問題復(fù)雜度,又有利于問題解決方案的重復(fù)利用,可以做到下層實現(xiàn)細(xì)節(jié)的變動不影響上層的邏輯功能,具有強(qiáng)大的靈活性和可擴(kuò)展性。抽象數(shù)據(jù)類型抽象數(shù)據(jù)類型(AbstractDataType,ADT)是抽象概念在數(shù)據(jù)結(jié)構(gòu)上的具體應(yīng)用。將數(shù)據(jù)對象分析的結(jié)果,以邏輯功能接口的形式固定下來,就成為抽象數(shù)據(jù)類型。抽象數(shù)據(jù)類型實現(xiàn)了數(shù)據(jù)對象的封裝,并不涉及數(shù)據(jù)對象的實現(xiàn)細(xì)節(jié),而是通過接口的形式描述了數(shù)據(jù)的組成和對數(shù)據(jù)的各種操作。抽象數(shù)據(jù)類型并不受特定實現(xiàn)和編程語言的約束,可以通過調(diào)整實現(xiàn)方法來應(yīng)對應(yīng)用需求的變化。抽象數(shù)據(jù)類型概念的引入,降低了大型軟件系統(tǒng)的復(fù)雜度,提高了程序的可讀性與可維護(hù)性,使軟件系統(tǒng)的各部分相對隔離,在一定程度上解決了軟件可靠性、生產(chǎn)率等方面的問題。3.拓展練習(xí)利用所學(xué)的物理學(xué)知識,編程實現(xiàn)平拋運動(HorizontalProjectileMotion,HPM)類HPMotion,該類提供下列接口:classHPMotion:def__init__(self,h,vx):
#初始化接口,參數(shù)為高度h和水平速度vx
#指定時刻t的速度,返回元組(vx,vy)分別是水平、豎直方向的速度值defvelocity(self,t):#指定時刻t的位移,返回元組(dx,dy)分別是水平、豎直方向的位移defdisplacement(self,t):運行程序,通過調(diào)用HPMotion類的接口,無須了解內(nèi)部計算公式,就能夠得到指定時刻t的速度和位移值,深入體驗數(shù)據(jù)抽象的概念及其帶來的便利。classHPMotion:def__init__(self,h,vx)self.g=9.8self.h=hself.vx=vxdefvelocity(self,t):vy=self.g*treturnself.vx,vydefdisplacement(self,t):dx=self.vx*tdy=0.5*self.g*t*treturndx,dy
hpm=HPMotion(10,60)importturtletut=turtle.Turtle()turtle.setworldcoordinates(0,1000,1000,0)turtle.title("平拋運動")fortinrange(20):
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- (4篇)2024幼兒園小班老師見習(xí)期工作總結(jié)
- 原材料及中間產(chǎn)品管理方案
- 二零二五年香港活牛養(yǎng)殖、屠宰、運輸全流程服務(wù)合同3篇
- 房屋建筑學(xué)試題庫(含答案)匯編
- 二零二五版XX污水處理廠污泥處理與資源化利用合同3篇
- 阻礙執(zhí)行力的三大原因幻燈片資料
- 2024年海南衛(wèi)生健康職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 2024年浙江金融職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 臺球室項目投資協(xié)議書
- 2024年濟(jì)源職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 2024年個人汽車抵押借款合同范本(四篇)
- 軌道交通設(shè)備更新項目可行性研究報告-超長期國債
- 2024年公共衛(wèi)生基本知識考試題庫(附含答案)
- 2024-2030年中國一氧化二氮氣體行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- NB/T 11446-2023煤礦連采連充技術(shù)要求
- 任務(wù)13-1 火腿腸的加工
- 婚姻家庭編的女性權(quán)益保護(hù)研究
- T-ACEF 127-2024 火力發(fā)電廠高鹽廢水零排放工程應(yīng)用技術(shù)指南
- 手機(jī)綜合癥小品臺詞
- 銀行特殊人群服務(wù)方案
- 新生兒交接制度和流程
評論
0/150
提交評論