
這是一份高中信息技術(shù)滬教版(2019)選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)3.程序?qū)崿F(xiàn)評(píng)優(yōu)課ppt課件,文件包含項(xiàng)目三第三課時(shí)pptx、項(xiàng)目三第三課時(shí)doc等2份課件配套教學(xué)資源,其中PPT共20頁(yè), 歡迎下載使用。
第二單元 初識(shí)數(shù)據(jù)結(jié)構(gòu)項(xiàng)目三 探索商品基本信息表的實(shí)現(xiàn)——線性表的應(yīng)用第三課時(shí) 程序?qū)崿F(xiàn) ?教材分析本節(jié)的主要內(nèi)容是程序?qū)崿F(xiàn)。通過(guò) Python語(yǔ)言實(shí)現(xiàn)線性表的順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ),證算法的正確性。對(duì)照程序,學(xué)生從數(shù)據(jù)結(jié)構(gòu)的視角審視基于數(shù)組、鏈表的程序,解釋程序中數(shù)據(jù)的組織形式,描述數(shù)據(jù)的邏輯結(jié)構(gòu)及插入和刪除操作,評(píng)判其中數(shù)據(jù)結(jié)構(gòu)運(yùn)用的合性,在此過(guò)程中培養(yǎng)學(xué)生的計(jì)算思維能力。探索商品基本信息表的實(shí)現(xiàn),不僅能加深學(xué)對(duì)數(shù)據(jù)結(jié)構(gòu)基本概念,以及線性表順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)過(guò)程的理解更重要的是能夠熟練地運(yùn)用所學(xué)到的線性數(shù)據(jù)結(jié)構(gòu)知識(shí)解決生活中的真實(shí)問(wèn)題,在編寫程序過(guò)程中進(jìn)行自主和協(xié)作探究,從而培養(yǎng)學(xué)生的數(shù)字化學(xué)習(xí)和創(chuàng)新能力。?教學(xué)目標(biāo)1.編程實(shí)現(xiàn)線性表的順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ);?教學(xué)重點(diǎn)1.編程實(shí)現(xiàn)。?教學(xué)難點(diǎn)1.線性表順序存儲(chǔ)程序?qū)崿F(xiàn)。2.線性表鏈?zhǔn)酱鎯?chǔ)程序?qū)崿F(xiàn)。?教學(xué)方法體驗(yàn)法、講授法、討論法、示例法?教學(xué)準(zhǔn)備 計(jì)算機(jī)教室、多媒體設(shè)備、多媒體廣播軟件、教學(xué)課件、安裝Python編程的相關(guān)軟件、學(xué)生上機(jī)練習(xí)的程序文件,學(xué)生工作單等。?教學(xué)過(guò)程一、新課導(dǎo)入 復(fù)習(xí)數(shù)組的插入和刪除過(guò)程并導(dǎo)入本課的內(nèi)容——算法的實(shí)現(xiàn)。 二、程序?qū)崿F(xiàn)根據(jù)上述算法,可以編寫程序?qū)崿F(xiàn)“商品信息表”的數(shù)據(jù)插入與刪除。用 Python語(yǔ)言實(shí)現(xiàn)順序存儲(chǔ)結(jié)構(gòu)類型可以采用定義類的方式。商品信息定義如下: class goods:def _init_(self,bar_code=”,name=" ,s_number=0,price=0):self. Bar_code=bar_code #條形碼self. name=name #品名self.s_number=s_ number #庫(kù)存數(shù)量 self. price=price #售價(jià) 思考與討論如果要加入生產(chǎn)日期,該如何定義? 小貼士數(shù)組在不同高級(jí)語(yǔ)言定義是不同的,有的可以使用記錄類型即結(jié)構(gòu)類型的數(shù)組存儲(chǔ)數(shù)據(jù)元素(將多種數(shù)據(jù)類型集合在一個(gè)用戶自定義的數(shù)據(jù)類型中)。在 Python中可以用列表嵌套、定義類類型的對(duì)象列表等方式。為了方便理解算法思想,這里采用定義類類型的對(duì)象列表模擬數(shù)組的方式。 三、課堂活動(dòng)1.若采用數(shù)組,請(qǐng)參考配套資源中的“商品表(數(shù)組)py,完成以下程序,實(shí)現(xiàn)“商品信息表”的數(shù)據(jù)插入和刪除,并上機(jī)運(yùn)行。 數(shù)據(jù)插入程序數(shù)據(jù)刪除程序#表任意位置插入操作:def insert_ sq(self,i,elem): if not isinstance(i,int): raise TypeError If i <0 or i>self.num: #num是商品個(gè)數(shù) raise IndexError Self.data.append(goods) For j in range(self.num,i-1):________________________________________________________________#刪除表任意位置上的元素操作:def delete_sq(self,i): if not isinstance(i,int):raise TypeErrorif i <0 or i>=self.num: raise IndexErrorif self.num>0:for j in range(i,self.num-1):____________________del self.data[self.num-1]____________________ 2.若采用鏈表,請(qǐng)參考配套資源中的“商品表(鏈表).py”,完成以下實(shí)現(xiàn)“商信息表”的數(shù)據(jù)插入和數(shù)據(jù)刪除的程序。數(shù)據(jù)插入程序數(shù)據(jù)刪除程序#定義將元素icm插入表中作為第 index個(gè)元素:def insert_lk(self, index, item): if index<0 or index >self. getlength0: print (‘index error.‘)returnif index ==0: q= Node(item, self. Head) self. head =q else: post=self. head #post為指針前驅(qū) p= self. head. next j=1 while p!=0 and j<index: post=p__________________if index==j:q=node(item,p)________________________ #定義刪除表中第 index個(gè)元素的方法:def delete_lk(self,index): if self.is_empty() or index<0 or index>self. getlength0:print (‘linklist is empty.‘) returnif index ==0:self. head =self. head.nextelse: post=self. Head p= self. head. Nextj=1 while p!=0 and j<index: post=p__________________if index==j:_____
這是一份高中信息技術(shù)滬教版 (2019)選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)1.問(wèn)題分析示范課ppt課件,共35頁(yè)。PPT課件主要包含了主要工作和成效,組織榮譽(yù),存在問(wèn)題及分析,下步工作思路及措施等內(nèi)容,歡迎下載使用。
這是一份高中信息技術(shù)3.采用索引查找法查找商品精品ppt課件,文件包含項(xiàng)目九第三課時(shí)pptx、項(xiàng)目九第三課時(shí)doc等2份課件配套教學(xué)資源,其中PPT共41頁(yè), 歡迎下載使用。
這是一份滬教版(2019)2.體驗(yàn)使用二分查找法查找商品精品ppt課件,文件包含項(xiàng)目九第二課時(shí)pptx、項(xiàng)目九第二課時(shí)doc等2份課件配套教學(xué)資源,其中PPT共44頁(yè), 歡迎下載使用。
微信掃碼,快速注冊(cè)
注冊(cè)成功