第三單元 特殊的線性表項(xiàng)目四 探索電子排隊(duì)預(yù)訂功能的實(shí)現(xiàn)——隊(duì)列的應(yīng)用第二課時(shí) 設(shè)計(jì)算法 ?教材分析本節(jié)的主要內(nèi)容是設(shè)計(jì)算法。通過(guò)以探索電子排隊(duì)預(yù)訂功能的實(shí)現(xiàn)為主線,整個(gè)項(xiàng)目分為問(wèn)題分析、設(shè)計(jì)算法和程序?qū)崿F(xiàn)三個(gè)部分。本節(jié)課根據(jù)進(jìn)隊(duì)、出隊(duì)的過(guò)程設(shè)計(jì)進(jìn)隊(duì)、出隊(duì)操作算法,研究隊(duì)列兩種存儲(chǔ)結(jié)構(gòu),了解順序存儲(chǔ)結(jié)構(gòu)的越界問(wèn)題及解決越界問(wèn)題采用的一般方法,即循環(huán)隊(duì)列。通過(guò)本節(jié)課的學(xué)習(xí)能培養(yǎng)學(xué)生的信息意識(shí)和計(jì)算思維能力。?教學(xué)目標(biāo)1.能設(shè)計(jì)進(jìn)隊(duì)、出隊(duì)的算法;2.培養(yǎng)學(xué)生的信息意識(shí)和計(jì)算思維能力。?教學(xué)重點(diǎn)1.進(jìn)隊(duì)、出隊(duì)的算法設(shè)計(jì)。?教學(xué)難點(diǎn)1.能設(shè)計(jì)進(jìn)隊(duì)、出隊(duì)的算法。2.培養(yǎng)學(xué)生的信息意識(shí)和計(jì)算思維能力。?教學(xué)方法體驗(yàn)法、講授法、討論法、示例法?教學(xué)準(zhǔn)備  計(jì)算機(jī)教室、多媒體設(shè)備、多媒體廣播軟件、教學(xué)課件、Python編程環(huán)境、學(xué)生上機(jī)練習(xí)的程序文件,預(yù)先編制的Python程序文件等。?教學(xué)過(guò)程一、新課導(dǎo)入完成下面的任務(wù):假設(shè)排隊(duì)預(yù)訂客戶賬號(hào)數(shù)據(jù)為A001、A002000、A000下面空的隊(duì)列中依次A0001進(jìn)隊(duì),A0002進(jìn)隊(duì),A003進(jìn)隊(duì),叫號(hào)出隊(duì),A004進(jìn)隊(duì),叫號(hào)出隊(duì),叫號(hào)出隊(duì),叫號(hào)出隊(duì),畫(huà)出隊(duì)列的變化過(guò)程。(1)                 (2)                 (3)                     (4)                 (5)                 (6) 二、設(shè)計(jì)算法排隊(duì)預(yù)訂的隊(duì)列變化過(guò)程如圖3-3所示(為圖示方便暫定圖中隊(duì)列空間只有4個(gè))??蛻纛A(yù)訂即為進(jìn)隊(duì),假設(shè)A0001表示第一個(gè)客戶賬號(hào)數(shù)據(jù),購(gòu)買(mǎi)即為隊(duì)首出隊(duì)。圖中rear指向隊(duì)列的尾端,圖中 front指向隊(duì)列的首端。 3-3進(jìn)隊(duì)、出隊(duì)的過(guò)程示意 思考與討論1.隊(duì)尾指針是否一定要指向隊(duì)尾下一個(gè)元素?2.隊(duì)列在反復(fù)進(jìn)隊(duì)、出隊(duì)后會(huì)出現(xiàn)尾指針rear和頭指針front出界的情況,有什么解決方法? 參考:1.順序隊(duì)列隊(duì)尾指針一般情況下是指向隊(duì)尾下個(gè)元素的。但當(dāng)隊(duì)列滿時(shí),隊(duì)尾指針會(huì)出現(xiàn)出界的情況;循環(huán)隊(duì)列尾指針指向第一個(gè)元素;鏈隊(duì)列隊(duì)尾指針存儲(chǔ)的是NULL。隊(duì)列指針表示方法還有另種,即尾指針指向最后一個(gè)元素而不是最后一個(gè)元素的下一個(gè)元素。2.用順序隊(duì)列可采用循環(huán)隊(duì)列的方式或每次隊(duì)首元素出隊(duì),后面元素都向前移動(dòng)一次的方式解決這問(wèn)題(效率較低);用鏈表存儲(chǔ)隊(duì)列時(shí)須先增加結(jié)點(diǎn),再將原隊(duì)尾指針指向新的元素,最后更改隊(duì)尾指針。 隊(duì)列在計(jì)算機(jī)里怎樣表示呢?隊(duì)列是操作上有限制的線性表,既可以用數(shù)組表示一個(gè)隊(duì)列,也可以用鏈表表示個(gè)隊(duì)列。一般若問(wèn)題規(guī)模已知,即總的進(jìn)隊(duì)元素個(gè)數(shù)已知的話,隊(duì)列可以用順序存儲(chǔ)結(jié)構(gòu)存儲(chǔ),即用數(shù)組表示隊(duì)列;若進(jìn)隊(duì)元素個(gè)數(shù)無(wú)法預(yù)計(jì),則隊(duì)列可以用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)存儲(chǔ),即用鏈表表示隊(duì)列。 思考與討論用數(shù)組方式和用鏈表方式存儲(chǔ)隊(duì)列,隊(duì)列指針的形式有何不同?用數(shù)組方式,隊(duì)列指針實(shí)際存放的是數(shù)組元素的下標(biāo);用鏈表方式,隊(duì)列指針實(shí)際存放的是鏈表結(jié)點(diǎn)的地址。小貼士用數(shù)組存儲(chǔ)隊(duì)列時(shí),可能會(huì)遇到指針溢出的問(wèn)題,最簡(jiǎn)單的解決方法是將rear1改成rear=(rear+1)%Mfront的增1改成 front=( front+1)%M。其中M為隊(duì)列的空間數(shù),%是取余運(yùn)算符,這時(shí)的順序隊(duì)列被稱(chēng)為循環(huán)隊(duì)列。為了操作方便增加一個(gè)計(jì)數(shù)器 number,記錄隊(duì)列中的元素個(gè)數(shù)。 三、隊(duì)列的常用基本操作1.進(jìn)隊(duì)進(jìn)隊(duì)就是從隊(duì)尾添加數(shù)據(jù)的操作。    順序隊(duì)列進(jìn)隊(duì)的算法思想:若隊(duì)列不滿,則將進(jìn)隊(duì)的元素送入尾指針rear所指空間,元素個(gè)數(shù)計(jì)數(shù)器增1,然后將尾指針rear往尾部方向移動(dòng)一位即指向新的隊(duì)尾。?????????????      def EnQueue(self,e):       if(self.number==self.size):print(隊(duì)滿,不能進(jìn)")      elseself.queue[self.rear]=e          self. rear=(self. rear+ 1)%self.size          self.number=self.number+1return2.出隊(duì)出隊(duì)就是在隊(duì)首取出數(shù)據(jù)的操作。順序隊(duì)列出隊(duì)的算法思想:若隊(duì)列不空,則將隊(duì)首指針 f front所指空間的內(nèi)容取出賦予變量,元素個(gè)數(shù)計(jì)數(shù)器減1,然后將首指針front往后移動(dòng)一位即指向新的首端。?????????????    def OutQueue(self):     if(self.number==0):print(隊(duì)空") else:e=self.queue[self.front]      self.front=(self. front+1)%self.size      self.number=self.number-1      return e 四、課后活動(dòng)1.在算法流程框圖中完成進(jìn)隊(duì)和出隊(duì)操作(數(shù)組名和變量名可以自取)。    進(jìn)隊(duì)操作                     出隊(duì)操作 活動(dòng)答案參考:                 

