版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1.3認(rèn)識(shí)數(shù)據(jù)抽象高中信息技術(shù)/教科版/選擇性必修1目錄1.情景導(dǎo)入2.新知講授3.拓展練習(xí)4.課堂小結(jié)1.情境導(dǎo)入大多數(shù)人家里都有電視機(jī),那么有誰(shuí)知道電視機(jī)接收節(jié)目、顯示畫面的原理?如果不知道這些原理,是否影響我們使用電視機(jī)來(lái)收看節(jié)目?本節(jié)我們將通過(guò)“電視機(jī)的抽象”“程序化電視機(jī)”等活動(dòng)了解電視機(jī)的運(yùn)行原理,建立抽象的概念。2.新知講授什么是抽象在計(jì)算機(jī)科學(xué)中,抽象(abstraction)是一種拋棄局部“物理的”細(xì)節(jié),從整體“邏輯的”角度來(lái)看待事物的方式。所謂“邏輯的”,一般指事物的性質(zhì)、功能、相互關(guān)聯(lián)等,而“物理的”,則是事物的具體構(gòu)成、實(shí)現(xiàn)細(xì)節(jié)和運(yùn)作方式等。抽象關(guān)注“能做什么”,而不涉及“怎么做”,具有更大的靈活性和可擴(kuò)展性。抽象也是相對(duì)的,可以在不同層次上進(jìn)行抽象。
任務(wù)一
電視機(jī)中的抽象
活動(dòng)1了解用戶眼中的電視機(jī)每家每戶的電視機(jī)在外觀、尺寸、內(nèi)部結(jié)構(gòu)和節(jié)目接收方式上會(huì)有很多不同,但在收看節(jié)目方面,許多人都能夠在短時(shí)間里熟悉一臺(tái)電視機(jī)的操作方式,熟練地收看節(jié)目。無(wú)論電視機(jī)是什么品牌、多大尺寸,只要功能相同,都可以通過(guò)相同的操作界面來(lái)使用電視機(jī)收看節(jié)目。如果電視機(jī)遙控器丟失,可以購(gòu)買“萬(wàn)能遙控器”來(lái)操作電視,這說(shuō)明了什么問(wèn)題?說(shuō)明電視機(jī)的基本功能都相同,甚至遙控器與電視機(jī)通信的方式也基本相同。從抽象的角度來(lái)看,用戶看到的是電視機(jī)邏輯的一面。用戶使用的是電視機(jī)設(shè)計(jì)者提供的一系列能夠收看和切換電視節(jié)目的功能,這些功能會(huì)通過(guò)遙控器上的按鈕來(lái)提供,電視機(jī)身上也有-些按鈕,這些按鈕也可以被稱為操作界面或接口(interface)。序號(hào)電視機(jī)的功能操作按鈕1開(kāi)機(jī)/關(guān)機(jī)電源開(kāi)關(guān)2根據(jù)號(hào)碼選擇頻道數(shù)字鍵盤3切換節(jié)目源4切換頻道5調(diào)節(jié)音量填一填“節(jié)目源”按鈕“頻道”上下箭頭按鈕“音量”上下箭頭按鈕
任務(wù)一
電視機(jī)中的抽象
活動(dòng)1了解用戶眼中的電視機(jī)抽象和接口通過(guò)抽象方法,我們可以專注于問(wèn)題解決方案的頂層邏輯功能設(shè)計(jì),從問(wèn)題的整體和全局出發(fā),定義一系列接口,讓用戶可以通過(guò)調(diào)用接口來(lái)執(zhí)行邏輯功能,而無(wú)須關(guān)心接口的具體物理實(shí)現(xiàn)細(xì)節(jié)。這樣,對(duì)于用戶來(lái)說(shuō),問(wèn)題的復(fù)雜程度就大大簡(jiǎn)化了。采用抽象方式來(lái)處理問(wèn)題及其解決方案,能夠自頂向下層層分解復(fù)雜度,更加有條理地解決復(fù)雜問(wèn)題,并通過(guò)同一邏輯方案的不同物理實(shí)現(xiàn)(implementation),使得問(wèn)題解決方案具有靈活性和可擴(kuò)展性。
任務(wù)一
電視機(jī)中的抽象
活動(dòng)1了解用戶眼中的電視機(jī)你知道電視機(jī)機(jī)殼內(nèi)的秘密嗎?
任務(wù)一
電視機(jī)中的抽象
活動(dòng)2了解機(jī)殼之內(nèi)的物理實(shí)現(xiàn)同樣是一臺(tái)電視機(jī),觀眾只需要一臺(tái)遙控器就可以觀看電視節(jié)目,無(wú)需關(guān)心電視機(jī)運(yùn)行的原理。而對(duì)于家電維修員,不僅要知道如何使用電視機(jī),而且需要知道保證電視機(jī)功能正常的物理實(shí)現(xiàn)細(xì)節(jié)。他需要理解節(jié)目畫面如何被顯示、遙控器信號(hào)如何被接收、如何連接內(nèi)部的音箱等。成像模塊是電視機(jī)畫面輸出的核心部件,雖然各種電視機(jī)的操作界面相似,但形成畫面的成像模塊卻可能差別甚大,閱讀下表的內(nèi)容,了解不同成像方式實(shí)現(xiàn)的一些細(xì)節(jié),試著查找資料,填寫表中的空白部分。類型/特性成像模塊畫面尺寸顯示分辨率顯像管電視機(jī)陰極射線管(CRT)較小較低平板電視機(jī)投影電視機(jī)填一填較高液晶顯示屏較大光源透射投影大中等不同成像方式電視機(jī)的技術(shù)實(shí)現(xiàn)對(duì)比表
任務(wù)一
電視機(jī)中的抽象
活動(dòng)2了解機(jī)殼之內(nèi)的物理實(shí)現(xiàn)計(jì)算機(jī)程序是如何抽象的呢?程序中的抽象編寫程序的時(shí)候,也常常需要抽象。Python提供了很多內(nèi)置函數(shù)庫(kù),我們可以直接調(diào)用這些函數(shù),而無(wú)須關(guān)心或者了解這些函數(shù)功能具體是如何實(shí)現(xiàn)的。例如,要計(jì)算某個(gè)數(shù)的平方根,可以在導(dǎo)入Python的math標(biāo)準(zhǔn)模塊之后,直接調(diào)用math.sqrt()函數(shù)來(lái)求值,而不用了解這個(gè)函數(shù)是如何對(duì)整數(shù)或者浮點(diǎn)數(shù)開(kāi)平方的。如果我們把電視機(jī)的邏輯功能接口寫成Python函數(shù)的形式,那么用戶收看一次節(jié)目的過(guò)程就可以寫成一段程序了。下表是電視機(jī)功能接口的定義表。接口功能定義TVSet.powerOn()開(kāi)啟電源TVSet.shift(source)切換節(jié)目源,可選“TV”“AV”“HDMI”“USBTVSet.channelUp()直接切換頻道,n為數(shù)字TVSet.channel(n)頻道號(hào)加一切換TVSet.channelDow()頻道號(hào)減一切換TVSet.volumeUp()音量增強(qiáng)TVSet.volumeDow()音量減弱TVSet.powerOff()關(guān)閉電源
任務(wù)二
程序化的電視機(jī)
活動(dòng)1收看虛擬的電視機(jī)
任務(wù)二
程序化的電視機(jī)
活動(dòng)1收看虛擬的電視機(jī)補(bǔ)充完整下列程序,完成一次節(jié)目收看,并在計(jì)算機(jī)上運(yùn)行和驗(yàn)證程序。01.#導(dǎo)入電視機(jī)模塊02.importtv03.myTV=tv.TVSet()04.myTV.powerOn()05.07.08.06.09.10.11.12.#新建一個(gè)電視機(jī)對(duì)象#開(kāi)啟電源#切換到“TV”節(jié)目源#收看6頻道#看下一個(gè)頻道#看下一個(gè)頻道#看下一個(gè)頻道#看上一個(gè)頻道#調(diào)小音量#關(guān)閉電源myTV.shift(“Tv”)myTV.channel(6)myTV.channelUp()myTV.channelUp()myTV.channelUp()myTV.channelDown()myTV.volumeDown()myTV.powerOff()過(guò)程抽象和數(shù)據(jù)抽象過(guò)程抽象調(diào)用求平方根函數(shù)就是一個(gè)過(guò)程抽象(proceduralabstraction)的例子,我們不需要知道求平方根是怎么運(yùn)算的,只需要知道這個(gè)函數(shù)叫什么、如何使用。如果按照說(shuō)明正確調(diào)用函數(shù),那么這個(gè)函數(shù)就能實(shí)現(xiàn)它所聲稱的功能,而實(shí)現(xiàn)細(xì)節(jié)則被隱藏起來(lái),或者說(shuō)被抽象了。過(guò)程抽象和數(shù)據(jù)抽象數(shù)據(jù)抽象如果把現(xiàn)實(shí)世界中的事物抽象成一類數(shù)據(jù)對(duì)象,就可以只從其邏輯功能來(lái)描述這些數(shù)據(jù)對(duì)象的性質(zhì)、功能和它們之間的關(guān)聯(lián),而不涉及這些數(shù)據(jù)對(duì)象的具體實(shí)現(xiàn)細(xì)節(jié)。這就是跟過(guò)程抽象相似的數(shù)據(jù)抽象(dataabstraction)實(shí)現(xiàn)操作接口用戶實(shí)際上,在編寫電視收看程序的時(shí)候,已經(jīng)用到了電視機(jī)的數(shù)據(jù)抽象。利用Python語(yǔ)言的面向?qū)ο髾C(jī)制,我們?cè)陔娨暀C(jī)模塊tv中定義了一個(gè)電視機(jī)類TVSet。請(qǐng)從教科書配套資源中找到tv.py文件,查看其中電視機(jī)類TVSet的每一個(gè)方法說(shuō)明,了解電視機(jī)類TVSet的使用方法,并將每個(gè)方法的名稱摘抄在下表中。序號(hào)方法名稱功能描述1233
任務(wù)二
程序化的電視機(jī)
活動(dòng)2了解電視機(jī)類TVSet的使用說(shuō)明powerOn電視機(jī)開(kāi)機(jī)、屏播放音樂(lè)、顯示信息shift檢查節(jié)目有效性、切換節(jié)目源,顯示信息channel切換頻道,顯示信息,切換畫面volumeUp音量增強(qiáng),設(shè)置音量,顯示畫面,顯示信息請(qǐng)從教科書配套資源中找到虛擬現(xiàn)實(shí)頭盔模塊vrhmd,修改前面的電視收看程序,完成全景影像節(jié)目收看。
任務(wù)二
程序化的電視機(jī)
活動(dòng)3了解虛擬現(xiàn)實(shí)頭盔01.#導(dǎo)人虛擬現(xiàn)實(shí)頭盔模塊02.importvrhmd03.myTV=vrhmd.TVSet()04.myTV.powerOn()05.07.08.06.09.10.11.12.#切換到“VR”節(jié)目源#收看6頻道#看下一個(gè)頻道#看下一個(gè)頻道#看下一個(gè)頻道#看上一個(gè)頻道#調(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ù)抽象實(shí)現(xiàn)了數(shù)據(jù)封裝(encapsulation),其優(yōu)勢(shì)不僅在于能夠把邏輯功能和實(shí)現(xiàn)細(xì)節(jié)分離,分解問(wèn)題的復(fù)雜度,而且還使得數(shù)據(jù)對(duì)象的可擴(kuò)展性大大增強(qiáng),在更換邏輯功能的具體實(shí)現(xiàn)方案后,只要接口的功能和定義不變,就無(wú)須修改上層程序代碼。利用抽象方法,可以將一個(gè)高復(fù)雜度的問(wèn)題分解為若干層次。這種層層抽象的細(xì)分結(jié)構(gòu),既有效限制了每個(gè)層次上的問(wèn)題復(fù)雜度,又有利于問(wèn)題解決方案的重復(fù)利用,可以做到下層實(shí)現(xiàn)細(xì)節(jié)的變動(dòng)不影響上層的邏輯功能,具有強(qiáng)大的靈活性和可擴(kuò)展性。抽象數(shù)據(jù)類型抽象數(shù)據(jù)類型(AbstractDataType,ADT)是抽象概念在數(shù)據(jù)結(jié)構(gòu)上的具體應(yīng)用。將數(shù)據(jù)對(duì)象分析的結(jié)果,以邏輯功能接口的形式固定下來(lái),就成為抽象數(shù)據(jù)類型。抽象數(shù)據(jù)類型實(shí)現(xiàn)了數(shù)據(jù)對(duì)象的封裝,并不涉及數(shù)據(jù)對(duì)象的實(shí)現(xiàn)細(xì)節(jié),而是通過(guò)接口的形式描述了數(shù)據(jù)的組成和對(duì)數(shù)據(jù)的各種操作。抽象數(shù)據(jù)類型并不受特定實(shí)現(xiàn)和編程語(yǔ)言的約束,可以通過(guò)調(diào)整實(shí)現(xiàn)方法來(lái)應(yīng)對(duì)應(yīng)用需求的變化。抽象數(shù)據(jù)類型概念的引入,降低了大型軟件系統(tǒng)的復(fù)雜度,提高了程序的可讀性與可維護(hù)性,使軟件系統(tǒng)的各部分相對(duì)隔離,在一定程度上解決了軟件可靠性、生產(chǎn)率等方面的問(wèn)題。3.拓展練習(xí)利用所學(xué)的物理學(xué)知識(shí),編程實(shí)現(xiàn)平拋運(yùn)動(dòng)(HorizontalProjectileMotion,HPM)類HPMotion,該類提供下列接口:classHPMotion:def__init__(self,h,vx):
#初始化接口,參數(shù)為高度h和水平速度vx
#指定時(shí)刻t的速度,返回元組(vx,vy)分別是水平、豎直方向的速度值defvelocity(self,t):#指定時(shí)刻t的位移,返回元組(dx,dy)分別是水平、豎直方向的位移defdisplacement(self,t):運(yùn)行程序,通過(guò)調(diào)用HPMotion類的接口,無(wú)須了解內(nèi)部計(jì)算公式,就能夠得到指定時(shí)刻t的速度和位移值,深入體驗(yàn)數(shù)據(jù)抽象的概念及其帶來(lái)的便利。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("平拋運(yùn)動(dòng)")fortinrange(20):
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第5單元 走向近代【考題猜想】(純?cè)囶})-2023-2024學(xué)年九年級(jí)歷史上學(xué)期期中考點(diǎn)大串講(部編版)
- 課題申報(bào)參考:面向最后一公里配送的無(wú)人機(jī)集貨中心選址及任務(wù)分配研究
- 二零二五年度米廠水稻種植與農(nóng)村電商合作項(xiàng)目合同4篇
- 2025年度餐飲店承包經(jīng)營(yíng)與食品安全責(zé)任合同
- 2025年度個(gè)人虛擬形象設(shè)計(jì)制作合同樣本4篇
- 2025年度二零二五年度木材加工廢棄物處理合同規(guī)范4篇
- 二零二五版木制托盤庫(kù)存管理與采購(gòu)合同4篇
- 2025年度個(gè)人貨運(yùn)車輛保險(xiǎn)合同范本大全3篇
- 二零二五年度玻璃瓶罐生產(chǎn)與銷售采購(gòu)合同3篇
- 2025年度文化旅游項(xiàng)目承包商擔(dān)保合同范本4篇
- 《職業(yè)培訓(xùn)師教程》課件
- (康德一診)重慶市2025屆高三高三第一次聯(lián)合診斷檢測(cè) 英語(yǔ)試卷(含答案詳解)
- 2025年福建泉州文旅集團(tuán)招聘24人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 文化沖突與民族認(rèn)同建構(gòu)-洞察分析
- 《疥瘡的防治及治療》課件
- 學(xué)校對(duì)口幫扶計(jì)劃
- 腫瘤全程管理
- 《3-6歲兒童學(xué)習(xí)與發(fā)展指南》專題培訓(xùn)
- 導(dǎo)尿及留置導(dǎo)尿技術(shù)
- 2024年高中一年級(jí)數(shù)學(xué)考試題及答案
- 寒假作業(yè)一年級(jí)上冊(cè)《數(shù)學(xué)每日一練》30次打卡
評(píng)論
0/150
提交評(píng)論