相關(guān)課件

滬教版(2019)3.程序?qū)崿F(xiàn)評(píng)優(yōu)課ppt課件:

這是一份滬教版(2019)3.程序?qū)崿F(xiàn)評(píng)優(yōu)課ppt課件,文件包含項(xiàng)目五第三課時(shí)pptx、項(xiàng)目五第三課時(shí)doc等2份課件配套教學(xué)資源,其中PPT共14頁(yè), 歡迎下載使用。

2020-2021學(xué)年2.設(shè)計(jì)算法優(yōu)質(zhì)ppt課件:

這是一份2020-2021學(xué)年2.設(shè)計(jì)算法優(yōu)質(zhì)ppt課件,文件包含項(xiàng)目五第二課時(shí)pptx、項(xiàng)目五第二課時(shí)doc等2份課件配套教學(xué)資源,其中PPT共21頁(yè), 歡迎下載使用。

高中信息技術(shù)滬教版(2019)選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)1.分析問(wèn)題完美版課件ppt:

這是一份高中信息技術(shù)滬教版(2019)選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)1.分析問(wèn)題完美版課件ppt,文件包含項(xiàng)目五第一課時(shí)pptx、項(xiàng)目五第一課時(shí)doc等2份課件配套教學(xué)資源,其中PPT共23頁(yè), 歡迎下載使用。

英語(yǔ)朗讀寶

相關(guān)課件 更多

2021學(xué)年3.程序?qū)崿F(xiàn)獲獎(jiǎng)ppt課件

2021學(xué)年3.程序?qū)崿F(xiàn)獲獎(jiǎng)ppt課件

2020-2021學(xué)年1.分析問(wèn)題優(yōu)秀課件ppt

2020-2021學(xué)年1.分析問(wèn)題優(yōu)秀課件ppt

高中信息技術(shù)滬教版(2019)選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)2.設(shè)計(jì)算法一等獎(jiǎng)?wù)n件ppt

高中信息技術(shù)滬教版(2019)選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)2.設(shè)計(jì)算法一等獎(jiǎng)?wù)n件ppt

信息技術(shù)滬教版(2019)1.問(wèn)題分析精品ppt課件

信息技術(shù)滬教版(2019)1.問(wèn)題分析精品ppt課件

資料下載及使用幫助
版權(quán)申訴
版權(quán)申訴
若您為此資料的原創(chuàng)作者,認(rèn)為該資料內(nèi)容侵犯了您的知識(shí)產(chǎn)權(quán),請(qǐng)掃碼添加我們的相關(guān)工作人員,我們盡可能的保護(hù)您的合法權(quán)益。
入駐教習(xí)網(wǎng),可獲得資源免費(fèi)推廣曝光,還可獲得多重現(xiàn)金獎(jiǎng)勵(lì),申請(qǐng) 精品資源制作, 工作室入駐。
版權(quán)申訴二維碼
高中信息技術(shù)滬教版 (2019)選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)電子課本

2. 設(shè)計(jì)算法

版本: 滬教版 (2019)

年級(jí): 選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)

切換課文
所有DOC左下方推薦
歡迎來(lái)到教習(xí)網(wǎng)
  • 900萬(wàn)優(yōu)選資源,讓備課更輕松
  • 600萬(wàn)優(yōu)選試題,支持自由組卷
  • 高質(zhì)量可編輯,日均更新2000+
  • 百萬(wàn)教師選擇,專(zhuān)業(yè)更值得信賴
微信掃碼注冊(cè)
qrcode
二維碼已過(guò)期
刷新

微信掃碼,快速注冊(cè)

手機(jī)號(hào)注冊(cè)
手機(jī)號(hào)碼

手機(jī)號(hào)格式錯(cuò)誤

手機(jī)驗(yàn)證碼 獲取驗(yàn)證碼

手機(jī)驗(yàn)證碼已經(jīng)成功發(fā)送,5分鐘內(nèi)有效

設(shè)置密碼

6-20個(gè)字符,數(shù)字、字母或符號(hào)

注冊(cè)即視為同意教習(xí)網(wǎng)「注冊(cè)協(xié)議」「隱私條款」
QQ注冊(cè)
手機(jī)號(hào)注冊(cè)
微信注冊(cè)

注冊(cè)成功

返回
頂部